1try{let e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0fe0926d-1e34-478f-9dc2-950e0d84b6fe",e._sentryDebugIdIdentifier="sentry-dbid-0fe0926d-1e34-478f-9dc2-950e0d84b6fe")}catch(e){}("u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{}).SENTRY_RELEASE={id:"16.4.1"};"use strict";(self.webpackChunkcloud_web=self.webpackChunkcloud_web||[]).push([["src_pages_user-testing_common_replayer_ControlBar_tsx"],{3491:(e,t,r)=>{r.d(t,{AR:()=>f,F5:()=>p,Pq:()=>c,Pu:()=>u,SA:()=>h,Vv:()=>m,eh:()=>g});var n=r(39227),i=r(65128),a=r(95203),s=r(93551),l=r(78780),o=r(97491),d=r(72237);let u=(e,t,r)=>(0,o.v)(a.Ye.highlights(e,t,r),()=>d.D.listHighlights(e,t,r),{enabled:!!(e&&t&&r)}),c=(e,t,r)=>(0,s.T)(a.Ye.highlightsInfinite(e,t,r),async n=>{let a=await d.D.listHighlights(e,t,r,{offset:n,limit:i.lV});return{data:a,nextOffset:a.pagination.hasMore?n+i.lV:void 0}},{enabled:!!(e&&t&&r)}),h=(e,t,r,n)=>(0,o.v)(a.Ye.highlight(e,t,r,n),()=>d.D.getHighlight(e,t,r,n),{enabled:!!(e&&t&&r&&n)}),p=(e,t,r)=>{let i=(0,n.jE)();return(0,l.C)(a.Ye.createHighlight(e,t,r),n=>d.D.createHighlight(e,t,r,n),{onSuccess:()=>{i.invalidateQueries({queryKey:a.Ye.highlights(e,t,r)}),i.invalidateQueries({queryKey:a.Ye.highlightsInfinite(e,t,r)})}})},g=(e,t,r)=>{let i=(0,n.jE)();return(0,l.C)(a.Ye.deleteHighlight(e,t,r),n=>d.D.deleteHighlight(e,t,r,n),{onSuccess:()=>{i.invalidateQueries({queryKey:a.Ye.highlights(e,t,r)}),i.invalidateQueries({queryKey:a.Ye.highlightsInfinite(e,t,r)})}})},m=(e,t,r)=>{let i=(0,n.jE)();return(0,l.C)(a.Ye.addClipToHighlight(e,t,r),({highlightId:n,clip:i})=>d.D.addClipToHighlight(e,t,r,n,i),{onSuccess:()=>{i.invalidateQueries({queryKey:a.Ye.highlights(e,t,r)}),i.invalidateQueries({queryKey:a.Ye.highlightsInfinite(e,t,r)})}})},f=(e,t,r)=>{let i=(0,n.jE)();return(0,l.C)(a.Ye.updateHighlight(e,t,r),({highlightId:n,data:i})=>d.D.updateHighlight(e,t,r,n,i),{onSuccess:()=>{i.invalidateQueries({queryKey:a.Ye.highlights(e,t,r)}),i.invalidateQueries({queryKey:a.Ye.highlightsInfinite(e,t,r)})}})}},14815:(e,t,r)=>{r.d(t,{T:()=>m,E:()=>g});var n=r(86070),i=r(30758),a=r(10689),s=r(65128),l=r(19904),o=r(95203),d=r(97491),u=r(72237),c=r(17597);let h=(e,t)=>{for(let n of e){var r;if(n.id===t)return n;if(null==(r=n.children)?void 0:r.length){let e=h(n.children,t);if(e)return e}}return null},p=(0,i.createContext)(null),g=()=>{let e=(0,i.useContext)(p);if(!e)throw Error("useRecordingContext must be used within RecordingProvider");return e},m=({pieId:e,pieRevNo:t,scenarioId:g,children:m,preloadedPieModel:f,preloadedResources:x,preloadedThumbnails:b,preloadedRecordingData:v})=>{var y;let w,k,M=!!v,{data:j,isLoading:T}=(w=M?"":e,k=M?"":null!=g?g:"",(0,d.v)(o.Ye.scenario(w,k),()=>u.D.getScenario(w,k),{enabled:!!(w&&k)})),C=M?null:null==j?void 0:j.recordingData,S=null!=(y=null==j?void 0:j.platform)?y:null,[E,A]=(0,i.useState)(null),[$,_]=(0,i.useState)(!1),[R,P]=(0,i.useState)(0),[D,z]=(0,i.useState)(0),[I,N]=(0,i.useState)(1),[B,Y]=(0,i.useState)(null),[L,F]=(0,i.useState)(""),[H,q]=(0,i.useState)([]),[K,X]=(0,i.useState)(!1),[V,Q]=(0,i.useState)([]),[O,Z]=(0,i.useState)(null),[U,W]=(0,i.useState)(!1),[G,J]=(0,i.useState)([]),[ee,et]=(0,i.useState)(null),er=(0,i.useRef)(null),en=(0,i.useRef)(null),ei=(0,i.useRef)(!1),ea=(0,i.useRef)(!1),es=(0,i.useRef)(null),el=(0,i.useRef)(!1),eo=(0,i.useRef)(0),ed=(0,i.useRef)(!1),eu=(0,i.useRef)(!1),ec=(0,i.useRef)(!1),{showBoundary:eh}=(0,a.Md)(),{showErrorAlert:ep}=(0,l.MW)(),{findPieResourcesAndThumbnailsModelByVersionNo:eg}=(0,c.tr)(),em=(0,i.useCallback)((e,t)=>{let r=setTimeout(()=>{e.current=!1},t);return()=>clearTimeout(r)},[]),ef=(0,i.useMemo)(()=>({getResourceUrl(e){let t=H.find(t=>t.id===e);return t?t.url:""},getThumbnailUrl(e){let t=V.find(t=>t.id===e);return t?t.url:""}}),[H,V]),ex=(0,i.useCallback)((t,r)=>eg(e,t,{password:r}).then(e=>{Y(e.model),q(e.resources),Q(e.thumbnails),X(!0)}).catch(e=>{ep({title:"Unable to load recording. The data may be corrupted or deleted."}),eh(e)}),[e,eg,eh,ep]);(0,i.useEffect)(()=>{eu.current=$},[$]),(0,i.useEffect)(()=>
1{if(!M){var e;null==(e=er.current)||e.pause(),F(""),_(!1),P(0),z(0),eo.current=0}},[g,M]),(0,i.useEffect)(()=>{M||X(!1)},[t,M]),(0,i.useEffect)(()=>{if(M){f&&Y(f),x&&q(x),b&&Q(b),X(!0);return}t&&ex(`${t}`,"")},[e,t,ex,M,f,x,b]),(0,i.useEffect)(()=>{if(M){v&&F(v);return}C&&F(JSON.stringify(C))},[C,M,v]),(0,i.useEffect)(()=>{es.current=O},[O]),(0,i.useEffect)(()=>{el.current=U},[U]),(0,i.useEffect)(()=>{en.current=ee},[ee]),(0,i.useEffect)(()=>{(async()=>{if(!B||!L)return J([]);try{let{PieRecordAnalyzer:e}=await r.e("vendor").then(r.t.bind(r,39296,23)),t=new e(L,B),n=t.getAllEvents(),i=B.scenes,a=n.map(e=>((e,t,r)=>{var n,i;if("TRIGGER"!==e.targetType)return null;let a=t.findTrigger(e.sceneId,e.namespace,e.targetId);if(!a||s.zp.includes(a.type))return null;let l=r.find(t=>t.id===e.sceneId),o=a.layerId&&(null==l?void 0:l.layers)?h(l.layers,a.layerId):null;return{timestamp:e.startTime/1e3,actionType:a.viewName,sceneName:null!=(n=null==l?void 0:l.name)?n:"",objectName:null!=(i=null==o?void 0:o.name)?i:""}})(e,t,i)).filter(e=>null!==e);J(a)}catch(e){console.error("Failed to load interactions:",e),J([])}})()},[B,L]);let eb=(0,i.useCallback)(e=>{if(er.current&&er.current!==e&&(er.current.pause(),er.current.destroy(),er.current=null),ei.current=!1,ea.current=!1,eo.current=0,ed.current=!1,er.current=e,A(e),!e){_(!1),P(0),z(0);return}let t=e.getEndTime(),r=e.isPaused(),n=e.getCurrentTime()/1e3;z(t/1e3),N(e.getSpeed()),_(!r),P(n),e.onTimeChange(r=>{if(er.current!==e)return;let n=r/1e3,i=eo.current;if(!ed.current&&!ec.current){var a,s;let t=null!=(a=null==(s=en.current)?void 0:s.startTime)?a:0,r=i-n;if(n<.1&&i>=t&&i>.2&&r>.2){ed.current=!0,e.seekTo(1e3*i),em(ed,100);return}}if(eo.current=n,P(n),el.current&&es.current&&n>=es.current.end){e.pause(),_(!1),W(!1);return}if(en.current&&n>=en.current.endTime){e.pause(),_(!1);return}r>=t&&!ec.current&&(e.pause(),_(!1))})},[em]),ev=(0,i.useCallback)(()=>{let e=er.current;e&&(e.play(),_(!0))},[]),ey=(0,i.useCallback)(()=>{let e=er.current;e&&(e.pause(),_(!1))},[]),ew=(0,i.useCallback)(()=>{let e=er.current;if(!e)return;el.current&&W(!1);let t=eu.current,r=e.getCurrentTime(),n=en.current?1e3*en.current.endTime:e.getEndTime();if(!t&&r>=n){var i,a;let t=null!=(i=null==(a=en.current)?void 0:a.startTime)?i:0;ec.current=!0,e.seekTo(1e3*t),P(t),setTimeout(()=>{e.play(),_(!0),em(ec,100)},50);return}e.toggle(),_(!t)},[em]),ek=(0,i.useCallback)((e,t)=>{e.play(),t&&setTimeout(()=>e.pause(),0)},[]),eM=(0,i.useCallback)(e=>e.getCurrentTime()>=e.getEndTime(),[]),ej=(0,i.useCallback)(()=>{let e=er.current;e&&(el.current&&W(!1),ei.current=!0,ea.current=!e.isPaused(),e.isPaused()||e.pause())},[]),eT=(0,i.useCallback)(()=>{let e=er.current;if(!e)return;let t=eM(e),r=ea.current;t?(e.pause(),_(!1)):r?(e.play(),_(!0)):ek(e,!0),ei.current=!1},[eM,ek]),eC=(0,i.useCallback)((e,t)=>{var r;let n=er.current;if(!n)return;if(ei.current){n.seekTo(1e3*e),P(e);return}let i=n.isPaused();n.pause(),n.seekTo(1e3*e),P(e),ek(n,null!=(r=null==t?void 0:t.pauseAfterSeek)?r:i)},[ek]),eS=(0,i.useCallback)(e=>{let t=er.current;if(!t)return;el.current&&W(!1);let r=t.isPaused();t.pause();let n=t.getCurrentTime()/1e3+e,i=(n=en.current?Math.max(en.current.startTime,Math.min(n,en.current.endTime)):Math.max(0,Math.min(n,t.getEndTime()/1e3)))<.1;i&&(ec.current=!0),t.seekTo(1e3*n),P(n),(en.current?n>=en.current.endTime:eM(t))?_(!1):ek(t,r),i&&em(ec,100)},[eM,ek,em]),eE=(0,i.useCallback)(e=>eS(-e),[eS]),eA=(0,i.useCallback)(e=>{var t;null==(t=er.current)||t.setSpeed(e),N(e)},[]),e$=(0,i.useCallback)(()=>{et(null)},[]),e_=(0,i.useMemo)(()=>ee?Math.max(0,Math.min(R-ee.startTime,ee.endTime-ee.startTime)):R,[R,ee]),eR=(0,i.useMemo)(()=>ee?ee.endTime-ee.startTime:D,[ee,D]),eP=(0,i.useMemo)(()=>({replayer:E,isPlaying:$,isScenarioLoading:T,isResourcesReady:K,currentTime:R,duration:D,playbackSpeed:I,pieModel:B,resourceProvider:ef,recordingData:L,previewRange:O,isPreviewMode:U,interactions:G,clipBounds:ee,relativeCurrentTime:e_,relativeDuration:eR,scenarioId:null!=g?g:"",platform:S,registerReplayer:eb,play:ev,pause:ey,toggle:ew,seekTo:eC,seekForward:eS,seekBackward:eE,setSpeed:eA,startSeeking:ej,endSeeking:eT,setPreviewRange:Z,setIsPreviewMode:W,setClipBounds:et,clearClipBounds:e$}),[E,$,T,K,R,D,I,B,ef,L,O,U,G,ee,e_,eR,g,S,eb,ev,ey,ew,eC,eS,eE,eA,ej,eT,et,e$]);return(0,n.jsx)(p.Provider,{value:eP,children:m})}},85605:(e,t,r)=>{r.d(t,{Z:()=>s});var n=r(95203),i=r(97491),a=r(72237);let s=(e,t)=>(0,i.v)(n.Ye.taskResults(e,t),()=>a.D.getTaskResults(e,t),{enabled:!!(e&&t)})},98979:(e,t,r)=>{r.d(t,{h:()=>eD});var n=r(86070),i=r(11546),a=r(72079),s=r(5192),l=r(30758),o=r(8143),d=r(38326),u=r(14815),c=r(9142);let h=c.Ay.div` 2 display: flex; 3 flex-direction: column; 4 background: var(--background-surface-primary); 5 6 ${({$disabled:e})=>e&&(0,c.AH)` 7 opacity: 0.5;
8 cursor: not-allowed; 9 10 * { 11 pointer-events: none; 12 } 13 `} 14`,p=c.Ay.div` 15 display: none; 16 position: absolute; 17 bottom: 23px; 18 padding-bottom: 8px; 19 transform: translateX(-50%); 20 z-index: 1000; 21 pointer-events: auto; 22 23 &:hover { 24 display: block; 25 } 26`,g=c.Ay.button` 27 position: relative; 28 display: flex; 29 align-items: center; 30 gap: 4px; 31 padding: 8px 12px; 32 background: var(--background-surface-primary); 33 border: 1px solid var(--border-interactive-subtle-enabled); 34 border-radius: 8px; 35 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); 36 cursor: pointer; 37 font-size: 14px; 38 font-weight: 500; 39 color: var(--text-primary); 40 white-space: nowrap; 41 42 &::after { 43 content: ''; 44 position: absolute; 45 top: 100%; 46 left: 50%; 47 transform: translateX(-50%); 48 width: 0; 49 height: 0; 50 border-left: 6px solid transparent; 51 border-right: 6px solid transparent; 52 border-top: 6px solid var(--gray-white); 53 filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1)); 54 } 55 56 &:hover { 57 background: var(--gray-250); 58 59 &::after { 60 border-top: 6px solid var(--gray-250); 61 } 62 } 63`,m=c.Ay.div` 64 position: relative; 65 width: 100%; 66 padding: 0 16px; 67 overflow: visible; 68`,f=c.Ay.div` 69 position: relative; 70 height: 100%; 71 background: var(--gray-450); 72 border-radius: 4px; 73 cursor: pointer; 74 transition: 75 width 0.2s ease-out, 76 transform 0.1s ease-out; 77`,x=c.Ay.div` 78 position: relative; 79 width: 100%; 80 height: 40px; 81 padding: 16px 0; 82 overflow-x: clip; 83 overflow-y: visible; 84 85 &:has(${f}:hover) ~ ${p} { 86 display: block; 87 } 88`,b=c.Ay.div` 89 position: absolute; 90 left: 0; 91 top: 0; 92 height: 100%; 93 background: var(--background-surface-brand); 94 ${({$isFull:e})=>e?(0,c.AH)` 95 border-radius: 4px; 96 `:(0,c.AH)` 97 border-top-left-radius: 4px; 98 border-bottom-left-radius: 4px; 99 `} 100 pointer-events: none; 101`,v=c.Ay.div` 102 position: absolute; 103 top: 50%; 104 transform: translate(-50%, -50%); 105 width: 2px; 106 height: 16px; 107 background: var(--background-surface-brand); 108 cursor: pointer; 109 pointer-events: none; 110`,y=c.Ay.div` 111 display: ${({$visible:e})=>e?"block":"none"}; 112 position: fixed; 113 padding-bottom: 8px; 114 transform: translateX(-50%); 115 z-index: 1000; 116 pointer-events: none; 117`,w=c.Ay.div` 118 position: relative; 119 padding: 8px 12px; 120 background: var(--background-surface-primary); 121 border: 1px solid var(--border-interactive-subtle-enabled); 122 border-radius: 8px; 123 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); 124 font-size: 14px; 125 font-weight: 500; 126 color: var(--text-primary); 127 white-space: nowrap; 128 129 &::after { 130 content: ''; 131 position: absolute; 132 top: 100%; 133 left: 50%; 134 transform: translateX(-50%); 135 width: 0; 136 height: 0; 137 border-left: 6px solid transparent; 138 border-right: 6px solid transparent; 139 border-top: 6px solid var(--gray-white); 140 filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1)); 141 } 142`,k=c.Ay.div` 143 position: absolute; 144 left: ${({$position:e})=>e}%; 145 top: 50%; 146 transform: translate(-50%, -50%); 147 width: 4px; 148 height: 4px; 149 background: var(--text-primary); 150 border-radius: 50%; 151 pointer-events: auto; 152 cursor: pointer; 153 154 &::before { 155 content: ''; 156 position: absolute; 157 top: 50%; 158 left: 50%; 159 transform: translate(-50%, -50%); 160 width: 16px; 161 height: 16px; 162 } 163`,M=c.Ay.div` 164 position: absolute; 165 top: 0; 166 height: 100%; 167 background: ${({$isDark:e})=>e?"rgba(129, 105, 255, 0.3)":"rgba(129, 105, 255, 0.1)"}; 168 pointer-events: none; 169 z-index: 1; 170`,j=c.Ay.div` 171 position: absolute; 172 top: 50%; 173 width: 11px; 174 height: 24px; 175 background: var(--background-interactive-brand-default); 176 ${({$type:e})=>"start"===e?(0,c.AH)` 177 transform: translateY(-50%); 178 margin-left: -11px; 179 border-top-left-radius: 2px; 180 border-bottom-left-radius: 2px; 181 `:(0,c.AH)` 182 transform: translateY(-50%); 183 border-top-right-radius: 2px; 184 border-bottom-right-radius: 2px; 185 `} 186 187 cursor: ${({$isDraggable:e})=>e?"grab":"default"}; 188 pointer-events: ${({$isDraggable:e})=>e?"auto":"none"}; 189 z-index: 10; 190 191 &:active { 192 cursor: ${({$isDraggable:e})=>e?"grabbing":"default"}; 193 } 194 195 &::before { 196 content: ''; 197 position: absolute; 198 top: 50%; 199 left: 50%; 200 transform: translate(calc(-50% - 1px), -50%); 201 width: 1px; 202 height: 8px; 203 background: var(--background-interactive-inverse); 204 } 205 &::after { 206 content: ''; 207 position: absolute; 208 top: 50%; 209 left: 50%; 210 transform: translate(calc(-50% + 1px), -50%); 211 width: 1px; 212 height: 8px; 213 background: var(--background-interactive-inverse); 214 } 215`,T=c.Ay.div` 216 position: absolute; 217 top: 50%; 218 transform: translate(-50%, -50%); 219 width: 2px; 220 height: 15px; 221 background: var(--background-surface-brand); 222 pointer-events: none; 223 z-index: 11; 224`,C=c.Ay.div` 225 display: flex; 226 align-items: center; 227 justify-content: space-between; 228 width: 100%; 229 padding: 8px 12px; 230`,S=c.Ay.div` 231 display: flex; 232 align-items: center; 233 gap: 8px; 234`,E=(0,c.Ay)(S)` 235 position: relative; 236 width: 120px; 237 238 ${({$side:e})=>"right"===e&&(0,c.AH)` 239 justify-content: flex-end; 240 `} 241`,A=c.Ay.div` 242 font-size: 14px; 243 font-weight: 400; 244 color: var(--text-primary); 245 min-width: 100px; 246 text-align: center; 247`,$=c.Ay.button` 248 display: flex; 249 align-items: center; 250 gap: 4px; 251 padding: 0; 252 background: transparent; 253 border: none; 254 cursor: pointer; 255 font-size: 14px; 256 font-weight: 400; 257 color: var(--text-primary); 258`,_=c.Ay.div` 259 position: absolute; 260 bottom: calc(100% + 8px); 261 right: 0; 262 background: var(--background-surface-primary); 263 border: 1px solid var(--border-interactive-subtle-enabled); 264 border-radius: 8px; 265 padding: 8px 0; 266 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); 267 width: 70px; 268 z-index: 1000; 269`,R=c.Ay.button` 270 width: 100%; 271 padding: 8px 16px; 272 background: ${({isSelected:e})=>e?"var(--gray-250)":"transparent"}; 273 border: none; 274 cursor: pointer;
275 color: var(--text-primary); 276 text-align: left; 277 transition: background 0.2s; 278 279 &:hover { 280 background: var(--gray-250); 281 } 282 283 & > span { 284 width: 38px; 285 display: inline-block; 286 } 287`,P=c.Ay.div` 288 display: flex; 289 align-items: center; 290 height: 21px; 291 background: ${({$zoomLevel:e})=>0===e?"var(--background-surface-secondary)":"var(--gray-250)"}; 292 293 border-top: 1px solid #d9d9d9; 294`,D=c.Ay.div` 295 display: flex; 296 align-items: center; 297 gap: 4px; 298 width: 100%; 299 max-width: 155px; 300 height: 100%; 301 padding: 0 18px; 302 background: var(--background-surface-secondary); 303`,z=c.Ay.div` 304 position: relative; 305 flex: 1; 306 height: 1px; 307 background: var(--gray-450); 308 border-radius: 2px; 309 cursor: pointer; 310`,I=c.Ay.div` 311 position: absolute; 312 top: 50%; 313 transform: translate(-50%, -50%); 314 width: 14px; 315 height: 14px; 316 background: var(--background-surface-primary); 317 border: 1px solid var(--border-interactive-subtle-enabled); 318 border-radius: 50%; 319 cursor: grab; 320 321 &:active { 322 cursor: grabbing; 323 } 324`,N=c.Ay.div` 325 display: flex; 326 align-items: center; 327 color: #b3b3b3; 328`,B=c.Ay.div` 329 display: flex; 330 align-items: center; 331 gap: 12px; 332 width: 100%; 333 height: 100%; 334 padding: 0 4px; 335 background: var(--gray-250); 336`,Y=c.Ay.div` 337 position: relative; 338 flex: 1; 339 height: 4px; 340 background: var(--gray-250); 341 border-radius: 2px; 342 cursor: pointer; 343`,L=c.Ay.div` 344 position: absolute; 345 top: 50%; 346 transform: translateY(-50%); 347 height: 8px; 348 background: #b3b3b3; 349 border-radius: 4px; 350 cursor: grab; 351 352 &:active { 353 cursor: grabbing; 354 } 355`,F=(e,t)=>t<=0?0:Math.max(0,Math.min(100,e/t*100)),H=(e,t)=>!t.isConstrained||e>=t.rangeStartPercent&&e<=t.rangeEndPercent;var q=r(8114),K=r(5721),X=r(41792),V=r(67311),Q=r(13745),O=r(13713),Z=r(83682),U=r(14642),W=r(3491),G=r(85605),J=r(51792),ee=r(11375),et=r(74111),er=r(49135),en=r(98800),ei=r(53387),ea=r(51721),es=r(27280);let el=ee.A.div` 356 display: flex; 357 align-items: center; 358 justify-content: space-between; 359 gap: 19px; 360`,eo=(0,ee.A)(er.pd)` 361 input { 362 padding: 0 12px; 363 } 364 365 > div { 366 margin: 8px 0 0 0; 367 } 368 369 > div:empty { 370 display: none; 371 } 372`,ed=ee.A.div` 373 font-size: 14px; 374 color: #666; 375`,eu=ee.A.div` 376 position: relative; 377`,ec=ee.A.div` 378 position: relative; 379`,eh=(0,ee.A)(et.T)` 380 position: absolute; 381 z-index: ${es.h3+10}; 382 width: 100%; 383`,ep=(0,ee.A)(ei.me)` 384 position: absolute; 385 width: 100%; 386 max-height: 200px; 387 z-index: ${es.h3+11}; 388 padding: 8px; 389 &.is_disabled { 390 pointer-events: none; 391 } 392`,eg=(0,ee.A)(en.c)` 393 padding: 8px 4px; 394 font-size: 12px; 395 height: 32px; 396 min-height: 32px; 397 line-height: 16px; 398`,em=ee.A.div` 399 position: fixed; 400 bottom: ${({$bottom:e})=>e}px; 401 left: ${({$left:e})=>e}px; 402 z-index: ${es.h3}; 403 display: ${({$visible:e})=>e?"block":"none"}; 404`,ef=ee.A.div` 405 position: relative; 406 display: flex; 407 flex-direction: column; 408 width: 348px; 409 background-color: var(--background-surface-primary); 410 border-radius: 8px; 411 box-shadow: 0 8px 20px rgb(106 106 106 / 25%); 412`,ex=ee.A.div` 413 box-sizing: border-box; 414 width: 100%; 415 padding: 24px 0; 416`,eb=ee.A.h2` 417 font-size: 16px; 418 font-weight: ${es.zN.SEMIBOLD}; 419 line-height: 21px; 420 color: var(--gray-900); 421 text-align: center; 422`,ev=ee.A.div` 423 display: flex; 424 flex-direction: column; 425 gap: 24px; 426 width: 100%; 427 padding: 0 32px; 428`,ey=ee.A.div` 429 display: flex; 430 gap: 16px; 431 align-items: center; 432 justify-content: center; 433 padding: 24px 32px; 434`,ew=(0,ee.A)(V.$n)` 435 width: 100%; 436 height: 40px; 437`,ek=(0,ee.A)(ea.$I)` 438 padding: 12px; 439`,eM=/^\d{1,2}:\d{2}$/,ej=e=>{if(!eM.test(e))return null;let[t,r]=e.split(":").map(Number);return r>=60?null:(60*t+r)*1e3},eT=e=>{let t=Math.max(0,Math.floor(e/1e3)),r=Math.floor(t/60);return`${r}:${(t%60).toString().padStart(2,"0")}`},eC=e=>Math.round(1e3*e),eS=({visible:e,onClose:t,hoverTime:r,position:i,roomId:s,sessionId:d,taskId:c})=>{var h,p,g;let{duration:m,seekTo:f,play:x,pause:b,previewRange:v,setPreviewRange:y,setIsPreviewMode:w,isPreviewMode:k,pieModel:M}=(0,u.E)(),[j,T]=(0,l.useState)(!1),[C,S]=(0,l.useState)(!1),[E,A]=(0,l.useState)(!1),[$,_]=(0,l.useState)(null),[R,P]=(0,l.useState)(!1),[D,z]=(0,l.useState)(!1),[I,N]=(0,l.useState)(""),[B,Y]=(0,l.useState)(""),L=(0,Z.W)("dialog"),F=(0,l.useRef)(null),H=(0,l.useRef)(null),{handleError:ee}=(0,U.H)(),{data:et}=(0,W.Pu)(s,d,c),{data:er}=(0,G.Z)(s,c),en=(0,W.F5)(s,d,c),ei=(0,W.Vv)(s,d,c),ea=(0,W.AR)(s,d,c),es=null!=(h=Array.from(new Set(null==et?void 0:et.highlights.map(e=>e.title))))?h:[],[eM,eS]=(0,l.useState)({bottom:100,left:0});(0,l.useEffect)(()=>
439{if(!e)return;let t=window.innerWidth,r=i?i.left-174:t/2-174;r<16&&(r=16),r+348>t-16&&(r=t-348-16),eS({bottom:100,left:r})},[e,i]);let{start:eE,end:eA}=((e,t)=>{if(t<=20)return{start:0,end:Math.floor(t)};let r=e-10,n=e+10;r<0&&(n=Math.min(t,n-r),r=0),n>t&&(r=Math.max(0,r-(n-t)));let i=Math.floor(r),a=Math.min(i+20,Math.floor(t));return{start:i,end:a}})(r,m),e$=eC(m),e_=(0,l.useMemo)(()=>X.Ik({startTimeMs:X.ai().min(0).max(e$),endTimeMs:X.ai().min(0).max(e$),collectionName:X.Yj().min(1).max(64),description:X.Yj().max(255).optional()}).refine(e=>e.startTimeMs<e.endTimeMs,{message:"End time must be after start time",path:["endTimeMs"]}),[e$]),{register:eR,handleSubmit:eP,watch:eD,setValue:ez,formState:{errors:eI,isValid:eN},reset:eB}=(0,K.mN)({defaultValues:{startTimeMs:eC(eE),endTimeMs:eC(eA),collectionName:"",description:""},mode:"onChange",resolver:(0,q.u)(e_)}),eY=eD("collectionName"),eL=eD("description")||"",eF=eD("startTimeMs"),eH=eD("endTimeMs"),eq=es.filter(e=>e.toLowerCase().includes(eY.toLowerCase())),eK=(0,l.useMemo)(()=>{let e=eF>=eH,t=null===ej(I)||!!eI.startTimeMs||e,r=null===ej(B)||!!eI.endTimeMs||e;return{startShowError:R&&t,endShowError:D&&r,hasAnyError:t||r}},[I,B,R,D,eI.startTimeMs,eI.endTimeMs,eF,eH]),eX=(0,l.useCallback)(()=>{T(!1),S(!1),A(!1),_(null)},[]);(0,l.useEffect)(()=>{if(e){let e={start:eE,end:eA},t=eC(eE),r=eC(eA);eB({startTimeMs:t,endTimeMs:r,collectionName:"",description:""}),N(eT(t)),Y(eT(r)),eX(),H.current=e,y(e)}else y(null),w(!1),eX(),H.current=null,N(""),Y(""),eB({startTimeMs:0,endTimeMs:0,collectionName:"",description:""})},[e]),(0,l.useEffect)(()=>{if(!e||!v)return;let t=eF/1e3,r=eH/1e3,n=r===Math.floor(m)?m:r;if(t<n&&t>=0&&n<=m){let e=.01>Math.abs(v.start-t)?v.start:t,r=.01>Math.abs(v.end-n)?v.end:n;if(e!==v.start||r!==v.end){let t={start:e,end:r};H.current=t,y(t)}}},[eF,eH,e]),(0,l.useEffect)(()=>{if(!e||!v||H.current&&.1>Math.abs(H.current.start-v.start)&&.1>Math.abs(H.current.end-v.end))return;let t=eC(v.start),r=eC(v.end);ez("startTimeMs",t,{shouldValidate:!0}),ez("endTimeMs",r,{shouldValidate:!0}),N(eT(t)),Y(eT(r))},[v,e]),(0,l.useEffect)(()=>{k||T(!1)},[k]),(0,l.useEffect)(()=>{(null==et?void 0:et.highlights.find(e=>e.title===eY))||_(null)},[eY,et]);let eV=(0,l.useCallback)(e=>t=>{let r=t.target.value;("start"===e?N:Y)(r);let n=ej(r);null!==n&&ez("start"===e?"startTimeMs":"endTimeMs",n,{shouldValidate:!0})},[ez]),eQ=(0,l.useCallback)(e=>()=>{let t="start"===e?I:B,r="start"===e?eI.startTimeMs:eI.endTimeMs;if(("start"===e?P:z)(!1),(null===ej(t)||r||eF>=eH)&&v){let t=eC(v["start"===e?"start":"end"]);ez("start"===e?"startTimeMs":"endTimeMs",t,{shouldValidate:!0}),("start"===e?N:Y)(eT(t))}},[I,B,eI.startTimeMs,eI.endTimeMs,eF,eH,v,ez]),eO=(0,l.useCallback)(e=>()=>{("start"===e?P:z)(!0)},[]),eZ=(0,l.useCallback)(()=>{k&&(b(),w(!1)),T(!1),y(null),t()},[k,b,w,y,t]),eU=async e=>{let t={startTime:e.startTimeMs,endTime:e.endTimeMs};try{if($)await ei.mutateAsync({highlightId:$,clip:t}),e.description&&await ea.mutateAsync({highlightId:$,data:{description:e.description}});else{var r,n;await en.mutateAsync({title:e.collectionName,description:e.description||void 0,clips:[t]}),J.J.highlightCreated({room_id:s,task_types:(null==er?void 0:er.task.goalType)?[er.task.goalType]:[],pie_id:[null!=(r=null==er?void 0:er.task.pieId)?r:""],pie_orientations:(null==M||null==(n=M.device)?void 0:n.orientation)?[M.device.orientation===O.E.Landscape?"landscape":"portrait"]:[]})}eZ()}catch(e){ee(e)}},eW=(0,l.useCallback)(t=>{"Escape"===t.key&&e&&(t.preventDefault(),eZ())},[e,eZ]);return((0,l.useEffect)(()=>(window.addEventListener("keydown",eW),()=>window.removeEventListener("keydown",eW)),[eW]),(0,l.useEffect)(()=>{if(!e)return;let t=e=>{var t;let r=e.target;(null==(t=F.current)?void 0:t.contains(r))||r instanceof Element&&r.closest("[data-control-bar]")||eZ()};return document.addEventListener("mousedown",t),()=>document.removeEventListener("mousedown",t)},[e,eZ]),L)?o.createPortal((0,n.jsx)(em,{$visible:e,$bottom:eM.bottom,$left:eM.left,children:(0,n.jsxs)(ef,{ref:F,children:[(0,n.jsx)(ex,{children:(0,n.jsx)(eb,{children:"Create highlight"})}),(0,n.jsxs)("form",{onSubmit:eP(eU),children:[(0,n.jsxs)(ev,{children:[(0,n.jsxs)(el,{children:[(0,n.jsx)(Q.Q1,{label:"Start",htmlFor:"startTime",children:(0,n.jsx)(eo,{id:"startTime",placeholder:"0:00",value:I,onChange:eV("start"),error:!!eK.startShowError||void 0,onFocus:eO("start"),onBlur:eQ("start")})}),(0,n.jsx)(ed,{children:"-"}),(0,n.jsx)(Q.Q1,{label:"End",htmlFor:"endTime",children:(0,n.jsx)(eo,{id:"endTime",placeholder:"0:00",value:
439B,onChange:eV("end"),error:!!eK.endShowError||void 0,onFocus:eO("end"),onBlur:eQ("end")})}),(0,n.jsx)("div",{children:(0,n.jsx)(a.K,{name:j?"ic_pause_24":"ic_play_24",size:32,onClick:()=>{if(eK.hasAnyError)return;let e=eF/1e3;e>=eH/1e3||(k?(b(),w(!1),T(!1)):(w(!0),T(!0),f(e,{pauseAfterSeek:!1}),x()))},disabled:eK.hasAnyError})})]}),(0,n.jsx)("div",{children:(0,n.jsx)(Q.zB,{label:"Collection name",required:!0,addon:(0,n.jsx)(Q.y_,{isError:eY.length>64,currentLength:eY.length,maxLength:64}),children:(0,n.jsxs)(eu,{children:[(0,n.jsx)(eo,{...eR("collectionName"),placeholder:"Create or add to collection",error:null==(p=eI.collectionName)?void 0:p.message,flexibleDesc:!0,autoComplete:"off",onFocus:()=>{A(!1),S(!0)},onBlur:()=>{A(!0),S(!1)}}),(0,n.jsx)(ec,{children:(0,n.jsx)(eh,{visible:C&&eq.length>0,leave:{top:0,left:0},enter:{top:8,left:0},children:(0,n.jsx)(ep,{className:E?"is_disabled":"",children:eq.map(e=>(0,n.jsx)(eg,{value:e,label:null,onMouseDown:()=>{var t,r;let n;return n=null==et?void 0:et.highlights.find(t=>t.title===e),void(ez("collectionName",e,{shouldValidate:!0}),ez("description",null!=(t=null==n?void 0:n.description)?t:"",{shouldValidate:!0}),_(null!=(r=null==n?void 0:n.id)?r:null),A(!0))},children:e},e))})})})]})})}),(0,n.jsx)("div",{children:(0,n.jsx)(Q.zB,{label:"Description",addon:(0,n.jsx)(Q.y_,{isError:(null==(g=eI.description)?void 0:g.type)!==void 0,currentLength:eL.length,maxLength:255}),children:(0,n.jsx)(ek,{...eR("description"),onChange:e=>{ez("description",e.target.value.slice(0,255),{shouldValidate:!0})},placeholder:"Add a description",rows:4,hideErrorMessage:!0})})})]}),(0,n.jsxs)(ey,{children:[(0,n.jsx)(ew,{color:V.in.SECONDARY,onClick:eZ,children:"Cancel"}),(0,n.jsx)(ew,{color:V.in.PRIMARY,type:"submit",disabled:!eN,children:"Save"})]})]})]})}),L):null};class eE{get delta(){return this.max-this.min}contains(e){return e>=this.min&&e<=this.max}equals(e){return this.min===e.min&&this.max===e.max}toString(){return`[${this.min}, ${this.max}]`}constructor(e,t){if(this.min=e,this.max=t,e>t)throw Error(`Invalid range: min (${e}) cannot be greater than max (${t})`)}}class eA{get start(){return this._currentRange.min}get end(){return this._currentRange.max}get delta(){return this._currentRange.delta}getZoomScale(){let e=this.delta,t=this.max-this.min;return e<=1e3?0:(e-1e3)/(t-1e3)}setZoomByScale(e){e=Math.max(0,Math.min(1,e));let t=this.max-1e3,r=Math.round((this.end-this.start)/2+this.start),n=t*e+1e3;this.set(r-Math.round(n/2),r+Math.round(n/2))}zoomIn(e){let t=Math.round((this.end-this.start)/2+this.start),r=Math.max(1e3,this.delta-e);this.set(t-Math.round(r/2),t+Math.round(r/2))}move(e){let t=this.start+e,r=this.end+e;this.set(t,r)}setPositionByRatio(e){e=Math.max(0,Math.min(100,e));let t=Math.round((this.max-this.delta)*e/100);this.set(t,t+this.delta)}isScalable(){return this.max-this.min>1e3}set(e,t){if(t-e<1e3){let r=Math.round((e+t)/2);e=r-Math.round(500),t=r+Math.round(500)}if(e<this.min){let r=this.min-e;e=this.min,t=Math.min(this.max,t+r)}if(t>this.max){let r=t-this.max;t=this.max,e=Math.max(this.min,e-r)}let r=new eE(e,t);this._currentRange.equals(r)||(this._currentRange=r,this.notify())}addObserver(e){this._observers.add(e)}removeObserver(e){this._observers.delete(e)}notify(){this._observers.forEach(e=>{e(this.start,this.end)})}reset(){this.set(this.min,this.max)}constructor(e,t){this._observers=new Set,this.min=e,this.max=t,this._currentRange=new eE(e,t)}}let e$=[.1,.25,.5,.75,1,2],e_=(e,t)=>Math.max(0,Math.min(100,(e-t.left)/t.width*100)),eR=(e,t,r)=>{let n=t.width-2*r;return 1-Math.max(0,Math.min(e-t.left-r,n))/n*100/100},eP=(e,t)=>{let[r,n]=(0,l.useState)(!1),i=(0,l.useRef)(e),a=(0,l.useRef)(t);return(0,l.useEffect)(()=>{i.current=e,a.current=t}),(0,l.useEffect)(()=>{if(!r)return;let e=e=>{i.current(e)},t=()=>{var e;n(!1),null==(e=a.current)||e.call(a)};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t)}},[r]),{isDragging:r,startDrag:(0,l.useCallback)(()=>{n(!0)},[])}},eD=({roomId:e,sessionId:t,taskId:r,disabled:c=!1,hideCreateHighlight:q=!1,hideInteractionTooltip:K=!1,onBackButtonClick:X,style:V})=>{let{isPlaying:Q,currentTime:O,duration:Z,playbackSpeed:U,previewRange:W,isPreviewMode:G,interactions:J,clipBounds:ee,relativeCurrentTime:et,relativeDuration:er,toggle:en,seekTo:ei,seekForward:ea,seekBackward:es,setSpeed:el,startSeeking:eo,endSeeking:ed,setPreviewRange:eu}
439=(0,u.E)(),[ec,eh]=(0,l.useState)(1),[ep,eg]=(0,l.useState)(0),[em,ef]=(0,l.useState)(!1),[ex,eb]=(0,l.useState)(null),[ev,ey]=(0,l.useState)(!1),[ew,ek]=(0,l.useState)(0),[eM,ej]=(0,l.useState)(void 0),[eT,eC]=(0,l.useState)(null),eE=(0,l.useRef)(null),eD=(0,l.useRef)(null),ez=(0,l.useRef)(null),eI=(0,l.useRef)(null),eN=(0,l.useRef)([]),eB=(0,l.useMemo)(()=>{let e=ee?er:Z;if(c||0===J.length||e<=0)return[];let t=e=>{let t=new Map;for(let r of e){let e=t.get(r.position);e?e.push({action:r.action,objectName:r.objectName}):t.set(r.position,[{action:r.action,objectName:r.objectName}])}return Array.from(t.entries()).map(([e,t])=>({position:e,interactions:t}))};return t(ee?J.filter(e=>e.timestamp>=ee.startTime&&e.timestamp<=ee.endTime).map(e=>({position:F(e.timestamp-ee.startTime,er),action:e.actionType,objectName:e.objectName})):J.map(e=>({position:F(e.timestamp,Z),action:e.actionType,objectName:e.objectName})))},[c,J,Z,ee,er]),{progressPercent:eY,progressStartPercent:eL,isProgressFull:eF}=(0,l.useMemo)(()=>{if(ee){let e=er>0?Math.min(F(et,er),100):0;return{progressPercent:e,progressStartPercent:0,isProgressFull:e>=100}}if(!G||!W||Z<=0){let e=Math.min(F(O,Z),100);return{progressPercent:e,progressStartPercent:0,isProgressFull:e>=100}}let e=F(W.start,Z),t=F(W.end,Z),r=F(O,Z);return r<e?{progressPercent:0,progressStartPercent:e,isProgressFull:!1}:r>t?{progressPercent:t-e,progressStartPercent:e,isProgressFull:!0}:{progressPercent:r-e,progressStartPercent:e,isProgressFull:r>=t}},[O,Z,G,W,ee,et,er]),eH=(0,l.useMemo)(()=>ev&&W&&!(Z<=0)?{isConstrained:!0,rangeStartPercent:F(W.start,Z),rangeEndPercent:F(W.end,Z)}:{isConstrained:!1,rangeStartPercent:0,rangeEndPercent:100},[ev,W,Z]);(0,l.useEffect)(()=>{let e=ee?er:Z;if(e<=0)return;let t=new eA(0,1e3*e);eD.current=t;let r=e=>{eh(t.getZoomScale());let r=t.max-t.delta;eg(r>0?e/r*100:0)};return t.addObserver(r),r(t.start),()=>t.removeObserver(r)},[Z,ee,er]),(0,l.useEffect)(()=>{if(!em)return;let e=e=>{var t,r;let n=e.target,i=null==(t=ez.current)?void 0:t.contains(n),a=null==(r=eI.current)?void 0:r.contains(n);i||a||ef(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[em]);let eq=(e,t=!1)=>{let r=t?Math.ceil(e):Math.floor(e),n=Math.floor(r/60);return`${n}:${(r%60).toString().padStart(2,"0")}`},eK=(0,l.useCallback)(e=>{if(ee){let t=e/100*er;ei(ee.startTime+t)}else ei(e/100*Z)},[Z,ei,ee,er]),{startDrag:eX}=eP((0,l.useCallback)(e=>{let t=document.querySelector("[data-progress-track]");if(!t)return;let r=e_(e.clientX,t.getBoundingClientRect());H(r,eH)&&eK(r)},[eK,eH]),(0,l.useCallback)(()=>{ed()},[ed])),{startDrag:eV}=eP((0,l.useCallback)(e=>{if(!eD.current)return;let t=document.querySelector("[data-zoom-track]");if(!t)return;let r=eR(e.clientX,t.getBoundingClientRect(),7);eD.current.setZoomByScale(r)},[])),eQ=100+(1-ec)*200,eO=eQ>100?100/eQ*100:100,eZ=(0,l.useMemo)(()=>{if(null===eT)return;let e=eN.current[eT];if(!e)return;let t=e.getBoundingClientRect();return{left:t.left+t.width/2,top:t.top}},[eT]),{startDrag:eU}=eP((0,l.useCallback)(e=>{var t,r;let n,i,a;if(!eD.current)return;let s=document.querySelector("[data-scroll-track]");if(!s)return;let l=(t=e.clientX,r=s.getBoundingClientRect(),n=Math.max(0,Math.min(t-r.left,r.width))/r.width*100,a=Math.max(0,Math.min(n,i=100-eO)),i>0?a/i*100:0);eD.current.setPositionByRatio(l)},[eO])),eW=(0,l.useCallback)((e,t)=>{if(!W)return;let r=document.querySelector("[data-progress-track]");if(!r)return;let n=e_(t.clientX,r.getBoundingClientRect())/100*Z;if("start"===e){let e=Math.max(0,Math.min(n,W.end-.1));eu({...W,start:e})}else{let e=Math.min(Z,Math.max(n,W.start+.1));eu({...W,end:e})}},[W,Z,eu]),{startDrag:eG}=eP((0,l.useCallback)(e=>eW("start",e),[eW])),{startDrag:eJ}=eP((0,l.useCallback)(e=>eW("end",e),[eW])),e0=(1-ec)*100,e1=eD.current,e2=e1?e1.max-e1.delta:0,e5=e1&&e2>0?e1.start/e2*(100-eO):0,e4=e&&t&&r;return(0,n.jsxs)(n.Fragment,{children:[e4&&(0,n.jsx)(eS,{visible:ev,onClose:()=>ey(!1),hoverTime:ew,position:eM,roomId:e,sessionId:t,taskId:r}),(0,n.jsxs)(h,{"data-control-bar":!0,$disabled:c,style:{...V},children:[(0,n.jsxs)(m,{"data-progress-section":!0,ref:eE,children:[(0,n.jsx)(x,{children:(0,n.jsxs)(f,{"data-progress-track":!0,onMouseDown:e=>{e.preventDefault();let t=e_(e.clientX,e.currentTarget.getBoundingClientRect());H(t,eH)&&(eo(),eK(t),eX())},onMouseMove:e=>{let t=document.querySelector("[data-progress-section]");if(!t)return;let r=t.getBoundingClientRect();eb(e_(e.clientX,r))},onMouseLeave:e=>{let t=e.relatedTarget;t instanceof Element&&t.closest("[data-highlight-button-wrapper]")||eb(null)},style:{width:`${eQ}%`,transform:`translateX(-${eQ>0?ep/100*(eQ-100)/eQ*100:0}%)`},children:[!ev&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(b,{$isFull:eF,style:{left:`${eL}%`,width:`${eY}%`}}),(0,n.jsx)(v,{style:{left:`${eL+eY}%`}})]}),eB.map((e,t)=>(0,n.jsx)(k,{ref:e=>{eN.current[t]=e},$position:e.position,onMouseEnter:()=>eC(t),onMouseLeave:()=>eC(null)},`${e.position}-${t}`)),W&&Z>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(M,{$isDark:ev,style:{left:`${F(W.start,Z)}%`,width:`${F(W.end,Z)-F(W.start,Z)}%`}}),(0,n.jsx)(j,{$type:"start",$isDraggable:!G,onMouseDown:e=>{G||(e.preventDefault(),e.stopPropagation(),eG())},style:{left:`max(11px, ${F(W.start,Z)}%)`}}),(0,n.jsx)(j,{$type:"end",$isDraggable:!G,onMouseDown:e=>{G||(e.preventDefault(),e.stopPropagation(),eJ())},style:{left:`min(calc(100% - 11px), ${F(W.end,Z)}%)`}}),ev&&(0,n.jsx)(T,{style:{left:`${F(O,Z)}%`}})]})]})}),!K&&eZ&&eB[eT]&&(0,o.createPortal)((0,n.jsx)(y,{$visible:!0,style:{left:eZ.left,top:eZ.top,transform:"translate(-50%, -100%)"},children:(0,n.jsx)(w,{children:eB[eT].interactions.map((e,t)=>(0,n.jsxs)("div",{children:[(0,n.jsx)(s.o,{size:12,color:"var(--text-interactive-primary-default, #181818);",weight:"semibold",children:e.action})," ",(0,n.jsx)(s.o,{size:12,color:"var(--text-tertiary, #555);",children:e.objectName})]},t))})}),document.body),null!==ex&&!ev&&!q&&(0,n.jsx)(p,{"data-highlight-button-wrapper":!0,onMouseLeave:e=>{let t=e.relatedTarget;t instanceof Element&&t.closest("[data-progress-track]")||eb(null)},style:{left:ex+"%"},children:(0,n.jsxs)(g,{onClick:e=>{e.stopPropagation(),null!==ex&&ek(ex/100*Z);let t=e.currentTarget.getBoundingClientRect();
439ej({top:t.top,left:t.left+t.width/2}),ey(!0)},children:[(0,n.jsx)(i.Icon,{name:"ic_add_24",size:16}),"Create highlight"]})})]}),(0,n.jsxs)(C,{children:[(0,n.jsxs)(E,{children:[X&&(0,n.jsx)(a.K,{name:"ic_arrow_backward_24",size:24,onClick:X}),(0,n.jsx)(a.K,{name:Q&&!G?"ic_pause_24":"ic_play_24",size:24,onClick:()=>{en()}}),(0,n.jsx)(d.m_,{content:"Rewind 10 seconds",direction:"top",children:(0,n.jsx)(a.K,{name:"ic_revert_24",size:24,onClick:()=>{es(10)}})}),(0,n.jsx)(d.m_,{content:"Skip 10 seconds",direction:"top",children:(0,n.jsx)(a.K,{name:"ic_reset",size:24,onClick:()=>{ea(10)}})})]}),(0,n.jsx)(S,{children:(0,n.jsxs)(A,{children:[eq(ee?et:O)," /"," ",eq(ee?er:Z)]})}),(0,n.jsxs)(E,{$side:"right",children:[(0,n.jsxs)($,{ref:ez,onClick:()=>ef(!em),children:[(0,n.jsx)(i.Icon,{name:"ic_speed_24",size:16}),"x ",U]}),em&&(0,n.jsx)(_,{ref:eI,children:e$.map(e=>(0,n.jsx)(R,{isSelected:U===e,onClick:t=>{t.stopPropagation(),el(e),ef(!1)},children:(0,n.jsxs)(s.o,{size:12,weight:U===e?"bold":"regular",children:["x ",e]})},e))})]})]}),(0,n.jsxs)(P,{$zoomLevel:e0,children:[(0,n.jsxs)(D,{children:[(0,n.jsx)(N,{children:(0,n.jsx)(i.Icon,{name:"ic_timeline_shrink_24",size:14})}),(0,n.jsx)(z,{"data-zoom-track":!0,onClick:e=>{if(!eD.current)return;let t=e.currentTarget.getBoundingClientRect(),r=eR(e.clientX,t,7);eD.current.setZoomByScale(r)},children:(0,n.jsx)(I,{style:{left:`calc(7px + (100% - 14px) * ${e0/100})`},onMouseDown:e=>{e.preventDefault(),eV()}})}),(0,n.jsx)(N,{children:(0,n.jsx)(i.Icon,{name:"ic_timeline_expand_24",size:14})})]}),eQ>100&&(0,n.jsx)(B,{children:(0,n.jsx)(Y,{"data-scroll-track":!0,onClick:e=>{if(!eD.current)return;let t=e.currentTarget.getBoundingClientRect(),r=eO/2,n=e_(e.clientX,t)-r,i=100-eO,a=Math.max(0,Math.min(n,i));eD.current.setPositionByRatio(i>0?a/i*100:0)},children:(0,n.jsx)(L,{style:{left:`${e5}%`,width:`${eO}%`},onMouseDown:e=>{e.preventDefault(),eU()}})})})]})]})]})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.