Module 275664

9,287 characters · in 0bb01ecbba066845.js
Dependencies
Required by (2)
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){n.d(t,{Ay:()=>S}),n(321073);var r=n(627968),l=n(64700),a=n(503698),i=n.n(a),u=n(61491),s=n(717421),o=n(939249),c=n(834730),d=n(621466),m=n(460890),f=n(770178),p=n(765548),h=n(650583),x=n(873174),E=n(6821);let v=l.memo(function(e){let{playbackPxSpring:t,isDragging:n,dragX:l}=e;return(0,r.jsx)(x.animated.div,{"data-testid":"discord-web-video-player-playhead",className:E.lG,style:{left:n&&null!=l?`${l}px`:t.to(e=>`${e}px`)}})});var g=n(876230);let b=e=>{let{segment:t,animatingIndex:n,playbackPxSpring:a,playerState:u,isDragging:s,dragX:o,expansionSpring:c,timelineWidth:d,preloadedBuffers:m,maxSeekableX:f,segmentBorderRadius:p=99,progressClassName:h}=e,{startPx:v,endPx:b,leftIndicatorIndex:y,rightIndicatorIndex:S}=t,C=b-v,N=a.to(e=>Math.min(Math.max(0,e-v),C)),A=null!=n&&null!=c&&y===n,R=!A&&null!=n&&null!=c&&S===n,w=A||R,P=s&&null!=o?Math.min(Math.max(0,o-v),C):null,{progressToPlayheadBarTransform:T,glowWidth:D}=function(e){let{segmentWidth:t,dragFillWidth:n,shrinkEnd:r,isAnimating:l,fillWidthAnimated:a,expansionSpring:i}=e;return null!=n?{progressToPlayheadBarTransform:`translateX(-${t-n}px)`,glowWidth:n}:r&&null!=i?{progressToPlayheadBarTransform:(0,x.to)([a,i],(e,n)=>`translateX(-${Math.max(0,t-Number(n)-Number(e))}px)`),glowWidth:(0,x.to)([a,i],(e,n)=>Math.min(Number(e),t-Number(n)))}:l&&null!=i?{progressToPlayheadBarTransform:a.to(e=>`translateX(-${t-Number(e)}px)`),glowWidth:(0,x.to)([a,i],(e,t)=>Math.max(0,Number(e)-Number(t)))}:{progressToPlayheadBarTransform:a.to(e=>`translateX(-${t-Number(e)}px)`),glowWidth:a}}({segmentWidth:C,dragFillWidth:P,shrinkEnd:R,isAnimating:w,fillWidthAnimated:N,expansionSpring:c}),L=null!=P?P<=0?0:1:N.to(e=>e<=0?0:1),M=u!==g.Q6.ENDED,j=Math.max(0,(f??0)-v),k={borderRadius:`${p}px`},I=l.useMemo(()=>m?.map(e=>({startPx:e.start*d,endPx:(e.start+e.size)*d})).filter(e=>e.endPx>=v&&e.startPx<=b),[m,v,b,d]);return(0,r.jsxs)(x.animated.div,{className:i()(E.Td,h),style:{left:A?c.to(e=>v+e):v,width:w?c.to(e=>C-e):C,"--custom-r-left":a.to(e=>0===v||e>=v?"99px":"0px"),"--custom-r-right":a.to(e=>b>=d||e>=b?"99px":"0px"),"--custom-timeline-width":`${d}px`},children:[(0,r.jsxs)("div",{className:E.MI,children:[(0,r.jsxs)(x.animated.div,{className:E._I,style:{left:A?c.to(e=>-(v+e)):-v},children:[I?.map(e=>(0,r.jsx)("div",{className:E.Zn,style:{width:`${e.endPx-e.startPx}px`,left:`${e.startPx}px`,...k}},`${e.startPx}:${e.endPx}`)),null!=f&&j>0&&(0,r.jsx)("div",{className:E.YK,style:{width:`${j}px`,opacity:1,...k}})]}),(0,r.jsx)(x.animated.div,{className:E.wx,style:{transform:T,opacity:L}})]}),M&&(0,r.jsx)(x.animated.div,{className:E.fk,style:{width:D,opacity:L}})]})};E.f5;let y={tension:300,friction:30,clamp:!0};function S(e){let{isFullyVisible:t,percent:n,animate:a,interactionEnabled:x,backgroundColor:g,playerState:S,preloadedBuffers:C,durationSec:N,maxSeekableTime:A,progressClassName:R,timelineHeightPx:w=4,segmentBorderRadius:P,hoverTimelineHeightPx:T,initialTimelineHeightPx:D=w,persistPlayhead:L=!0,onClick:M,onScrubBack:j,onScrubForward:k,onDragStateChange:I,indicatorConfig:B,onIndicatorSeek:F,getCurrentTimeSec:G,"data-testid":U}=e,{contRef:O,boundingRect:Q,handleMouseEnter:K,handleMouseLeave:_,handleMouseMove:$,handleKeyDown:Y,hoveredAtX:X,maxSeekableX:z,isHovering:W,isDragging:H,dragX:V,isHoverBeyondMax:Z,handleClick:J,handleMouseDown:q,ariaProps:ee}=function(e){let{onScrubBack:t,onScrubForward:n,maxSeekableTime:r,interactionEnabled:a,durationSec:i,onClick:s,percent:o,onDragStateChange:c}=e,[x,E]=l.useState(null),[v,g]=l.useState(null),[b,y]=l.useState(!1),[S,C]=l.useState(!1),[N,A]=l.useState(null),[R,w]=l.useState(!1),{i18n:P}=(0,m.G9)(),T=l.useMemo(()=>{let e={role:"progressbar","aria-label":"Progress Bar"};return null!=o&&"number"==typeof o&&(e["aria-valuenow"]=o,e["aria-valuemin"]=0,e["aria-valuemax"]=100,e["aria-label"]=P.PERCENT_COMPLETE(Math.round(o))),e},[o,P]),D=l.useMemo(()=>null==x||null==r?null:(0,u.DX)(r,i,x),[x,r,i]),L=(0,p.A)(e=>{E(e.contentRect)}),M=(0,f.w)(L),j=e=>{if(null!=M.current){let t=M.current.getBoundingClientRect(),n=e.clientX-t.left,l=null!=r?r/i*t.width:null;w(null!=l&&n>l),g(n)}},k=l.useRef(!1),I=l.useRef(null),B=(0,p.A)((e,t)=>{if(null==s)return;let n=e-t.left,l=(0,u.hc)(n,t,i);null!=r&&l>r||s(l)}),F=l.useCallback(e=>{let{key:r}=e;r===h.N$.ArrowLeft&&null!=t?(e.preventDefault(),e.stopPropagation(),t()):r===h.N$.ArrowRight&&null!=n&&(e.preventDefault(),e.stopPropagation(),n())},[t,n]);return l.useEffect(()=>()=>{k.current=!1,I.current?.(),I.current=null},[]),{contRef:M,boundingRect:x,handleMouseEnter:e=>{a&&(y(!0),j(e))},handleMouseLeave:e=>{a&&!k.current&&(y(!1),g(null),w(!1))},handleMouseMove:e=>{a&&b&&j(e)},handleMouseDown:e=>{if(!a||null==s||0!==e.button)return;I.current?.();let t=e.currentTarget.getBoundingClientRect(),n=(0,u.hc)(e.clientX-t.left,t,i);if(null!=r&&n>r)return;k.current=!0,C(!0),c?.(!0),A(Math.max(0,Math.min(e.clientX-t.left,t.width))),B(e.clientX,t);let l=e=>{if(null!=M.current){let t=M.current.getBoundingClientRect(),n=Math.max(0,Math.min(e.clientX-t.left,t.width)),l=null!=r?r/i*t.width:null,a=null!=l?Math.min(n,l):n;w(null!=l&&n>l),g(n),A(a),B(e.clientX,t)}else B(e.clientX,t)},o=e=>{k.current=!1,I.current=null,C(!1),A(null),c?.(!1),w(!1),null!=M.current&&((0,d.vq)(e.target,Node)&&M.current.contains(e.target)||(y(!1),g(null))),window.removeEventListener("mousemove",l),window.removeEventListener("mouseup",o)};window.addEventListener("mousemove",l),window.addEventListener("mouseup",o),I.current=()=>{window.removeEventListener("mousemove",l),window.removeEventListener("mouseup",o)}},handleKeyDown:F,hoveredAtX:v,maxSeekableX:D,isHovering:b,isDragging:S,dragX:N,isHoverBeyondMax:R,handleClick:()=>{},ariaProps:T}}({onScrubBack:j,onScrubForward:k,maxSeekableTime:A,interactionEnabled:x,durationSec:N,percent:n,onClick:M,onDragStateChange:I}),et=l.useMemo(()=>null==X||null==Q?null:(0,u.rB)((0,u.hc)(X,Q,N)),[X,Q,N]),en=l.useMemo(()=>{if(null!=Q)return(0,u.TO)(n,Q)},[n,Q]),er=Q?.width!=null&&Q?.width!==0?Q?.width:1,[{playbackPxSpring:el},ea]=(0,s.z)(()=>({playbackPxSpring:0,config:y})),ei=l.useRef(H);l.useLayoutEffect(()=>{let e=ei.current;ei.current=H,e&&!H&&ea({playbackPxSpring:null==en||Number.isNaN(en)?0:en,immediate:!0})},[H,en,ea]);let eu=l.useRef(null),es=l.useRef(null),eo=l.useRef(null);l.useEffect(()=>{if(!a||null==G||N<=0||er<=0)return;es.current=eu.current??G(),eo.current=performance.now();let e=0,t=()=>{let n=performance.now(),r=eo.current;eo.current=n;let l=es.current;if(null!=l){l+=null!=r?(n-r)/1e3:0;let e=G();if(null!=e&&Number.isFinite(e)){let t=e-l;l=Math.abs(t)>.5?e:l+.1*t}}else l=G()??null;null!=l&&Number.isFinite(l)&&(es.current=l,eu.current=l,ea({playbackPxSpring:Math.min(Math.max(0,l/N*er),er),immediate:!0})),e=requestAnimationFrame(t)};return e=requestAnimationFrame(t),()=>{cancelAnimationFrame(e),es.current=null,eo.current=null}},[a,G,N,er,ea]);let ec=a&&null!=G&&N>0;l.useEffect(()=>{let e;if(!ec){if(null!=G&&N>0&&er>0){let t=G();null!=t&&Number.isFinite(t)&&(eu.current=t,e=Math.min(Math.max(0,t/N*er),er))}null==e&&(e=null==en||Number.isNaN(en)?0:en),ea({playbackPxSpring:e,immediate:!0})}},[en,ec,ea,G,N,er]);let ed=N>1,em=B?.indicators,ef=l.useMemo(()=>{let e;return null!=em&&null!=Q&&ed?(e=Q.width,em.map(t=>{let n=Math.max(0,Math.min((0,u.DX)(t.timeSec,N,Q)-("start"===t.align?0:"end"===t.align?t.widthPx:t.widthPx/2),e-t.widthPx));return{leftPx:n,rightPx:n+t.widthPx,gapPx:t.gapPx,index:t.index,source:t}})):void 0},[em,N,Q,ed]),ep=l.useMemo(()=>((e,t)=>{let n=[{startPx:0,endPx:e,leftIndicatorIndex:null,rightIndicatorIndex:null}];if(null==t||0===t.length)return n;for(let r=0;r<t.length;r++){let l=Math.max(0,t[r].leftPx-t[r].gapPx),a=Math.min(e,t[r].rightPx+t[r].gapPx),i=n[n.length-1];null!=i&&(i.endPx=l,i.rightIndicatorIndex=t[r].index),null!=i&&i.endPx<=i.startPx&&n.pop(),a<e&&n.push({startPx:a,endPx:e,leftIndicatorIndex:t[r].index,rightIndicatorIndex:null})}return n})(er,ef),[er,ef]),eh=B?.hoverExpansionPx??0,ex=l.useCallback(e=>null!=e&&null!=ef&&ef.some(t=>e>=t.leftPx-t.gapPx-(B?.animatingIndex===t.index?eh:0)&&e<=t.rightPx+t.gapPx+(B?.animatingIndex===t.index?eh:0)),[ef,B?.animatingIndex,eh]);return(0,r.jsx)("div",{className:E.jD,ref:O,"data-testid":U,style:{"--custom-timeline-height":`${null!=T&&W?T:w}px`,"--custom-initial-timeline-height":`${D}px`},children:(0,r.jsxs)(o.D,{className:i()(E.KF,{[E.uc]:x}),style:Z?{cursor:"default"}:void 0,ignoreKeyPress:!0,onClick:J,onMouseDown:q,onMouseEnter:K,onMouseLeave:_,onMouseMove:$,onKeyDown:Y,tabIndex:x?void 0:-1,children:[(0,r.jsx)("div",{className:E.PH,...ee,style:null!=g?{"--custom-segment-bg":g}:void 0,children:null!=Q&&ep.map((e,t)=>(0,r.jsx)(b,{segment:e,playbackPxSpring:el,playerState:S,isDragging:H,dragX:V,animatingIndex:B?.animatingIndex,expansionSpring:B?.expansionSpring,timelineWidth:er,preloadedBuffers:C,maxSeekableX:z,segmentBorderRadius:P,progressClassName:R},t))}),null!=Q&&ef?.map(e=>B?.renderIndicator(e,null!=en&&!Number.isNaN(en)?en:0,!0===e.source.clickable&&null!=F?()=>F(e.source.timeSec):void 0)),W&&null!=et&&t&&!ex(X)&&(0,r.jsx)(c.E,{className:E.Hz,variant:"text-xs/normal",color:"always-white",style:{left:null!=X?`${X}px`:"auto"},children:et}),(W||L)&&x&&null!=en&&!ex(H&&null!=V?V:en)&&(0,r.jsx)(v,{playbackPxSpring:el,isDragging:H,dragX:V})]})})}}