@bazza-ui/react 0.1.0-canary.7 → 0.1.0-canary.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-23NDAOAL.js +2 -0
- package/dist/chunk-23NDAOAL.js.map +1 -0
- package/dist/chunk-IT372NHF.js +2 -0
- package/dist/chunk-IT372NHF.js.map +1 -0
- package/dist/chunk-KRMKZEK4.cjs +2 -0
- package/dist/{chunk-URLK26NV.cjs.map → chunk-KRMKZEK4.cjs.map} +1 -1
- package/dist/chunk-SCDHQZFI.cjs +2 -0
- package/dist/chunk-SCDHQZFI.cjs.map +1 -0
- package/dist/combobox/index.cjs +1 -1
- package/dist/combobox/index.cjs.map +1 -1
- package/dist/combobox/index.js +1 -1
- package/dist/combobox/index.js.map +1 -1
- package/dist/{context-Dhm4Zi3l.d.ts → context-ChPa-nD4.d.ts} +6 -0
- package/dist/{context-Drjy6Y10.d.cts → context-HN6UavqL.d.cts} +6 -0
- package/dist/context-menu/index.cjs +1 -1
- package/dist/context-menu/index.d.cts +2 -2
- package/dist/context-menu/index.d.ts +2 -2
- package/dist/context-menu/index.js +1 -1
- package/dist/dropdown-menu/index.cjs +1 -1
- package/dist/dropdown-menu/index.cjs.map +1 -1
- package/dist/dropdown-menu/index.d.cts +2 -2
- package/dist/dropdown-menu/index.d.ts +2 -2
- package/dist/dropdown-menu/index.js +1 -1
- package/dist/dropdown-menu/index.js.map +1 -1
- package/dist/internal/popup-menu/index.cjs +1 -1
- package/dist/internal/popup-menu/index.d.cts +2 -2
- package/dist/internal/popup-menu/index.d.ts +2 -2
- package/dist/internal/popup-menu/index.js +1 -1
- package/dist/select/index.cjs +1 -1
- package/dist/select/index.cjs.map +1 -1
- package/dist/select/index.js +1 -1
- package/dist/select/index.js.map +1 -1
- package/dist/video-player/index.cjs +2 -2
- package/dist/video-player/index.cjs.map +1 -1
- package/dist/video-player/index.js +2 -2
- package/dist/video-player/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-2D2HREBK.js +0 -2
- package/dist/chunk-2D2HREBK.js.map +0 -1
- package/dist/chunk-URLK26NV.cjs +0 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkM4G6J7DPcjs = require('../chunk-M4G6J7DP.cjs');var _react = require('react'); var He = _interopRequireWildcard(_react); var Ie = _interopRequireWildcard(_react); var ar = _interopRequireWildcard(_react); var sr = _interopRequireWildcard(_react); var it = _interopRequireWildcard(_react); var fe = _interopRequireWildcard(_react); var X = _interopRequireWildcard(_react); var ue = _interopRequireWildcard(_react); var pr = _interopRequireWildcard(_react); var Qe = _interopRequireWildcard(_react); var ce = _interopRequireWildcard(_react); var yr = _interopRequireWildcard(_react); var Sr = _interopRequireWildcard(_react); var lt = _interopRequireWildcard(_react); var $e = _interopRequireWildcard(_react); var Ne = _interopRequireWildcard(_react); var dt = _interopRequireWildcard(_react); var d = _interopRequireWildcard(_react); var Ue = _interopRequireWildcard(_react); var R = _interopRequireWildcard(_react); var F = _interopRequireWildcard(_react); var tt = _interopRequireWildcard(_react); var K = _interopRequireWildcard(_react); var de = _interopRequireWildcard(_react); var O = _interopRequireWildcard(_react);var at=He.createContext(null);function P(c){let e=He.useContext(at);if(!e)throw new Error(`<VideoPlayer.${c}> must be used within <VideoPlayer.Root>`);return e}function ie(){return P("useVideoPlayer")}var Kr={};_chunkM4G6J7DPcjs.a.call(void 0, Kr,{BufferedIndicator:()=>nr,Captions:()=>ir,CaptionsButton:()=>lr,CaptionsDataAttributes:()=>De,CaptionsMenu:()=>ur,CaptionsMenuItem:()=>Ae,Controls:()=>cr,ControlsDataAttributes:()=>We,FullscreenButton:()=>dr,MuteButton:()=>fr,Overlay:()=>mr,OverlayDataAttributes:()=>Fe,PictureInPictureButton:()=>Pr,PlayButton:()=>Rr,PlaybackRateButton:()=>br,PlaybackRateMenu:()=>kr,PlaybackRateMenuItem:()=>ut,Portal:()=>gr,Poster:()=>vr,QualityMenu:()=>Tr,QualityMenuItem:()=>pt,Root:()=>xr,RootDataAttributes:()=>je,SeekSlider:()=>Br,SeekSliderBuffered:()=>Ir,SeekSliderControl:()=>Vr,SeekSliderCssVars:()=>qe,SeekSliderDataAttributes:()=>Xe,SeekSliderHover:()=>Or,SeekSliderPreviewThumb:()=>Dr,SeekSliderPreviewThumbDataAttributes:()=>Ye,SeekSliderPreviewTooltip:()=>me,SeekSliderPreviewTooltipPopup:()=>Je,SeekSliderPreviewTooltipPortal:()=>Ge,SeekSliderPreviewTooltipPositioner:()=>ze,SeekSliderProgress:()=>Lr,SeekSliderThumb:()=>Hr,SeekSliderTrack:()=>wr,Thumbnail:()=>Ar,ThumbnailDataAttributes:()=>Ze,TimeDisplay:()=>Wr,TimeDisplayDataAttributes:()=>et,Track:()=>Fr,Video:()=>Qr,VolumeSlider:()=>$r,VolumeSliderControl:()=>Nr,VolumeSliderCssVars:()=>rt,VolumeSliderDataAttributes:()=>nt,VolumeSliderRange:()=>Ur,VolumeSliderThumb:()=>_r,VolumeSliderTrack:()=>jr,useTransitionStatus:()=>Y,useVideoPlayer:()=>ie});var _jsxruntime = require('react/jsx-runtime');var nr=Ie.forwardRef(function(e,
|
|
2
|
-
`),l=a.length>0,p={active:l,cueText:r,cues:a},i={ref:t,"aria-live":"polite","aria-atomic":!0,role:"status",style:{pointerEvents:"none"},"data-active":l||void 0};return s?s(i,p):u?_jsxruntime.jsx.call(void 0, "div",{...i,...n,children:u}):_jsxruntime.jsx.call(void 0, "div",{...i,...n,children:r})});var _mergeprops = require('@base-ui/react/merge-props');function E(c,e){return _mergeprops.mergeProps.call(void 0, c,on(e))}function on(c){let e={...c};for(let t in e){let s=e[t];an(t,s)&&(e[t]=(u,...n)=>(_mergeprops.makeEventPreventable.call(void 0, u),s(u,...n)))}return e}function an(c,e){return c.charCodeAt(0)===111&&c.charCodeAt(1)===110&&c.charCodeAt(2)>=65&&c.charCodeAt(2)<=90&&typeof e=="function"}var lr=sr.forwardRef(function(e,t){let{render:s,...u}=e,n=P("CaptionsButton"),o=n.registeredTracks.length>0,a=n.activeTextTrack!==null,r={active:a,available:o,trackCount:n.registeredTracks.length},l=E({ref:t,type:"button","aria-label":a?"Disable captions":"Enable captions","aria-pressed":a,disabled:!o,"data-active":a||void 0,"data-available":o||void 0,onClick(){if(a)n.setTextTrack(null);else if(n.registeredTracks.length>0){let p=n.registeredTracks[0];_optionalChain([p, 'optionalAccess', _2 => _2.textTrack])&&n.setTextTrack(p.textTrack)}}},u);return s?s(l,r):_jsxruntime.jsx.call(void 0, "button",{...l})});var ur=it.forwardRef(function(e,t){let{render:s,children:u,...n}=e,o=P("CaptionsMenu"),a={registeredTracks:o.registeredTracks,activeTextTrack:o.activeTextTrack},r={ref:t,role:"menu","aria-label":"Captions","data-active":o.activeTextTrack!==null||void 0};return s?s(r,a):_jsxruntime.jsx.call(void 0, "div",{...r,...n,children:_nullishCoalesce(u, () => (_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, Ae,{track:null,children:"Off"}),o.registeredTracks.map(l=>_jsxruntime.jsx.call(void 0, Ae,{track:l.textTrack,children:l.label},l.id))]})))})}),Ae=it.forwardRef(function(e,t){let{track:s,children:u,...n}=e,o=P("CaptionsMenuItem"),a=o.activeTextTrack===s,r=E({ref:t,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setTextTrack(s)}},n);return _jsxruntime.jsx.call(void 0, "button",{...r,children:u})});var We=(r=>(r.open="data-open",r.closed="data-closed",r.idle="data-idle",r.playing="data-playing",r.paused="data-paused",r.ended="data-ended",r.startingStyle="data-starting-style",r.endingStyle="data-ending-style",r))(We||{});function cn(c){let e=[...c.getAnimations(),...Array.from(c.querySelectorAll("*")).flatMap(t=>t.getAnimations())];return e.length===0?Promise.resolve():Promise.all(e.map(t=>t.finished)).then(()=>{}).catch(()=>{})}function Y(c){let{open:e,keepMounted:t=!1}=c,[s,u]=X.useState(e||t),[n,o]=X.useState(e?"starting":void 0),a=X.useRef(null),r=X.useRef(!1);return X.useEffect(()=>{if(e){r.current=!1,u(!0),o("starting");let l=requestAnimationFrame(()=>{requestAnimationFrame(()=>{o(void 0)})});return()=>cancelAnimationFrame(l)}},[e]),X.useEffect(()=>{if(!e&&s&&!r.current){o("ending");let l=a.current;if(!l){o(void 0),t||u(!1);return}r.current=!0;let p=requestAnimationFrame(()=>{requestAnimationFrame(()=>{cn(l).then(()=>{r.current&&(r.current=!1,o(void 0),t||u(!1))})})});return()=>{cancelAnimationFrame(p)}}},[e,s,t]),X.useEffect(()=>{t&&!s&&!e&&u(!0)},[t,s,e]),{mounted:s||t,transitionStatus:n,elementRef:a}}var cr=fe.forwardRef(function(e,t){let{idleTimeout:s,keepMounted:u=!1,render:n,children:o,...a}=e,r=P("Controls"),p=(_nullishCoalesce(s, () => (r.idleTimeout)))===0||!r.idle,{mounted:i,transitionStatus:f,elementRef:b}=Y({open:p,keepMounted:u}),S=fe.useCallback(L=>{b.current=L,typeof t=="function"?t(L):t&&(t.current=L)},[t,b]),{onClick:T,...y}=a,x=fe.useCallback(L=>{L.stopPropagation(),_optionalChain([T, 'optionalCall', _3 => _3(L)])},[T]),v={open:p,idle:r.idle,playing:r.playing,paused:r.paused,ended:r.ended},k={ref:S,onClick:x,"data-open":p||void 0,"data-closed":!p||void 0,"data-idle":r.idle||void 0,"data-playing":r.playing||void 0,"data-paused":r.paused||void 0,"data-ended":r.ended||void 0,"data-starting-style":f==="starting"||void 0,"data-ending-style":f==="ending"||void 0};return i?n?n(k,v):_jsxruntime.jsx.call(void 0, "div",{...k,...y,children:o}):null});var dr=ue.forwardRef(function(e,t){let{render:s,children:u,...n}=e,o=P("FullscreenButton"),[a,r]=ue.useState(!1);ue.useEffect(()=>{r("fullscreenEnabled"in document&&document.fullscreenEnabled)},[]);let l={fullscreen:o.fullscreen,supported:a},p=E({ref:t,type:"button","aria-label":o.fullscreen?"Exit fullscreen":"Enter fullscreen","aria-pressed":o.fullscreen,disabled:!a,"data-fullscreen":o.fullscreen||void 0,"data-supported":a||void 0,onClick(){o.toggleFullscreen()}},n);return s?s(p,l):_jsxruntime.jsx.call(void 0, "button",{...p,children:u})});var fr=pr.forwardRef(function(e,t){let{render:s,...u}=e,n=P("MuteButton"),o={muted:n.muted,volume:n.volume},a=n.volume,r=n.muted,l=a===0||r,p=a>0&&!r,i=!r&&a>0&&a<.5,f=!r&&a>=.5,b=E({ref:t,type:"button","aria-label":n.muted?"Unmute":"Mute","aria-pressed":n.muted,"data-muted":r||void 0,"data-volume-off":l||void 0,"data-volume-on":p||void 0,"data-volume-low":i||void 0,"data-volume-high":f||void 0,onClick(){n.toggleMute()}},u);return s?s(b,o):_jsxruntime.jsx.call(void 0, "button",{...b})});var Fe=(i=>(i.open="data-open",i.closed="data-closed",i.playing="data-playing",i.paused="data-paused",i.ended="data-ended",i.waiting="data-waiting",i.seeking="data-seeking",i.fullscreen="data-fullscreen",i.pip="data-pip",i.startingStyle="data-starting-style",i.endingStyle="data-ending-style",i))(Fe||{});var mr=Qe.forwardRef(function(e,t){let{idleTimeout:s,keepMounted:u=!1,render:n,children:o,...a}=e,r=P("Overlay"),p=(_nullishCoalesce(s, () => (r.idleTimeout)))===0||!r.idle,{mounted:i,transitionStatus:f,elementRef:b}=Y({open:p,keepMounted:u}),S=Qe.useCallback(x=>{b.current=x,typeof t=="function"?t(x):t&&(t.current=x)},[t,b]),T={playing:r.playing,paused:r.paused,ended:r.ended,waiting:r.waiting,seeking:r.seeking,fullscreen:r.fullscreen,pictureInPicture:r.pictureInPicture,open:p},y=E({ref:S,onClick(){r.toggle()},"data-playing":r.playing||void 0,"data-paused":r.paused||void 0,"data-ended":r.ended||void 0,"data-waiting":r.waiting||void 0,"data-seeking":r.seeking||void 0,"data-fullscreen":r.fullscreen||void 0,"data-pip":r.pictureInPicture||void 0,"data-open":p||void 0,"data-closed":!p||void 0,"data-starting-style":f==="starting"||void 0,"data-ending-style":f==="ending"||void 0},a);return i?n?n(y,T):_jsxruntime.jsx.call(void 0, "div",{...y,...a,children:o}):null});var Pr=ce.forwardRef(function(e,t){let{render:s,...u}=e,n=P("PictureInPictureButton"),[o,a]=ce.useState(!1);ce.useEffect(()=>{a("pictureInPictureEnabled"in document&&document.pictureInPictureEnabled)},[]);let r={pictureInPicture:n.pictureInPicture,supported:o},l=E({ref:t,type:"button","aria-label":n.pictureInPicture?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":n.pictureInPicture,disabled:!o,"data-pip":n.pictureInPicture||void 0,"data-supported":o||void 0,onClick(){n.togglePictureInPicture()}},u);return s?s(l,r):_jsxruntime.jsx.call(void 0, "button",{...l})});var Rr=yr.forwardRef(function(e,t){let{render:s,children:u,...n}=e,o=P("PlayButton"),a={playing:o.playing,paused:o.paused,ended:o.ended,waiting:o.waiting},r=E({ref:t,type:"button","aria-label":o.playing?"Pause":"Play","data-playing":o.playing||void 0,"data-paused":o.paused||void 0,"data-ended":o.ended||void 0,"data-waiting":o.waiting||void 0,onClick(){o.toggle()}},n);return s?s(r,a):_jsxruntime.jsx.call(void 0, "button",{...r,children:u})});var Rn=[.25,.5,.75,1,1.25,1.5,1.75,2],br=Sr.forwardRef(function(e,t){let{rates:s=Rn,render:u,children:n,...o}=e,a=P("PlaybackRateButton"),r={playbackRate:a.playbackRate,rates:s},l=E({ref:t,type:"button","aria-label":`Playback speed: ${a.playbackRate}x`,"data-rate":a.playbackRate,onClick(){let p=s.indexOf(a.playbackRate),i=_nullishCoalesce(_nullishCoalesce(s[(p+1)%s.length], () => (s[0])), () => (a.playbackRate));a.setPlaybackRate(i)}},o);return u?u(l,r):_jsxruntime.jsx.call(void 0, "button",{...l,children:_nullishCoalesce(n, () => (`${a.playbackRate}x`))})});var bn=[.25,.5,.75,1,1.25,1.5,1.75,2],kr=lt.forwardRef(function(e,t){let{rates:s=bn,render:u,children:n,...o}=e,a=P("PlaybackRateMenu"),r={playbackRate:a.playbackRate,rates:s},l={ref:t,role:"menu","aria-label":"Playback speed","data-rate":a.playbackRate};return u?u(l,r):_jsxruntime.jsx.call(void 0, "div",{...l,...o,children:_nullishCoalesce(n, () => (s.map(p=>_jsxruntime.jsx.call(void 0, ut,{rate:p},p))))})}),ut=lt.forwardRef(function(e,t){let{rate:s,children:u,...n}=e,o=P("PlaybackRateMenuItem"),a=o.playbackRate===s,r=E({ref:t,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setPlaybackRate(s)}},n);return _jsxruntime.jsx.call(void 0, "button",{...r,children:_nullishCoalesce(u, () => (`${s}x`))})});var _reactdom = require('react-dom'); var Mr = _interopRequireWildcard(_reactdom);function gr(c){let{children:e,container:t}=c,[s,u]=$e.useState(!1);if($e.useEffect(()=>(u(!0),()=>u(!1)),[]),!s)return null;let n=_nullishCoalesce(t, () => ((typeof document<"u"?document.body:null)));return n?_reactdom.createPortal.call(void 0, e,n):null}var vr=Ne.forwardRef(function(e,t){let{keepMounted:s=!1,render:u,children:n,...o}=e,a=P("Poster"),r=!a.canPlay,l=a.canPlay,{mounted:p,transitionStatus:i,elementRef:f}=Y({open:r,keepMounted:s}),b=gn(t,f),S={loading:r,loaded:l,transitionStatus:i},T={ref:b,"aria-hidden":!0,"data-loading":r||void 0,"data-loaded":l||void 0,"data-starting-style":i==="starting"||void 0,"data-ending-style":i==="ending"||void 0};return p?u?u(T,S):_jsxruntime.jsx.call(void 0, "div",{...T,...o,children:n}):null});function gn(...c){return Ne.useCallback(e=>{for(let t of c)typeof t=="function"?t(e):t!=null&&(t.current=e)},c)}var Tr=dt.forwardRef(function(e,t){let{render:s,children:u,...n}=e,o=P("QualityMenu"),a={qualities:o.qualities,activeQuality:o.activeQuality},r={ref:t,role:"menu","aria-label":"Video quality","data-quality":_nullishCoalesce(_optionalChain([o, 'access', _4 => _4.activeQuality, 'optionalAccess', _5 => _5.label]), () => (void 0))};return s?s(r,a):_jsxruntime.jsx.call(void 0, "div",{...r,...n,children:_nullishCoalesce(u, () => (o.qualities.map(l=>_jsxruntime.jsx.call(void 0, pt,{quality:l,children:l.label},l.label))))})}),pt=dt.forwardRef(function(e,t){let{quality:s,children:u,...n}=e,o=P("QualityMenuItem"),a=_optionalChain([o, 'access', _6 => _6.activeQuality, 'optionalAccess', _7 => _7.label])===s.label,r=E({ref:t,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setQuality(s)}},n);return _jsxruntime.jsx.call(void 0, "button",{...r,children:u})});var je=(l=>(l.playing="data-playing",l.paused="data-paused",l.ended="data-ended",l.waiting="data-waiting",l.seeking="data-seeking",l.fullscreen="data-fullscreen",l.pip="data-pip",l.muted="data-muted",l.idle="data-idle",l))(je||{});function Tn(c,e){return!(c instanceof HTMLElement)||c instanceof HTMLInputElement&&c.type==="range"&&e===" "?!1:c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.isContentEditable}function hn(c){return c==="ArrowRight"||c==="ArrowLeft"}function hr(c,e){let t=ie(),s=Ue.useRef(t);s.current=t,Ue.useEffect(()=>{if(e==="none")return;let u=a=>{if(Tn(a.target,a.key))return;let r=s.current;switch(a.key){case" ":a.preventDefault(),r.toggle();break;case"f":case"F":a.preventDefault(),r.toggleFullscreen();break;case"ArrowUp":a.preventDefault(),r.setVolume(Math.min(r.volume+.1,1));break;case"ArrowDown":a.preventDefault(),r.setVolume(Math.max(r.volume-.1,0));break;case"ArrowRight":a.preventDefault(),r.beginSeekInteraction(),r.seek(Math.min(r.currentTime+5,r.duration));break;case"ArrowLeft":a.preventDefault(),r.beginSeekInteraction(),r.seek(Math.max(r.currentTime-5,0));break;default:return}r.resetIdle()},n=a=>{hn(a.key)&&s.current.endSeekInteraction()};if(e==="global")return window.addEventListener("keydown",u),window.addEventListener("keyup",n),()=>{window.removeEventListener("keydown",u),window.removeEventListener("keyup",n)};let o=c.current;if(o)return o.addEventListener("keydown",u),o.addEventListener("keyup",n),()=>{o.removeEventListener("keydown",u),o.removeEventListener("keyup",n)}},[e,c])}function _e(c,e,t){let[s,u]=d.useState(e),n=c!==void 0,o=n?c:s,a=d.useCallback(r=>{let l=typeof r=="function"?r(o):r;n||u(l),_optionalChain([t, 'optionalCall', _8 => _8(l)])},[n,o,t]);return[o,a]}function xn({rootRef:c,videoRef:e,actionsRef:t,defaultPlaying:s=!1,autoPlay:u=!1,defaultVolume:n=1,defaultMuted:o=!1,defaultPlaybackRate:a=1,playing:r,onPlayingChange:l,volume:p,onVolumeChange:i,muted:f,onMutedChange:b,playbackRate:S,onPlaybackRateChange:T,currentTime:y,onCurrentTimeChange:x,idleTimeout:v=3e3,preventIdleWhenPaused:k=!1,idle:L,onIdleChange:M,onEnded:w,onWaiting:H,onSeeking:Q,onSeeked:D,onFullscreenChange:h,onPictureInPictureChange:$,children:U}){let q=d.useRef(1),_=d.useRef(!1),z=d.useRef(!1),Z=d.useRef(!1),[B,I]=d.useState("paused"),[g,A]=d.useState(s?"play":"pause");d.useEffect(()=>{r!==void 0&&(A(r?"play":"pause"),B!=="waiting"&&I(r?"playing":"paused"))},[r,B]);let[W,te]=_e(p,n,i),[J,pe]=_e(f,o,b),[Pt,yt]=_e(S,a,T),[qr,re]=_e(L,!0,M),ne=d.useRef(null),ye=d.useCallback(()=>{ne.current&&(clearTimeout(ne.current),ne.current=null)},[]),Rt=d.useCallback(()=>{v!==0&&(ye(),ne.current=setTimeout(()=>{re(!0)},v))},[v,ye,re]),St=d.useCallback(()=>{re(!1),Rt()},[re,Rt]),bt=d.useCallback(()=>{ye(),re(!0)},[ye,re]);d.useEffect(()=>(v>0&&(ne.current=setTimeout(()=>{re(!0)},v)),()=>{ne.current&&clearTimeout(ne.current)}),[]);let kt=k&&B!=="playing"?!1:qr,se=d.useCallback(()=>{let m=e.current;m&&(m.muted!==J&&(m.muted=J),m.volume!==W&&(m.volume=W))},[J,e,W]),Re=d.useCallback(async()=>{let m=e.current;if(!(!u||!m||Z.current)){Z.current=!0,A("play"),se();try{await m.play(),I("playing"),_optionalChain([l, 'optionalCall', _9 => _9(!0)])}catch (e2){A("pause"),I("paused")}}},[u,l,se,e]);d.useEffect(()=>{if(!u){Z.current=!1;return}Re()},[u,Re]);let[gt,vt]=d.useState(0),[Se,Tt]=d.useState(0),[ht,Xr]=d.useState(null),[be,Yr]=d.useState(null),[xt,Ct]=d.useState(!1),[Mt,le]=d.useState(!1),[ke,Gr]=d.useState(!1),[ge,Et]=d.useState(!1),[Bt,ot]=d.useState([]),[oe,zr]=d.useState(null),[Vt,ve]=d.useState([]),[wt,Nn]=d.useState([]),[Lt,Jr]=d.useState(null);d.useEffect(()=>{y!==void 0&&e.current&&(e.current.currentTime=y)},[y,e]),d.useEffect(()=>{f===void 0&&p===void 0||se()},[f,p,se]),d.useEffect(()=>{let m=()=>{let C=document.fullscreenElement===c.current;Gr(C),_optionalChain([h, 'optionalCall', _10 => _10(C)])};return document.addEventListener("fullscreenchange",m),()=>document.removeEventListener("fullscreenchange",m)},[h,c]),d.useEffect(()=>{let m=e.current;if(!m)return;let C=()=>{Et(!0),_optionalChain([$, 'optionalCall', _11 => _11(!0)])},N=()=>{Et(!1),_optionalChain([$, 'optionalCall', _12 => _12(!1)])};return m.addEventListener("enterpictureinpicture",C),m.addEventListener("leavepictureinpicture",N),()=>{m.removeEventListener("enterpictureinpicture",C),m.removeEventListener("leavepictureinpicture",N)}},[$,e]);let Te=d.useCallback(async()=>{e.current&&(A("play"),await e.current.play(),I("playing"),_optionalChain([l, 'optionalCall', _13 => _13(!0)]))},[e,l]),he=d.useCallback(()=>{e.current&&(A("pause"),e.current.pause(),I("paused"),_optionalChain([l, 'optionalCall', _14 => _14(!1)]))},[e,l]),xe=d.useCallback(async()=>{B==="playing"?he():await Te()},[B,Te,he]),Ce=d.useCallback(m=>{e.current&&(e.current.currentTime=m,vt(m),_optionalChain([x, 'optionalCall', _15 => _15(m)]))},[x,e]),Ht=d.useCallback(()=>{let m=e.current;!m||_.current||(_.current=!0,z.current=g==="play",le(!0),z.current&&!m.paused&&m.pause())},[g,e]),It=d.useCallback(()=>{let m=e.current;if(!m||!_.current)return;let C=z.current&&g==="play";if(_.current=!1,z.current=!1,!C){le(!1);return}m.play().then(()=>{I("playing"),le(!1)}).catch(()=>{I("waiting"),le(!1)})},[g,e]),Me=d.useCallback(m=>{let C=Math.max(0,Math.min(1,m));e.current&&(e.current.volume=C),te(C)},[te,e]),Dt=d.useCallback(()=>{if(!(J||W===0))q.current=W,e.current&&(e.current.muted=!0),pe(!0);else{let C=q.current>0?q.current:1;e.current&&(e.current.volume=C,e.current.muted=!1),te(C),pe(!1)}},[J,W,pe,te,e]),Ee=d.useCallback(async()=>{_optionalChain([c, 'access', _16 => _16.current, 'optionalAccess', _17 => _17.requestFullscreen])&&await c.current.requestFullscreen()},[c]),Be=d.useCallback(async()=>{document.exitFullscreen&&await document.exitFullscreen()},[]),Ve=d.useCallback(async()=>{ke?await Be():await Ee()},[ke,Ee,Be]),we=d.useCallback(async()=>{_optionalChain([e, 'access', _18 => _18.current, 'optionalAccess', _19 => _19.requestPictureInPicture])&&await e.current.requestPictureInPicture()},[e]),Le=d.useCallback(async()=>{document.pictureInPictureElement&&await document.exitPictureInPicture()},[]),Ot=d.useCallback(async()=>{ge?await Le():await we()},[ge,we,Le]),At=d.useCallback(m=>{e.current&&(e.current.playbackRate=m),yt(m)},[yt,e]),Wt=d.useCallback(m=>{if(e.current){for(let C=0;C<e.current.textTracks.length;C++){let N=e.current.textTracks[C];N&&(N.mode="disabled")}m&&(m.mode="hidden")}zr(m),ve([])},[e]),Ft=d.useCallback(m=>{Jr(m)},[]),Qt=d.useCallback(m=>{ot(C=>C.some(N=>N.id===m.id)?C:[...C,m])},[]),$t=d.useCallback(m=>{ot(C=>C.filter(N=>N.id!==m))},[]),Nt=d.useCallback((m,C)=>{ot(N=>N.map(ae=>ae.id===m?{...ae,textTrack:C}:ae))},[]);d.useEffect(()=>{if(!oe){ve([]);return}let m=()=>{let C=oe.activeCues;if(!C){ve([]);return}let N=[];for(let ae=0;ae<C.length;ae++){let rr=C[ae];rr instanceof VTTCue&&N.push(rr)}ve(N)};return m(),oe.addEventListener("cuechange",m),()=>{oe.removeEventListener("cuechange",m)}},[oe]),d.useImperativeHandle(t,()=>({toggle:xe,seek:Ce,setVolume:Me,toggleFullscreen:Ve}),[xe,Ce,Me,Ve]);let jt=d.useCallback(()=>{if(e.current){let m=e.current.currentTime;vt(m),_optionalChain([x, 'optionalCall', _20 => _20(m)])}},[x,e]),Ut=d.useCallback(()=>{e.current&&Tt(e.current.duration)},[e]),_t=d.useCallback(()=>{e.current&&Xr(e.current.buffered)},[e]),Kt=d.useCallback(()=>{A("play"),I("playing"),_optionalChain([l, 'optionalCall', _21 => _21(!0)])},[l]),qt=d.useCallback(()=>{_.current||B!=="ended"&&(I("paused"),_optionalChain([l, 'optionalCall', _22 => _22(!1)]))},[B,l]),Xt=d.useCallback(()=>{A("pause"),I("ended"),_optionalChain([l, 'optionalCall', _23 => _23(!1)]),_optionalChain([w, 'optionalCall', _24 => _24()])},[l,w]),Yt=d.useCallback(()=>{_.current||(I("waiting"),_optionalChain([H, 'optionalCall', _25 => _25()]))},[H]),Gt=d.useCallback(()=>{if(_.current){Ct(!0);return}if(B==="waiting"){let m=g==="play"?"playing":"paused";I(m),_optionalChain([l, 'optionalCall', _26 => _26(m==="playing")])}Ct(!0)},[B,g,l]),zt=d.useCallback(()=>{le(!0),B==="ended"&&I("paused"),_optionalChain([Q, 'optionalCall', _27 => _27()])},[B,Q]),Jt=d.useCallback(()=>{if(le(!1),e.current){let{currentTime:m,duration:C}=e.current;C>0&&C-m<.01&&I("ended")}_optionalChain([D, 'optionalCall', _28 => _28()])},[D,e]),Zt=d.useCallback(()=>{e.current&&(te(e.current.volume),pe(e.current.muted))},[te,pe,e]),er=d.useCallback(()=>{e.current&&Tt(e.current.duration)},[e]),tr=d.useCallback(()=>{se(),Re()},[Re,se]),Zr=d.useMemo(()=>({playbackStatus:B,playbackIntent:g,playing:B==="playing",paused:B==="paused",ended:B==="ended",waiting:B==="waiting",seeking:Mt,canPlay:xt,currentTime:gt,duration:Se,buffered:ht,hoverTime:be,hoverProgress:be!==null&&Se>0?be/Se*100:null,volume:W,muted:J,fullscreen:ke,pictureInPicture:ge,idle:kt,idleTimeout:v,preventIdleWhenPaused:k,registeredTracks:Bt,activeTextTrack:oe,activeCues:Vt,playbackRate:Pt,qualities:wt,activeQuality:Lt,videoRef:e,rootRef:c,play:Te,pause:he,toggle:xe,seek:Ce,setVolume:Me,toggleMute:Dt,enterFullscreen:Ee,exitFullscreen:Be,toggleFullscreen:Ve,enterPictureInPicture:we,exitPictureInPicture:Le,togglePictureInPicture:Ot,setPlaybackRate:At,setTextTrack:Wt,setQuality:Ft,registerTrack:Qt,unregisterTrack:$t,updateTrackRef:Nt,resetIdle:St,setHoverTime:Yr,beginSeekInteraction:Ht,endSeekInteraction:It,_handlers:{onTimeUpdate:jt,onDurationChange:Ut,onProgress:_t,onPlay:Kt,onPause:qt,onEnded:Xt,onWaiting:Yt,onCanPlay:Gt,onSeeking:zt,onSeeked:Jt,onVolumeChange:Zt,onLoadedMetadata:er,onVideoMount:tr,onRootMouseLeave:bt}}),[B,g,Mt,xt,gt,Se,ht,be,W,J,ke,ge,kt,v,k,Bt,oe,Vt,Pt,wt,Lt,e,c,Te,he,xe,Ce,Me,Dt,Ee,Be,Ve,we,Le,Ot,At,Wt,Ft,Qt,$t,Nt,St,Ht,It,jt,Ut,_t,Kt,qt,Xt,Yt,Gt,zt,Jt,Zt,er,tr,bt]);return _jsxruntime.jsx.call(void 0, at.Provider,{value:Zr,children:U})}var xr=d.forwardRef(function(e,t){let{actionsRef:s,keyboardShortcuts:u="focused",defaultPlaying:n,autoPlay:o,defaultVolume:a,defaultMuted:r,defaultPlaybackRate:l,playing:p,onPlayingChange:i,volume:f,onVolumeChange:b,muted:S,onMutedChange:T,playbackRate:y,onPlaybackRateChange:x,currentTime:v,onCurrentTimeChange:k,idleTimeout:L,preventIdleWhenPaused:M,hideCursorWhenIdle:w="fullscreen",idle:H,onIdleChange:Q,onEnded:D,onWaiting:h,onSeeking:$,onSeeked:U,onFullscreenChange:q,onPictureInPictureChange:_,children:z,...Z}=e,B=d.useRef(null),I=d.useRef(null);return _jsxruntime.jsx.call(void 0, xn,{actionsRef:s,defaultPlaying:n,autoPlay:o,defaultVolume:a,defaultMuted:r,defaultPlaybackRate:l,playing:p,onPlayingChange:i,volume:f,onVolumeChange:b,muted:S,onMutedChange:T,playbackRate:y,onPlaybackRateChange:x,currentTime:v,onCurrentTimeChange:k,idleTimeout:L,preventIdleWhenPaused:M,idle:H,onIdleChange:Q,onEnded:D,onWaiting:h,onSeeking:$,onSeeked:U,onFullscreenChange:q,onPictureInPictureChange:_,rootRef:B,videoRef:I,children:_jsxruntime.jsx.call(void 0, Cn,{ref:t,rootRef:B,keyboardShortcuts:u,hideCursorWhenIdle:w,...Z,children:z})})}),Cn=d.forwardRef(function({rootRef:e,keyboardShortcuts:t,hideCursorWhenIdle:s,children:u,className:n,style:o,...a},r){let l=ie(),p=Mn(r,e),i=d.useRef(null);hr(e,t);let f=d.useCallback(w=>{let{clientX:H,clientY:Q}=w,D=i.current;D&&D.x===H&&D.y===Q||(i.current={x:H,y:Q},l.resetIdle())},[l]),b=d.useCallback(w=>{let{clientX:H,clientY:Q}=w,D=i.current;D&&D.x===H&&D.y===Q||(i.current={x:H,y:Q},l.resetIdle())},[l]),S=d.useCallback(()=>{l._handlers.onRootMouseLeave()},[l._handlers]),T=d.useCallback(()=>{l.resetIdle()},[l]),y=d.useCallback(()=>{l.resetIdle()},[l]),x=d.useCallback(w=>{w.key==="Tab"&&l.resetIdle()},[l]),v=E({onMouseMove:f,onMouseEnter:b,onMouseLeave:S,onClick:T,onFocus:y,onKeyDown:x},a),k={"data-playing":l.playing||void 0,"data-paused":l.paused||void 0,"data-ended":l.ended||void 0,"data-waiting":l.waiting||void 0,"data-seeking":l.seeking||void 0,"data-fullscreen":l.fullscreen||void 0,"data-pip":l.pictureInPicture||void 0,"data-muted":l.muted||void 0,"data-idle":l.idle||void 0},L=s!==!1&&l.idle&&(s==="always"||s==="fullscreen"&&l.fullscreen),M=d.useId();return _jsxruntime.jsxs.call(void 0, "div",{...v,ref:p,tabIndex:t==="focused"?0:void 0,className:n,style:o,"data-video-player-scope":M,...k,children:[L&&_jsxruntime.jsx.call(void 0, "style",{children:`[data-video-player-scope="${M}"], [data-video-player-scope="${M}"] * { cursor: none !important; }`}),u]})});function Mn(...c){return d.useCallback(e=>{for(let t of c)typeof t=="function"?t(e):t!=null&&(t.current=e)},c)}var qe=(o=>(o.progress="--seek-progress",o.buffered="--seek-buffered",o.currentTime="--seek-current-time",o.duration="--seek-duration",o.hoverProgress="--seek-hover-progress",o.hoverTime="--seek-hover-time",o))(qe||{});var Xe=(u=>(u.seeking="data-seeking",u.hovering="data-hovering",u.pressing="data-pressing",u.dragging="data-dragging",u))(Xe||{});var _slider = require('@base-ui/react/slider');var _react2 = require('@floating-ui/react');var Ye=(u=>(u.open="data-open",u.closed="data-closed",u.startingStyle="data-starting-style",u.endingStyle="data-ending-style",u))(Ye||{});var ft=R.createContext(null);function Er(c){let e=R.useContext(ft);if(!e)throw new Error(`${c} must be used within SeekSlider`);return e}function Cr(c){return c==="ArrowRight"||c==="ArrowLeft"}var Br=R.forwardRef(function(e,t){let{render:s,children:u,onPointerMove:n,onPointerLeave:o,onPointerDown:a,onKeyUp:r,onValueCommitted:l,...p}=e,i=P("SeekSlider"),f=R.useRef(null),[b,S]=R.useState(null),[T,y]=R.useState(!1),[x,v]=R.useState(!1),k=R.useRef(!1);R.useEffect(()=>{if(!T)return;let g=()=>{y(!1),v(!1),k.current=!1,i.endSeekInteraction()};return window.addEventListener("pointerup",g),()=>window.removeEventListener("pointerup",g)},[T,i]);let L=i.duration>0?i.currentTime/i.duration*100:0,M=R.useCallback((g,A)=>{let W=typeof g=="number"?g:g[0];W!==void 0&&(A.reason==="keyboard"&&i.beginSeekInteraction(),i.seek(W),i.resetIdle(),k.current&&v(!0))},[i]),w=R.useCallback(g=>{if(_optionalChain([n, 'optionalCall', _29 => _29(g)]),!f.current||i.duration===0)return;let A=f.current.getBoundingClientRect(),W=g.clientX-A.left,J=Math.max(0,Math.min(1,W/A.width))*i.duration;i.setHoverTime(J)},[n,i]),H=R.useCallback(g=>{_optionalChain([o, 'optionalCall', _30 => _30(g)]),i.setHoverTime(null)},[o,i]),Q=R.useCallback(g=>{_optionalChain([a, 'optionalCall', _31 => _31(g)]),y(!0),k.current=!0,i.beginSeekInteraction()},[a,i]),D=R.useCallback(g=>{_optionalChain([r, 'optionalCall', _32 => _32(g)]),Cr(g.key)&&i.endSeekInteraction()},[r,i]),h=R.useCallback((g,A)=>{let W=typeof g=="number"?g:g[0];W!==void 0&&(_optionalChain([l, 'optionalCall', _33 => _33(W,A)]),y(!1),v(!1),k.current=!1,!(A.reason==="keyboard"&&Cr(A.event.key))&&i.endSeekInteraction())},[l,i]),$=R.useMemo(()=>{if(!i.buffered||i.buffered.length===0)return 0;for(let g=0;g<i.buffered.length;g++)if(i.buffered.start(g)<=i.currentTime&&i.currentTime<=i.buffered.end(g))return i.buffered.end(g);return i.buffered.end(0)},[i.buffered,i.currentTime]),U=i.duration>0?$/i.duration*100:0;R.useLayoutEffect(()=>{typeof t=="function"?t(f.current):t&&(t.current=f.current)});let q={currentTime:i.currentTime,duration:i.duration,progress:L,seeking:i.seeking,pressing:T,dragging:x,hoverTime:i.hoverTime,hoverProgress:i.hoverProgress},_=i.hoverProgress!==null,z=_nullishCoalesce(i.hoverProgress, () => (0)),Z=R.useMemo(()=>({sliderRef:f,previewThumbElement:b,setPreviewThumbElement:S,hoverProgress:z,open:_}),[f,b,S,z,_]),B={position:"relative","--seek-progress":`${L}%`,"--seek-buffered":`${U}%`,"--seek-current-time":i.currentTime,"--seek-duration":i.duration,"--seek-hover-progress":i.hoverProgress!==null?`${i.hoverProgress}%`:void 0,"--seek-hover-time":_nullishCoalesce(i.hoverTime, () => (void 0)),...p.style},I={"data-seeking":i.seeking||void 0,"data-hovering":i.hoverTime!==null||void 0,"data-pressing":T||void 0,"data-dragging":x||void 0,style:B};return s?_jsxruntime.jsx.call(void 0, ft.Provider,{value:Z,children:_jsxruntime.jsx.call(void 0, _slider.Slider.Root,{ref:f,min:0,max:i.duration||100,step:.1,value:i.currentTime,onValueChange:M,onValueCommitted:h,onPointerMove:w,onPointerLeave:H,onPointerDown:Q,onKeyUp:D,"aria-label":"Seek",render:g=>s({...g,...I,style:{...g.style,...I.style}},q)})}):_jsxruntime.jsx.call(void 0, ft.Provider,{value:Z,children:_jsxruntime.jsx.call(void 0, _slider.Slider.Root,{ref:f,min:0,max:i.duration||100,step:.1,value:i.currentTime,onValueChange:M,onValueCommitted:h,onPointerMove:w,onPointerLeave:H,onPointerDown:Q,onKeyUp:D,"aria-label":"Seek",...I,...p,children:_nullishCoalesce(u, () => (_jsxruntime.jsx.call(void 0, _slider.Slider.Control,{children:_jsxruntime.jsxs.call(void 0, _slider.Slider.Track,{style:{position:"relative"},children:[_jsxruntime.jsx.call(void 0, "div",{style:{position:"absolute",left:0,top:0,height:"100%",width:`${U}%`}}),_jsxruntime.jsx.call(void 0, _slider.Slider.Indicator,{}),_jsxruntime.jsx.call(void 0, _slider.Slider.Thumb,{})]})})))})})}),Vr=_slider.Slider.Control,wr=R.forwardRef(function(e,t){let{render:s,children:u,style:n,...o}=e,a={},r={position:"relative",...n},l={ref:t,style:r};return s?_jsxruntime.jsx.call(void 0, _slider.Slider.Track,{render:p=>s({...p,...l},a)}):_jsxruntime.jsx.call(void 0, _slider.Slider.Track,{ref:t,style:r,...o,children:u})}),Lr=R.forwardRef(function(e,t){let{render:s,children:u,style:n,...o}=e,a=P("SeekSliderProgress"),l={progress:a.duration>0?a.currentTime/a.duration*100:0},p={height:"100%",...n},i={ref:t,style:p};return s?_jsxruntime.jsx.call(void 0, _slider.Slider.Indicator,{render:f=>s({...f,...i,style:{...f.style,...p}},l)}):_jsxruntime.jsx.call(void 0, _slider.Slider.Indicator,{ref:t,style:p,...o,children:u})}),Hr=R.forwardRef(function(e,t){let{render:s,children:u,style:n,...o}=e,a={},r={ref:t,style:_nullishCoalesce(n, () => ({}))};return s?_jsxruntime.jsx.call(void 0, _slider.Slider.Thumb,{render:l=>s({...l,...r,style:{...l.style,...n}},a)}):_jsxruntime.jsx.call(void 0, _slider.Slider.Thumb,{ref:t,style:n,...o,children:u})}),Ir=R.forwardRef(function(e,t){let{render:s,children:u,...n}=e,o=P("SeekSliderBuffered"),a=R.useMemo(()=>{if(!o.buffered||o.buffered.length===0)return 0;for(let f=0;f<o.buffered.length;f++)if(o.buffered.start(f)<=o.currentTime&&o.currentTime<=o.buffered.end(f))return o.buffered.end(f);return o.buffered.end(0)},[o.buffered,o.currentTime]),r=o.duration>0?a/o.duration*100:0,l={bufferedPercentage:r},p={position:"absolute",left:0,top:0,height:"100%",width:`${r}%`,...n.style},i={ref:t,style:p};return s?s(i,l):_jsxruntime.jsx.call(void 0, "div",{...i,...n,children:u})}),Dr=R.forwardRef(function(e,t){let{keepMounted:s=!1,render:u,children:n,...o}=e,a=P("SeekSliderPreviewThumb"),r=Er("SeekSliderPreviewThumb"),l=a.hoverProgress!==null,p=R.useRef(0);a.hoverProgress!==null&&(p.current=a.hoverProgress);let i=_nullishCoalesce(a.hoverProgress, () => (p.current)),{mounted:f,transitionStatus:b,elementRef:S}=Y({open:l,keepMounted:s}),T=R.useCallback(k=>{S.current=k,r.setPreviewThumbElement(k),typeof t=="function"?t(k):t&&(t.current=k)},[t,S,r]),y={open:l,transitionStatus:b,hoverProgress:i},x={position:"absolute",left:`${i}%`,transform:"translateX(-50%)",pointerEvents:"none",...o.style},v={ref:T,style:x,"data-open":l||void 0,"data-closed":!l||void 0,"data-starting-style":b==="starting"||void 0,"data-ending-style":b==="ending"||void 0};return f?u?u(v,y):_jsxruntime.jsx.call(void 0, "span",{...v,...o,children:n}):null}),Or=R.forwardRef(function(e,t){let{render:s,children:u,style:n,...o}=e,a=P("SeekSliderHover"),r=a.hoverProgress!==null,l=_nullishCoalesce(a.hoverProgress, () => (0)),p={hovering:r,hoverProgress:a.hoverProgress,hoverTime:a.hoverTime},i={position:"absolute",left:0,top:0,height:"100%",width:`${l}%`,pointerEvents:"none",...n},f={ref:t,style:i,"data-hovering":r||void 0};return s?s(f,p):_jsxruntime.jsx.call(void 0, "div",{...f,...o,children:u})});function Ge({children:c,container:e}){let t=P("SeekSliderPreviewTooltipPortal"),[s,u]=R.useState(!1);if(R.useEffect(()=>{u(!0)},[]),!s)return null;let n=_nullishCoalesce(_nullishCoalesce(e, () => (t.rootRef.current)), () => (document.body));return Mr.createPortal(c,n)}var ze=R.forwardRef(function(e,t){let{sideOffset:s=8,collisionPadding:u=0,collisionBoundary:n,keepMounted:o=!1,children:a,style:r,...l}=e,p=Er("SeekSliderPreviewTooltipPositioner"),{previewThumbElement:i,open:f,hoverProgress:b}=p,[S,T]=R.useState(null),{refs:y,floatingStyles:x,update:v}=_react2.useFloating.call(void 0, {placement:"top",middleware:[_react2.offset.call(void 0, s),_react2.shift.call(void 0, {boundary:n,padding:u})]});R.useLayoutEffect(()=>{i&&y.setReference(i)},[i,y]),R.useEffect(()=>{if(f&&i&&S)return _react2.autoUpdate.call(void 0, i,S,v)},[f,i,S,v]),R.useLayoutEffect(()=>{f&&i&&S&&v()},[b,f,i,S,v]);let k=R.useCallback(M=>{y.setFloating(M),T(M),typeof t=="function"?t(M):t&&(t.current=M)},[y,t]);return(o||f)&&!!i?_jsxruntime.jsx.call(void 0, "div",{ref:k,style:{...x,...r},"data-seek-slider-preview-tooltip-positioner":!0,"data-open":f||void 0,"data-closed":!f||void 0,...l,children:a}):null}),Je=R.forwardRef(function(e,t){let{children:s,...u}=e;return _jsxruntime.jsx.call(void 0, "div",{ref:t,"data-seek-slider-preview-tooltip-popup":!0,...u,children:s})});function me({sideOffset:c,collisionPadding:e,collisionBoundary:t,keepMounted:s,container:u,children:n,...o}){return _jsxruntime.jsx.call(void 0, Ge,{container:u,children:_jsxruntime.jsx.call(void 0, ze,{sideOffset:c,collisionPadding:e,collisionBoundary:t,keepMounted:s,children:_jsxruntime.jsx.call(void 0, Je,{...o,children:n})})})}me.Portal=Ge;me.Positioner=ze;me.Popup=Je;var Ze=(s=>(s.loading="data-loading",s.ready="data-ready",s.error="data-error",s))(Ze||{});var Ar=F.forwardRef(function(e,t){let{time:s,crossOrigin:u="anonymous",render:n,children:o,width:a,height:r,...l}=e,p=P("Thumbnail"),i=F.useRef(null),f=F.useRef(null),b=F.useRef(null),[S,T]=F.useState("idle"),[y,x]=F.useState({width:160,height:90}),v=s!==void 0?s:p.hoverTime,k=F.useMemo(()=>{let h=p.videoRef.current;return h?h.currentSrc||h.src:null},[p.videoRef]);F.useEffect(()=>{if(!k)return;let h=document.createElement("video");h.src=k,h.crossOrigin=u,h.preload="metadata",h.muted=!0,h.playsInline=!0;let $=()=>{x({width:h.videoWidth,height:h.videoHeight})},U=()=>{T("error")};return h.addEventListener("loadedmetadata",$),h.addEventListener("error",U),f.current=h,()=>{h.removeEventListener("loadedmetadata",$),h.removeEventListener("error",U),h.src="",f.current=null}},[k,u]),F.useEffect(()=>{let h=f.current,$=i.current;if(!h||!$||v===null||v===void 0||b.current!==null&&Math.abs(b.current-v)<.1)return;T("loading");let U=()=>{let q=$.getContext("2d");if(q)try{q.drawImage(h,0,0,$.width,$.height),b.current=v,T("ready")}catch (e3){T("error")}};return h.addEventListener("seeked",U,{once:!0}),h.currentTime=v,()=>{h.removeEventListener("seeked",U)}},[v]);let L=F.useCallback(h=>{i.current=h,typeof t=="function"?t(h):t&&(t.current=h)},[t]),M=y.width/y.height,w=_nullishCoalesce(a, () => (160)),H=_nullishCoalesce(r, () => (Math.round(w/M)));typeof w=="string"&&(w=160),typeof H=="string"&&(H=90);let Q={loading:S==="loading",ready:S==="ready",error:S==="error",time:v,videoWidth:y.width,videoHeight:y.height},D={ref:L,width:w,height:H,"data-loading":S==="loading"||void 0,"data-ready":S==="ready"||void 0,"data-error":S==="error"||void 0};return n?n(D,Q):_jsxruntime.jsx.call(void 0, "canvas",{...D,...l,children:o})});var et=(e=>(e.hovering="data-hovering",e))(et||{});var Wr=tt.forwardRef(function(e,t){let{format:s="current / duration",fixedWidth:u=!0,align:n="left",render:o,...a}=e,r=P("TimeDisplay"),l=tt.useRef(0);r.hoverTime!==null&&(l.current=r.hoverTime);let p=r.duration-r.currentTime,i=Pe(r.currentTime),f=Pe(r.duration),b=Pe(p),S=r.hoverTime!==null?Pe(r.hoverTime):Pe(l.current),T={currentTime:r.currentTime,duration:r.duration,remaining:p,hoverTime:r.hoverTime,hovering:r.hoverTime!==null,formattedCurrent:i,formattedDuration:f,formattedRemaining:b,formattedHover:S},y=()=>{switch(s){case"current":return i;case"duration":return f;case"remaining":return`-${b}`;case"current / duration":return`${i} / ${f}`;case"current / remaining":return`${i} / -${b}`;case"hover":return S;default:return`${i} / ${f}`}},x=()=>{let k=On(r.duration);switch(s){case"current":case"duration":case"hover":return k;case"remaining":return`-${k}`;case"current / duration":return`${k} / ${k}`;case"current / remaining":return`${k} / -${k}`;default:return`${k} / ${k}`}},v={ref:t,style:{position:u?"relative":void 0,userSelect:"none",fontVariantNumeric:"tabular-nums",...a.style},"data-hovering":T.hovering||void 0};return o?o(v,T):_jsxruntime.jsx.call(void 0, "span",{ref:t,"data-hovering":T.hovering||void 0,...a,style:{position:u?"relative":void 0,userSelect:"none",fontVariantNumeric:"tabular-nums",...a.style},children:u?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "span",{"aria-hidden":!0,style:{visibility:"hidden"},children:x()}),_jsxruntime.jsx.call(void 0, "span",{style:Dn(n),children:y()})]}):y()})});function Dn(c){let e={position:"absolute"};switch(c){case"left":return{...e,left:0};case"right":return{...e,right:0};case"center":return{...e,left:"50%",transform:"translateX(-50%)"}}}function Pe(c){if(!Number.isFinite(c)||Number.isNaN(c))return"0:00";let e=Math.floor(c/3600),t=Math.floor(c%3600/60),s=Math.floor(c%60);return e>0?`${e}:${t.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`:`${t}:${s.toString().padStart(2,"0")}`}function On(c){if(!Number.isFinite(c)||Number.isNaN(c)||c<=0)return"0:00";let e=Math.floor(c/3600),t=Math.floor(c%3600/60);if(e>0){let u=String(e).length;return`${"0".repeat(u)}:00:00`}let s=String(t).length;return`${"0".repeat(s)}:00`}var Fr=K.forwardRef(function(e,t){let{kind:s="captions",src:u,label:n,srcLang:o,default:a,...r}=e,{registerTrack:l,unregisterTrack:p,updateTrackRef:i,setTextTrack:f}=P("Track"),b=K.useRef(null),S=K.useId(),T=K.useCallback(y=>{typeof t=="function"?t(y):t&&(t.current=y),b.current=y},[t]);return K.useEffect(()=>(l({id:S,kind:s,label:n,srcLang:o,src:u,textTrack:null}),()=>{p(S)}),[S,s,n,o,u,l,p]),K.useEffect(()=>{let y=b.current;if(!y)return;let x=()=>{y.track&&(y.track.mode="disabled",i(S,y.track),a&&f(y.track))};return y.track&&x(),y.addEventListener("load",x),()=>{y.removeEventListener("load",x)}},[S,a,i,f]),_jsxruntime.jsx.call(void 0, "track",{ref:T,kind:s,src:u,label:n,srcLang:o,default:a,...r})});var Qr=de.forwardRef(function(e,t){let{toggleOnClick:s=!0,...u}=e,n=P("Video"),o=de.useRef(!1),a=de.useCallback(p=>{typeof t=="function"?t(p):t&&(t.current=p),n.videoRef.current=p,p&&!o.current&&(o.current=!0,n._handlers.onVideoMount(),p.readyState>=1&&p.duration&&(n._handlers.onLoadedMetadata(),n._handlers.onDurationChange()),p.readyState>=3&&n._handlers.onCanPlay())},[t,n.videoRef,n._handlers]),r={"data-playing":n.playing||void 0,"data-paused":n.paused||void 0,"data-ended":n.ended||void 0,"data-waiting":n.waiting||void 0,"data-seeking":n.seeking||void 0},l=E({ref:a,preload:"metadata",...r,onClick(){s&&n.toggle()},onTimeUpdate:n._handlers.onTimeUpdate,onDurationChange:n._handlers.onDurationChange,onProgress:n._handlers.onProgress,onPlay:n._handlers.onPlay,onPause:n._handlers.onPause,onEnded:n._handlers.onEnded,onWaiting:n._handlers.onWaiting,onCanPlay:n._handlers.onCanPlay,onSeeking:n._handlers.onSeeking,onSeeked:n._handlers.onSeeked,onVolumeChange:n._handlers.onVolumeChange,onLoadedMetadata:n._handlers.onLoadedMetadata},u);return _jsxruntime.jsx.call(void 0, "video",{...l})});var rt=(t=>(t.volume="--volume",t.volumePercentage="--volume-percentage",t))(rt||{});var nt=(u=>(u.muted="data-muted",u.volume="data-volume",u.pressing="data-pressing",u.dragging="data-dragging",u))(nt||{});var $r=O.forwardRef(function(e,t){let{render:s,children:u,onPointerDown:n,...o}=e,a=P("VolumeSlider"),r=O.useRef(null),[l,p]=O.useState(!1),[i,f]=O.useState(!1),b=O.useRef(!1);O.useEffect(()=>{if(!l)return;let M=()=>{p(!1),f(!1),b.current=!1};return window.addEventListener("pointerup",M),()=>window.removeEventListener("pointerup",M)},[l]),O.useLayoutEffect(()=>{typeof t=="function"?t(r.current):t&&(t.current=r.current)});let S=a.volume*100,T={volume:a.volume,muted:a.muted,percentage:S,pressing:l,dragging:i},y=O.useCallback(M=>{let w=typeof M=="number"?M:M[0];if(w!==void 0){if(a.muted){let H=a.videoRef.current;H&&(H.muted=!1)}a.setVolume(w),a.resetIdle(),b.current&&f(!0)}},[a]),x=O.useCallback(M=>{_optionalChain([n, 'optionalCall', _34 => _34(M)]),p(!0),b.current=!0},[n]),v={"data-muted":a.muted||void 0,"data-volume":a.volume,"data-pressing":l||void 0,"data-dragging":i||void 0},k={position:"relative","--volume":a.volume,"--volume-percentage":`${S}%`,...o.style},L={"data-muted":a.muted||void 0,"data-volume":a.volume,"data-pressing":l||void 0,"data-dragging":i||void 0,style:k};return s?_jsxruntime.jsx.call(void 0, _slider.Slider.Root,{ref:r,min:0,max:1,step:.01,value:a.muted?0:a.volume,onValueChange:y,onPointerDown:x,"aria-label":"Volume",render:M=>s({...M,...L},T)}):_jsxruntime.jsx.call(void 0, _slider.Slider.Root,{ref:r,min:0,max:1,step:.01,value:a.muted?0:a.volume,onValueChange:y,onPointerDown:x,"aria-label":"Volume",...v,...o,style:k,children:_nullishCoalesce(u, () => (_jsxruntime.jsx.call(void 0, _slider.Slider.Control,{children:_jsxruntime.jsxs.call(void 0, _slider.Slider.Track,{children:[_jsxruntime.jsx.call(void 0, _slider.Slider.Indicator,{}),_jsxruntime.jsx.call(void 0, _slider.Slider.Thumb,{})]})})))})}),Nr=_slider.Slider.Control,jr=O.forwardRef(function(e,t){let{style:s,...u}=e,n={position:"relative",...s};return _jsxruntime.jsx.call(void 0, _slider.Slider.Track,{ref:t,style:n,...u})}),Ur=O.forwardRef(function(e,t){return _jsxruntime.jsx.call(void 0, _slider.Slider.Indicator,{ref:t,...e})}),_r=O.forwardRef(function(e,t){return _jsxruntime.jsx.call(void 0, _slider.Slider.Thumb,{ref:t,...e})});exports.VideoPlayer = Kr; exports.useVideoPlayer = ie;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkSCDHQZFIcjs = require('../chunk-SCDHQZFI.cjs');var _chunkM4G6J7DPcjs = require('../chunk-M4G6J7DP.cjs');var _react = require('react'); var He = _interopRequireWildcard(_react); var Ie = _interopRequireWildcard(_react); var ar = _interopRequireWildcard(_react); var sr = _interopRequireWildcard(_react); var it = _interopRequireWildcard(_react); var fe = _interopRequireWildcard(_react); var X = _interopRequireWildcard(_react); var ue = _interopRequireWildcard(_react); var pr = _interopRequireWildcard(_react); var Qe = _interopRequireWildcard(_react); var ce = _interopRequireWildcard(_react); var yr = _interopRequireWildcard(_react); var Sr = _interopRequireWildcard(_react); var lt = _interopRequireWildcard(_react); var $e = _interopRequireWildcard(_react); var Ne = _interopRequireWildcard(_react); var dt = _interopRequireWildcard(_react); var d = _interopRequireWildcard(_react); var Ue = _interopRequireWildcard(_react); var R = _interopRequireWildcard(_react); var F = _interopRequireWildcard(_react); var tt = _interopRequireWildcard(_react); var K = _interopRequireWildcard(_react); var de = _interopRequireWildcard(_react); var O = _interopRequireWildcard(_react);var at=He.createContext(null);function P(c){let e=He.useContext(at);if(!e)throw new Error(`<VideoPlayer.${c}> must be used within <VideoPlayer.Root>`);return e}function ie(){return P("useVideoPlayer")}var Kr={};_chunkM4G6J7DPcjs.a.call(void 0, Kr,{BufferedIndicator:()=>nr,Captions:()=>ir,CaptionsButton:()=>lr,CaptionsDataAttributes:()=>De,CaptionsMenu:()=>ur,CaptionsMenuItem:()=>Ae,Controls:()=>cr,ControlsDataAttributes:()=>We,FullscreenButton:()=>dr,MuteButton:()=>fr,Overlay:()=>mr,OverlayDataAttributes:()=>Fe,PictureInPictureButton:()=>Pr,PlayButton:()=>Rr,PlaybackRateButton:()=>br,PlaybackRateMenu:()=>kr,PlaybackRateMenuItem:()=>ut,Portal:()=>gr,Poster:()=>vr,QualityMenu:()=>Tr,QualityMenuItem:()=>pt,Root:()=>xr,RootDataAttributes:()=>je,SeekSlider:()=>Br,SeekSliderBuffered:()=>Ir,SeekSliderControl:()=>Vr,SeekSliderCssVars:()=>qe,SeekSliderDataAttributes:()=>Xe,SeekSliderHover:()=>Or,SeekSliderPreviewThumb:()=>Dr,SeekSliderPreviewThumbDataAttributes:()=>Ye,SeekSliderPreviewTooltip:()=>me,SeekSliderPreviewTooltipPopup:()=>Je,SeekSliderPreviewTooltipPortal:()=>Ge,SeekSliderPreviewTooltipPositioner:()=>ze,SeekSliderProgress:()=>Lr,SeekSliderThumb:()=>Hr,SeekSliderTrack:()=>wr,Thumbnail:()=>Ar,ThumbnailDataAttributes:()=>Ze,TimeDisplay:()=>Wr,TimeDisplayDataAttributes:()=>et,Track:()=>Fr,Video:()=>Qr,VolumeSlider:()=>$r,VolumeSliderControl:()=>Nr,VolumeSliderCssVars:()=>rt,VolumeSliderDataAttributes:()=>nt,VolumeSliderRange:()=>Ur,VolumeSliderThumb:()=>_r,VolumeSliderTrack:()=>jr,useTransitionStatus:()=>Y,useVideoPlayer:()=>ie});var _jsxruntime = require('react/jsx-runtime');var nr=Ie.forwardRef(function(e,r){let{render:l,...u}=e,n=P("BufferedIndicator"),o=Ie.useMemo(()=>{if(!n.buffered||n.buffered.length===0)return 0;for(let i=0;i<n.buffered.length;i++)if(n.buffered.start(i)<=n.currentTime&&n.currentTime<=n.buffered.end(i))return n.buffered.end(i);return n.buffered.end(0)},[n.buffered,n.currentTime]),a=n.duration>0?o/n.duration*100:0,t={buffered:n.buffered,duration:n.duration,bufferedPercentage:a,bufferedEnd:o},s={"--buffered-percentage":`${a}%`,"--buffered-end":o,...u.style},p={ref:r,style:s,"aria-hidden":!0};return l?l(p,t):_jsxruntime.jsx.call(void 0, "div",{ref:r,"aria-hidden":"true",...u,style:s})});var De=(e=>(e.active="data-active",e))(De||{});var ir=ar.forwardRef(function(e,r){let{render:l,children:u,...n}=e,a=P("Captions").activeCues,t=a.map(f=>f.text).join(`
|
|
2
|
+
`),s=a.length>0,p={active:s,cueText:t,cues:a},i={ref:r,"aria-live":"polite","aria-atomic":!0,role:"status",style:{pointerEvents:"none"},"data-active":s||void 0};return l?l(i,p):u?_jsxruntime.jsx.call(void 0, "div",{...i,...n,children:u}):_jsxruntime.jsx.call(void 0, "div",{...i,...n,children:t})});var lr=sr.forwardRef(function(e,r){let{render:l,...u}=e,n=P("CaptionsButton"),o=n.registeredTracks.length>0,a=n.activeTextTrack!==null,t={active:a,available:o,trackCount:n.registeredTracks.length},s=_chunkSCDHQZFIcjs.a.call(void 0, {ref:r,type:"button","aria-label":a?"Disable captions":"Enable captions","aria-pressed":a,disabled:!o,"data-active":a||void 0,"data-available":o||void 0,onClick(){if(a)n.setTextTrack(null);else if(n.registeredTracks.length>0){let p=n.registeredTracks[0];_optionalChain([p, 'optionalAccess', _2 => _2.textTrack])&&n.setTextTrack(p.textTrack)}}},u);return l?l(s,t):_jsxruntime.jsx.call(void 0, "button",{...s})});var ur=it.forwardRef(function(e,r){let{render:l,children:u,...n}=e,o=P("CaptionsMenu"),a={registeredTracks:o.registeredTracks,activeTextTrack:o.activeTextTrack},t={ref:r,role:"menu","aria-label":"Captions","data-active":o.activeTextTrack!==null||void 0};return l?l(t,a):_jsxruntime.jsx.call(void 0, "div",{...t,...n,children:_nullishCoalesce(u, () => (_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, Ae,{track:null,children:"Off"}),o.registeredTracks.map(s=>_jsxruntime.jsx.call(void 0, Ae,{track:s.textTrack,children:s.label},s.id))]})))})}),Ae=it.forwardRef(function(e,r){let{track:l,children:u,...n}=e,o=P("CaptionsMenuItem"),a=o.activeTextTrack===l,t=_chunkSCDHQZFIcjs.a.call(void 0, {ref:r,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setTextTrack(l)}},n);return _jsxruntime.jsx.call(void 0, "button",{...t,children:u})});var We=(t=>(t.open="data-open",t.closed="data-closed",t.idle="data-idle",t.playing="data-playing",t.paused="data-paused",t.ended="data-ended",t.startingStyle="data-starting-style",t.endingStyle="data-ending-style",t))(We||{});function an(c){let e=[...c.getAnimations(),...Array.from(c.querySelectorAll("*")).flatMap(r=>r.getAnimations())];return e.length===0?Promise.resolve():Promise.all(e.map(r=>r.finished)).then(()=>{}).catch(()=>{})}function Y(c){let{open:e,keepMounted:r=!1}=c,[l,u]=X.useState(e||r),[n,o]=X.useState(e?"starting":void 0),a=X.useRef(null),t=X.useRef(!1);return X.useEffect(()=>{if(e){t.current=!1,u(!0),o("starting");let s=requestAnimationFrame(()=>{requestAnimationFrame(()=>{o(void 0)})});return()=>cancelAnimationFrame(s)}},[e]),X.useEffect(()=>{if(!e&&l&&!t.current){o("ending");let s=a.current;if(!s){o(void 0),r||u(!1);return}t.current=!0;let p=requestAnimationFrame(()=>{requestAnimationFrame(()=>{an(s).then(()=>{t.current&&(t.current=!1,o(void 0),r||u(!1))})})});return()=>{cancelAnimationFrame(p)}}},[e,l,r]),X.useEffect(()=>{r&&!l&&!e&&u(!0)},[r,l,e]),{mounted:l||r,transitionStatus:n,elementRef:a}}var cr=fe.forwardRef(function(e,r){let{idleTimeout:l,keepMounted:u=!1,render:n,children:o,...a}=e,t=P("Controls"),p=(_nullishCoalesce(l, () => (t.idleTimeout)))===0||!t.idle,{mounted:i,transitionStatus:f,elementRef:b}=Y({open:p,keepMounted:u}),S=fe.useCallback(L=>{b.current=L,typeof r=="function"?r(L):r&&(r.current=L)},[r,b]),{onClick:T,...y}=a,x=fe.useCallback(L=>{L.stopPropagation(),_optionalChain([T, 'optionalCall', _3 => _3(L)])},[T]),v={open:p,idle:t.idle,playing:t.playing,paused:t.paused,ended:t.ended},k={ref:S,onClick:x,"data-open":p||void 0,"data-closed":!p||void 0,"data-idle":t.idle||void 0,"data-playing":t.playing||void 0,"data-paused":t.paused||void 0,"data-ended":t.ended||void 0,"data-starting-style":f==="starting"||void 0,"data-ending-style":f==="ending"||void 0};return i?n?n(k,v):_jsxruntime.jsx.call(void 0, "div",{...k,...y,children:o}):null});var dr=ue.forwardRef(function(e,r){let{render:l,children:u,...n}=e,o=P("FullscreenButton"),[a,t]=ue.useState(!1);ue.useEffect(()=>{t("fullscreenEnabled"in document&&document.fullscreenEnabled)},[]);let s={fullscreen:o.fullscreen,supported:a},p=_chunkSCDHQZFIcjs.a.call(void 0, {ref:r,type:"button","aria-label":o.fullscreen?"Exit fullscreen":"Enter fullscreen","aria-pressed":o.fullscreen,disabled:!a,"data-fullscreen":o.fullscreen||void 0,"data-supported":a||void 0,onClick(){o.toggleFullscreen()}},n);return l?l(p,s):_jsxruntime.jsx.call(void 0, "button",{...p,children:u})});var fr=pr.forwardRef(function(e,r){let{render:l,...u}=e,n=P("MuteButton"),o={muted:n.muted,volume:n.volume},a=n.volume,t=n.muted,s=a===0||t,p=a>0&&!t,i=!t&&a>0&&a<.5,f=!t&&a>=.5,b=_chunkSCDHQZFIcjs.a.call(void 0, {ref:r,type:"button","aria-label":n.muted?"Unmute":"Mute","aria-pressed":n.muted,"data-muted":t||void 0,"data-volume-off":s||void 0,"data-volume-on":p||void 0,"data-volume-low":i||void 0,"data-volume-high":f||void 0,onClick(){n.toggleMute()}},u);return l?l(b,o):_jsxruntime.jsx.call(void 0, "button",{...b})});var Fe=(i=>(i.open="data-open",i.closed="data-closed",i.playing="data-playing",i.paused="data-paused",i.ended="data-ended",i.waiting="data-waiting",i.seeking="data-seeking",i.fullscreen="data-fullscreen",i.pip="data-pip",i.startingStyle="data-starting-style",i.endingStyle="data-ending-style",i))(Fe||{});var mr=Qe.forwardRef(function(e,r){let{idleTimeout:l,keepMounted:u=!1,render:n,children:o,...a}=e,t=P("Overlay"),p=(_nullishCoalesce(l, () => (t.idleTimeout)))===0||!t.idle,{mounted:i,transitionStatus:f,elementRef:b}=Y({open:p,keepMounted:u}),S=Qe.useCallback(x=>{b.current=x,typeof r=="function"?r(x):r&&(r.current=x)},[r,b]),T={playing:t.playing,paused:t.paused,ended:t.ended,waiting:t.waiting,seeking:t.seeking,fullscreen:t.fullscreen,pictureInPicture:t.pictureInPicture,open:p},y=_chunkSCDHQZFIcjs.a.call(void 0, {ref:S,onClick(){t.toggle()},"data-playing":t.playing||void 0,"data-paused":t.paused||void 0,"data-ended":t.ended||void 0,"data-waiting":t.waiting||void 0,"data-seeking":t.seeking||void 0,"data-fullscreen":t.fullscreen||void 0,"data-pip":t.pictureInPicture||void 0,"data-open":p||void 0,"data-closed":!p||void 0,"data-starting-style":f==="starting"||void 0,"data-ending-style":f==="ending"||void 0},a);return i?n?n(y,T):_jsxruntime.jsx.call(void 0, "div",{...y,...a,children:o}):null});var Pr=ce.forwardRef(function(e,r){let{render:l,...u}=e,n=P("PictureInPictureButton"),[o,a]=ce.useState(!1);ce.useEffect(()=>{a("pictureInPictureEnabled"in document&&document.pictureInPictureEnabled)},[]);let t={pictureInPicture:n.pictureInPicture,supported:o},s=_chunkSCDHQZFIcjs.a.call(void 0, {ref:r,type:"button","aria-label":n.pictureInPicture?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":n.pictureInPicture,disabled:!o,"data-pip":n.pictureInPicture||void 0,"data-supported":o||void 0,onClick(){n.togglePictureInPicture()}},u);return l?l(s,t):_jsxruntime.jsx.call(void 0, "button",{...s})});var Rr=yr.forwardRef(function(e,r){let{render:l,children:u,...n}=e,o=P("PlayButton"),a={playing:o.playing,paused:o.paused,ended:o.ended,waiting:o.waiting},t=_chunkSCDHQZFIcjs.a.call(void 0, {ref:r,type:"button","aria-label":o.playing?"Pause":"Play","data-playing":o.playing||void 0,"data-paused":o.paused||void 0,"data-ended":o.ended||void 0,"data-waiting":o.waiting||void 0,onClick(){o.toggle()}},n);return l?l(t,a):_jsxruntime.jsx.call(void 0, "button",{...t,children:u})});var fn=[.25,.5,.75,1,1.25,1.5,1.75,2],br=Sr.forwardRef(function(e,r){let{rates:l=fn,render:u,children:n,...o}=e,a=P("PlaybackRateButton"),t={playbackRate:a.playbackRate,rates:l},s=_chunkSCDHQZFIcjs.a.call(void 0, {ref:r,type:"button","aria-label":`Playback speed: ${a.playbackRate}x`,"data-rate":a.playbackRate,onClick(){let p=l.indexOf(a.playbackRate),i=_nullishCoalesce(_nullishCoalesce(l[(p+1)%l.length], () => (l[0])), () => (a.playbackRate));a.setPlaybackRate(i)}},o);return u?u(s,t):_jsxruntime.jsx.call(void 0, "button",{...s,children:_nullishCoalesce(n, () => (`${a.playbackRate}x`))})});var Pn=[.25,.5,.75,1,1.25,1.5,1.75,2],kr=lt.forwardRef(function(e,r){let{rates:l=Pn,render:u,children:n,...o}=e,a=P("PlaybackRateMenu"),t={playbackRate:a.playbackRate,rates:l},s={ref:r,role:"menu","aria-label":"Playback speed","data-rate":a.playbackRate};return u?u(s,t):_jsxruntime.jsx.call(void 0, "div",{...s,...o,children:_nullishCoalesce(n, () => (l.map(p=>_jsxruntime.jsx.call(void 0, ut,{rate:p},p))))})}),ut=lt.forwardRef(function(e,r){let{rate:l,children:u,...n}=e,o=P("PlaybackRateMenuItem"),a=o.playbackRate===l,t=_chunkSCDHQZFIcjs.a.call(void 0, {ref:r,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setPlaybackRate(l)}},n);return _jsxruntime.jsx.call(void 0, "button",{...t,children:_nullishCoalesce(u, () => (`${l}x`))})});var _reactdom = require('react-dom'); var Mr = _interopRequireWildcard(_reactdom);function gr(c){let{children:e,container:r}=c,[l,u]=$e.useState(!1);if($e.useEffect(()=>(u(!0),()=>u(!1)),[]),!l)return null;let n=_nullishCoalesce(r, () => ((typeof document<"u"?document.body:null)));return n?_reactdom.createPortal.call(void 0, e,n):null}var vr=Ne.forwardRef(function(e,r){let{keepMounted:l=!1,render:u,children:n,...o}=e,a=P("Poster"),t=!a.canPlay,s=a.canPlay,{mounted:p,transitionStatus:i,elementRef:f}=Y({open:t,keepMounted:l}),b=Rn(r,f),S={loading:t,loaded:s,transitionStatus:i},T={ref:b,"aria-hidden":!0,"data-loading":t||void 0,"data-loaded":s||void 0,"data-starting-style":i==="starting"||void 0,"data-ending-style":i==="ending"||void 0};return p?u?u(T,S):_jsxruntime.jsx.call(void 0, "div",{...T,...o,children:n}):null});function Rn(...c){return Ne.useCallback(e=>{for(let r of c)typeof r=="function"?r(e):r!=null&&(r.current=e)},c)}var Tr=dt.forwardRef(function(e,r){let{render:l,children:u,...n}=e,o=P("QualityMenu"),a={qualities:o.qualities,activeQuality:o.activeQuality},t={ref:r,role:"menu","aria-label":"Video quality","data-quality":_nullishCoalesce(_optionalChain([o, 'access', _4 => _4.activeQuality, 'optionalAccess', _5 => _5.label]), () => (void 0))};return l?l(t,a):_jsxruntime.jsx.call(void 0, "div",{...t,...n,children:_nullishCoalesce(u, () => (o.qualities.map(s=>_jsxruntime.jsx.call(void 0, pt,{quality:s,children:s.label},s.label))))})}),pt=dt.forwardRef(function(e,r){let{quality:l,children:u,...n}=e,o=P("QualityMenuItem"),a=_optionalChain([o, 'access', _6 => _6.activeQuality, 'optionalAccess', _7 => _7.label])===l.label,t=_chunkSCDHQZFIcjs.a.call(void 0, {ref:r,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setQuality(l)}},n);return _jsxruntime.jsx.call(void 0, "button",{...t,children:u})});var je=(s=>(s.playing="data-playing",s.paused="data-paused",s.ended="data-ended",s.waiting="data-waiting",s.seeking="data-seeking",s.fullscreen="data-fullscreen",s.pip="data-pip",s.muted="data-muted",s.idle="data-idle",s))(je||{});function bn(c,e){return!(c instanceof HTMLElement)||c instanceof HTMLInputElement&&c.type==="range"&&e===" "?!1:c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.isContentEditable}function kn(c){return c==="ArrowRight"||c==="ArrowLeft"}function hr(c,e){let r=ie(),l=Ue.useRef(r);l.current=r,Ue.useEffect(()=>{if(e==="none")return;let u=a=>{if(bn(a.target,a.key))return;let t=l.current;switch(a.key){case" ":a.preventDefault(),t.toggle();break;case"f":case"F":a.preventDefault(),t.toggleFullscreen();break;case"ArrowUp":a.preventDefault(),t.setVolume(Math.min(t.volume+.1,1));break;case"ArrowDown":a.preventDefault(),t.setVolume(Math.max(t.volume-.1,0));break;case"ArrowRight":a.preventDefault(),t.beginSeekInteraction(),t.seek(Math.min(t.currentTime+5,t.duration));break;case"ArrowLeft":a.preventDefault(),t.beginSeekInteraction(),t.seek(Math.max(t.currentTime-5,0));break;default:return}t.resetIdle()},n=a=>{kn(a.key)&&l.current.endSeekInteraction()};if(e==="global")return window.addEventListener("keydown",u),window.addEventListener("keyup",n),()=>{window.removeEventListener("keydown",u),window.removeEventListener("keyup",n)};let o=c.current;if(o)return o.addEventListener("keydown",u),o.addEventListener("keyup",n),()=>{o.removeEventListener("keydown",u),o.removeEventListener("keyup",n)}},[e,c])}function _e(c,e,r){let[l,u]=d.useState(e),n=c!==void 0,o=n?c:l,a=d.useCallback(t=>{let s=typeof t=="function"?t(o):t;n||u(s),_optionalChain([r, 'optionalCall', _8 => _8(s)])},[n,o,r]);return[o,a]}function gn({rootRef:c,videoRef:e,actionsRef:r,defaultPlaying:l=!1,autoPlay:u=!1,defaultVolume:n=1,defaultMuted:o=!1,defaultPlaybackRate:a=1,playing:t,onPlayingChange:s,volume:p,onVolumeChange:i,muted:f,onMutedChange:b,playbackRate:S,onPlaybackRateChange:T,currentTime:y,onCurrentTimeChange:x,idleTimeout:v=3e3,preventIdleWhenPaused:k=!1,idle:L,onIdleChange:M,onEnded:w,onWaiting:H,onSeeking:Q,onSeeked:D,onFullscreenChange:h,onPictureInPictureChange:$,children:U}){let q=d.useRef(1),_=d.useRef(!1),z=d.useRef(!1),Z=d.useRef(!1),[B,I]=d.useState("paused"),[g,A]=d.useState(l?"play":"pause");d.useEffect(()=>{t!==void 0&&(A(t?"play":"pause"),B!=="waiting"&&I(t?"playing":"paused"))},[t,B]);let[W,te]=_e(p,n,i),[J,pe]=_e(f,o,b),[Pt,yt]=_e(S,a,T),[qr,re]=_e(L,!0,M),ne=d.useRef(null),ye=d.useCallback(()=>{ne.current&&(clearTimeout(ne.current),ne.current=null)},[]),Rt=d.useCallback(()=>{v!==0&&(ye(),ne.current=setTimeout(()=>{re(!0)},v))},[v,ye,re]),St=d.useCallback(()=>{re(!1),Rt()},[re,Rt]),bt=d.useCallback(()=>{ye(),re(!0)},[ye,re]);d.useEffect(()=>(v>0&&(ne.current=setTimeout(()=>{re(!0)},v)),()=>{ne.current&&clearTimeout(ne.current)}),[]);let kt=k&&B!=="playing"?!1:qr,se=d.useCallback(()=>{let m=e.current;m&&(m.muted!==J&&(m.muted=J),m.volume!==W&&(m.volume=W))},[J,e,W]),Re=d.useCallback(async()=>{let m=e.current;if(!(!u||!m||Z.current)){Z.current=!0,A("play"),se();try{await m.play(),I("playing"),_optionalChain([s, 'optionalCall', _9 => _9(!0)])}catch (e2){A("pause"),I("paused")}}},[u,s,se,e]);d.useEffect(()=>{if(!u){Z.current=!1;return}Re()},[u,Re]);let[gt,vt]=d.useState(0),[Se,Tt]=d.useState(0),[ht,Xr]=d.useState(null),[be,Yr]=d.useState(null),[xt,Ct]=d.useState(!1),[Mt,le]=d.useState(!1),[ke,Gr]=d.useState(!1),[ge,Et]=d.useState(!1),[Bt,ot]=d.useState([]),[oe,zr]=d.useState(null),[Vt,ve]=d.useState([]),[wt,Wn]=d.useState([]),[Lt,Jr]=d.useState(null);d.useEffect(()=>{y!==void 0&&e.current&&(e.current.currentTime=y)},[y,e]),d.useEffect(()=>{f===void 0&&p===void 0||se()},[f,p,se]),d.useEffect(()=>{let m=()=>{let C=document.fullscreenElement===c.current;Gr(C),_optionalChain([h, 'optionalCall', _10 => _10(C)])};return document.addEventListener("fullscreenchange",m),()=>document.removeEventListener("fullscreenchange",m)},[h,c]),d.useEffect(()=>{let m=e.current;if(!m)return;let C=()=>{Et(!0),_optionalChain([$, 'optionalCall', _11 => _11(!0)])},N=()=>{Et(!1),_optionalChain([$, 'optionalCall', _12 => _12(!1)])};return m.addEventListener("enterpictureinpicture",C),m.addEventListener("leavepictureinpicture",N),()=>{m.removeEventListener("enterpictureinpicture",C),m.removeEventListener("leavepictureinpicture",N)}},[$,e]);let Te=d.useCallback(async()=>{e.current&&(A("play"),await e.current.play(),I("playing"),_optionalChain([s, 'optionalCall', _13 => _13(!0)]))},[e,s]),he=d.useCallback(()=>{e.current&&(A("pause"),e.current.pause(),I("paused"),_optionalChain([s, 'optionalCall', _14 => _14(!1)]))},[e,s]),xe=d.useCallback(async()=>{B==="playing"?he():await Te()},[B,Te,he]),Ce=d.useCallback(m=>{e.current&&(e.current.currentTime=m,vt(m),_optionalChain([x, 'optionalCall', _15 => _15(m)]))},[x,e]),Ht=d.useCallback(()=>{let m=e.current;!m||_.current||(_.current=!0,z.current=g==="play",le(!0),z.current&&!m.paused&&m.pause())},[g,e]),It=d.useCallback(()=>{let m=e.current;if(!m||!_.current)return;let C=z.current&&g==="play";if(_.current=!1,z.current=!1,!C){le(!1);return}m.play().then(()=>{I("playing"),le(!1)}).catch(()=>{I("waiting"),le(!1)})},[g,e]),Me=d.useCallback(m=>{let C=Math.max(0,Math.min(1,m));e.current&&(e.current.volume=C),te(C)},[te,e]),Dt=d.useCallback(()=>{if(!(J||W===0))q.current=W,e.current&&(e.current.muted=!0),pe(!0);else{let C=q.current>0?q.current:1;e.current&&(e.current.volume=C,e.current.muted=!1),te(C),pe(!1)}},[J,W,pe,te,e]),Ee=d.useCallback(async()=>{_optionalChain([c, 'access', _16 => _16.current, 'optionalAccess', _17 => _17.requestFullscreen])&&await c.current.requestFullscreen()},[c]),Be=d.useCallback(async()=>{document.exitFullscreen&&await document.exitFullscreen()},[]),Ve=d.useCallback(async()=>{ke?await Be():await Ee()},[ke,Ee,Be]),we=d.useCallback(async()=>{_optionalChain([e, 'access', _18 => _18.current, 'optionalAccess', _19 => _19.requestPictureInPicture])&&await e.current.requestPictureInPicture()},[e]),Le=d.useCallback(async()=>{document.pictureInPictureElement&&await document.exitPictureInPicture()},[]),Ot=d.useCallback(async()=>{ge?await Le():await we()},[ge,we,Le]),At=d.useCallback(m=>{e.current&&(e.current.playbackRate=m),yt(m)},[yt,e]),Wt=d.useCallback(m=>{if(e.current){for(let C=0;C<e.current.textTracks.length;C++){let N=e.current.textTracks[C];N&&(N.mode="disabled")}m&&(m.mode="hidden")}zr(m),ve([])},[e]),Ft=d.useCallback(m=>{Jr(m)},[]),Qt=d.useCallback(m=>{ot(C=>C.some(N=>N.id===m.id)?C:[...C,m])},[]),$t=d.useCallback(m=>{ot(C=>C.filter(N=>N.id!==m))},[]),Nt=d.useCallback((m,C)=>{ot(N=>N.map(ae=>ae.id===m?{...ae,textTrack:C}:ae))},[]);d.useEffect(()=>{if(!oe){ve([]);return}let m=()=>{let C=oe.activeCues;if(!C){ve([]);return}let N=[];for(let ae=0;ae<C.length;ae++){let rr=C[ae];rr instanceof VTTCue&&N.push(rr)}ve(N)};return m(),oe.addEventListener("cuechange",m),()=>{oe.removeEventListener("cuechange",m)}},[oe]),d.useImperativeHandle(r,()=>({toggle:xe,seek:Ce,setVolume:Me,toggleFullscreen:Ve}),[xe,Ce,Me,Ve]);let jt=d.useCallback(()=>{if(e.current){let m=e.current.currentTime;vt(m),_optionalChain([x, 'optionalCall', _20 => _20(m)])}},[x,e]),Ut=d.useCallback(()=>{e.current&&Tt(e.current.duration)},[e]),_t=d.useCallback(()=>{e.current&&Xr(e.current.buffered)},[e]),Kt=d.useCallback(()=>{A("play"),I("playing"),_optionalChain([s, 'optionalCall', _21 => _21(!0)])},[s]),qt=d.useCallback(()=>{_.current||B!=="ended"&&(I("paused"),_optionalChain([s, 'optionalCall', _22 => _22(!1)]))},[B,s]),Xt=d.useCallback(()=>{A("pause"),I("ended"),_optionalChain([s, 'optionalCall', _23 => _23(!1)]),_optionalChain([w, 'optionalCall', _24 => _24()])},[s,w]),Yt=d.useCallback(()=>{_.current||(I("waiting"),_optionalChain([H, 'optionalCall', _25 => _25()]))},[H]),Gt=d.useCallback(()=>{if(_.current){Ct(!0);return}if(B==="waiting"){let m=g==="play"?"playing":"paused";I(m),_optionalChain([s, 'optionalCall', _26 => _26(m==="playing")])}Ct(!0)},[B,g,s]),zt=d.useCallback(()=>{le(!0),B==="ended"&&I("paused"),_optionalChain([Q, 'optionalCall', _27 => _27()])},[B,Q]),Jt=d.useCallback(()=>{if(le(!1),e.current){let{currentTime:m,duration:C}=e.current;C>0&&C-m<.01&&I("ended")}_optionalChain([D, 'optionalCall', _28 => _28()])},[D,e]),Zt=d.useCallback(()=>{e.current&&(te(e.current.volume),pe(e.current.muted))},[te,pe,e]),er=d.useCallback(()=>{e.current&&Tt(e.current.duration)},[e]),tr=d.useCallback(()=>{se(),Re()},[Re,se]),Zr=d.useMemo(()=>({playbackStatus:B,playbackIntent:g,playing:B==="playing",paused:B==="paused",ended:B==="ended",waiting:B==="waiting",seeking:Mt,canPlay:xt,currentTime:gt,duration:Se,buffered:ht,hoverTime:be,hoverProgress:be!==null&&Se>0?be/Se*100:null,volume:W,muted:J,fullscreen:ke,pictureInPicture:ge,idle:kt,idleTimeout:v,preventIdleWhenPaused:k,registeredTracks:Bt,activeTextTrack:oe,activeCues:Vt,playbackRate:Pt,qualities:wt,activeQuality:Lt,videoRef:e,rootRef:c,play:Te,pause:he,toggle:xe,seek:Ce,setVolume:Me,toggleMute:Dt,enterFullscreen:Ee,exitFullscreen:Be,toggleFullscreen:Ve,enterPictureInPicture:we,exitPictureInPicture:Le,togglePictureInPicture:Ot,setPlaybackRate:At,setTextTrack:Wt,setQuality:Ft,registerTrack:Qt,unregisterTrack:$t,updateTrackRef:Nt,resetIdle:St,setHoverTime:Yr,beginSeekInteraction:Ht,endSeekInteraction:It,_handlers:{onTimeUpdate:jt,onDurationChange:Ut,onProgress:_t,onPlay:Kt,onPause:qt,onEnded:Xt,onWaiting:Yt,onCanPlay:Gt,onSeeking:zt,onSeeked:Jt,onVolumeChange:Zt,onLoadedMetadata:er,onVideoMount:tr,onRootMouseLeave:bt}}),[B,g,Mt,xt,gt,Se,ht,be,W,J,ke,ge,kt,v,k,Bt,oe,Vt,Pt,wt,Lt,e,c,Te,he,xe,Ce,Me,Dt,Ee,Be,Ve,we,Le,Ot,At,Wt,Ft,Qt,$t,Nt,St,Ht,It,jt,Ut,_t,Kt,qt,Xt,Yt,Gt,zt,Jt,Zt,er,tr,bt]);return _jsxruntime.jsx.call(void 0, at.Provider,{value:Zr,children:U})}var xr=d.forwardRef(function(e,r){let{actionsRef:l,keyboardShortcuts:u="focused",defaultPlaying:n,autoPlay:o,defaultVolume:a,defaultMuted:t,defaultPlaybackRate:s,playing:p,onPlayingChange:i,volume:f,onVolumeChange:b,muted:S,onMutedChange:T,playbackRate:y,onPlaybackRateChange:x,currentTime:v,onCurrentTimeChange:k,idleTimeout:L,preventIdleWhenPaused:M,hideCursorWhenIdle:w="fullscreen",idle:H,onIdleChange:Q,onEnded:D,onWaiting:h,onSeeking:$,onSeeked:U,onFullscreenChange:q,onPictureInPictureChange:_,children:z,...Z}=e,B=d.useRef(null),I=d.useRef(null);return _jsxruntime.jsx.call(void 0, gn,{actionsRef:l,defaultPlaying:n,autoPlay:o,defaultVolume:a,defaultMuted:t,defaultPlaybackRate:s,playing:p,onPlayingChange:i,volume:f,onVolumeChange:b,muted:S,onMutedChange:T,playbackRate:y,onPlaybackRateChange:x,currentTime:v,onCurrentTimeChange:k,idleTimeout:L,preventIdleWhenPaused:M,idle:H,onIdleChange:Q,onEnded:D,onWaiting:h,onSeeking:$,onSeeked:U,onFullscreenChange:q,onPictureInPictureChange:_,rootRef:B,videoRef:I,children:_jsxruntime.jsx.call(void 0, vn,{ref:r,rootRef:B,keyboardShortcuts:u,hideCursorWhenIdle:w,...Z,children:z})})}),vn=d.forwardRef(function({rootRef:e,keyboardShortcuts:r,hideCursorWhenIdle:l,children:u,className:n,style:o,...a},t){let s=ie(),p=Tn(t,e),i=d.useRef(null);hr(e,r);let f=d.useCallback(w=>{let{clientX:H,clientY:Q}=w,D=i.current;D&&D.x===H&&D.y===Q||(i.current={x:H,y:Q},s.resetIdle())},[s]),b=d.useCallback(w=>{let{clientX:H,clientY:Q}=w,D=i.current;D&&D.x===H&&D.y===Q||(i.current={x:H,y:Q},s.resetIdle())},[s]),S=d.useCallback(()=>{s._handlers.onRootMouseLeave()},[s._handlers]),T=d.useCallback(()=>{s.resetIdle()},[s]),y=d.useCallback(()=>{s.resetIdle()},[s]),x=d.useCallback(w=>{w.key==="Tab"&&s.resetIdle()},[s]),v=_chunkSCDHQZFIcjs.a.call(void 0, {onMouseMove:f,onMouseEnter:b,onMouseLeave:S,onClick:T,onFocus:y,onKeyDown:x},a),k={"data-playing":s.playing||void 0,"data-paused":s.paused||void 0,"data-ended":s.ended||void 0,"data-waiting":s.waiting||void 0,"data-seeking":s.seeking||void 0,"data-fullscreen":s.fullscreen||void 0,"data-pip":s.pictureInPicture||void 0,"data-muted":s.muted||void 0,"data-idle":s.idle||void 0},L=l!==!1&&s.idle&&(l==="always"||l==="fullscreen"&&s.fullscreen),M=d.useId();return _jsxruntime.jsxs.call(void 0, "div",{...v,ref:p,tabIndex:r==="focused"?0:void 0,className:n,style:o,"data-video-player-scope":M,...k,children:[L&&_jsxruntime.jsx.call(void 0, "style",{children:`[data-video-player-scope="${M}"], [data-video-player-scope="${M}"] * { cursor: none !important; }`}),u]})});function Tn(...c){return d.useCallback(e=>{for(let r of c)typeof r=="function"?r(e):r!=null&&(r.current=e)},c)}var qe=(o=>(o.progress="--seek-progress",o.buffered="--seek-buffered",o.currentTime="--seek-current-time",o.duration="--seek-duration",o.hoverProgress="--seek-hover-progress",o.hoverTime="--seek-hover-time",o))(qe||{});var Xe=(u=>(u.seeking="data-seeking",u.hovering="data-hovering",u.pressing="data-pressing",u.dragging="data-dragging",u))(Xe||{});var _slider = require('@base-ui/react/slider');var _react2 = require('@floating-ui/react');var Ye=(u=>(u.open="data-open",u.closed="data-closed",u.startingStyle="data-starting-style",u.endingStyle="data-ending-style",u))(Ye||{});var ft=R.createContext(null);function Er(c){let e=R.useContext(ft);if(!e)throw new Error(`${c} must be used within SeekSlider`);return e}function Cr(c){return c==="ArrowRight"||c==="ArrowLeft"}var Br=R.forwardRef(function(e,r){let{render:l,children:u,onPointerMove:n,onPointerLeave:o,onPointerDown:a,onKeyUp:t,onValueCommitted:s,...p}=e,i=P("SeekSlider"),f=R.useRef(null),[b,S]=R.useState(null),[T,y]=R.useState(!1),[x,v]=R.useState(!1),k=R.useRef(!1);R.useEffect(()=>{if(!T)return;let g=()=>{y(!1),v(!1),k.current=!1,i.endSeekInteraction()};return window.addEventListener("pointerup",g),()=>window.removeEventListener("pointerup",g)},[T,i]);let L=i.duration>0?i.currentTime/i.duration*100:0,M=R.useCallback((g,A)=>{let W=typeof g=="number"?g:g[0];W!==void 0&&(A.reason==="keyboard"&&i.beginSeekInteraction(),i.seek(W),i.resetIdle(),k.current&&v(!0))},[i]),w=R.useCallback(g=>{if(_optionalChain([n, 'optionalCall', _29 => _29(g)]),!f.current||i.duration===0)return;let A=f.current.getBoundingClientRect(),W=g.clientX-A.left,J=Math.max(0,Math.min(1,W/A.width))*i.duration;i.setHoverTime(J)},[n,i]),H=R.useCallback(g=>{_optionalChain([o, 'optionalCall', _30 => _30(g)]),i.setHoverTime(null)},[o,i]),Q=R.useCallback(g=>{_optionalChain([a, 'optionalCall', _31 => _31(g)]),y(!0),k.current=!0,i.beginSeekInteraction()},[a,i]),D=R.useCallback(g=>{_optionalChain([t, 'optionalCall', _32 => _32(g)]),Cr(g.key)&&i.endSeekInteraction()},[t,i]),h=R.useCallback((g,A)=>{let W=typeof g=="number"?g:g[0];W!==void 0&&(_optionalChain([s, 'optionalCall', _33 => _33(W,A)]),y(!1),v(!1),k.current=!1,!(A.reason==="keyboard"&&Cr(A.event.key))&&i.endSeekInteraction())},[s,i]),$=R.useMemo(()=>{if(!i.buffered||i.buffered.length===0)return 0;for(let g=0;g<i.buffered.length;g++)if(i.buffered.start(g)<=i.currentTime&&i.currentTime<=i.buffered.end(g))return i.buffered.end(g);return i.buffered.end(0)},[i.buffered,i.currentTime]),U=i.duration>0?$/i.duration*100:0;R.useLayoutEffect(()=>{typeof r=="function"?r(f.current):r&&(r.current=f.current)});let q={currentTime:i.currentTime,duration:i.duration,progress:L,seeking:i.seeking,pressing:T,dragging:x,hoverTime:i.hoverTime,hoverProgress:i.hoverProgress},_=i.hoverProgress!==null,z=_nullishCoalesce(i.hoverProgress, () => (0)),Z=R.useMemo(()=>({sliderRef:f,previewThumbElement:b,setPreviewThumbElement:S,hoverProgress:z,open:_}),[f,b,S,z,_]),B={position:"relative","--seek-progress":`${L}%`,"--seek-buffered":`${U}%`,"--seek-current-time":i.currentTime,"--seek-duration":i.duration,"--seek-hover-progress":i.hoverProgress!==null?`${i.hoverProgress}%`:void 0,"--seek-hover-time":_nullishCoalesce(i.hoverTime, () => (void 0)),...p.style},I={"data-seeking":i.seeking||void 0,"data-hovering":i.hoverTime!==null||void 0,"data-pressing":T||void 0,"data-dragging":x||void 0,style:B};return l?_jsxruntime.jsx.call(void 0, ft.Provider,{value:Z,children:_jsxruntime.jsx.call(void 0, _slider.Slider.Root,{ref:f,min:0,max:i.duration||100,step:.1,value:i.currentTime,onValueChange:M,onValueCommitted:h,onPointerMove:w,onPointerLeave:H,onPointerDown:Q,onKeyUp:D,"aria-label":"Seek",render:g=>l({...g,...I,style:{...g.style,...I.style}},q)})}):_jsxruntime.jsx.call(void 0, ft.Provider,{value:Z,children:_jsxruntime.jsx.call(void 0, _slider.Slider.Root,{ref:f,min:0,max:i.duration||100,step:.1,value:i.currentTime,onValueChange:M,onValueCommitted:h,onPointerMove:w,onPointerLeave:H,onPointerDown:Q,onKeyUp:D,"aria-label":"Seek",...I,...p,children:_nullishCoalesce(u, () => (_jsxruntime.jsx.call(void 0, _slider.Slider.Control,{children:_jsxruntime.jsxs.call(void 0, _slider.Slider.Track,{style:{position:"relative"},children:[_jsxruntime.jsx.call(void 0, "div",{style:{position:"absolute",left:0,top:0,height:"100%",width:`${U}%`}}),_jsxruntime.jsx.call(void 0, _slider.Slider.Indicator,{}),_jsxruntime.jsx.call(void 0, _slider.Slider.Thumb,{})]})})))})})}),Vr=_slider.Slider.Control,wr=R.forwardRef(function(e,r){let{render:l,children:u,style:n,...o}=e,a={},t={position:"relative",...n},s={ref:r,style:t};return l?_jsxruntime.jsx.call(void 0, _slider.Slider.Track,{render:p=>l({...p,...s},a)}):_jsxruntime.jsx.call(void 0, _slider.Slider.Track,{ref:r,style:t,...o,children:u})}),Lr=R.forwardRef(function(e,r){let{render:l,children:u,style:n,...o}=e,a=P("SeekSliderProgress"),s={progress:a.duration>0?a.currentTime/a.duration*100:0},p={height:"100%",...n},i={ref:r,style:p};return l?_jsxruntime.jsx.call(void 0, _slider.Slider.Indicator,{render:f=>l({...f,...i,style:{...f.style,...p}},s)}):_jsxruntime.jsx.call(void 0, _slider.Slider.Indicator,{ref:r,style:p,...o,children:u})}),Hr=R.forwardRef(function(e,r){let{render:l,children:u,style:n,...o}=e,a={},t={ref:r,style:_nullishCoalesce(n, () => ({}))};return l?_jsxruntime.jsx.call(void 0, _slider.Slider.Thumb,{render:s=>l({...s,...t,style:{...s.style,...n}},a)}):_jsxruntime.jsx.call(void 0, _slider.Slider.Thumb,{ref:r,style:n,...o,children:u})}),Ir=R.forwardRef(function(e,r){let{render:l,children:u,...n}=e,o=P("SeekSliderBuffered"),a=R.useMemo(()=>{if(!o.buffered||o.buffered.length===0)return 0;for(let f=0;f<o.buffered.length;f++)if(o.buffered.start(f)<=o.currentTime&&o.currentTime<=o.buffered.end(f))return o.buffered.end(f);return o.buffered.end(0)},[o.buffered,o.currentTime]),t=o.duration>0?a/o.duration*100:0,s={bufferedPercentage:t},p={position:"absolute",left:0,top:0,height:"100%",width:`${t}%`,...n.style},i={ref:r,style:p};return l?l(i,s):_jsxruntime.jsx.call(void 0, "div",{...i,...n,children:u})}),Dr=R.forwardRef(function(e,r){let{keepMounted:l=!1,render:u,children:n,...o}=e,a=P("SeekSliderPreviewThumb"),t=Er("SeekSliderPreviewThumb"),s=a.hoverProgress!==null,p=R.useRef(0);a.hoverProgress!==null&&(p.current=a.hoverProgress);let i=_nullishCoalesce(a.hoverProgress, () => (p.current)),{mounted:f,transitionStatus:b,elementRef:S}=Y({open:s,keepMounted:l}),T=R.useCallback(k=>{S.current=k,t.setPreviewThumbElement(k),typeof r=="function"?r(k):r&&(r.current=k)},[r,S,t]),y={open:s,transitionStatus:b,hoverProgress:i},x={position:"absolute",left:`${i}%`,transform:"translateX(-50%)",pointerEvents:"none",...o.style},v={ref:T,style:x,"data-open":s||void 0,"data-closed":!s||void 0,"data-starting-style":b==="starting"||void 0,"data-ending-style":b==="ending"||void 0};return f?u?u(v,y):_jsxruntime.jsx.call(void 0, "span",{...v,...o,children:n}):null}),Or=R.forwardRef(function(e,r){let{render:l,children:u,style:n,...o}=e,a=P("SeekSliderHover"),t=a.hoverProgress!==null,s=_nullishCoalesce(a.hoverProgress, () => (0)),p={hovering:t,hoverProgress:a.hoverProgress,hoverTime:a.hoverTime},i={position:"absolute",left:0,top:0,height:"100%",width:`${s}%`,pointerEvents:"none",...n},f={ref:r,style:i,"data-hovering":t||void 0};return l?l(f,p):_jsxruntime.jsx.call(void 0, "div",{...f,...o,children:u})});function Ge({children:c,container:e}){let r=P("SeekSliderPreviewTooltipPortal"),[l,u]=R.useState(!1);if(R.useEffect(()=>{u(!0)},[]),!l)return null;let n=_nullishCoalesce(_nullishCoalesce(e, () => (r.rootRef.current)), () => (document.body));return Mr.createPortal(c,n)}var ze=R.forwardRef(function(e,r){let{sideOffset:l=8,collisionPadding:u=0,collisionBoundary:n,keepMounted:o=!1,children:a,style:t,...s}=e,p=Er("SeekSliderPreviewTooltipPositioner"),{previewThumbElement:i,open:f,hoverProgress:b}=p,[S,T]=R.useState(null),{refs:y,floatingStyles:x,update:v}=_react2.useFloating.call(void 0, {placement:"top",middleware:[_react2.offset.call(void 0, l),_react2.shift.call(void 0, {boundary:n,padding:u})]});R.useLayoutEffect(()=>{i&&y.setReference(i)},[i,y]),R.useEffect(()=>{if(f&&i&&S)return _react2.autoUpdate.call(void 0, i,S,v)},[f,i,S,v]),R.useLayoutEffect(()=>{f&&i&&S&&v()},[b,f,i,S,v]);let k=R.useCallback(M=>{y.setFloating(M),T(M),typeof r=="function"?r(M):r&&(r.current=M)},[y,r]);return(o||f)&&!!i?_jsxruntime.jsx.call(void 0, "div",{ref:k,style:{...x,...t},"data-seek-slider-preview-tooltip-positioner":!0,"data-open":f||void 0,"data-closed":!f||void 0,...s,children:a}):null}),Je=R.forwardRef(function(e,r){let{children:l,...u}=e;return _jsxruntime.jsx.call(void 0, "div",{ref:r,"data-seek-slider-preview-tooltip-popup":!0,...u,children:l})});function me({sideOffset:c,collisionPadding:e,collisionBoundary:r,keepMounted:l,container:u,children:n,...o}){return _jsxruntime.jsx.call(void 0, Ge,{container:u,children:_jsxruntime.jsx.call(void 0, ze,{sideOffset:c,collisionPadding:e,collisionBoundary:r,keepMounted:l,children:_jsxruntime.jsx.call(void 0, Je,{...o,children:n})})})}me.Portal=Ge;me.Positioner=ze;me.Popup=Je;var Ze=(l=>(l.loading="data-loading",l.ready="data-ready",l.error="data-error",l))(Ze||{});var Ar=F.forwardRef(function(e,r){let{time:l,crossOrigin:u="anonymous",render:n,children:o,width:a,height:t,...s}=e,p=P("Thumbnail"),i=F.useRef(null),f=F.useRef(null),b=F.useRef(null),[S,T]=F.useState("idle"),[y,x]=F.useState({width:160,height:90}),v=l!==void 0?l:p.hoverTime,k=F.useMemo(()=>{let h=p.videoRef.current;return h?h.currentSrc||h.src:null},[p.videoRef]);F.useEffect(()=>{if(!k)return;let h=document.createElement("video");h.src=k,h.crossOrigin=u,h.preload="metadata",h.muted=!0,h.playsInline=!0;let $=()=>{x({width:h.videoWidth,height:h.videoHeight})},U=()=>{T("error")};return h.addEventListener("loadedmetadata",$),h.addEventListener("error",U),f.current=h,()=>{h.removeEventListener("loadedmetadata",$),h.removeEventListener("error",U),h.src="",f.current=null}},[k,u]),F.useEffect(()=>{let h=f.current,$=i.current;if(!h||!$||v===null||v===void 0||b.current!==null&&Math.abs(b.current-v)<.1)return;T("loading");let U=()=>{let q=$.getContext("2d");if(q)try{q.drawImage(h,0,0,$.width,$.height),b.current=v,T("ready")}catch (e3){T("error")}};return h.addEventListener("seeked",U,{once:!0}),h.currentTime=v,()=>{h.removeEventListener("seeked",U)}},[v]);let L=F.useCallback(h=>{i.current=h,typeof r=="function"?r(h):r&&(r.current=h)},[r]),M=y.width/y.height,w=_nullishCoalesce(a, () => (160)),H=_nullishCoalesce(t, () => (Math.round(w/M)));typeof w=="string"&&(w=160),typeof H=="string"&&(H=90);let Q={loading:S==="loading",ready:S==="ready",error:S==="error",time:v,videoWidth:y.width,videoHeight:y.height},D={ref:L,width:w,height:H,"data-loading":S==="loading"||void 0,"data-ready":S==="ready"||void 0,"data-error":S==="error"||void 0};return n?n(D,Q):_jsxruntime.jsx.call(void 0, "canvas",{...D,...s,children:o})});var et=(e=>(e.hovering="data-hovering",e))(et||{});var Wr=tt.forwardRef(function(e,r){let{format:l="current / duration",fixedWidth:u=!0,align:n="left",render:o,...a}=e,t=P("TimeDisplay"),s=tt.useRef(0);t.hoverTime!==null&&(s.current=t.hoverTime);let p=t.duration-t.currentTime,i=Pe(t.currentTime),f=Pe(t.duration),b=Pe(p),S=t.hoverTime!==null?Pe(t.hoverTime):Pe(s.current),T={currentTime:t.currentTime,duration:t.duration,remaining:p,hoverTime:t.hoverTime,hovering:t.hoverTime!==null,formattedCurrent:i,formattedDuration:f,formattedRemaining:b,formattedHover:S},y=()=>{switch(l){case"current":return i;case"duration":return f;case"remaining":return`-${b}`;case"current / duration":return`${i} / ${f}`;case"current / remaining":return`${i} / -${b}`;case"hover":return S;default:return`${i} / ${f}`}},x=()=>{let k=Ln(t.duration);switch(l){case"current":case"duration":case"hover":return k;case"remaining":return`-${k}`;case"current / duration":return`${k} / ${k}`;case"current / remaining":return`${k} / -${k}`;default:return`${k} / ${k}`}},v={ref:r,style:{position:u?"relative":void 0,userSelect:"none",fontVariantNumeric:"tabular-nums",...a.style},"data-hovering":T.hovering||void 0};return o?o(v,T):_jsxruntime.jsx.call(void 0, "span",{ref:r,"data-hovering":T.hovering||void 0,...a,style:{position:u?"relative":void 0,userSelect:"none",fontVariantNumeric:"tabular-nums",...a.style},children:u?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "span",{"aria-hidden":!0,style:{visibility:"hidden"},children:x()}),_jsxruntime.jsx.call(void 0, "span",{style:wn(n),children:y()})]}):y()})});function wn(c){let e={position:"absolute"};switch(c){case"left":return{...e,left:0};case"right":return{...e,right:0};case"center":return{...e,left:"50%",transform:"translateX(-50%)"}}}function Pe(c){if(!Number.isFinite(c)||Number.isNaN(c))return"0:00";let e=Math.floor(c/3600),r=Math.floor(c%3600/60),l=Math.floor(c%60);return e>0?`${e}:${r.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`:`${r}:${l.toString().padStart(2,"0")}`}function Ln(c){if(!Number.isFinite(c)||Number.isNaN(c)||c<=0)return"0:00";let e=Math.floor(c/3600),r=Math.floor(c%3600/60);if(e>0){let u=String(e).length;return`${"0".repeat(u)}:00:00`}let l=String(r).length;return`${"0".repeat(l)}:00`}var Fr=K.forwardRef(function(e,r){let{kind:l="captions",src:u,label:n,srcLang:o,default:a,...t}=e,{registerTrack:s,unregisterTrack:p,updateTrackRef:i,setTextTrack:f}=P("Track"),b=K.useRef(null),S=K.useId(),T=K.useCallback(y=>{typeof r=="function"?r(y):r&&(r.current=y),b.current=y},[r]);return K.useEffect(()=>(s({id:S,kind:l,label:n,srcLang:o,src:u,textTrack:null}),()=>{p(S)}),[S,l,n,o,u,s,p]),K.useEffect(()=>{let y=b.current;if(!y)return;let x=()=>{y.track&&(y.track.mode="disabled",i(S,y.track),a&&f(y.track))};return y.track&&x(),y.addEventListener("load",x),()=>{y.removeEventListener("load",x)}},[S,a,i,f]),_jsxruntime.jsx.call(void 0, "track",{ref:T,kind:l,src:u,label:n,srcLang:o,default:a,...t})});var Qr=de.forwardRef(function(e,r){let{toggleOnClick:l=!0,...u}=e,n=P("Video"),o=de.useRef(!1),a=de.useCallback(p=>{typeof r=="function"?r(p):r&&(r.current=p),n.videoRef.current=p,p&&!o.current&&(o.current=!0,n._handlers.onVideoMount(),p.readyState>=1&&p.duration&&(n._handlers.onLoadedMetadata(),n._handlers.onDurationChange()),p.readyState>=3&&n._handlers.onCanPlay())},[r,n.videoRef,n._handlers]),t={"data-playing":n.playing||void 0,"data-paused":n.paused||void 0,"data-ended":n.ended||void 0,"data-waiting":n.waiting||void 0,"data-seeking":n.seeking||void 0},s=_chunkSCDHQZFIcjs.a.call(void 0, {ref:a,preload:"metadata",...t,onClick(){l&&n.toggle()},onTimeUpdate:n._handlers.onTimeUpdate,onDurationChange:n._handlers.onDurationChange,onProgress:n._handlers.onProgress,onPlay:n._handlers.onPlay,onPause:n._handlers.onPause,onEnded:n._handlers.onEnded,onWaiting:n._handlers.onWaiting,onCanPlay:n._handlers.onCanPlay,onSeeking:n._handlers.onSeeking,onSeeked:n._handlers.onSeeked,onVolumeChange:n._handlers.onVolumeChange,onLoadedMetadata:n._handlers.onLoadedMetadata},u);return _jsxruntime.jsx.call(void 0, "video",{...s})});var rt=(r=>(r.volume="--volume",r.volumePercentage="--volume-percentage",r))(rt||{});var nt=(u=>(u.muted="data-muted",u.volume="data-volume",u.pressing="data-pressing",u.dragging="data-dragging",u))(nt||{});var $r=O.forwardRef(function(e,r){let{render:l,children:u,onPointerDown:n,...o}=e,a=P("VolumeSlider"),t=O.useRef(null),[s,p]=O.useState(!1),[i,f]=O.useState(!1),b=O.useRef(!1);O.useEffect(()=>{if(!s)return;let M=()=>{p(!1),f(!1),b.current=!1};return window.addEventListener("pointerup",M),()=>window.removeEventListener("pointerup",M)},[s]),O.useLayoutEffect(()=>{typeof r=="function"?r(t.current):r&&(r.current=t.current)});let S=a.volume*100,T={volume:a.volume,muted:a.muted,percentage:S,pressing:s,dragging:i},y=O.useCallback(M=>{let w=typeof M=="number"?M:M[0];if(w!==void 0){if(a.muted){let H=a.videoRef.current;H&&(H.muted=!1)}a.setVolume(w),a.resetIdle(),b.current&&f(!0)}},[a]),x=O.useCallback(M=>{_optionalChain([n, 'optionalCall', _34 => _34(M)]),p(!0),b.current=!0},[n]),v={"data-muted":a.muted||void 0,"data-volume":a.volume,"data-pressing":s||void 0,"data-dragging":i||void 0},k={position:"relative","--volume":a.volume,"--volume-percentage":`${S}%`,...o.style},L={"data-muted":a.muted||void 0,"data-volume":a.volume,"data-pressing":s||void 0,"data-dragging":i||void 0,style:k};return l?_jsxruntime.jsx.call(void 0, _slider.Slider.Root,{ref:t,min:0,max:1,step:.01,value:a.muted?0:a.volume,onValueChange:y,onPointerDown:x,"aria-label":"Volume",render:M=>l({...M,...L},T)}):_jsxruntime.jsx.call(void 0, _slider.Slider.Root,{ref:t,min:0,max:1,step:.01,value:a.muted?0:a.volume,onValueChange:y,onPointerDown:x,"aria-label":"Volume",...v,...o,style:k,children:_nullishCoalesce(u, () => (_jsxruntime.jsx.call(void 0, _slider.Slider.Control,{children:_jsxruntime.jsxs.call(void 0, _slider.Slider.Track,{children:[_jsxruntime.jsx.call(void 0, _slider.Slider.Indicator,{}),_jsxruntime.jsx.call(void 0, _slider.Slider.Thumb,{})]})})))})}),Nr=_slider.Slider.Control,jr=O.forwardRef(function(e,r){let{style:l,...u}=e,n={position:"relative",...l};return _jsxruntime.jsx.call(void 0, _slider.Slider.Track,{ref:r,style:n,...u})}),Ur=O.forwardRef(function(e,r){return _jsxruntime.jsx.call(void 0, _slider.Slider.Indicator,{ref:r,...e})}),_r=O.forwardRef(function(e,r){return _jsxruntime.jsx.call(void 0, _slider.Slider.Thumb,{ref:r,...e})});exports.VideoPlayer = Kr; exports.useVideoPlayer = ie;
|
|
3
3
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/ui/ui/packages/react/dist/video-player/index.cjs","../../src/video-player/contexts/video-player-context.ts","../../src/video-player/hooks/use-video-player.ts","../../src/video-player/index.parts.ts","../../src/video-player/components/buffered-indicator/buffered-indicator.tsx","../../src/video-player/components/controls/controls.data-attributes.ts"],"names":["VideoPlayerContext","useVideoPlayerContext","component","context","useVideoPlayer","index_parts_exports","__export","BufferedIndicator","Captions","CaptionsButton","CaptionsDataAttributes","CaptionsMenu","CaptionsMenuItem","Controls","ControlsDataAttributes","FullscreenButton","MuteButton","Overlay","OverlayDataAttributes","PictureInPictureButton","PlayButton","PlaybackRateButton","PlaybackRateMenu","PlaybackRateMenuItem","Portal","Poster","QualityMenu","QualityMenuItem","VideoPlayerRoot","RootDataAttributes","SeekSlider","SeekSliderBuffered","SeekSliderControl","SeekSliderCssVars","SeekSliderDataAttributes","SeekSliderHover","SeekSliderPreviewThumb","SeekSliderPreviewThumbDataAttributes","SeekSliderPreviewTooltip","SeekSliderPreviewTooltipPopup","SeekSliderPreviewTooltipPortal","SeekSliderPreviewTooltipPositioner","SeekSliderProgress","SeekSliderThumb","SeekSliderTrack","Thumbnail","ThumbnailDataAttributes","TimeDisplay","TimeDisplayDataAttributes","Track","Video","VolumeSlider","VolumeSliderControl","VolumeSliderCssVars","VolumeSliderDataAttributes","VolumeSliderRange","VolumeSliderThumb","VolumeSliderTrack","useTransitionStatus","props","forwardedRef","render","divProps","bufferedEnd","bufferedPercentage","state","style"],"mappings":"AAAA,4/BAA0C,kjCCEnB,IAGVA,EAAAA,CACL,EAAA,CAAA,aAAA,CAA8C,IAAI,CAAA,CAEnD,SAASC,CAAAA,CACdC,CAAAA,CACyB,CACzB,IAAMC,CAAAA,CAAgB,EAAA,CAAA,UAAA,CAAWH,EAAkB,CAAA,CACnD,EAAA,CAAI,CAACG,CAAAA,CACH,MAAM,IAAI,KAAA,CACR,CAAA,aAAA,EAAgBD,CAAS,CAAA,wCAAA,CAC3B,CAAA,CAEF,OAAOC,CACT,CCIO,SAASC,EAAAA,CAAAA,CAA0C,CACxD,OAAOH,CAAAA,CAAsB,gBAAgB,CAC/C,CCxBA,IAAAI,EAAAA,CAAA,CAAA,CAAA,CAAAC,iCAAAA,EAAAD,CAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAE,EAAAA,CAAA,QAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,cAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,YAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,QAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,qBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,oBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,WAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,eAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,wBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,eAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,oCAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,wBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,6BAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,kCAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,eAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,eAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,SAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,uBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,WAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,yBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,YAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,0BAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,EAAAC,CAAAA,CAAA,cAAA,CAAA,CAAA,CAAA,EAAAtD,EAAAA,CAAAA,CAAAA,CCEA,+CAmFI,IArDSG,EAAAA,CAA0B,EAAA,CAAA,UAAA,CAGrC,QAAA,CAA2BoD,CAAAA,CAAOC,CAAAA,CAAc,CAChD,GAAM,CAAE,MAAA,CAAAC,CAAAA,CAAQ,GAAGC,CAAS,CAAA,CAAIH,CAAAA,CAC1BxD,CAAAA,CAAUF,CAAAA,CAAsB,mBAAmB,CAAA,CAGnD8D,CAAAA,CAAoB,EAAA,CAAA,OAAA,CAAQ,CAAA,CAAA,EAAM,CACtC,EAAA,CAAI,CAAC5D,CAAAA,CAAQ,QAAA,EAAYA,CAAAA,CAAQ,QAAA,CAAS,MAAA,GAAW,CAAA,CAAG,OAAO,CAAA,CAG/D,GAAA,CAAA,IAAS,CAAA,CAAI,CAAA,CAAG,CAAA,CAAIA,CAAAA,CAAQ,QAAA,CAAS,MAAA,CAAQ,CAAA,EAAA,CAC3C,EAAA,CACEA,CAAAA,CAAQ,QAAA,CAAS,KAAA,CAAM,CAAC,CAAA,EAAKA,CAAAA,CAAQ,WAAA,EACrCA,CAAAA,CAAQ,WAAA,EAAeA,CAAAA,CAAQ,QAAA,CAAS,GAAA,CAAI,CAAC,CAAA,CAE7C,OAAOA,CAAAA,CAAQ,QAAA,CAAS,GAAA,CAAI,CAAC,CAAA,CAKjC,OAAOA,CAAAA,CAAQ,QAAA,CAAS,GAAA,CAAI,CAAC,CAC/B,CAAA,CAAG,CAACA,CAAAA,CAAQ,QAAA,CAAUA,CAAAA,CAAQ,WAAW,CAAC,CAAA,CAEpC6D,CAAAA,CACJ7D,CAAAA,CAAQ,QAAA,CAAW,CAAA,CAAK4D,CAAAA,CAAc5D,CAAAA,CAAQ,QAAA,CAAY,GAAA,CAAM,CAAA,CAE5D8D,CAAAA,CAAgC,CACpC,QAAA,CAAU9D,CAAAA,CAAQ,QAAA,CAClB,QAAA,CAAUA,CAAAA,CAAQ,QAAA,CAClB,kBAAA,CAAA6D,CAAAA,CACA,WAAA,CAAAD,CACF,CAAA,CAGMG,CAAAA,CAAQ,CACZ,uBAAA,CAAyB,CAAA,EAAA;AC3DlB","file":"/home/runner/work/ui/ui/packages/react/dist/video-player/index.cjs","sourcesContent":[null,"'use client'\n\nimport * as React from 'react'\nimport type { VideoPlayerContextValue } from '../types.js'\n\nexport const VideoPlayerContext =\n React.createContext<VideoPlayerContextValue | null>(null)\n\nexport function useVideoPlayerContext(\n component: string,\n): VideoPlayerContextValue {\n const context = React.useContext(VideoPlayerContext)\n if (!context) {\n throw new Error(\n `<VideoPlayer.${component}> must be used within <VideoPlayer.Root>`,\n )\n }\n return context\n}\n","'use client'\n\nimport { useVideoPlayerContext } from '../contexts/video-player-context.js'\nimport type { VideoPlayerContextValue } from '../types.js'\n\n/**\n * Hook to access the VideoPlayer context from custom components.\n *\n * @example\n * ```tsx\n * function CustomControl() {\n * const { playing, toggle, currentTime, duration } = useVideoPlayer()\n *\n * return (\n * <div>\n * {playing ? 'Playing' : 'Paused'} - {currentTime}s / {duration}s\n * <button onClick={toggle}>Toggle</button>\n * </div>\n * )\n * }\n * ```\n */\nexport function useVideoPlayer(): VideoPlayerContextValue {\n return useVideoPlayerContext('useVideoPlayer')\n}\n","// ============================================================================\n// VideoPlayer Composable Parts\n// ============================================================================\n//\n// Import like: import * as VideoPlayer from './video-player/index.parts.js'\n//\n// Usage:\n// <VideoPlayer.Root>\n// <VideoPlayer.Video src=\"...\" />\n// <VideoPlayer.Controls>\n// <VideoPlayer.PlayButton />\n// <VideoPlayer.SeekSlider />\n// <VideoPlayer.TimeDisplay />\n// </VideoPlayer.Controls>\n// </VideoPlayer.Root>\n//\n\nexport { BufferedIndicator } from './components/buffered-indicator/buffered-indicator.js'\nexport { CaptionsDataAttributes } from './components/captions/captions.data-attributes.js'\nexport { Captions } from './components/captions/captions.js'\n// Captions\nexport { CaptionsButton } from './components/captions-button/captions-button.js'\nexport {\n CaptionsMenu,\n CaptionsMenuItem,\n} from './components/captions-menu/captions-menu.js'\nexport { ControlsDataAttributes } from './components/controls/controls.data-attributes.js'\nexport { Controls } from './components/controls/controls.js'\n// Display Controls\nexport { FullscreenButton } from './components/fullscreen-button/fullscreen-button.js'\nexport { MuteButton } from './components/mute-button/mute-button.js'\nexport { OverlayDataAttributes } from './components/overlay/overlay.data-attributes.js'\nexport { Overlay } from './components/overlay/overlay.js'\nexport { PictureInPictureButton } from './components/picture-in-picture-button/picture-in-picture-button.js'\n// Playback Controls\nexport { PlayButton } from './components/play-button/play-button.js'\n// Playback Rate\nexport { PlaybackRateButton } from './components/playback-rate-button/playback-rate-button.js'\nexport {\n PlaybackRateMenu,\n PlaybackRateMenuItem,\n} from './components/playback-rate-menu/playback-rate-menu.js'\n// Layout\nexport { Portal } from './components/portal/portal.js'\nexport { Poster } from './components/poster/poster.js'\n// Quality\nexport {\n QualityMenu,\n QualityMenuItem,\n} from './components/quality-menu/quality-menu.js'\n// Data Attributes & CSS Variables\nexport { RootDataAttributes } from './components/root/root.data-attributes.js'\n// Core\nexport { VideoPlayerRoot as Root } from './components/root/root.js'\nexport { SeekSliderCssVars } from './components/seek-slider/seek-slider.css-vars.js'\nexport { SeekSliderDataAttributes } from './components/seek-slider/seek-slider.data-attributes.js'\nexport {\n SeekSlider,\n SeekSliderBuffered,\n SeekSliderControl,\n SeekSliderHover,\n SeekSliderPreviewThumb,\n SeekSliderPreviewTooltip,\n SeekSliderPreviewTooltipPopup,\n SeekSliderPreviewTooltipPortal,\n SeekSliderPreviewTooltipPositioner,\n SeekSliderProgress,\n SeekSliderThumb,\n SeekSliderTrack,\n} from './components/seek-slider/seek-slider.js'\nexport { SeekSliderPreviewThumbDataAttributes } from './components/seek-slider/seek-slider-preview-thumb.data-attributes.js'\nexport { ThumbnailDataAttributes } from './components/thumbnail/thumbnail.data-attributes.js'\nexport { Thumbnail } from './components/thumbnail/thumbnail.js'\nexport { TimeDisplayDataAttributes } from './components/time-display/time-display.data-attributes.js'\nexport { TimeDisplay } from './components/time-display/time-display.js'\nexport { Track } from './components/track/track.js'\nexport { Video } from './components/video/video.js'\nexport { VolumeSliderCssVars } from './components/volume-slider/volume-slider.css-vars.js'\nexport { VolumeSliderDataAttributes } from './components/volume-slider/volume-slider.data-attributes.js'\n// Audio Controls\nexport {\n VolumeSlider,\n VolumeSliderControl,\n VolumeSliderRange,\n VolumeSliderThumb,\n VolumeSliderTrack,\n} from './components/volume-slider/volume-slider.js'\nexport {\n type TransitionStatus,\n type UseTransitionStatusOptions,\n type UseTransitionStatusReturn,\n useTransitionStatus,\n} from './hooks/use-transition-status.js'\n// Hooks\nexport { useVideoPlayer } from './hooks/use-video-player.js'\n// Types\nexport type {\n PlaybackIntent,\n PlaybackStatus,\n RenderProp,\n TrackInfo,\n VideoPlayerActions,\n VideoPlayerContextValue,\n VideoPlayerRootProps,\n VideoPlayerState,\n VideoQuality,\n VideoTextTrack,\n} from './types.js'\n","'use client'\n\nimport * as React from 'react'\nimport { useVideoPlayerContext } from '../../contexts/video-player-context.js'\nimport type { RenderProp } from '../../types.js'\n\n// ============================================================================\n// BufferedIndicator Props\n// ============================================================================\n\nexport interface BufferedIndicatorProps\n extends React.ComponentPropsWithRef<'div'> {\n render?: RenderProp<BufferedIndicatorRenderProps, BufferedIndicatorState>\n}\n\nexport interface BufferedIndicatorRenderProps {\n ref: React.Ref<HTMLElement>\n style: React.CSSProperties\n 'aria-hidden': true\n}\n\nexport interface BufferedIndicatorState {\n buffered: TimeRanges | null\n duration: number\n bufferedPercentage: number\n bufferedEnd: number\n}\n\n// ============================================================================\n// BufferedIndicator Component\n// ============================================================================\n\nexport const BufferedIndicator = React.forwardRef<\n HTMLDivElement,\n BufferedIndicatorProps\n>(function BufferedIndicator(props, forwardedRef) {\n const { render, ...divProps } = props\n const context = useVideoPlayerContext('BufferedIndicator')\n\n // Calculate buffered end position (for progress bar display)\n const bufferedEnd = React.useMemo(() => {\n if (!context.buffered || context.buffered.length === 0) return 0\n\n // Find the buffer range that contains current playback position\n for (let i = 0; i < context.buffered.length; i++) {\n if (\n context.buffered.start(i) <= context.currentTime &&\n context.currentTime <= context.buffered.end(i)\n ) {\n return context.buffered.end(i)\n }\n }\n\n // Fallback to end of first range\n return context.buffered.end(0)\n }, [context.buffered, context.currentTime])\n\n const bufferedPercentage =\n context.duration > 0 ? (bufferedEnd / context.duration) * 100 : 0\n\n const state: BufferedIndicatorState = {\n buffered: context.buffered,\n duration: context.duration,\n bufferedPercentage,\n bufferedEnd,\n }\n\n // CSS custom properties for styling\n const style = {\n '--buffered-percentage': `${bufferedPercentage}%`,\n '--buffered-end': bufferedEnd,\n ...divProps.style,\n } as React.CSSProperties\n\n const renderProps: BufferedIndicatorRenderProps = {\n ref: forwardedRef,\n style,\n 'aria-hidden': true,\n }\n\n if (render) {\n return render(renderProps, state)\n }\n\n return (\n <div ref={forwardedRef} aria-hidden=\"true\" {...divProps} style={style} />\n )\n})\n\n// ============================================================================\n// Namespace\n// ============================================================================\n\nexport namespace BufferedIndicator {\n export type Props = BufferedIndicatorProps\n export type State = BufferedIndicatorState\n}\n","export enum ControlsDataAttributes {\n /** Applied when the controls are visible. */\n open = 'data-open',\n /** Applied when the controls are hidden. */\n closed = 'data-closed',\n /** Applied when the player is idle (no user interaction). */\n idle = 'data-idle',\n /** Applied when the video is playing. */\n playing = 'data-playing',\n /** Applied when the video is paused. */\n paused = 'data-paused',\n /** Applied when the video has ended. */\n ended = 'data-ended',\n /** Applied on the first frame when entering. Use for CSS enter animations. */\n startingStyle = 'data-starting-style',\n /** Applied during exit animation. Use for CSS exit animations. */\n endingStyle = 'data-ending-style',\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/ui/ui/packages/react/dist/video-player/index.cjs","../../src/video-player/contexts/video-player-context.ts","../../src/video-player/hooks/use-video-player.ts","../../src/video-player/index.parts.ts","../../src/video-player/components/buffered-indicator/buffered-indicator.tsx","../../src/video-player/hooks/use-transition-status.ts"],"names":["VideoPlayerContext","useVideoPlayerContext","component","context","useVideoPlayer","index_parts_exports","__export","BufferedIndicator","Captions","CaptionsButton","CaptionsDataAttributes","CaptionsMenu","CaptionsMenuItem","Controls","ControlsDataAttributes","FullscreenButton","MuteButton","Overlay","OverlayDataAttributes","PictureInPictureButton","PlayButton","PlaybackRateButton","PlaybackRateMenu","PlaybackRateMenuItem","Portal","Poster","QualityMenu","QualityMenuItem","VideoPlayerRoot","RootDataAttributes","SeekSlider","SeekSliderBuffered","SeekSliderControl","SeekSliderCssVars","SeekSliderDataAttributes","SeekSliderHover","SeekSliderPreviewThumb","SeekSliderPreviewThumbDataAttributes","SeekSliderPreviewTooltip","SeekSliderPreviewTooltipPopup","SeekSliderPreviewTooltipPortal","SeekSliderPreviewTooltipPositioner","SeekSliderProgress","SeekSliderThumb","SeekSliderTrack","Thumbnail","ThumbnailDataAttributes","TimeDisplay","TimeDisplayDataAttributes","Track","Video","VolumeSlider","VolumeSliderControl","VolumeSliderCssVars","VolumeSliderDataAttributes","VolumeSliderRange","VolumeSliderThumb","VolumeSliderTrack","useTransitionStatus","props","forwardedRef","render","divProps","bufferedEnd","bufferedPercentage","state","style"],"mappings":"AAAA,4/BAAyC,yDAA2C,kjCCE7D,IAGVA,EAAAA,CACL,EAAA,CAAA,aAAA,CAA8C,IAAI,CAAA,CAEnD,SAASC,CAAAA,CACdC,CAAAA,CACyB,CACzB,IAAMC,CAAAA,CAAgB,EAAA,CAAA,UAAA,CAAWH,EAAkB,CAAA,CACnD,EAAA,CAAI,CAACG,CAAAA,CACH,MAAM,IAAI,KAAA,CACR,CAAA,aAAA,EAAgBD,CAAS,CAAA,wCAAA,CAC3B,CAAA,CAEF,OAAOC,CACT,CCIO,SAASC,EAAAA,CAAAA,CAA0C,CACxD,OAAOH,CAAAA,CAAsB,gBAAgB,CAC/C,CCxBA,IAAAI,EAAAA,CAAA,CAAA,CAAA,CAAAC,iCAAAA,EAAAD,CAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAE,EAAAA,CAAA,QAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,cAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,YAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,QAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,qBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,oBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,WAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,eAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,wBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,eAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,oCAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,wBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,6BAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,kCAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,eAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,eAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,SAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,uBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,WAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,yBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,YAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,0BAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAAC,EAAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,EAAAC,CAAAA,CAAA,cAAA,CAAA,CAAA,CAAA,EAAAtD,EAAAA,CAAAA,CAAAA,CCEA,+CAmFI,IArDSG,EAAAA,CAA0B,EAAA,CAAA,UAAA,CAGrC,QAAA,CAA2BoD,CAAAA,CAAOC,CAAAA,CAAc,CAChD,GAAM,CAAE,MAAA,CAAAC,CAAAA,CAAQ,GAAGC,CAAS,CAAA,CAAIH,CAAAA,CAC1BxD,CAAAA,CAAUF,CAAAA,CAAsB,mBAAmB,CAAA,CAGnD8D,CAAAA,CAAoB,EAAA,CAAA,OAAA,CAAQ,CAAA,CAAA,EAAM,CACtC,EAAA,CAAI,CAAC5D,CAAAA,CAAQ,QAAA,EAAYA,CAAAA,CAAQ,QAAA,CAAS,MAAA,GAAW,CAAA,CAAG,OAAO,CAAA,CAG/D,GAAA,CAAA,IAAS,CAAA,CAAI,CAAA,CAAG,CAAA,CAAIA,CAAAA,CAAQ,QAAA,CAAS,MAAA,CAAQ,CAAA,EAAA,CAC3C,EAAA,CACEA,CAAAA,CAAQ,QAAA,CAAS,KAAA,CAAM,CAAC,CAAA,EAAKA,CAAAA,CAAQ,WAAA,EACrCA,CAAAA,CAAQ,WAAA,EAAeA,CAAAA,CAAQ,QAAA,CAAS,GAAA,CAAI,CAAC,CAAA,CAE7C,OAAOA,CAAAA,CAAQ,QAAA,CAAS,GAAA,CAAI,CAAC,CAAA,CAKjC,OAAOA,CAAAA,CAAQ,QAAA,CAAS,GAAA,CAAI,CAAC,CAC/B,CAAA,CAAG,CAACA,CAAAA,CAAQ,QAAA,CAAUA,CAAAA,CAAQ,WAAW,CAAC,CAAA,CAEpC6D,CAAAA,CACJ7D,CAAAA,CAAQ,QAAA,CAAW,CAAA,CAAK4D,CAAAA,CAAc5D,CAAAA,CAAQ,QAAA,CAAY,GAAA,CAAM,CAAA,CAE5D8D,CAAAA,CAAgC,CACpC,QAAA,CAAU9D,CAAAA,CAAQ,QAAA,CAClB,QAAA,CAAUA,CAAAA,CAAQ,QAAA,CAClB,kBAAA,CAAA6D,CAAAA,CACA,WAAA,CAAAD,CACF,CAAA,CAGMG,CAAAA,CAAQ,CACZ,uBAAA,CAAyB,CAAA,EAAA;ACSb","file":"/home/runner/work/ui/ui/packages/react/dist/video-player/index.cjs","sourcesContent":[null,"'use client'\n\nimport * as React from 'react'\nimport type { VideoPlayerContextValue } from '../types.js'\n\nexport const VideoPlayerContext =\n React.createContext<VideoPlayerContextValue | null>(null)\n\nexport function useVideoPlayerContext(\n component: string,\n): VideoPlayerContextValue {\n const context = React.useContext(VideoPlayerContext)\n if (!context) {\n throw new Error(\n `<VideoPlayer.${component}> must be used within <VideoPlayer.Root>`,\n )\n }\n return context\n}\n","'use client'\n\nimport { useVideoPlayerContext } from '../contexts/video-player-context.js'\nimport type { VideoPlayerContextValue } from '../types.js'\n\n/**\n * Hook to access the VideoPlayer context from custom components.\n *\n * @example\n * ```tsx\n * function CustomControl() {\n * const { playing, toggle, currentTime, duration } = useVideoPlayer()\n *\n * return (\n * <div>\n * {playing ? 'Playing' : 'Paused'} - {currentTime}s / {duration}s\n * <button onClick={toggle}>Toggle</button>\n * </div>\n * )\n * }\n * ```\n */\nexport function useVideoPlayer(): VideoPlayerContextValue {\n return useVideoPlayerContext('useVideoPlayer')\n}\n","// ============================================================================\n// VideoPlayer Composable Parts\n// ============================================================================\n//\n// Import like: import * as VideoPlayer from './video-player/index.parts.js'\n//\n// Usage:\n// <VideoPlayer.Root>\n// <VideoPlayer.Video src=\"...\" />\n// <VideoPlayer.Controls>\n// <VideoPlayer.PlayButton />\n// <VideoPlayer.SeekSlider />\n// <VideoPlayer.TimeDisplay />\n// </VideoPlayer.Controls>\n// </VideoPlayer.Root>\n//\n\nexport { BufferedIndicator } from './components/buffered-indicator/buffered-indicator.js'\nexport { CaptionsDataAttributes } from './components/captions/captions.data-attributes.js'\nexport { Captions } from './components/captions/captions.js'\n// Captions\nexport { CaptionsButton } from './components/captions-button/captions-button.js'\nexport {\n CaptionsMenu,\n CaptionsMenuItem,\n} from './components/captions-menu/captions-menu.js'\nexport { ControlsDataAttributes } from './components/controls/controls.data-attributes.js'\nexport { Controls } from './components/controls/controls.js'\n// Display Controls\nexport { FullscreenButton } from './components/fullscreen-button/fullscreen-button.js'\nexport { MuteButton } from './components/mute-button/mute-button.js'\nexport { OverlayDataAttributes } from './components/overlay/overlay.data-attributes.js'\nexport { Overlay } from './components/overlay/overlay.js'\nexport { PictureInPictureButton } from './components/picture-in-picture-button/picture-in-picture-button.js'\n// Playback Controls\nexport { PlayButton } from './components/play-button/play-button.js'\n// Playback Rate\nexport { PlaybackRateButton } from './components/playback-rate-button/playback-rate-button.js'\nexport {\n PlaybackRateMenu,\n PlaybackRateMenuItem,\n} from './components/playback-rate-menu/playback-rate-menu.js'\n// Layout\nexport { Portal } from './components/portal/portal.js'\nexport { Poster } from './components/poster/poster.js'\n// Quality\nexport {\n QualityMenu,\n QualityMenuItem,\n} from './components/quality-menu/quality-menu.js'\n// Data Attributes & CSS Variables\nexport { RootDataAttributes } from './components/root/root.data-attributes.js'\n// Core\nexport { VideoPlayerRoot as Root } from './components/root/root.js'\nexport { SeekSliderCssVars } from './components/seek-slider/seek-slider.css-vars.js'\nexport { SeekSliderDataAttributes } from './components/seek-slider/seek-slider.data-attributes.js'\nexport {\n SeekSlider,\n SeekSliderBuffered,\n SeekSliderControl,\n SeekSliderHover,\n SeekSliderPreviewThumb,\n SeekSliderPreviewTooltip,\n SeekSliderPreviewTooltipPopup,\n SeekSliderPreviewTooltipPortal,\n SeekSliderPreviewTooltipPositioner,\n SeekSliderProgress,\n SeekSliderThumb,\n SeekSliderTrack,\n} from './components/seek-slider/seek-slider.js'\nexport { SeekSliderPreviewThumbDataAttributes } from './components/seek-slider/seek-slider-preview-thumb.data-attributes.js'\nexport { ThumbnailDataAttributes } from './components/thumbnail/thumbnail.data-attributes.js'\nexport { Thumbnail } from './components/thumbnail/thumbnail.js'\nexport { TimeDisplayDataAttributes } from './components/time-display/time-display.data-attributes.js'\nexport { TimeDisplay } from './components/time-display/time-display.js'\nexport { Track } from './components/track/track.js'\nexport { Video } from './components/video/video.js'\nexport { VolumeSliderCssVars } from './components/volume-slider/volume-slider.css-vars.js'\nexport { VolumeSliderDataAttributes } from './components/volume-slider/volume-slider.data-attributes.js'\n// Audio Controls\nexport {\n VolumeSlider,\n VolumeSliderControl,\n VolumeSliderRange,\n VolumeSliderThumb,\n VolumeSliderTrack,\n} from './components/volume-slider/volume-slider.js'\nexport {\n type TransitionStatus,\n type UseTransitionStatusOptions,\n type UseTransitionStatusReturn,\n useTransitionStatus,\n} from './hooks/use-transition-status.js'\n// Hooks\nexport { useVideoPlayer } from './hooks/use-video-player.js'\n// Types\nexport type {\n PlaybackIntent,\n PlaybackStatus,\n RenderProp,\n TrackInfo,\n VideoPlayerActions,\n VideoPlayerContextValue,\n VideoPlayerRootProps,\n VideoPlayerState,\n VideoQuality,\n VideoTextTrack,\n} from './types.js'\n","'use client'\n\nimport * as React from 'react'\nimport { useVideoPlayerContext } from '../../contexts/video-player-context.js'\nimport type { RenderProp } from '../../types.js'\n\n// ============================================================================\n// BufferedIndicator Props\n// ============================================================================\n\nexport interface BufferedIndicatorProps\n extends React.ComponentPropsWithRef<'div'> {\n render?: RenderProp<BufferedIndicatorRenderProps, BufferedIndicatorState>\n}\n\nexport interface BufferedIndicatorRenderProps {\n ref: React.Ref<HTMLElement>\n style: React.CSSProperties\n 'aria-hidden': true\n}\n\nexport interface BufferedIndicatorState {\n buffered: TimeRanges | null\n duration: number\n bufferedPercentage: number\n bufferedEnd: number\n}\n\n// ============================================================================\n// BufferedIndicator Component\n// ============================================================================\n\nexport const BufferedIndicator = React.forwardRef<\n HTMLDivElement,\n BufferedIndicatorProps\n>(function BufferedIndicator(props, forwardedRef) {\n const { render, ...divProps } = props\n const context = useVideoPlayerContext('BufferedIndicator')\n\n // Calculate buffered end position (for progress bar display)\n const bufferedEnd = React.useMemo(() => {\n if (!context.buffered || context.buffered.length === 0) return 0\n\n // Find the buffer range that contains current playback position\n for (let i = 0; i < context.buffered.length; i++) {\n if (\n context.buffered.start(i) <= context.currentTime &&\n context.currentTime <= context.buffered.end(i)\n ) {\n return context.buffered.end(i)\n }\n }\n\n // Fallback to end of first range\n return context.buffered.end(0)\n }, [context.buffered, context.currentTime])\n\n const bufferedPercentage =\n context.duration > 0 ? (bufferedEnd / context.duration) * 100 : 0\n\n const state: BufferedIndicatorState = {\n buffered: context.buffered,\n duration: context.duration,\n bufferedPercentage,\n bufferedEnd,\n }\n\n // CSS custom properties for styling\n const style = {\n '--buffered-percentage': `${bufferedPercentage}%`,\n '--buffered-end': bufferedEnd,\n ...divProps.style,\n } as React.CSSProperties\n\n const renderProps: BufferedIndicatorRenderProps = {\n ref: forwardedRef,\n style,\n 'aria-hidden': true,\n }\n\n if (render) {\n return render(renderProps, state)\n }\n\n return (\n <div ref={forwardedRef} aria-hidden=\"true\" {...divProps} style={style} />\n )\n})\n\n// ============================================================================\n// Namespace\n// ============================================================================\n\nexport namespace BufferedIndicator {\n export type Props = BufferedIndicatorProps\n export type State = BufferedIndicatorState\n}\n","'use client'\n\nimport * as React from 'react'\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type TransitionStatus = 'starting' | 'ending' | undefined\n\nexport interface UseTransitionStatusOptions {\n /**\n * Whether the element should be visible/open.\n */\n open: boolean\n /**\n * Keep the element always mounted in the DOM, even when closed.\n * Only needed for JavaScript animation libraries (e.g., Framer Motion).\n * CSS transitions and animations work automatically without this.\n * @default false\n */\n keepMounted?: boolean\n}\n\nexport interface UseTransitionStatusReturn {\n /**\n * Whether the element should be rendered in the DOM.\n * Stays true during exit animations.\n */\n mounted: boolean\n /**\n * Current transition status:\n * - 'starting': First frame of enter animation\n * - 'ending': Exit animation in progress\n * - undefined: Idle state\n */\n transitionStatus: TransitionStatus\n /**\n * Ref to attach to the animated element.\n * Used to detect when CSS animations/transitions complete.\n */\n elementRef: React.RefObject<HTMLElement | null>\n}\n\n// ============================================================================\n// Utility: Wait for Animations\n// ============================================================================\n\n/**\n * Returns a promise that resolves when all CSS animations and transitions\n * on the element and its descendants have completed.\n */\nfunction waitForAnimations(element: HTMLElement): Promise<void> {\n // Collect animations from the element and all descendants\n const animations = [\n ...element.getAnimations(),\n ...Array.from(element.querySelectorAll('*')).flatMap((el) =>\n (el as HTMLElement).getAnimations(),\n ),\n ]\n\n if (animations.length === 0) {\n return Promise.resolve()\n }\n return Promise.all(animations.map((a) => a.finished))\n .then(() => {})\n .catch(() => {\n // Animation was cancelled (e.g., element removed or animation interrupted)\n })\n}\n\n// ============================================================================\n// Hook: useTransitionStatus\n// ============================================================================\n\nexport function useTransitionStatus(\n options: UseTransitionStatusOptions,\n): UseTransitionStatusReturn {\n const { open, keepMounted = false } = options\n\n const [mounted, setMounted] = React.useState(open || keepMounted)\n const [transitionStatus, setTransitionStatus] =\n React.useState<TransitionStatus>(open ? 'starting' : undefined)\n\n const elementRef = React.useRef<HTMLElement | null>(null)\n\n // Track if we're currently waiting for animations\n const waitingForAnimationsRef = React.useRef(false)\n\n // Handle open → true (enter)\n React.useEffect(() => {\n if (open) {\n // Cancel any pending exit\n waitingForAnimationsRef.current = false\n\n setMounted(true)\n setTransitionStatus('starting')\n\n // Clear starting style after first paint (double RAF for reliability)\n const raf = requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n setTransitionStatus(undefined)\n })\n })\n\n return () => cancelAnimationFrame(raf)\n }\n }, [open])\n\n // Handle open → false (exit)\n React.useEffect(() => {\n if (!open && mounted && !waitingForAnimationsRef.current) {\n setTransitionStatus('ending')\n\n const element = elementRef.current\n\n if (!element) {\n // No element ref, unmount immediately\n setTransitionStatus(undefined)\n if (!keepMounted) {\n setMounted(false)\n }\n return\n }\n\n waitingForAnimationsRef.current = true\n\n // Wait a frame for the browser to process style changes and start animations\n const raf = requestAnimationFrame(() => {\n // Double RAF for reliability (like enter animation)\n requestAnimationFrame(() => {\n waitForAnimations(element).then(() => {\n // Check if we're still supposed to be unmounting\n // (user might have re-opened during animation)\n if (!waitingForAnimationsRef.current) return\n\n waitingForAnimationsRef.current = false\n setTransitionStatus(undefined)\n\n if (!keepMounted) {\n setMounted(false)\n }\n })\n })\n })\n\n return () => {\n cancelAnimationFrame(raf)\n }\n }\n }, [open, mounted, keepMounted])\n\n // Handle keepMounted change\n React.useEffect(() => {\n if (keepMounted && !mounted && !open) {\n setMounted(true)\n }\n }, [keepMounted, mounted, open])\n\n return {\n mounted: mounted || keepMounted,\n transitionStatus,\n elementRef,\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as en}from"../chunk-4C666HHU.js";import*as He from"react";var at=He.createContext(null);function P(c){let e=He.useContext(at);if(!e)throw new Error(`<VideoPlayer.${c}> must be used within <VideoPlayer.Root>`);return e}function ie(){return P("useVideoPlayer")}var Kr={};en(Kr,{BufferedIndicator:()=>nr,Captions:()=>ir,CaptionsButton:()=>lr,CaptionsDataAttributes:()=>De,CaptionsMenu:()=>ur,CaptionsMenuItem:()=>Ae,Controls:()=>cr,ControlsDataAttributes:()=>We,FullscreenButton:()=>dr,MuteButton:()=>fr,Overlay:()=>mr,OverlayDataAttributes:()=>Fe,PictureInPictureButton:()=>Pr,PlayButton:()=>Rr,PlaybackRateButton:()=>br,PlaybackRateMenu:()=>kr,PlaybackRateMenuItem:()=>ut,Portal:()=>gr,Poster:()=>vr,QualityMenu:()=>Tr,QualityMenuItem:()=>pt,Root:()=>xr,RootDataAttributes:()=>je,SeekSlider:()=>Br,SeekSliderBuffered:()=>Ir,SeekSliderControl:()=>Vr,SeekSliderCssVars:()=>qe,SeekSliderDataAttributes:()=>Xe,SeekSliderHover:()=>Or,SeekSliderPreviewThumb:()=>Dr,SeekSliderPreviewThumbDataAttributes:()=>Ye,SeekSliderPreviewTooltip:()=>me,SeekSliderPreviewTooltipPopup:()=>Je,SeekSliderPreviewTooltipPortal:()=>Ge,SeekSliderPreviewTooltipPositioner:()=>ze,SeekSliderProgress:()=>Lr,SeekSliderThumb:()=>Hr,SeekSliderTrack:()=>wr,Thumbnail:()=>Ar,ThumbnailDataAttributes:()=>Ze,TimeDisplay:()=>Wr,TimeDisplayDataAttributes:()=>et,Track:()=>Fr,Video:()=>Qr,VolumeSlider:()=>$r,VolumeSliderControl:()=>Nr,VolumeSliderCssVars:()=>rt,VolumeSliderDataAttributes:()=>nt,VolumeSliderRange:()=>Ur,VolumeSliderThumb:()=>_r,VolumeSliderTrack:()=>jr,useTransitionStatus:()=>Y,useVideoPlayer:()=>ie});import*as Ie from"react";import{jsx as tn}from"react/jsx-runtime";var nr=Ie.forwardRef(function(e,
|
|
2
|
-
`),l=a.length>0,p={active:l,cueText:r,cues:a},i={ref:t,"aria-live":"polite","aria-atomic":!0,role:"status",style:{pointerEvents:"none"},"data-active":l||void 0};return s?s(i,p):u?or("div",{...i,...n,children:u}):or("div",{...i,...n,children:r})});import*as sr from"react";import{makeEventPreventable as rn,mergeProps as nn}from"@base-ui/react/merge-props";function E(c,e){return nn(c,on(e))}function on(c){let e={...c};for(let t in e){let s=e[t];an(t,s)&&(e[t]=(u,...n)=>(rn(u),s(u,...n)))}return e}function an(c,e){return c.charCodeAt(0)===111&&c.charCodeAt(1)===110&&c.charCodeAt(2)>=65&&c.charCodeAt(2)<=90&&typeof e=="function"}import{jsx as sn}from"react/jsx-runtime";var lr=sr.forwardRef(function(e,t){let{render:s,...u}=e,n=P("CaptionsButton"),o=n.registeredTracks.length>0,a=n.activeTextTrack!==null,r={active:a,available:o,trackCount:n.registeredTracks.length},l=E({ref:t,type:"button","aria-label":a?"Disable captions":"Enable captions","aria-pressed":a,disabled:!o,"data-active":a||void 0,"data-available":o||void 0,onClick(){if(a)n.setTextTrack(null);else if(n.registeredTracks.length>0){let p=n.registeredTracks[0];p?.textTrack&&n.setTextTrack(p.textTrack)}}},u);return s?s(l,r):sn("button",{...l})});import*as it from"react";import{Fragment as ln,jsx as Oe,jsxs as un}from"react/jsx-runtime";var ur=it.forwardRef(function(e,t){let{render:s,children:u,...n}=e,o=P("CaptionsMenu"),a={registeredTracks:o.registeredTracks,activeTextTrack:o.activeTextTrack},r={ref:t,role:"menu","aria-label":"Captions","data-active":o.activeTextTrack!==null||void 0};return s?s(r,a):Oe("div",{...r,...n,children:u??un(ln,{children:[Oe(Ae,{track:null,children:"Off"}),o.registeredTracks.map(l=>Oe(Ae,{track:l.textTrack,children:l.label},l.id))]})})}),Ae=it.forwardRef(function(e,t){let{track:s,children:u,...n}=e,o=P("CaptionsMenuItem"),a=o.activeTextTrack===s,r=E({ref:t,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setTextTrack(s)}},n);return Oe("button",{...r,children:u})});var We=(r=>(r.open="data-open",r.closed="data-closed",r.idle="data-idle",r.playing="data-playing",r.paused="data-paused",r.ended="data-ended",r.startingStyle="data-starting-style",r.endingStyle="data-ending-style",r))(We||{});import*as fe from"react";import*as X from"react";function cn(c){let e=[...c.getAnimations(),...Array.from(c.querySelectorAll("*")).flatMap(t=>t.getAnimations())];return e.length===0?Promise.resolve():Promise.all(e.map(t=>t.finished)).then(()=>{}).catch(()=>{})}function Y(c){let{open:e,keepMounted:t=!1}=c,[s,u]=X.useState(e||t),[n,o]=X.useState(e?"starting":void 0),a=X.useRef(null),r=X.useRef(!1);return X.useEffect(()=>{if(e){r.current=!1,u(!0),o("starting");let l=requestAnimationFrame(()=>{requestAnimationFrame(()=>{o(void 0)})});return()=>cancelAnimationFrame(l)}},[e]),X.useEffect(()=>{if(!e&&s&&!r.current){o("ending");let l=a.current;if(!l){o(void 0),t||u(!1);return}r.current=!0;let p=requestAnimationFrame(()=>{requestAnimationFrame(()=>{cn(l).then(()=>{r.current&&(r.current=!1,o(void 0),t||u(!1))})})});return()=>{cancelAnimationFrame(p)}}},[e,s,t]),X.useEffect(()=>{t&&!s&&!e&&u(!0)},[t,s,e]),{mounted:s||t,transitionStatus:n,elementRef:a}}import{jsx as dn}from"react/jsx-runtime";var cr=fe.forwardRef(function(e,t){let{idleTimeout:s,keepMounted:u=!1,render:n,children:o,...a}=e,r=P("Controls"),p=(s??r.idleTimeout)===0||!r.idle,{mounted:i,transitionStatus:f,elementRef:b}=Y({open:p,keepMounted:u}),S=fe.useCallback(L=>{b.current=L,typeof t=="function"?t(L):t&&(t.current=L)},[t,b]),{onClick:T,...y}=a,x=fe.useCallback(L=>{L.stopPropagation(),T?.(L)},[T]),v={open:p,idle:r.idle,playing:r.playing,paused:r.paused,ended:r.ended},k={ref:S,onClick:x,"data-open":p||void 0,"data-closed":!p||void 0,"data-idle":r.idle||void 0,"data-playing":r.playing||void 0,"data-paused":r.paused||void 0,"data-ended":r.ended||void 0,"data-starting-style":f==="starting"||void 0,"data-ending-style":f==="ending"||void 0};return i?n?n(k,v):dn("div",{...k,...y,children:o}):null});import*as ue from"react";import{jsx as pn}from"react/jsx-runtime";var dr=ue.forwardRef(function(e,t){let{render:s,children:u,...n}=e,o=P("FullscreenButton"),[a,r]=ue.useState(!1);ue.useEffect(()=>{r("fullscreenEnabled"in document&&document.fullscreenEnabled)},[]);let l={fullscreen:o.fullscreen,supported:a},p=E({ref:t,type:"button","aria-label":o.fullscreen?"Exit fullscreen":"Enter fullscreen","aria-pressed":o.fullscreen,disabled:!a,"data-fullscreen":o.fullscreen||void 0,"data-supported":a||void 0,onClick(){o.toggleFullscreen()}},n);return s?s(p,l):pn("button",{...p,children:u})});import*as pr from"react";import{jsx as fn}from"react/jsx-runtime";var fr=pr.forwardRef(function(e,t){let{render:s,...u}=e,n=P("MuteButton"),o={muted:n.muted,volume:n.volume},a=n.volume,r=n.muted,l=a===0||r,p=a>0&&!r,i=!r&&a>0&&a<.5,f=!r&&a>=.5,b=E({ref:t,type:"button","aria-label":n.muted?"Unmute":"Mute","aria-pressed":n.muted,"data-muted":r||void 0,"data-volume-off":l||void 0,"data-volume-on":p||void 0,"data-volume-low":i||void 0,"data-volume-high":f||void 0,onClick(){n.toggleMute()}},u);return s?s(b,o):fn("button",{...b})});var Fe=(i=>(i.open="data-open",i.closed="data-closed",i.playing="data-playing",i.paused="data-paused",i.ended="data-ended",i.waiting="data-waiting",i.seeking="data-seeking",i.fullscreen="data-fullscreen",i.pip="data-pip",i.startingStyle="data-starting-style",i.endingStyle="data-ending-style",i))(Fe||{});import*as Qe from"react";import{jsx as mn}from"react/jsx-runtime";var mr=Qe.forwardRef(function(e,t){let{idleTimeout:s,keepMounted:u=!1,render:n,children:o,...a}=e,r=P("Overlay"),p=(s??r.idleTimeout)===0||!r.idle,{mounted:i,transitionStatus:f,elementRef:b}=Y({open:p,keepMounted:u}),S=Qe.useCallback(x=>{b.current=x,typeof t=="function"?t(x):t&&(t.current=x)},[t,b]),T={playing:r.playing,paused:r.paused,ended:r.ended,waiting:r.waiting,seeking:r.seeking,fullscreen:r.fullscreen,pictureInPicture:r.pictureInPicture,open:p},y=E({ref:S,onClick(){r.toggle()},"data-playing":r.playing||void 0,"data-paused":r.paused||void 0,"data-ended":r.ended||void 0,"data-waiting":r.waiting||void 0,"data-seeking":r.seeking||void 0,"data-fullscreen":r.fullscreen||void 0,"data-pip":r.pictureInPicture||void 0,"data-open":p||void 0,"data-closed":!p||void 0,"data-starting-style":f==="starting"||void 0,"data-ending-style":f==="ending"||void 0},a);return i?n?n(y,T):mn("div",{...y,...a,children:o}):null});import*as ce from"react";import{jsx as Pn}from"react/jsx-runtime";var Pr=ce.forwardRef(function(e,t){let{render:s,...u}=e,n=P("PictureInPictureButton"),[o,a]=ce.useState(!1);ce.useEffect(()=>{a("pictureInPictureEnabled"in document&&document.pictureInPictureEnabled)},[]);let r={pictureInPicture:n.pictureInPicture,supported:o},l=E({ref:t,type:"button","aria-label":n.pictureInPicture?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":n.pictureInPicture,disabled:!o,"data-pip":n.pictureInPicture||void 0,"data-supported":o||void 0,onClick(){n.togglePictureInPicture()}},u);return s?s(l,r):Pn("button",{...l})});import*as yr from"react";import{jsx as yn}from"react/jsx-runtime";var Rr=yr.forwardRef(function(e,t){let{render:s,children:u,...n}=e,o=P("PlayButton"),a={playing:o.playing,paused:o.paused,ended:o.ended,waiting:o.waiting},r=E({ref:t,type:"button","aria-label":o.playing?"Pause":"Play","data-playing":o.playing||void 0,"data-paused":o.paused||void 0,"data-ended":o.ended||void 0,"data-waiting":o.waiting||void 0,onClick(){o.toggle()}},n);return s?s(r,a):yn("button",{...r,children:u})});import*as Sr from"react";import{jsx as Sn}from"react/jsx-runtime";var Rn=[.25,.5,.75,1,1.25,1.5,1.75,2],br=Sr.forwardRef(function(e,t){let{rates:s=Rn,render:u,children:n,...o}=e,a=P("PlaybackRateButton"),r={playbackRate:a.playbackRate,rates:s},l=E({ref:t,type:"button","aria-label":`Playback speed: ${a.playbackRate}x`,"data-rate":a.playbackRate,onClick(){let p=s.indexOf(a.playbackRate),i=s[(p+1)%s.length]??s[0]??a.playbackRate;a.setPlaybackRate(i)}},o);return u?u(l,r):Sn("button",{...l,children:n??`${a.playbackRate}x`})});import*as lt from"react";import{jsx as st}from"react/jsx-runtime";var bn=[.25,.5,.75,1,1.25,1.5,1.75,2],kr=lt.forwardRef(function(e,t){let{rates:s=bn,render:u,children:n,...o}=e,a=P("PlaybackRateMenu"),r={playbackRate:a.playbackRate,rates:s},l={ref:t,role:"menu","aria-label":"Playback speed","data-rate":a.playbackRate};return u?u(l,r):st("div",{...l,...o,children:n??s.map(p=>st(ut,{rate:p},p))})}),ut=lt.forwardRef(function(e,t){let{rate:s,children:u,...n}=e,o=P("PlaybackRateMenuItem"),a=o.playbackRate===s,r=E({ref:t,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setPlaybackRate(s)}},n);return st("button",{...r,children:u??`${s}x`})});import*as $e from"react";import{createPortal as kn}from"react-dom";function gr(c){let{children:e,container:t}=c,[s,u]=$e.useState(!1);if($e.useEffect(()=>(u(!0),()=>u(!1)),[]),!s)return null;let n=t??(typeof document<"u"?document.body:null);return n?kn(e,n):null}import*as Ne from"react";import{jsx as vn}from"react/jsx-runtime";var vr=Ne.forwardRef(function(e,t){let{keepMounted:s=!1,render:u,children:n,...o}=e,a=P("Poster"),r=!a.canPlay,l=a.canPlay,{mounted:p,transitionStatus:i,elementRef:f}=Y({open:r,keepMounted:s}),b=gn(t,f),S={loading:r,loaded:l,transitionStatus:i},T={ref:b,"aria-hidden":!0,"data-loading":r||void 0,"data-loaded":l||void 0,"data-starting-style":i==="starting"||void 0,"data-ending-style":i==="ending"||void 0};return p?u?u(T,S):vn("div",{...T,...o,children:n}):null});function gn(...c){return Ne.useCallback(e=>{for(let t of c)typeof t=="function"?t(e):t!=null&&(t.current=e)},c)}import*as dt from"react";import{jsx as ct}from"react/jsx-runtime";var Tr=dt.forwardRef(function(e,t){let{render:s,children:u,...n}=e,o=P("QualityMenu"),a={qualities:o.qualities,activeQuality:o.activeQuality},r={ref:t,role:"menu","aria-label":"Video quality","data-quality":o.activeQuality?.label??void 0};return s?s(r,a):ct("div",{...r,...n,children:u??o.qualities.map(l=>ct(pt,{quality:l,children:l.label},l.label))})}),pt=dt.forwardRef(function(e,t){let{quality:s,children:u,...n}=e,o=P("QualityMenuItem"),a=o.activeQuality?.label===s.label,r=E({ref:t,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setQuality(s)}},n);return ct("button",{...r,children:u})});var je=(l=>(l.playing="data-playing",l.paused="data-paused",l.ended="data-ended",l.waiting="data-waiting",l.seeking="data-seeking",l.fullscreen="data-fullscreen",l.pip="data-pip",l.muted="data-muted",l.idle="data-idle",l))(je||{});import*as d from"react";import*as Ue from"react";function Tn(c,e){return!(c instanceof HTMLElement)||c instanceof HTMLInputElement&&c.type==="range"&&e===" "?!1:c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.isContentEditable}function hn(c){return c==="ArrowRight"||c==="ArrowLeft"}function hr(c,e){let t=ie(),s=Ue.useRef(t);s.current=t,Ue.useEffect(()=>{if(e==="none")return;let u=a=>{if(Tn(a.target,a.key))return;let r=s.current;switch(a.key){case" ":a.preventDefault(),r.toggle();break;case"f":case"F":a.preventDefault(),r.toggleFullscreen();break;case"ArrowUp":a.preventDefault(),r.setVolume(Math.min(r.volume+.1,1));break;case"ArrowDown":a.preventDefault(),r.setVolume(Math.max(r.volume-.1,0));break;case"ArrowRight":a.preventDefault(),r.beginSeekInteraction(),r.seek(Math.min(r.currentTime+5,r.duration));break;case"ArrowLeft":a.preventDefault(),r.beginSeekInteraction(),r.seek(Math.max(r.currentTime-5,0));break;default:return}r.resetIdle()},n=a=>{hn(a.key)&&s.current.endSeekInteraction()};if(e==="global")return window.addEventListener("keydown",u),window.addEventListener("keyup",n),()=>{window.removeEventListener("keydown",u),window.removeEventListener("keyup",n)};let o=c.current;if(o)return o.addEventListener("keydown",u),o.addEventListener("keyup",n),()=>{o.removeEventListener("keydown",u),o.removeEventListener("keyup",n)}},[e,c])}import{jsx as Ke,jsxs as En}from"react/jsx-runtime";function _e(c,e,t){let[s,u]=d.useState(e),n=c!==void 0,o=n?c:s,a=d.useCallback(r=>{let l=typeof r=="function"?r(o):r;n||u(l),t?.(l)},[n,o,t]);return[o,a]}function xn({rootRef:c,videoRef:e,actionsRef:t,defaultPlaying:s=!1,autoPlay:u=!1,defaultVolume:n=1,defaultMuted:o=!1,defaultPlaybackRate:a=1,playing:r,onPlayingChange:l,volume:p,onVolumeChange:i,muted:f,onMutedChange:b,playbackRate:S,onPlaybackRateChange:T,currentTime:y,onCurrentTimeChange:x,idleTimeout:v=3e3,preventIdleWhenPaused:k=!1,idle:L,onIdleChange:M,onEnded:w,onWaiting:H,onSeeking:Q,onSeeked:D,onFullscreenChange:h,onPictureInPictureChange:$,children:U}){let q=d.useRef(1),_=d.useRef(!1),z=d.useRef(!1),Z=d.useRef(!1),[B,I]=d.useState("paused"),[g,A]=d.useState(s?"play":"pause");d.useEffect(()=>{r!==void 0&&(A(r?"play":"pause"),B!=="waiting"&&I(r?"playing":"paused"))},[r,B]);let[W,te]=_e(p,n,i),[J,pe]=_e(f,o,b),[Pt,yt]=_e(S,a,T),[qr,re]=_e(L,!0,M),ne=d.useRef(null),ye=d.useCallback(()=>{ne.current&&(clearTimeout(ne.current),ne.current=null)},[]),Rt=d.useCallback(()=>{v!==0&&(ye(),ne.current=setTimeout(()=>{re(!0)},v))},[v,ye,re]),St=d.useCallback(()=>{re(!1),Rt()},[re,Rt]),bt=d.useCallback(()=>{ye(),re(!0)},[ye,re]);d.useEffect(()=>(v>0&&(ne.current=setTimeout(()=>{re(!0)},v)),()=>{ne.current&&clearTimeout(ne.current)}),[]);let kt=k&&B!=="playing"?!1:qr,se=d.useCallback(()=>{let m=e.current;m&&(m.muted!==J&&(m.muted=J),m.volume!==W&&(m.volume=W))},[J,e,W]),Re=d.useCallback(async()=>{let m=e.current;if(!(!u||!m||Z.current)){Z.current=!0,A("play"),se();try{await m.play(),I("playing"),l?.(!0)}catch{A("pause"),I("paused")}}},[u,l,se,e]);d.useEffect(()=>{if(!u){Z.current=!1;return}Re()},[u,Re]);let[gt,vt]=d.useState(0),[Se,Tt]=d.useState(0),[ht,Xr]=d.useState(null),[be,Yr]=d.useState(null),[xt,Ct]=d.useState(!1),[Mt,le]=d.useState(!1),[ke,Gr]=d.useState(!1),[ge,Et]=d.useState(!1),[Bt,ot]=d.useState([]),[oe,zr]=d.useState(null),[Vt,ve]=d.useState([]),[wt,Nn]=d.useState([]),[Lt,Jr]=d.useState(null);d.useEffect(()=>{y!==void 0&&e.current&&(e.current.currentTime=y)},[y,e]),d.useEffect(()=>{f===void 0&&p===void 0||se()},[f,p,se]),d.useEffect(()=>{let m=()=>{let C=document.fullscreenElement===c.current;Gr(C),h?.(C)};return document.addEventListener("fullscreenchange",m),()=>document.removeEventListener("fullscreenchange",m)},[h,c]),d.useEffect(()=>{let m=e.current;if(!m)return;let C=()=>{Et(!0),$?.(!0)},N=()=>{Et(!1),$?.(!1)};return m.addEventListener("enterpictureinpicture",C),m.addEventListener("leavepictureinpicture",N),()=>{m.removeEventListener("enterpictureinpicture",C),m.removeEventListener("leavepictureinpicture",N)}},[$,e]);let Te=d.useCallback(async()=>{e.current&&(A("play"),await e.current.play(),I("playing"),l?.(!0))},[e,l]),he=d.useCallback(()=>{e.current&&(A("pause"),e.current.pause(),I("paused"),l?.(!1))},[e,l]),xe=d.useCallback(async()=>{B==="playing"?he():await Te()},[B,Te,he]),Ce=d.useCallback(m=>{e.current&&(e.current.currentTime=m,vt(m),x?.(m))},[x,e]),Ht=d.useCallback(()=>{let m=e.current;!m||_.current||(_.current=!0,z.current=g==="play",le(!0),z.current&&!m.paused&&m.pause())},[g,e]),It=d.useCallback(()=>{let m=e.current;if(!m||!_.current)return;let C=z.current&&g==="play";if(_.current=!1,z.current=!1,!C){le(!1);return}m.play().then(()=>{I("playing"),le(!1)}).catch(()=>{I("waiting"),le(!1)})},[g,e]),Me=d.useCallback(m=>{let C=Math.max(0,Math.min(1,m));e.current&&(e.current.volume=C),te(C)},[te,e]),Dt=d.useCallback(()=>{if(!(J||W===0))q.current=W,e.current&&(e.current.muted=!0),pe(!0);else{let C=q.current>0?q.current:1;e.current&&(e.current.volume=C,e.current.muted=!1),te(C),pe(!1)}},[J,W,pe,te,e]),Ee=d.useCallback(async()=>{c.current?.requestFullscreen&&await c.current.requestFullscreen()},[c]),Be=d.useCallback(async()=>{document.exitFullscreen&&await document.exitFullscreen()},[]),Ve=d.useCallback(async()=>{ke?await Be():await Ee()},[ke,Ee,Be]),we=d.useCallback(async()=>{e.current?.requestPictureInPicture&&await e.current.requestPictureInPicture()},[e]),Le=d.useCallback(async()=>{document.pictureInPictureElement&&await document.exitPictureInPicture()},[]),Ot=d.useCallback(async()=>{ge?await Le():await we()},[ge,we,Le]),At=d.useCallback(m=>{e.current&&(e.current.playbackRate=m),yt(m)},[yt,e]),Wt=d.useCallback(m=>{if(e.current){for(let C=0;C<e.current.textTracks.length;C++){let N=e.current.textTracks[C];N&&(N.mode="disabled")}m&&(m.mode="hidden")}zr(m),ve([])},[e]),Ft=d.useCallback(m=>{Jr(m)},[]),Qt=d.useCallback(m=>{ot(C=>C.some(N=>N.id===m.id)?C:[...C,m])},[]),$t=d.useCallback(m=>{ot(C=>C.filter(N=>N.id!==m))},[]),Nt=d.useCallback((m,C)=>{ot(N=>N.map(ae=>ae.id===m?{...ae,textTrack:C}:ae))},[]);d.useEffect(()=>{if(!oe){ve([]);return}let m=()=>{let C=oe.activeCues;if(!C){ve([]);return}let N=[];for(let ae=0;ae<C.length;ae++){let rr=C[ae];rr instanceof VTTCue&&N.push(rr)}ve(N)};return m(),oe.addEventListener("cuechange",m),()=>{oe.removeEventListener("cuechange",m)}},[oe]),d.useImperativeHandle(t,()=>({toggle:xe,seek:Ce,setVolume:Me,toggleFullscreen:Ve}),[xe,Ce,Me,Ve]);let jt=d.useCallback(()=>{if(e.current){let m=e.current.currentTime;vt(m),x?.(m)}},[x,e]),Ut=d.useCallback(()=>{e.current&&Tt(e.current.duration)},[e]),_t=d.useCallback(()=>{e.current&&Xr(e.current.buffered)},[e]),Kt=d.useCallback(()=>{A("play"),I("playing"),l?.(!0)},[l]),qt=d.useCallback(()=>{_.current||B!=="ended"&&(I("paused"),l?.(!1))},[B,l]),Xt=d.useCallback(()=>{A("pause"),I("ended"),l?.(!1),w?.()},[l,w]),Yt=d.useCallback(()=>{_.current||(I("waiting"),H?.())},[H]),Gt=d.useCallback(()=>{if(_.current){Ct(!0);return}if(B==="waiting"){let m=g==="play"?"playing":"paused";I(m),l?.(m==="playing")}Ct(!0)},[B,g,l]),zt=d.useCallback(()=>{le(!0),B==="ended"&&I("paused"),Q?.()},[B,Q]),Jt=d.useCallback(()=>{if(le(!1),e.current){let{currentTime:m,duration:C}=e.current;C>0&&C-m<.01&&I("ended")}D?.()},[D,e]),Zt=d.useCallback(()=>{e.current&&(te(e.current.volume),pe(e.current.muted))},[te,pe,e]),er=d.useCallback(()=>{e.current&&Tt(e.current.duration)},[e]),tr=d.useCallback(()=>{se(),Re()},[Re,se]),Zr=d.useMemo(()=>({playbackStatus:B,playbackIntent:g,playing:B==="playing",paused:B==="paused",ended:B==="ended",waiting:B==="waiting",seeking:Mt,canPlay:xt,currentTime:gt,duration:Se,buffered:ht,hoverTime:be,hoverProgress:be!==null&&Se>0?be/Se*100:null,volume:W,muted:J,fullscreen:ke,pictureInPicture:ge,idle:kt,idleTimeout:v,preventIdleWhenPaused:k,registeredTracks:Bt,activeTextTrack:oe,activeCues:Vt,playbackRate:Pt,qualities:wt,activeQuality:Lt,videoRef:e,rootRef:c,play:Te,pause:he,toggle:xe,seek:Ce,setVolume:Me,toggleMute:Dt,enterFullscreen:Ee,exitFullscreen:Be,toggleFullscreen:Ve,enterPictureInPicture:we,exitPictureInPicture:Le,togglePictureInPicture:Ot,setPlaybackRate:At,setTextTrack:Wt,setQuality:Ft,registerTrack:Qt,unregisterTrack:$t,updateTrackRef:Nt,resetIdle:St,setHoverTime:Yr,beginSeekInteraction:Ht,endSeekInteraction:It,_handlers:{onTimeUpdate:jt,onDurationChange:Ut,onProgress:_t,onPlay:Kt,onPause:qt,onEnded:Xt,onWaiting:Yt,onCanPlay:Gt,onSeeking:zt,onSeeked:Jt,onVolumeChange:Zt,onLoadedMetadata:er,onVideoMount:tr,onRootMouseLeave:bt}}),[B,g,Mt,xt,gt,Se,ht,be,W,J,ke,ge,kt,v,k,Bt,oe,Vt,Pt,wt,Lt,e,c,Te,he,xe,Ce,Me,Dt,Ee,Be,Ve,we,Le,Ot,At,Wt,Ft,Qt,$t,Nt,St,Ht,It,jt,Ut,_t,Kt,qt,Xt,Yt,Gt,zt,Jt,Zt,er,tr,bt]);return Ke(at.Provider,{value:Zr,children:U})}var xr=d.forwardRef(function(e,t){let{actionsRef:s,keyboardShortcuts:u="focused",defaultPlaying:n,autoPlay:o,defaultVolume:a,defaultMuted:r,defaultPlaybackRate:l,playing:p,onPlayingChange:i,volume:f,onVolumeChange:b,muted:S,onMutedChange:T,playbackRate:y,onPlaybackRateChange:x,currentTime:v,onCurrentTimeChange:k,idleTimeout:L,preventIdleWhenPaused:M,hideCursorWhenIdle:w="fullscreen",idle:H,onIdleChange:Q,onEnded:D,onWaiting:h,onSeeking:$,onSeeked:U,onFullscreenChange:q,onPictureInPictureChange:_,children:z,...Z}=e,B=d.useRef(null),I=d.useRef(null);return Ke(xn,{actionsRef:s,defaultPlaying:n,autoPlay:o,defaultVolume:a,defaultMuted:r,defaultPlaybackRate:l,playing:p,onPlayingChange:i,volume:f,onVolumeChange:b,muted:S,onMutedChange:T,playbackRate:y,onPlaybackRateChange:x,currentTime:v,onCurrentTimeChange:k,idleTimeout:L,preventIdleWhenPaused:M,idle:H,onIdleChange:Q,onEnded:D,onWaiting:h,onSeeking:$,onSeeked:U,onFullscreenChange:q,onPictureInPictureChange:_,rootRef:B,videoRef:I,children:Ke(Cn,{ref:t,rootRef:B,keyboardShortcuts:u,hideCursorWhenIdle:w,...Z,children:z})})}),Cn=d.forwardRef(function({rootRef:e,keyboardShortcuts:t,hideCursorWhenIdle:s,children:u,className:n,style:o,...a},r){let l=ie(),p=Mn(r,e),i=d.useRef(null);hr(e,t);let f=d.useCallback(w=>{let{clientX:H,clientY:Q}=w,D=i.current;D&&D.x===H&&D.y===Q||(i.current={x:H,y:Q},l.resetIdle())},[l]),b=d.useCallback(w=>{let{clientX:H,clientY:Q}=w,D=i.current;D&&D.x===H&&D.y===Q||(i.current={x:H,y:Q},l.resetIdle())},[l]),S=d.useCallback(()=>{l._handlers.onRootMouseLeave()},[l._handlers]),T=d.useCallback(()=>{l.resetIdle()},[l]),y=d.useCallback(()=>{l.resetIdle()},[l]),x=d.useCallback(w=>{w.key==="Tab"&&l.resetIdle()},[l]),v=E({onMouseMove:f,onMouseEnter:b,onMouseLeave:S,onClick:T,onFocus:y,onKeyDown:x},a),k={"data-playing":l.playing||void 0,"data-paused":l.paused||void 0,"data-ended":l.ended||void 0,"data-waiting":l.waiting||void 0,"data-seeking":l.seeking||void 0,"data-fullscreen":l.fullscreen||void 0,"data-pip":l.pictureInPicture||void 0,"data-muted":l.muted||void 0,"data-idle":l.idle||void 0},L=s!==!1&&l.idle&&(s==="always"||s==="fullscreen"&&l.fullscreen),M=d.useId();return En("div",{...v,ref:p,tabIndex:t==="focused"?0:void 0,className:n,style:o,"data-video-player-scope":M,...k,children:[L&&Ke("style",{children:`[data-video-player-scope="${M}"], [data-video-player-scope="${M}"] * { cursor: none !important; }`}),u]})});function Mn(...c){return d.useCallback(e=>{for(let t of c)typeof t=="function"?t(e):t!=null&&(t.current=e)},c)}var qe=(o=>(o.progress="--seek-progress",o.buffered="--seek-buffered",o.currentTime="--seek-current-time",o.duration="--seek-duration",o.hoverProgress="--seek-hover-progress",o.hoverTime="--seek-hover-time",o))(qe||{});var Xe=(u=>(u.seeking="data-seeking",u.hovering="data-hovering",u.pressing="data-pressing",u.dragging="data-dragging",u))(Xe||{});import{Slider as j}from"@base-ui/react/slider";import{autoUpdate as Bn,offset as Vn,shift as wn,useFloating as Ln}from"@floating-ui/react";import*as R from"react";import*as Mr from"react-dom";var Ye=(u=>(u.open="data-open",u.closed="data-closed",u.startingStyle="data-starting-style",u.endingStyle="data-ending-style",u))(Ye||{});import{jsx as V,jsxs as Hn}from"react/jsx-runtime";var ft=R.createContext(null);function Er(c){let e=R.useContext(ft);if(!e)throw new Error(`${c} must be used within SeekSlider`);return e}function Cr(c){return c==="ArrowRight"||c==="ArrowLeft"}var Br=R.forwardRef(function(e,t){let{render:s,children:u,onPointerMove:n,onPointerLeave:o,onPointerDown:a,onKeyUp:r,onValueCommitted:l,...p}=e,i=P("SeekSlider"),f=R.useRef(null),[b,S]=R.useState(null),[T,y]=R.useState(!1),[x,v]=R.useState(!1),k=R.useRef(!1);R.useEffect(()=>{if(!T)return;let g=()=>{y(!1),v(!1),k.current=!1,i.endSeekInteraction()};return window.addEventListener("pointerup",g),()=>window.removeEventListener("pointerup",g)},[T,i]);let L=i.duration>0?i.currentTime/i.duration*100:0,M=R.useCallback((g,A)=>{let W=typeof g=="number"?g:g[0];W!==void 0&&(A.reason==="keyboard"&&i.beginSeekInteraction(),i.seek(W),i.resetIdle(),k.current&&v(!0))},[i]),w=R.useCallback(g=>{if(n?.(g),!f.current||i.duration===0)return;let A=f.current.getBoundingClientRect(),W=g.clientX-A.left,J=Math.max(0,Math.min(1,W/A.width))*i.duration;i.setHoverTime(J)},[n,i]),H=R.useCallback(g=>{o?.(g),i.setHoverTime(null)},[o,i]),Q=R.useCallback(g=>{a?.(g),y(!0),k.current=!0,i.beginSeekInteraction()},[a,i]),D=R.useCallback(g=>{r?.(g),Cr(g.key)&&i.endSeekInteraction()},[r,i]),h=R.useCallback((g,A)=>{let W=typeof g=="number"?g:g[0];W!==void 0&&(l?.(W,A),y(!1),v(!1),k.current=!1,!(A.reason==="keyboard"&&Cr(A.event.key))&&i.endSeekInteraction())},[l,i]),$=R.useMemo(()=>{if(!i.buffered||i.buffered.length===0)return 0;for(let g=0;g<i.buffered.length;g++)if(i.buffered.start(g)<=i.currentTime&&i.currentTime<=i.buffered.end(g))return i.buffered.end(g);return i.buffered.end(0)},[i.buffered,i.currentTime]),U=i.duration>0?$/i.duration*100:0;R.useLayoutEffect(()=>{typeof t=="function"?t(f.current):t&&(t.current=f.current)});let q={currentTime:i.currentTime,duration:i.duration,progress:L,seeking:i.seeking,pressing:T,dragging:x,hoverTime:i.hoverTime,hoverProgress:i.hoverProgress},_=i.hoverProgress!==null,z=i.hoverProgress??0,Z=R.useMemo(()=>({sliderRef:f,previewThumbElement:b,setPreviewThumbElement:S,hoverProgress:z,open:_}),[f,b,S,z,_]),B={position:"relative","--seek-progress":`${L}%`,"--seek-buffered":`${U}%`,"--seek-current-time":i.currentTime,"--seek-duration":i.duration,"--seek-hover-progress":i.hoverProgress!==null?`${i.hoverProgress}%`:void 0,"--seek-hover-time":i.hoverTime??void 0,...p.style},I={"data-seeking":i.seeking||void 0,"data-hovering":i.hoverTime!==null||void 0,"data-pressing":T||void 0,"data-dragging":x||void 0,style:B};return s?V(ft.Provider,{value:Z,children:V(j.Root,{ref:f,min:0,max:i.duration||100,step:.1,value:i.currentTime,onValueChange:M,onValueCommitted:h,onPointerMove:w,onPointerLeave:H,onPointerDown:Q,onKeyUp:D,"aria-label":"Seek",render:g=>s({...g,...I,style:{...g.style,...I.style}},q)})}):V(ft.Provider,{value:Z,children:V(j.Root,{ref:f,min:0,max:i.duration||100,step:.1,value:i.currentTime,onValueChange:M,onValueCommitted:h,onPointerMove:w,onPointerLeave:H,onPointerDown:Q,onKeyUp:D,"aria-label":"Seek",...I,...p,children:u??V(j.Control,{children:Hn(j.Track,{style:{position:"relative"},children:[V("div",{style:{position:"absolute",left:0,top:0,height:"100%",width:`${U}%`}}),V(j.Indicator,{}),V(j.Thumb,{})]})})})})}),Vr=j.Control,wr=R.forwardRef(function(e,t){let{render:s,children:u,style:n,...o}=e,a={},r={position:"relative",...n},l={ref:t,style:r};return s?V(j.Track,{render:p=>s({...p,...l},a)}):V(j.Track,{ref:t,style:r,...o,children:u})}),Lr=R.forwardRef(function(e,t){let{render:s,children:u,style:n,...o}=e,a=P("SeekSliderProgress"),l={progress:a.duration>0?a.currentTime/a.duration*100:0},p={height:"100%",...n},i={ref:t,style:p};return s?V(j.Indicator,{render:f=>s({...f,...i,style:{...f.style,...p}},l)}):V(j.Indicator,{ref:t,style:p,...o,children:u})}),Hr=R.forwardRef(function(e,t){let{render:s,children:u,style:n,...o}=e,a={},r={ref:t,style:n??{}};return s?V(j.Thumb,{render:l=>s({...l,...r,style:{...l.style,...n}},a)}):V(j.Thumb,{ref:t,style:n,...o,children:u})}),Ir=R.forwardRef(function(e,t){let{render:s,children:u,...n}=e,o=P("SeekSliderBuffered"),a=R.useMemo(()=>{if(!o.buffered||o.buffered.length===0)return 0;for(let f=0;f<o.buffered.length;f++)if(o.buffered.start(f)<=o.currentTime&&o.currentTime<=o.buffered.end(f))return o.buffered.end(f);return o.buffered.end(0)},[o.buffered,o.currentTime]),r=o.duration>0?a/o.duration*100:0,l={bufferedPercentage:r},p={position:"absolute",left:0,top:0,height:"100%",width:`${r}%`,...n.style},i={ref:t,style:p};return s?s(i,l):V("div",{...i,...n,children:u})}),Dr=R.forwardRef(function(e,t){let{keepMounted:s=!1,render:u,children:n,...o}=e,a=P("SeekSliderPreviewThumb"),r=Er("SeekSliderPreviewThumb"),l=a.hoverProgress!==null,p=R.useRef(0);a.hoverProgress!==null&&(p.current=a.hoverProgress);let i=a.hoverProgress??p.current,{mounted:f,transitionStatus:b,elementRef:S}=Y({open:l,keepMounted:s}),T=R.useCallback(k=>{S.current=k,r.setPreviewThumbElement(k),typeof t=="function"?t(k):t&&(t.current=k)},[t,S,r]),y={open:l,transitionStatus:b,hoverProgress:i},x={position:"absolute",left:`${i}%`,transform:"translateX(-50%)",pointerEvents:"none",...o.style},v={ref:T,style:x,"data-open":l||void 0,"data-closed":!l||void 0,"data-starting-style":b==="starting"||void 0,"data-ending-style":b==="ending"||void 0};return f?u?u(v,y):V("span",{...v,...o,children:n}):null}),Or=R.forwardRef(function(e,t){let{render:s,children:u,style:n,...o}=e,a=P("SeekSliderHover"),r=a.hoverProgress!==null,l=a.hoverProgress??0,p={hovering:r,hoverProgress:a.hoverProgress,hoverTime:a.hoverTime},i={position:"absolute",left:0,top:0,height:"100%",width:`${l}%`,pointerEvents:"none",...n},f={ref:t,style:i,"data-hovering":r||void 0};return s?s(f,p):V("div",{...f,...o,children:u})});function Ge({children:c,container:e}){let t=P("SeekSliderPreviewTooltipPortal"),[s,u]=R.useState(!1);if(R.useEffect(()=>{u(!0)},[]),!s)return null;let n=e??t.rootRef.current??document.body;return Mr.createPortal(c,n)}var ze=R.forwardRef(function(e,t){let{sideOffset:s=8,collisionPadding:u=0,collisionBoundary:n,keepMounted:o=!1,children:a,style:r,...l}=e,p=Er("SeekSliderPreviewTooltipPositioner"),{previewThumbElement:i,open:f,hoverProgress:b}=p,[S,T]=R.useState(null),{refs:y,floatingStyles:x,update:v}=Ln({placement:"top",middleware:[Vn(s),wn({boundary:n,padding:u})]});R.useLayoutEffect(()=>{i&&y.setReference(i)},[i,y]),R.useEffect(()=>{if(f&&i&&S)return Bn(i,S,v)},[f,i,S,v]),R.useLayoutEffect(()=>{f&&i&&S&&v()},[b,f,i,S,v]);let k=R.useCallback(M=>{y.setFloating(M),T(M),typeof t=="function"?t(M):t&&(t.current=M)},[y,t]);return(o||f)&&!!i?V("div",{ref:k,style:{...x,...r},"data-seek-slider-preview-tooltip-positioner":!0,"data-open":f||void 0,"data-closed":!f||void 0,...l,children:a}):null}),Je=R.forwardRef(function(e,t){let{children:s,...u}=e;return V("div",{ref:t,"data-seek-slider-preview-tooltip-popup":!0,...u,children:s})});function me({sideOffset:c,collisionPadding:e,collisionBoundary:t,keepMounted:s,container:u,children:n,...o}){return V(Ge,{container:u,children:V(ze,{sideOffset:c,collisionPadding:e,collisionBoundary:t,keepMounted:s,children:V(Je,{...o,children:n})})})}me.Portal=Ge;me.Positioner=ze;me.Popup=Je;var Ze=(s=>(s.loading="data-loading",s.ready="data-ready",s.error="data-error",s))(Ze||{});import*as F from"react";import{jsx as In}from"react/jsx-runtime";var Ar=F.forwardRef(function(e,t){let{time:s,crossOrigin:u="anonymous",render:n,children:o,width:a,height:r,...l}=e,p=P("Thumbnail"),i=F.useRef(null),f=F.useRef(null),b=F.useRef(null),[S,T]=F.useState("idle"),[y,x]=F.useState({width:160,height:90}),v=s!==void 0?s:p.hoverTime,k=F.useMemo(()=>{let h=p.videoRef.current;return h?h.currentSrc||h.src:null},[p.videoRef]);F.useEffect(()=>{if(!k)return;let h=document.createElement("video");h.src=k,h.crossOrigin=u,h.preload="metadata",h.muted=!0,h.playsInline=!0;let $=()=>{x({width:h.videoWidth,height:h.videoHeight})},U=()=>{T("error")};return h.addEventListener("loadedmetadata",$),h.addEventListener("error",U),f.current=h,()=>{h.removeEventListener("loadedmetadata",$),h.removeEventListener("error",U),h.src="",f.current=null}},[k,u]),F.useEffect(()=>{let h=f.current,$=i.current;if(!h||!$||v===null||v===void 0||b.current!==null&&Math.abs(b.current-v)<.1)return;T("loading");let U=()=>{let q=$.getContext("2d");if(q)try{q.drawImage(h,0,0,$.width,$.height),b.current=v,T("ready")}catch{T("error")}};return h.addEventListener("seeked",U,{once:!0}),h.currentTime=v,()=>{h.removeEventListener("seeked",U)}},[v]);let L=F.useCallback(h=>{i.current=h,typeof t=="function"?t(h):t&&(t.current=h)},[t]),M=y.width/y.height,w=a??160,H=r??Math.round(w/M);typeof w=="string"&&(w=160),typeof H=="string"&&(H=90);let Q={loading:S==="loading",ready:S==="ready",error:S==="error",time:v,videoWidth:y.width,videoHeight:y.height},D={ref:L,width:w,height:H,"data-loading":S==="loading"||void 0,"data-ready":S==="ready"||void 0,"data-error":S==="error"||void 0};return n?n(D,Q):In("canvas",{...D,...l,children:o})});var et=(e=>(e.hovering="data-hovering",e))(et||{});import*as tt from"react";import{Fragment as An,jsx as mt,jsxs as Wn}from"react/jsx-runtime";var Wr=tt.forwardRef(function(e,t){let{format:s="current / duration",fixedWidth:u=!0,align:n="left",render:o,...a}=e,r=P("TimeDisplay"),l=tt.useRef(0);r.hoverTime!==null&&(l.current=r.hoverTime);let p=r.duration-r.currentTime,i=Pe(r.currentTime),f=Pe(r.duration),b=Pe(p),S=r.hoverTime!==null?Pe(r.hoverTime):Pe(l.current),T={currentTime:r.currentTime,duration:r.duration,remaining:p,hoverTime:r.hoverTime,hovering:r.hoverTime!==null,formattedCurrent:i,formattedDuration:f,formattedRemaining:b,formattedHover:S},y=()=>{switch(s){case"current":return i;case"duration":return f;case"remaining":return`-${b}`;case"current / duration":return`${i} / ${f}`;case"current / remaining":return`${i} / -${b}`;case"hover":return S;default:return`${i} / ${f}`}},x=()=>{let k=On(r.duration);switch(s){case"current":case"duration":case"hover":return k;case"remaining":return`-${k}`;case"current / duration":return`${k} / ${k}`;case"current / remaining":return`${k} / -${k}`;default:return`${k} / ${k}`}},v={ref:t,style:{position:u?"relative":void 0,userSelect:"none",fontVariantNumeric:"tabular-nums",...a.style},"data-hovering":T.hovering||void 0};return o?o(v,T):mt("span",{ref:t,"data-hovering":T.hovering||void 0,...a,style:{position:u?"relative":void 0,userSelect:"none",fontVariantNumeric:"tabular-nums",...a.style},children:u?Wn(An,{children:[mt("span",{"aria-hidden":!0,style:{visibility:"hidden"},children:x()}),mt("span",{style:Dn(n),children:y()})]}):y()})});function Dn(c){let e={position:"absolute"};switch(c){case"left":return{...e,left:0};case"right":return{...e,right:0};case"center":return{...e,left:"50%",transform:"translateX(-50%)"}}}function Pe(c){if(!Number.isFinite(c)||Number.isNaN(c))return"0:00";let e=Math.floor(c/3600),t=Math.floor(c%3600/60),s=Math.floor(c%60);return e>0?`${e}:${t.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`:`${t}:${s.toString().padStart(2,"0")}`}function On(c){if(!Number.isFinite(c)||Number.isNaN(c)||c<=0)return"0:00";let e=Math.floor(c/3600),t=Math.floor(c%3600/60);if(e>0){let u=String(e).length;return`${"0".repeat(u)}:00:00`}let s=String(t).length;return`${"0".repeat(s)}:00`}import*as K from"react";import{jsx as Fn}from"react/jsx-runtime";var Fr=K.forwardRef(function(e,t){let{kind:s="captions",src:u,label:n,srcLang:o,default:a,...r}=e,{registerTrack:l,unregisterTrack:p,updateTrackRef:i,setTextTrack:f}=P("Track"),b=K.useRef(null),S=K.useId(),T=K.useCallback(y=>{typeof t=="function"?t(y):t&&(t.current=y),b.current=y},[t]);return K.useEffect(()=>(l({id:S,kind:s,label:n,srcLang:o,src:u,textTrack:null}),()=>{p(S)}),[S,s,n,o,u,l,p]),K.useEffect(()=>{let y=b.current;if(!y)return;let x=()=>{y.track&&(y.track.mode="disabled",i(S,y.track),a&&f(y.track))};return y.track&&x(),y.addEventListener("load",x),()=>{y.removeEventListener("load",x)}},[S,a,i,f]),Fn("track",{ref:T,kind:s,src:u,label:n,srcLang:o,default:a,...r})});import*as de from"react";import{jsx as Qn}from"react/jsx-runtime";var Qr=de.forwardRef(function(e,t){let{toggleOnClick:s=!0,...u}=e,n=P("Video"),o=de.useRef(!1),a=de.useCallback(p=>{typeof t=="function"?t(p):t&&(t.current=p),n.videoRef.current=p,p&&!o.current&&(o.current=!0,n._handlers.onVideoMount(),p.readyState>=1&&p.duration&&(n._handlers.onLoadedMetadata(),n._handlers.onDurationChange()),p.readyState>=3&&n._handlers.onCanPlay())},[t,n.videoRef,n._handlers]),r={"data-playing":n.playing||void 0,"data-paused":n.paused||void 0,"data-ended":n.ended||void 0,"data-waiting":n.waiting||void 0,"data-seeking":n.seeking||void 0},l=E({ref:a,preload:"metadata",...r,onClick(){s&&n.toggle()},onTimeUpdate:n._handlers.onTimeUpdate,onDurationChange:n._handlers.onDurationChange,onProgress:n._handlers.onProgress,onPlay:n._handlers.onPlay,onPause:n._handlers.onPause,onEnded:n._handlers.onEnded,onWaiting:n._handlers.onWaiting,onCanPlay:n._handlers.onCanPlay,onSeeking:n._handlers.onSeeking,onSeeked:n._handlers.onSeeked,onVolumeChange:n._handlers.onVolumeChange,onLoadedMetadata:n._handlers.onLoadedMetadata},u);return Qn("video",{...l})});var rt=(t=>(t.volume="--volume",t.volumePercentage="--volume-percentage",t))(rt||{});var nt=(u=>(u.muted="data-muted",u.volume="data-volume",u.pressing="data-pressing",u.dragging="data-dragging",u))(nt||{});import{Slider as G}from"@base-ui/react/slider";import*as O from"react";import{jsx as ee,jsxs as $n}from"react/jsx-runtime";var $r=O.forwardRef(function(e,t){let{render:s,children:u,onPointerDown:n,...o}=e,a=P("VolumeSlider"),r=O.useRef(null),[l,p]=O.useState(!1),[i,f]=O.useState(!1),b=O.useRef(!1);O.useEffect(()=>{if(!l)return;let M=()=>{p(!1),f(!1),b.current=!1};return window.addEventListener("pointerup",M),()=>window.removeEventListener("pointerup",M)},[l]),O.useLayoutEffect(()=>{typeof t=="function"?t(r.current):t&&(t.current=r.current)});let S=a.volume*100,T={volume:a.volume,muted:a.muted,percentage:S,pressing:l,dragging:i},y=O.useCallback(M=>{let w=typeof M=="number"?M:M[0];if(w!==void 0){if(a.muted){let H=a.videoRef.current;H&&(H.muted=!1)}a.setVolume(w),a.resetIdle(),b.current&&f(!0)}},[a]),x=O.useCallback(M=>{n?.(M),p(!0),b.current=!0},[n]),v={"data-muted":a.muted||void 0,"data-volume":a.volume,"data-pressing":l||void 0,"data-dragging":i||void 0},k={position:"relative","--volume":a.volume,"--volume-percentage":`${S}%`,...o.style},L={"data-muted":a.muted||void 0,"data-volume":a.volume,"data-pressing":l||void 0,"data-dragging":i||void 0,style:k};return s?ee(G.Root,{ref:r,min:0,max:1,step:.01,value:a.muted?0:a.volume,onValueChange:y,onPointerDown:x,"aria-label":"Volume",render:M=>s({...M,...L},T)}):ee(G.Root,{ref:r,min:0,max:1,step:.01,value:a.muted?0:a.volume,onValueChange:y,onPointerDown:x,"aria-label":"Volume",...v,...o,style:k,children:u??ee(G.Control,{children:$n(G.Track,{children:[ee(G.Indicator,{}),ee(G.Thumb,{})]})})})}),Nr=G.Control,jr=O.forwardRef(function(e,t){let{style:s,...u}=e,n={position:"relative",...s};return ee(G.Track,{ref:t,style:n,...u})}),Ur=O.forwardRef(function(e,t){return ee(G.Indicator,{ref:t,...e})}),_r=O.forwardRef(function(e,t){return ee(G.Thumb,{ref:t,...e})});export{Kr as VideoPlayer,ie as useVideoPlayer};
|
|
1
|
+
import{a as E}from"../chunk-IT372NHF.js";import{a as en}from"../chunk-4C666HHU.js";import*as He from"react";var at=He.createContext(null);function P(c){let e=He.useContext(at);if(!e)throw new Error(`<VideoPlayer.${c}> must be used within <VideoPlayer.Root>`);return e}function ie(){return P("useVideoPlayer")}var Kr={};en(Kr,{BufferedIndicator:()=>nr,Captions:()=>ir,CaptionsButton:()=>lr,CaptionsDataAttributes:()=>De,CaptionsMenu:()=>ur,CaptionsMenuItem:()=>Ae,Controls:()=>cr,ControlsDataAttributes:()=>We,FullscreenButton:()=>dr,MuteButton:()=>fr,Overlay:()=>mr,OverlayDataAttributes:()=>Fe,PictureInPictureButton:()=>Pr,PlayButton:()=>Rr,PlaybackRateButton:()=>br,PlaybackRateMenu:()=>kr,PlaybackRateMenuItem:()=>ut,Portal:()=>gr,Poster:()=>vr,QualityMenu:()=>Tr,QualityMenuItem:()=>pt,Root:()=>xr,RootDataAttributes:()=>je,SeekSlider:()=>Br,SeekSliderBuffered:()=>Ir,SeekSliderControl:()=>Vr,SeekSliderCssVars:()=>qe,SeekSliderDataAttributes:()=>Xe,SeekSliderHover:()=>Or,SeekSliderPreviewThumb:()=>Dr,SeekSliderPreviewThumbDataAttributes:()=>Ye,SeekSliderPreviewTooltip:()=>me,SeekSliderPreviewTooltipPopup:()=>Je,SeekSliderPreviewTooltipPortal:()=>Ge,SeekSliderPreviewTooltipPositioner:()=>ze,SeekSliderProgress:()=>Lr,SeekSliderThumb:()=>Hr,SeekSliderTrack:()=>wr,Thumbnail:()=>Ar,ThumbnailDataAttributes:()=>Ze,TimeDisplay:()=>Wr,TimeDisplayDataAttributes:()=>et,Track:()=>Fr,Video:()=>Qr,VolumeSlider:()=>$r,VolumeSliderControl:()=>Nr,VolumeSliderCssVars:()=>rt,VolumeSliderDataAttributes:()=>nt,VolumeSliderRange:()=>Ur,VolumeSliderThumb:()=>_r,VolumeSliderTrack:()=>jr,useTransitionStatus:()=>Y,useVideoPlayer:()=>ie});import*as Ie from"react";import{jsx as tn}from"react/jsx-runtime";var nr=Ie.forwardRef(function(e,r){let{render:l,...u}=e,n=P("BufferedIndicator"),o=Ie.useMemo(()=>{if(!n.buffered||n.buffered.length===0)return 0;for(let i=0;i<n.buffered.length;i++)if(n.buffered.start(i)<=n.currentTime&&n.currentTime<=n.buffered.end(i))return n.buffered.end(i);return n.buffered.end(0)},[n.buffered,n.currentTime]),a=n.duration>0?o/n.duration*100:0,t={buffered:n.buffered,duration:n.duration,bufferedPercentage:a,bufferedEnd:o},s={"--buffered-percentage":`${a}%`,"--buffered-end":o,...u.style},p={ref:r,style:s,"aria-hidden":!0};return l?l(p,t):tn("div",{ref:r,"aria-hidden":"true",...u,style:s})});var De=(e=>(e.active="data-active",e))(De||{});import*as ar from"react";import{jsx as or}from"react/jsx-runtime";var ir=ar.forwardRef(function(e,r){let{render:l,children:u,...n}=e,a=P("Captions").activeCues,t=a.map(f=>f.text).join(`
|
|
2
|
+
`),s=a.length>0,p={active:s,cueText:t,cues:a},i={ref:r,"aria-live":"polite","aria-atomic":!0,role:"status",style:{pointerEvents:"none"},"data-active":s||void 0};return l?l(i,p):u?or("div",{...i,...n,children:u}):or("div",{...i,...n,children:t})});import*as sr from"react";import{jsx as rn}from"react/jsx-runtime";var lr=sr.forwardRef(function(e,r){let{render:l,...u}=e,n=P("CaptionsButton"),o=n.registeredTracks.length>0,a=n.activeTextTrack!==null,t={active:a,available:o,trackCount:n.registeredTracks.length},s=E({ref:r,type:"button","aria-label":a?"Disable captions":"Enable captions","aria-pressed":a,disabled:!o,"data-active":a||void 0,"data-available":o||void 0,onClick(){if(a)n.setTextTrack(null);else if(n.registeredTracks.length>0){let p=n.registeredTracks[0];p?.textTrack&&n.setTextTrack(p.textTrack)}}},u);return l?l(s,t):rn("button",{...s})});import*as it from"react";import{Fragment as nn,jsx as Oe,jsxs as on}from"react/jsx-runtime";var ur=it.forwardRef(function(e,r){let{render:l,children:u,...n}=e,o=P("CaptionsMenu"),a={registeredTracks:o.registeredTracks,activeTextTrack:o.activeTextTrack},t={ref:r,role:"menu","aria-label":"Captions","data-active":o.activeTextTrack!==null||void 0};return l?l(t,a):Oe("div",{...t,...n,children:u??on(nn,{children:[Oe(Ae,{track:null,children:"Off"}),o.registeredTracks.map(s=>Oe(Ae,{track:s.textTrack,children:s.label},s.id))]})})}),Ae=it.forwardRef(function(e,r){let{track:l,children:u,...n}=e,o=P("CaptionsMenuItem"),a=o.activeTextTrack===l,t=E({ref:r,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setTextTrack(l)}},n);return Oe("button",{...t,children:u})});var We=(t=>(t.open="data-open",t.closed="data-closed",t.idle="data-idle",t.playing="data-playing",t.paused="data-paused",t.ended="data-ended",t.startingStyle="data-starting-style",t.endingStyle="data-ending-style",t))(We||{});import*as fe from"react";import*as X from"react";function an(c){let e=[...c.getAnimations(),...Array.from(c.querySelectorAll("*")).flatMap(r=>r.getAnimations())];return e.length===0?Promise.resolve():Promise.all(e.map(r=>r.finished)).then(()=>{}).catch(()=>{})}function Y(c){let{open:e,keepMounted:r=!1}=c,[l,u]=X.useState(e||r),[n,o]=X.useState(e?"starting":void 0),a=X.useRef(null),t=X.useRef(!1);return X.useEffect(()=>{if(e){t.current=!1,u(!0),o("starting");let s=requestAnimationFrame(()=>{requestAnimationFrame(()=>{o(void 0)})});return()=>cancelAnimationFrame(s)}},[e]),X.useEffect(()=>{if(!e&&l&&!t.current){o("ending");let s=a.current;if(!s){o(void 0),r||u(!1);return}t.current=!0;let p=requestAnimationFrame(()=>{requestAnimationFrame(()=>{an(s).then(()=>{t.current&&(t.current=!1,o(void 0),r||u(!1))})})});return()=>{cancelAnimationFrame(p)}}},[e,l,r]),X.useEffect(()=>{r&&!l&&!e&&u(!0)},[r,l,e]),{mounted:l||r,transitionStatus:n,elementRef:a}}import{jsx as sn}from"react/jsx-runtime";var cr=fe.forwardRef(function(e,r){let{idleTimeout:l,keepMounted:u=!1,render:n,children:o,...a}=e,t=P("Controls"),p=(l??t.idleTimeout)===0||!t.idle,{mounted:i,transitionStatus:f,elementRef:b}=Y({open:p,keepMounted:u}),S=fe.useCallback(L=>{b.current=L,typeof r=="function"?r(L):r&&(r.current=L)},[r,b]),{onClick:T,...y}=a,x=fe.useCallback(L=>{L.stopPropagation(),T?.(L)},[T]),v={open:p,idle:t.idle,playing:t.playing,paused:t.paused,ended:t.ended},k={ref:S,onClick:x,"data-open":p||void 0,"data-closed":!p||void 0,"data-idle":t.idle||void 0,"data-playing":t.playing||void 0,"data-paused":t.paused||void 0,"data-ended":t.ended||void 0,"data-starting-style":f==="starting"||void 0,"data-ending-style":f==="ending"||void 0};return i?n?n(k,v):sn("div",{...k,...y,children:o}):null});import*as ue from"react";import{jsx as ln}from"react/jsx-runtime";var dr=ue.forwardRef(function(e,r){let{render:l,children:u,...n}=e,o=P("FullscreenButton"),[a,t]=ue.useState(!1);ue.useEffect(()=>{t("fullscreenEnabled"in document&&document.fullscreenEnabled)},[]);let s={fullscreen:o.fullscreen,supported:a},p=E({ref:r,type:"button","aria-label":o.fullscreen?"Exit fullscreen":"Enter fullscreen","aria-pressed":o.fullscreen,disabled:!a,"data-fullscreen":o.fullscreen||void 0,"data-supported":a||void 0,onClick(){o.toggleFullscreen()}},n);return l?l(p,s):ln("button",{...p,children:u})});import*as pr from"react";import{jsx as un}from"react/jsx-runtime";var fr=pr.forwardRef(function(e,r){let{render:l,...u}=e,n=P("MuteButton"),o={muted:n.muted,volume:n.volume},a=n.volume,t=n.muted,s=a===0||t,p=a>0&&!t,i=!t&&a>0&&a<.5,f=!t&&a>=.5,b=E({ref:r,type:"button","aria-label":n.muted?"Unmute":"Mute","aria-pressed":n.muted,"data-muted":t||void 0,"data-volume-off":s||void 0,"data-volume-on":p||void 0,"data-volume-low":i||void 0,"data-volume-high":f||void 0,onClick(){n.toggleMute()}},u);return l?l(b,o):un("button",{...b})});var Fe=(i=>(i.open="data-open",i.closed="data-closed",i.playing="data-playing",i.paused="data-paused",i.ended="data-ended",i.waiting="data-waiting",i.seeking="data-seeking",i.fullscreen="data-fullscreen",i.pip="data-pip",i.startingStyle="data-starting-style",i.endingStyle="data-ending-style",i))(Fe||{});import*as Qe from"react";import{jsx as cn}from"react/jsx-runtime";var mr=Qe.forwardRef(function(e,r){let{idleTimeout:l,keepMounted:u=!1,render:n,children:o,...a}=e,t=P("Overlay"),p=(l??t.idleTimeout)===0||!t.idle,{mounted:i,transitionStatus:f,elementRef:b}=Y({open:p,keepMounted:u}),S=Qe.useCallback(x=>{b.current=x,typeof r=="function"?r(x):r&&(r.current=x)},[r,b]),T={playing:t.playing,paused:t.paused,ended:t.ended,waiting:t.waiting,seeking:t.seeking,fullscreen:t.fullscreen,pictureInPicture:t.pictureInPicture,open:p},y=E({ref:S,onClick(){t.toggle()},"data-playing":t.playing||void 0,"data-paused":t.paused||void 0,"data-ended":t.ended||void 0,"data-waiting":t.waiting||void 0,"data-seeking":t.seeking||void 0,"data-fullscreen":t.fullscreen||void 0,"data-pip":t.pictureInPicture||void 0,"data-open":p||void 0,"data-closed":!p||void 0,"data-starting-style":f==="starting"||void 0,"data-ending-style":f==="ending"||void 0},a);return i?n?n(y,T):cn("div",{...y,...a,children:o}):null});import*as ce from"react";import{jsx as dn}from"react/jsx-runtime";var Pr=ce.forwardRef(function(e,r){let{render:l,...u}=e,n=P("PictureInPictureButton"),[o,a]=ce.useState(!1);ce.useEffect(()=>{a("pictureInPictureEnabled"in document&&document.pictureInPictureEnabled)},[]);let t={pictureInPicture:n.pictureInPicture,supported:o},s=E({ref:r,type:"button","aria-label":n.pictureInPicture?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":n.pictureInPicture,disabled:!o,"data-pip":n.pictureInPicture||void 0,"data-supported":o||void 0,onClick(){n.togglePictureInPicture()}},u);return l?l(s,t):dn("button",{...s})});import*as yr from"react";import{jsx as pn}from"react/jsx-runtime";var Rr=yr.forwardRef(function(e,r){let{render:l,children:u,...n}=e,o=P("PlayButton"),a={playing:o.playing,paused:o.paused,ended:o.ended,waiting:o.waiting},t=E({ref:r,type:"button","aria-label":o.playing?"Pause":"Play","data-playing":o.playing||void 0,"data-paused":o.paused||void 0,"data-ended":o.ended||void 0,"data-waiting":o.waiting||void 0,onClick(){o.toggle()}},n);return l?l(t,a):pn("button",{...t,children:u})});import*as Sr from"react";import{jsx as mn}from"react/jsx-runtime";var fn=[.25,.5,.75,1,1.25,1.5,1.75,2],br=Sr.forwardRef(function(e,r){let{rates:l=fn,render:u,children:n,...o}=e,a=P("PlaybackRateButton"),t={playbackRate:a.playbackRate,rates:l},s=E({ref:r,type:"button","aria-label":`Playback speed: ${a.playbackRate}x`,"data-rate":a.playbackRate,onClick(){let p=l.indexOf(a.playbackRate),i=l[(p+1)%l.length]??l[0]??a.playbackRate;a.setPlaybackRate(i)}},o);return u?u(s,t):mn("button",{...s,children:n??`${a.playbackRate}x`})});import*as lt from"react";import{jsx as st}from"react/jsx-runtime";var Pn=[.25,.5,.75,1,1.25,1.5,1.75,2],kr=lt.forwardRef(function(e,r){let{rates:l=Pn,render:u,children:n,...o}=e,a=P("PlaybackRateMenu"),t={playbackRate:a.playbackRate,rates:l},s={ref:r,role:"menu","aria-label":"Playback speed","data-rate":a.playbackRate};return u?u(s,t):st("div",{...s,...o,children:n??l.map(p=>st(ut,{rate:p},p))})}),ut=lt.forwardRef(function(e,r){let{rate:l,children:u,...n}=e,o=P("PlaybackRateMenuItem"),a=o.playbackRate===l,t=E({ref:r,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setPlaybackRate(l)}},n);return st("button",{...t,children:u??`${l}x`})});import*as $e from"react";import{createPortal as yn}from"react-dom";function gr(c){let{children:e,container:r}=c,[l,u]=$e.useState(!1);if($e.useEffect(()=>(u(!0),()=>u(!1)),[]),!l)return null;let n=r??(typeof document<"u"?document.body:null);return n?yn(e,n):null}import*as Ne from"react";import{jsx as Sn}from"react/jsx-runtime";var vr=Ne.forwardRef(function(e,r){let{keepMounted:l=!1,render:u,children:n,...o}=e,a=P("Poster"),t=!a.canPlay,s=a.canPlay,{mounted:p,transitionStatus:i,elementRef:f}=Y({open:t,keepMounted:l}),b=Rn(r,f),S={loading:t,loaded:s,transitionStatus:i},T={ref:b,"aria-hidden":!0,"data-loading":t||void 0,"data-loaded":s||void 0,"data-starting-style":i==="starting"||void 0,"data-ending-style":i==="ending"||void 0};return p?u?u(T,S):Sn("div",{...T,...o,children:n}):null});function Rn(...c){return Ne.useCallback(e=>{for(let r of c)typeof r=="function"?r(e):r!=null&&(r.current=e)},c)}import*as dt from"react";import{jsx as ct}from"react/jsx-runtime";var Tr=dt.forwardRef(function(e,r){let{render:l,children:u,...n}=e,o=P("QualityMenu"),a={qualities:o.qualities,activeQuality:o.activeQuality},t={ref:r,role:"menu","aria-label":"Video quality","data-quality":o.activeQuality?.label??void 0};return l?l(t,a):ct("div",{...t,...n,children:u??o.qualities.map(s=>ct(pt,{quality:s,children:s.label},s.label))})}),pt=dt.forwardRef(function(e,r){let{quality:l,children:u,...n}=e,o=P("QualityMenuItem"),a=o.activeQuality?.label===l.label,t=E({ref:r,type:"button",role:"menuitemradio","aria-checked":a,"data-active":a||void 0,onClick(){o.setQuality(l)}},n);return ct("button",{...t,children:u})});var je=(s=>(s.playing="data-playing",s.paused="data-paused",s.ended="data-ended",s.waiting="data-waiting",s.seeking="data-seeking",s.fullscreen="data-fullscreen",s.pip="data-pip",s.muted="data-muted",s.idle="data-idle",s))(je||{});import*as d from"react";import*as Ue from"react";function bn(c,e){return!(c instanceof HTMLElement)||c instanceof HTMLInputElement&&c.type==="range"&&e===" "?!1:c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.isContentEditable}function kn(c){return c==="ArrowRight"||c==="ArrowLeft"}function hr(c,e){let r=ie(),l=Ue.useRef(r);l.current=r,Ue.useEffect(()=>{if(e==="none")return;let u=a=>{if(bn(a.target,a.key))return;let t=l.current;switch(a.key){case" ":a.preventDefault(),t.toggle();break;case"f":case"F":a.preventDefault(),t.toggleFullscreen();break;case"ArrowUp":a.preventDefault(),t.setVolume(Math.min(t.volume+.1,1));break;case"ArrowDown":a.preventDefault(),t.setVolume(Math.max(t.volume-.1,0));break;case"ArrowRight":a.preventDefault(),t.beginSeekInteraction(),t.seek(Math.min(t.currentTime+5,t.duration));break;case"ArrowLeft":a.preventDefault(),t.beginSeekInteraction(),t.seek(Math.max(t.currentTime-5,0));break;default:return}t.resetIdle()},n=a=>{kn(a.key)&&l.current.endSeekInteraction()};if(e==="global")return window.addEventListener("keydown",u),window.addEventListener("keyup",n),()=>{window.removeEventListener("keydown",u),window.removeEventListener("keyup",n)};let o=c.current;if(o)return o.addEventListener("keydown",u),o.addEventListener("keyup",n),()=>{o.removeEventListener("keydown",u),o.removeEventListener("keyup",n)}},[e,c])}import{jsx as Ke,jsxs as hn}from"react/jsx-runtime";function _e(c,e,r){let[l,u]=d.useState(e),n=c!==void 0,o=n?c:l,a=d.useCallback(t=>{let s=typeof t=="function"?t(o):t;n||u(s),r?.(s)},[n,o,r]);return[o,a]}function gn({rootRef:c,videoRef:e,actionsRef:r,defaultPlaying:l=!1,autoPlay:u=!1,defaultVolume:n=1,defaultMuted:o=!1,defaultPlaybackRate:a=1,playing:t,onPlayingChange:s,volume:p,onVolumeChange:i,muted:f,onMutedChange:b,playbackRate:S,onPlaybackRateChange:T,currentTime:y,onCurrentTimeChange:x,idleTimeout:v=3e3,preventIdleWhenPaused:k=!1,idle:L,onIdleChange:M,onEnded:w,onWaiting:H,onSeeking:Q,onSeeked:D,onFullscreenChange:h,onPictureInPictureChange:$,children:U}){let q=d.useRef(1),_=d.useRef(!1),z=d.useRef(!1),Z=d.useRef(!1),[B,I]=d.useState("paused"),[g,A]=d.useState(l?"play":"pause");d.useEffect(()=>{t!==void 0&&(A(t?"play":"pause"),B!=="waiting"&&I(t?"playing":"paused"))},[t,B]);let[W,te]=_e(p,n,i),[J,pe]=_e(f,o,b),[Pt,yt]=_e(S,a,T),[qr,re]=_e(L,!0,M),ne=d.useRef(null),ye=d.useCallback(()=>{ne.current&&(clearTimeout(ne.current),ne.current=null)},[]),Rt=d.useCallback(()=>{v!==0&&(ye(),ne.current=setTimeout(()=>{re(!0)},v))},[v,ye,re]),St=d.useCallback(()=>{re(!1),Rt()},[re,Rt]),bt=d.useCallback(()=>{ye(),re(!0)},[ye,re]);d.useEffect(()=>(v>0&&(ne.current=setTimeout(()=>{re(!0)},v)),()=>{ne.current&&clearTimeout(ne.current)}),[]);let kt=k&&B!=="playing"?!1:qr,se=d.useCallback(()=>{let m=e.current;m&&(m.muted!==J&&(m.muted=J),m.volume!==W&&(m.volume=W))},[J,e,W]),Re=d.useCallback(async()=>{let m=e.current;if(!(!u||!m||Z.current)){Z.current=!0,A("play"),se();try{await m.play(),I("playing"),s?.(!0)}catch{A("pause"),I("paused")}}},[u,s,se,e]);d.useEffect(()=>{if(!u){Z.current=!1;return}Re()},[u,Re]);let[gt,vt]=d.useState(0),[Se,Tt]=d.useState(0),[ht,Xr]=d.useState(null),[be,Yr]=d.useState(null),[xt,Ct]=d.useState(!1),[Mt,le]=d.useState(!1),[ke,Gr]=d.useState(!1),[ge,Et]=d.useState(!1),[Bt,ot]=d.useState([]),[oe,zr]=d.useState(null),[Vt,ve]=d.useState([]),[wt,Wn]=d.useState([]),[Lt,Jr]=d.useState(null);d.useEffect(()=>{y!==void 0&&e.current&&(e.current.currentTime=y)},[y,e]),d.useEffect(()=>{f===void 0&&p===void 0||se()},[f,p,se]),d.useEffect(()=>{let m=()=>{let C=document.fullscreenElement===c.current;Gr(C),h?.(C)};return document.addEventListener("fullscreenchange",m),()=>document.removeEventListener("fullscreenchange",m)},[h,c]),d.useEffect(()=>{let m=e.current;if(!m)return;let C=()=>{Et(!0),$?.(!0)},N=()=>{Et(!1),$?.(!1)};return m.addEventListener("enterpictureinpicture",C),m.addEventListener("leavepictureinpicture",N),()=>{m.removeEventListener("enterpictureinpicture",C),m.removeEventListener("leavepictureinpicture",N)}},[$,e]);let Te=d.useCallback(async()=>{e.current&&(A("play"),await e.current.play(),I("playing"),s?.(!0))},[e,s]),he=d.useCallback(()=>{e.current&&(A("pause"),e.current.pause(),I("paused"),s?.(!1))},[e,s]),xe=d.useCallback(async()=>{B==="playing"?he():await Te()},[B,Te,he]),Ce=d.useCallback(m=>{e.current&&(e.current.currentTime=m,vt(m),x?.(m))},[x,e]),Ht=d.useCallback(()=>{let m=e.current;!m||_.current||(_.current=!0,z.current=g==="play",le(!0),z.current&&!m.paused&&m.pause())},[g,e]),It=d.useCallback(()=>{let m=e.current;if(!m||!_.current)return;let C=z.current&&g==="play";if(_.current=!1,z.current=!1,!C){le(!1);return}m.play().then(()=>{I("playing"),le(!1)}).catch(()=>{I("waiting"),le(!1)})},[g,e]),Me=d.useCallback(m=>{let C=Math.max(0,Math.min(1,m));e.current&&(e.current.volume=C),te(C)},[te,e]),Dt=d.useCallback(()=>{if(!(J||W===0))q.current=W,e.current&&(e.current.muted=!0),pe(!0);else{let C=q.current>0?q.current:1;e.current&&(e.current.volume=C,e.current.muted=!1),te(C),pe(!1)}},[J,W,pe,te,e]),Ee=d.useCallback(async()=>{c.current?.requestFullscreen&&await c.current.requestFullscreen()},[c]),Be=d.useCallback(async()=>{document.exitFullscreen&&await document.exitFullscreen()},[]),Ve=d.useCallback(async()=>{ke?await Be():await Ee()},[ke,Ee,Be]),we=d.useCallback(async()=>{e.current?.requestPictureInPicture&&await e.current.requestPictureInPicture()},[e]),Le=d.useCallback(async()=>{document.pictureInPictureElement&&await document.exitPictureInPicture()},[]),Ot=d.useCallback(async()=>{ge?await Le():await we()},[ge,we,Le]),At=d.useCallback(m=>{e.current&&(e.current.playbackRate=m),yt(m)},[yt,e]),Wt=d.useCallback(m=>{if(e.current){for(let C=0;C<e.current.textTracks.length;C++){let N=e.current.textTracks[C];N&&(N.mode="disabled")}m&&(m.mode="hidden")}zr(m),ve([])},[e]),Ft=d.useCallback(m=>{Jr(m)},[]),Qt=d.useCallback(m=>{ot(C=>C.some(N=>N.id===m.id)?C:[...C,m])},[]),$t=d.useCallback(m=>{ot(C=>C.filter(N=>N.id!==m))},[]),Nt=d.useCallback((m,C)=>{ot(N=>N.map(ae=>ae.id===m?{...ae,textTrack:C}:ae))},[]);d.useEffect(()=>{if(!oe){ve([]);return}let m=()=>{let C=oe.activeCues;if(!C){ve([]);return}let N=[];for(let ae=0;ae<C.length;ae++){let rr=C[ae];rr instanceof VTTCue&&N.push(rr)}ve(N)};return m(),oe.addEventListener("cuechange",m),()=>{oe.removeEventListener("cuechange",m)}},[oe]),d.useImperativeHandle(r,()=>({toggle:xe,seek:Ce,setVolume:Me,toggleFullscreen:Ve}),[xe,Ce,Me,Ve]);let jt=d.useCallback(()=>{if(e.current){let m=e.current.currentTime;vt(m),x?.(m)}},[x,e]),Ut=d.useCallback(()=>{e.current&&Tt(e.current.duration)},[e]),_t=d.useCallback(()=>{e.current&&Xr(e.current.buffered)},[e]),Kt=d.useCallback(()=>{A("play"),I("playing"),s?.(!0)},[s]),qt=d.useCallback(()=>{_.current||B!=="ended"&&(I("paused"),s?.(!1))},[B,s]),Xt=d.useCallback(()=>{A("pause"),I("ended"),s?.(!1),w?.()},[s,w]),Yt=d.useCallback(()=>{_.current||(I("waiting"),H?.())},[H]),Gt=d.useCallback(()=>{if(_.current){Ct(!0);return}if(B==="waiting"){let m=g==="play"?"playing":"paused";I(m),s?.(m==="playing")}Ct(!0)},[B,g,s]),zt=d.useCallback(()=>{le(!0),B==="ended"&&I("paused"),Q?.()},[B,Q]),Jt=d.useCallback(()=>{if(le(!1),e.current){let{currentTime:m,duration:C}=e.current;C>0&&C-m<.01&&I("ended")}D?.()},[D,e]),Zt=d.useCallback(()=>{e.current&&(te(e.current.volume),pe(e.current.muted))},[te,pe,e]),er=d.useCallback(()=>{e.current&&Tt(e.current.duration)},[e]),tr=d.useCallback(()=>{se(),Re()},[Re,se]),Zr=d.useMemo(()=>({playbackStatus:B,playbackIntent:g,playing:B==="playing",paused:B==="paused",ended:B==="ended",waiting:B==="waiting",seeking:Mt,canPlay:xt,currentTime:gt,duration:Se,buffered:ht,hoverTime:be,hoverProgress:be!==null&&Se>0?be/Se*100:null,volume:W,muted:J,fullscreen:ke,pictureInPicture:ge,idle:kt,idleTimeout:v,preventIdleWhenPaused:k,registeredTracks:Bt,activeTextTrack:oe,activeCues:Vt,playbackRate:Pt,qualities:wt,activeQuality:Lt,videoRef:e,rootRef:c,play:Te,pause:he,toggle:xe,seek:Ce,setVolume:Me,toggleMute:Dt,enterFullscreen:Ee,exitFullscreen:Be,toggleFullscreen:Ve,enterPictureInPicture:we,exitPictureInPicture:Le,togglePictureInPicture:Ot,setPlaybackRate:At,setTextTrack:Wt,setQuality:Ft,registerTrack:Qt,unregisterTrack:$t,updateTrackRef:Nt,resetIdle:St,setHoverTime:Yr,beginSeekInteraction:Ht,endSeekInteraction:It,_handlers:{onTimeUpdate:jt,onDurationChange:Ut,onProgress:_t,onPlay:Kt,onPause:qt,onEnded:Xt,onWaiting:Yt,onCanPlay:Gt,onSeeking:zt,onSeeked:Jt,onVolumeChange:Zt,onLoadedMetadata:er,onVideoMount:tr,onRootMouseLeave:bt}}),[B,g,Mt,xt,gt,Se,ht,be,W,J,ke,ge,kt,v,k,Bt,oe,Vt,Pt,wt,Lt,e,c,Te,he,xe,Ce,Me,Dt,Ee,Be,Ve,we,Le,Ot,At,Wt,Ft,Qt,$t,Nt,St,Ht,It,jt,Ut,_t,Kt,qt,Xt,Yt,Gt,zt,Jt,Zt,er,tr,bt]);return Ke(at.Provider,{value:Zr,children:U})}var xr=d.forwardRef(function(e,r){let{actionsRef:l,keyboardShortcuts:u="focused",defaultPlaying:n,autoPlay:o,defaultVolume:a,defaultMuted:t,defaultPlaybackRate:s,playing:p,onPlayingChange:i,volume:f,onVolumeChange:b,muted:S,onMutedChange:T,playbackRate:y,onPlaybackRateChange:x,currentTime:v,onCurrentTimeChange:k,idleTimeout:L,preventIdleWhenPaused:M,hideCursorWhenIdle:w="fullscreen",idle:H,onIdleChange:Q,onEnded:D,onWaiting:h,onSeeking:$,onSeeked:U,onFullscreenChange:q,onPictureInPictureChange:_,children:z,...Z}=e,B=d.useRef(null),I=d.useRef(null);return Ke(gn,{actionsRef:l,defaultPlaying:n,autoPlay:o,defaultVolume:a,defaultMuted:t,defaultPlaybackRate:s,playing:p,onPlayingChange:i,volume:f,onVolumeChange:b,muted:S,onMutedChange:T,playbackRate:y,onPlaybackRateChange:x,currentTime:v,onCurrentTimeChange:k,idleTimeout:L,preventIdleWhenPaused:M,idle:H,onIdleChange:Q,onEnded:D,onWaiting:h,onSeeking:$,onSeeked:U,onFullscreenChange:q,onPictureInPictureChange:_,rootRef:B,videoRef:I,children:Ke(vn,{ref:r,rootRef:B,keyboardShortcuts:u,hideCursorWhenIdle:w,...Z,children:z})})}),vn=d.forwardRef(function({rootRef:e,keyboardShortcuts:r,hideCursorWhenIdle:l,children:u,className:n,style:o,...a},t){let s=ie(),p=Tn(t,e),i=d.useRef(null);hr(e,r);let f=d.useCallback(w=>{let{clientX:H,clientY:Q}=w,D=i.current;D&&D.x===H&&D.y===Q||(i.current={x:H,y:Q},s.resetIdle())},[s]),b=d.useCallback(w=>{let{clientX:H,clientY:Q}=w,D=i.current;D&&D.x===H&&D.y===Q||(i.current={x:H,y:Q},s.resetIdle())},[s]),S=d.useCallback(()=>{s._handlers.onRootMouseLeave()},[s._handlers]),T=d.useCallback(()=>{s.resetIdle()},[s]),y=d.useCallback(()=>{s.resetIdle()},[s]),x=d.useCallback(w=>{w.key==="Tab"&&s.resetIdle()},[s]),v=E({onMouseMove:f,onMouseEnter:b,onMouseLeave:S,onClick:T,onFocus:y,onKeyDown:x},a),k={"data-playing":s.playing||void 0,"data-paused":s.paused||void 0,"data-ended":s.ended||void 0,"data-waiting":s.waiting||void 0,"data-seeking":s.seeking||void 0,"data-fullscreen":s.fullscreen||void 0,"data-pip":s.pictureInPicture||void 0,"data-muted":s.muted||void 0,"data-idle":s.idle||void 0},L=l!==!1&&s.idle&&(l==="always"||l==="fullscreen"&&s.fullscreen),M=d.useId();return hn("div",{...v,ref:p,tabIndex:r==="focused"?0:void 0,className:n,style:o,"data-video-player-scope":M,...k,children:[L&&Ke("style",{children:`[data-video-player-scope="${M}"], [data-video-player-scope="${M}"] * { cursor: none !important; }`}),u]})});function Tn(...c){return d.useCallback(e=>{for(let r of c)typeof r=="function"?r(e):r!=null&&(r.current=e)},c)}var qe=(o=>(o.progress="--seek-progress",o.buffered="--seek-buffered",o.currentTime="--seek-current-time",o.duration="--seek-duration",o.hoverProgress="--seek-hover-progress",o.hoverTime="--seek-hover-time",o))(qe||{});var Xe=(u=>(u.seeking="data-seeking",u.hovering="data-hovering",u.pressing="data-pressing",u.dragging="data-dragging",u))(Xe||{});import{Slider as j}from"@base-ui/react/slider";import{autoUpdate as xn,offset as Cn,shift as Mn,useFloating as En}from"@floating-ui/react";import*as R from"react";import*as Mr from"react-dom";var Ye=(u=>(u.open="data-open",u.closed="data-closed",u.startingStyle="data-starting-style",u.endingStyle="data-ending-style",u))(Ye||{});import{jsx as V,jsxs as Bn}from"react/jsx-runtime";var ft=R.createContext(null);function Er(c){let e=R.useContext(ft);if(!e)throw new Error(`${c} must be used within SeekSlider`);return e}function Cr(c){return c==="ArrowRight"||c==="ArrowLeft"}var Br=R.forwardRef(function(e,r){let{render:l,children:u,onPointerMove:n,onPointerLeave:o,onPointerDown:a,onKeyUp:t,onValueCommitted:s,...p}=e,i=P("SeekSlider"),f=R.useRef(null),[b,S]=R.useState(null),[T,y]=R.useState(!1),[x,v]=R.useState(!1),k=R.useRef(!1);R.useEffect(()=>{if(!T)return;let g=()=>{y(!1),v(!1),k.current=!1,i.endSeekInteraction()};return window.addEventListener("pointerup",g),()=>window.removeEventListener("pointerup",g)},[T,i]);let L=i.duration>0?i.currentTime/i.duration*100:0,M=R.useCallback((g,A)=>{let W=typeof g=="number"?g:g[0];W!==void 0&&(A.reason==="keyboard"&&i.beginSeekInteraction(),i.seek(W),i.resetIdle(),k.current&&v(!0))},[i]),w=R.useCallback(g=>{if(n?.(g),!f.current||i.duration===0)return;let A=f.current.getBoundingClientRect(),W=g.clientX-A.left,J=Math.max(0,Math.min(1,W/A.width))*i.duration;i.setHoverTime(J)},[n,i]),H=R.useCallback(g=>{o?.(g),i.setHoverTime(null)},[o,i]),Q=R.useCallback(g=>{a?.(g),y(!0),k.current=!0,i.beginSeekInteraction()},[a,i]),D=R.useCallback(g=>{t?.(g),Cr(g.key)&&i.endSeekInteraction()},[t,i]),h=R.useCallback((g,A)=>{let W=typeof g=="number"?g:g[0];W!==void 0&&(s?.(W,A),y(!1),v(!1),k.current=!1,!(A.reason==="keyboard"&&Cr(A.event.key))&&i.endSeekInteraction())},[s,i]),$=R.useMemo(()=>{if(!i.buffered||i.buffered.length===0)return 0;for(let g=0;g<i.buffered.length;g++)if(i.buffered.start(g)<=i.currentTime&&i.currentTime<=i.buffered.end(g))return i.buffered.end(g);return i.buffered.end(0)},[i.buffered,i.currentTime]),U=i.duration>0?$/i.duration*100:0;R.useLayoutEffect(()=>{typeof r=="function"?r(f.current):r&&(r.current=f.current)});let q={currentTime:i.currentTime,duration:i.duration,progress:L,seeking:i.seeking,pressing:T,dragging:x,hoverTime:i.hoverTime,hoverProgress:i.hoverProgress},_=i.hoverProgress!==null,z=i.hoverProgress??0,Z=R.useMemo(()=>({sliderRef:f,previewThumbElement:b,setPreviewThumbElement:S,hoverProgress:z,open:_}),[f,b,S,z,_]),B={position:"relative","--seek-progress":`${L}%`,"--seek-buffered":`${U}%`,"--seek-current-time":i.currentTime,"--seek-duration":i.duration,"--seek-hover-progress":i.hoverProgress!==null?`${i.hoverProgress}%`:void 0,"--seek-hover-time":i.hoverTime??void 0,...p.style},I={"data-seeking":i.seeking||void 0,"data-hovering":i.hoverTime!==null||void 0,"data-pressing":T||void 0,"data-dragging":x||void 0,style:B};return l?V(ft.Provider,{value:Z,children:V(j.Root,{ref:f,min:0,max:i.duration||100,step:.1,value:i.currentTime,onValueChange:M,onValueCommitted:h,onPointerMove:w,onPointerLeave:H,onPointerDown:Q,onKeyUp:D,"aria-label":"Seek",render:g=>l({...g,...I,style:{...g.style,...I.style}},q)})}):V(ft.Provider,{value:Z,children:V(j.Root,{ref:f,min:0,max:i.duration||100,step:.1,value:i.currentTime,onValueChange:M,onValueCommitted:h,onPointerMove:w,onPointerLeave:H,onPointerDown:Q,onKeyUp:D,"aria-label":"Seek",...I,...p,children:u??V(j.Control,{children:Bn(j.Track,{style:{position:"relative"},children:[V("div",{style:{position:"absolute",left:0,top:0,height:"100%",width:`${U}%`}}),V(j.Indicator,{}),V(j.Thumb,{})]})})})})}),Vr=j.Control,wr=R.forwardRef(function(e,r){let{render:l,children:u,style:n,...o}=e,a={},t={position:"relative",...n},s={ref:r,style:t};return l?V(j.Track,{render:p=>l({...p,...s},a)}):V(j.Track,{ref:r,style:t,...o,children:u})}),Lr=R.forwardRef(function(e,r){let{render:l,children:u,style:n,...o}=e,a=P("SeekSliderProgress"),s={progress:a.duration>0?a.currentTime/a.duration*100:0},p={height:"100%",...n},i={ref:r,style:p};return l?V(j.Indicator,{render:f=>l({...f,...i,style:{...f.style,...p}},s)}):V(j.Indicator,{ref:r,style:p,...o,children:u})}),Hr=R.forwardRef(function(e,r){let{render:l,children:u,style:n,...o}=e,a={},t={ref:r,style:n??{}};return l?V(j.Thumb,{render:s=>l({...s,...t,style:{...s.style,...n}},a)}):V(j.Thumb,{ref:r,style:n,...o,children:u})}),Ir=R.forwardRef(function(e,r){let{render:l,children:u,...n}=e,o=P("SeekSliderBuffered"),a=R.useMemo(()=>{if(!o.buffered||o.buffered.length===0)return 0;for(let f=0;f<o.buffered.length;f++)if(o.buffered.start(f)<=o.currentTime&&o.currentTime<=o.buffered.end(f))return o.buffered.end(f);return o.buffered.end(0)},[o.buffered,o.currentTime]),t=o.duration>0?a/o.duration*100:0,s={bufferedPercentage:t},p={position:"absolute",left:0,top:0,height:"100%",width:`${t}%`,...n.style},i={ref:r,style:p};return l?l(i,s):V("div",{...i,...n,children:u})}),Dr=R.forwardRef(function(e,r){let{keepMounted:l=!1,render:u,children:n,...o}=e,a=P("SeekSliderPreviewThumb"),t=Er("SeekSliderPreviewThumb"),s=a.hoverProgress!==null,p=R.useRef(0);a.hoverProgress!==null&&(p.current=a.hoverProgress);let i=a.hoverProgress??p.current,{mounted:f,transitionStatus:b,elementRef:S}=Y({open:s,keepMounted:l}),T=R.useCallback(k=>{S.current=k,t.setPreviewThumbElement(k),typeof r=="function"?r(k):r&&(r.current=k)},[r,S,t]),y={open:s,transitionStatus:b,hoverProgress:i},x={position:"absolute",left:`${i}%`,transform:"translateX(-50%)",pointerEvents:"none",...o.style},v={ref:T,style:x,"data-open":s||void 0,"data-closed":!s||void 0,"data-starting-style":b==="starting"||void 0,"data-ending-style":b==="ending"||void 0};return f?u?u(v,y):V("span",{...v,...o,children:n}):null}),Or=R.forwardRef(function(e,r){let{render:l,children:u,style:n,...o}=e,a=P("SeekSliderHover"),t=a.hoverProgress!==null,s=a.hoverProgress??0,p={hovering:t,hoverProgress:a.hoverProgress,hoverTime:a.hoverTime},i={position:"absolute",left:0,top:0,height:"100%",width:`${s}%`,pointerEvents:"none",...n},f={ref:r,style:i,"data-hovering":t||void 0};return l?l(f,p):V("div",{...f,...o,children:u})});function Ge({children:c,container:e}){let r=P("SeekSliderPreviewTooltipPortal"),[l,u]=R.useState(!1);if(R.useEffect(()=>{u(!0)},[]),!l)return null;let n=e??r.rootRef.current??document.body;return Mr.createPortal(c,n)}var ze=R.forwardRef(function(e,r){let{sideOffset:l=8,collisionPadding:u=0,collisionBoundary:n,keepMounted:o=!1,children:a,style:t,...s}=e,p=Er("SeekSliderPreviewTooltipPositioner"),{previewThumbElement:i,open:f,hoverProgress:b}=p,[S,T]=R.useState(null),{refs:y,floatingStyles:x,update:v}=En({placement:"top",middleware:[Cn(l),Mn({boundary:n,padding:u})]});R.useLayoutEffect(()=>{i&&y.setReference(i)},[i,y]),R.useEffect(()=>{if(f&&i&&S)return xn(i,S,v)},[f,i,S,v]),R.useLayoutEffect(()=>{f&&i&&S&&v()},[b,f,i,S,v]);let k=R.useCallback(M=>{y.setFloating(M),T(M),typeof r=="function"?r(M):r&&(r.current=M)},[y,r]);return(o||f)&&!!i?V("div",{ref:k,style:{...x,...t},"data-seek-slider-preview-tooltip-positioner":!0,"data-open":f||void 0,"data-closed":!f||void 0,...s,children:a}):null}),Je=R.forwardRef(function(e,r){let{children:l,...u}=e;return V("div",{ref:r,"data-seek-slider-preview-tooltip-popup":!0,...u,children:l})});function me({sideOffset:c,collisionPadding:e,collisionBoundary:r,keepMounted:l,container:u,children:n,...o}){return V(Ge,{container:u,children:V(ze,{sideOffset:c,collisionPadding:e,collisionBoundary:r,keepMounted:l,children:V(Je,{...o,children:n})})})}me.Portal=Ge;me.Positioner=ze;me.Popup=Je;var Ze=(l=>(l.loading="data-loading",l.ready="data-ready",l.error="data-error",l))(Ze||{});import*as F from"react";import{jsx as Vn}from"react/jsx-runtime";var Ar=F.forwardRef(function(e,r){let{time:l,crossOrigin:u="anonymous",render:n,children:o,width:a,height:t,...s}=e,p=P("Thumbnail"),i=F.useRef(null),f=F.useRef(null),b=F.useRef(null),[S,T]=F.useState("idle"),[y,x]=F.useState({width:160,height:90}),v=l!==void 0?l:p.hoverTime,k=F.useMemo(()=>{let h=p.videoRef.current;return h?h.currentSrc||h.src:null},[p.videoRef]);F.useEffect(()=>{if(!k)return;let h=document.createElement("video");h.src=k,h.crossOrigin=u,h.preload="metadata",h.muted=!0,h.playsInline=!0;let $=()=>{x({width:h.videoWidth,height:h.videoHeight})},U=()=>{T("error")};return h.addEventListener("loadedmetadata",$),h.addEventListener("error",U),f.current=h,()=>{h.removeEventListener("loadedmetadata",$),h.removeEventListener("error",U),h.src="",f.current=null}},[k,u]),F.useEffect(()=>{let h=f.current,$=i.current;if(!h||!$||v===null||v===void 0||b.current!==null&&Math.abs(b.current-v)<.1)return;T("loading");let U=()=>{let q=$.getContext("2d");if(q)try{q.drawImage(h,0,0,$.width,$.height),b.current=v,T("ready")}catch{T("error")}};return h.addEventListener("seeked",U,{once:!0}),h.currentTime=v,()=>{h.removeEventListener("seeked",U)}},[v]);let L=F.useCallback(h=>{i.current=h,typeof r=="function"?r(h):r&&(r.current=h)},[r]),M=y.width/y.height,w=a??160,H=t??Math.round(w/M);typeof w=="string"&&(w=160),typeof H=="string"&&(H=90);let Q={loading:S==="loading",ready:S==="ready",error:S==="error",time:v,videoWidth:y.width,videoHeight:y.height},D={ref:L,width:w,height:H,"data-loading":S==="loading"||void 0,"data-ready":S==="ready"||void 0,"data-error":S==="error"||void 0};return n?n(D,Q):Vn("canvas",{...D,...s,children:o})});var et=(e=>(e.hovering="data-hovering",e))(et||{});import*as tt from"react";import{Fragment as Hn,jsx as mt,jsxs as In}from"react/jsx-runtime";var Wr=tt.forwardRef(function(e,r){let{format:l="current / duration",fixedWidth:u=!0,align:n="left",render:o,...a}=e,t=P("TimeDisplay"),s=tt.useRef(0);t.hoverTime!==null&&(s.current=t.hoverTime);let p=t.duration-t.currentTime,i=Pe(t.currentTime),f=Pe(t.duration),b=Pe(p),S=t.hoverTime!==null?Pe(t.hoverTime):Pe(s.current),T={currentTime:t.currentTime,duration:t.duration,remaining:p,hoverTime:t.hoverTime,hovering:t.hoverTime!==null,formattedCurrent:i,formattedDuration:f,formattedRemaining:b,formattedHover:S},y=()=>{switch(l){case"current":return i;case"duration":return f;case"remaining":return`-${b}`;case"current / duration":return`${i} / ${f}`;case"current / remaining":return`${i} / -${b}`;case"hover":return S;default:return`${i} / ${f}`}},x=()=>{let k=Ln(t.duration);switch(l){case"current":case"duration":case"hover":return k;case"remaining":return`-${k}`;case"current / duration":return`${k} / ${k}`;case"current / remaining":return`${k} / -${k}`;default:return`${k} / ${k}`}},v={ref:r,style:{position:u?"relative":void 0,userSelect:"none",fontVariantNumeric:"tabular-nums",...a.style},"data-hovering":T.hovering||void 0};return o?o(v,T):mt("span",{ref:r,"data-hovering":T.hovering||void 0,...a,style:{position:u?"relative":void 0,userSelect:"none",fontVariantNumeric:"tabular-nums",...a.style},children:u?In(Hn,{children:[mt("span",{"aria-hidden":!0,style:{visibility:"hidden"},children:x()}),mt("span",{style:wn(n),children:y()})]}):y()})});function wn(c){let e={position:"absolute"};switch(c){case"left":return{...e,left:0};case"right":return{...e,right:0};case"center":return{...e,left:"50%",transform:"translateX(-50%)"}}}function Pe(c){if(!Number.isFinite(c)||Number.isNaN(c))return"0:00";let e=Math.floor(c/3600),r=Math.floor(c%3600/60),l=Math.floor(c%60);return e>0?`${e}:${r.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`:`${r}:${l.toString().padStart(2,"0")}`}function Ln(c){if(!Number.isFinite(c)||Number.isNaN(c)||c<=0)return"0:00";let e=Math.floor(c/3600),r=Math.floor(c%3600/60);if(e>0){let u=String(e).length;return`${"0".repeat(u)}:00:00`}let l=String(r).length;return`${"0".repeat(l)}:00`}import*as K from"react";import{jsx as Dn}from"react/jsx-runtime";var Fr=K.forwardRef(function(e,r){let{kind:l="captions",src:u,label:n,srcLang:o,default:a,...t}=e,{registerTrack:s,unregisterTrack:p,updateTrackRef:i,setTextTrack:f}=P("Track"),b=K.useRef(null),S=K.useId(),T=K.useCallback(y=>{typeof r=="function"?r(y):r&&(r.current=y),b.current=y},[r]);return K.useEffect(()=>(s({id:S,kind:l,label:n,srcLang:o,src:u,textTrack:null}),()=>{p(S)}),[S,l,n,o,u,s,p]),K.useEffect(()=>{let y=b.current;if(!y)return;let x=()=>{y.track&&(y.track.mode="disabled",i(S,y.track),a&&f(y.track))};return y.track&&x(),y.addEventListener("load",x),()=>{y.removeEventListener("load",x)}},[S,a,i,f]),Dn("track",{ref:T,kind:l,src:u,label:n,srcLang:o,default:a,...t})});import*as de from"react";import{jsx as On}from"react/jsx-runtime";var Qr=de.forwardRef(function(e,r){let{toggleOnClick:l=!0,...u}=e,n=P("Video"),o=de.useRef(!1),a=de.useCallback(p=>{typeof r=="function"?r(p):r&&(r.current=p),n.videoRef.current=p,p&&!o.current&&(o.current=!0,n._handlers.onVideoMount(),p.readyState>=1&&p.duration&&(n._handlers.onLoadedMetadata(),n._handlers.onDurationChange()),p.readyState>=3&&n._handlers.onCanPlay())},[r,n.videoRef,n._handlers]),t={"data-playing":n.playing||void 0,"data-paused":n.paused||void 0,"data-ended":n.ended||void 0,"data-waiting":n.waiting||void 0,"data-seeking":n.seeking||void 0},s=E({ref:a,preload:"metadata",...t,onClick(){l&&n.toggle()},onTimeUpdate:n._handlers.onTimeUpdate,onDurationChange:n._handlers.onDurationChange,onProgress:n._handlers.onProgress,onPlay:n._handlers.onPlay,onPause:n._handlers.onPause,onEnded:n._handlers.onEnded,onWaiting:n._handlers.onWaiting,onCanPlay:n._handlers.onCanPlay,onSeeking:n._handlers.onSeeking,onSeeked:n._handlers.onSeeked,onVolumeChange:n._handlers.onVolumeChange,onLoadedMetadata:n._handlers.onLoadedMetadata},u);return On("video",{...s})});var rt=(r=>(r.volume="--volume",r.volumePercentage="--volume-percentage",r))(rt||{});var nt=(u=>(u.muted="data-muted",u.volume="data-volume",u.pressing="data-pressing",u.dragging="data-dragging",u))(nt||{});import{Slider as G}from"@base-ui/react/slider";import*as O from"react";import{jsx as ee,jsxs as An}from"react/jsx-runtime";var $r=O.forwardRef(function(e,r){let{render:l,children:u,onPointerDown:n,...o}=e,a=P("VolumeSlider"),t=O.useRef(null),[s,p]=O.useState(!1),[i,f]=O.useState(!1),b=O.useRef(!1);O.useEffect(()=>{if(!s)return;let M=()=>{p(!1),f(!1),b.current=!1};return window.addEventListener("pointerup",M),()=>window.removeEventListener("pointerup",M)},[s]),O.useLayoutEffect(()=>{typeof r=="function"?r(t.current):r&&(r.current=t.current)});let S=a.volume*100,T={volume:a.volume,muted:a.muted,percentage:S,pressing:s,dragging:i},y=O.useCallback(M=>{let w=typeof M=="number"?M:M[0];if(w!==void 0){if(a.muted){let H=a.videoRef.current;H&&(H.muted=!1)}a.setVolume(w),a.resetIdle(),b.current&&f(!0)}},[a]),x=O.useCallback(M=>{n?.(M),p(!0),b.current=!0},[n]),v={"data-muted":a.muted||void 0,"data-volume":a.volume,"data-pressing":s||void 0,"data-dragging":i||void 0},k={position:"relative","--volume":a.volume,"--volume-percentage":`${S}%`,...o.style},L={"data-muted":a.muted||void 0,"data-volume":a.volume,"data-pressing":s||void 0,"data-dragging":i||void 0,style:k};return l?ee(G.Root,{ref:t,min:0,max:1,step:.01,value:a.muted?0:a.volume,onValueChange:y,onPointerDown:x,"aria-label":"Volume",render:M=>l({...M,...L},T)}):ee(G.Root,{ref:t,min:0,max:1,step:.01,value:a.muted?0:a.volume,onValueChange:y,onPointerDown:x,"aria-label":"Volume",...v,...o,style:k,children:u??ee(G.Control,{children:An(G.Track,{children:[ee(G.Indicator,{}),ee(G.Thumb,{})]})})})}),Nr=G.Control,jr=O.forwardRef(function(e,r){let{style:l,...u}=e,n={position:"relative",...l};return ee(G.Track,{ref:r,style:n,...u})}),Ur=O.forwardRef(function(e,r){return ee(G.Indicator,{ref:r,...e})}),_r=O.forwardRef(function(e,r){return ee(G.Thumb,{ref:r,...e})});export{Kr as VideoPlayer,ie as useVideoPlayer};
|
|
3
3
|
//# sourceMappingURL=index.js.map
|