Module 226870

2,243 characters · in b5f935ae942368bc.js
Dependencies
Required by (3)
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,l){l.d(t,{d:()=>c});var r=l(627968),a=l(64700),n=l(66455),s=l(607470),d=l(609174),i=l(665039),u=l(204351);let c=a.forwardRef((e,t)=>{let{isStatic:l=!1,children:a,...n}=e;return l?(0,r.jsx)(m,{ref:t,children:a}):(0,r.jsx)(o,{ref:t,...n,children:a})});c.displayName="ClipThumbnail";let m=a.forwardRef((e,t)=>{let{children:l}=e,n=(0,d.Y_)();return a.useImperativeHandle(t,()=>({releaseSource(){}}),[]),(0,r.jsxs)("div",{className:u.Q,children:[(0,r.jsx)("img",{alt:"",src:n.thumbnail,className:u.f}),l]})});m.displayName="ClipStaticThumbnail";let o=a.forwardRef((e,t)=>{let{isPlaying:l=!1,scrubOnHover:c=!1,preload:m="metadata",onProgressChange:o,children:p}=e,v=(0,d.Y_)(),h=a.useRef(null),f=(0,n.A)(v.editMetadata?.start??0);a.useImperativeHandle(t,()=>({releaseSource(){let e=h.current;null!=e&&(e.pause(),e.src="")}}),[]);let I=(0,i.j)(v),L=0===v.length,A=a.useCallback(e=>{let t=h.current;if(null==t)return;let l=v.editMetadata?.start??0,r=v.editMetadata?.end??t.duration;t.currentTime=Math.max(0,f.current+(r-l)*e/100)},[h,f,v]),E=a.useCallback(e=>{if(!c||null==h.current)return;let t=h.current.getBoundingClientRect();A((e.clientX-t.left)/t.width*100)},[h,c,A]);return a.useEffect(()=>{if(L)return;let e=h.current;null==e||(!l||e.paused)&&(e.currentTime=f.current,l?e.play():e.pause())},[l,h,L,f]),a.useEffect(()=>{let e=h?.current;if(null==e||L||null==o)return;let t=null,l=()=>{if(e.paused||e.ended){t=null,o(0);return}let r=v.editMetadata?.start??0,a=v.editMetadata?.end??e.duration,n=(e.currentTime-r)/(a-r)*100;o(isNaN(n)?0:Math.max(0,Math.min(100,n))),t=requestAnimationFrame(l)},r=()=>{null==t&&(t=requestAnimationFrame(l))},a=()=>{null!=t&&(cancelAnimationFrame(t),t=null,o(0))};return e.addEventListener("play",r),e.addEventListener("pause",a),e.addEventListener("ended",a),e.paused||r(),()=>{null!=t&&(cancelAnimationFrame(t),o(0)),e.removeEventListener("play",r),e.removeEventListener("pause",a),e.removeEventListener("ended",a)}},[h,L,v.editMetadata,o]),(0,r.jsxs)("div",{className:u.Q,onMouseMove:E,children:[L?(0,r.jsx)("img",{alt:"",src:v.thumbnail,className:u.f}):null!=I?(0,r.jsx)(s.A,{preload:m,poster:v.thumbnail,muted:!0,src:I,loop:!0,className:u.f,ref:h}):null,p]})});o.displayName="ClipDynamicThumbnail"}