markdown-flow-ui 0.2.25-dev.3 → 0.2.25-dev.4
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/components/Slide/Player.cjs +1 -1
- package/dist/components/Slide/Player.cjs.map +1 -1
- package/dist/components/Slide/Player.d.ts +17 -1
- package/dist/components/Slide/Player.es.js +727 -623
- package/dist/components/Slide/Player.es.js.map +1 -1
- package/dist/components/Slide/Slide.cjs +1 -1
- package/dist/components/Slide/Slide.cjs.map +1 -1
- package/dist/components/Slide/Slide.d.ts +16 -22
- package/dist/components/Slide/Slide.es.js +668 -677
- package/dist/components/Slide/Slide.es.js.map +1 -1
- package/dist/components/Slide/index.d.ts +2 -2
- package/dist/components/index.d.ts +2 -2
- package/dist/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/components/Slide/utils/requestedStepNavigation.cjs +0 -2
- package/dist/components/Slide/utils/requestedStepNavigation.cjs.map +0 -1
- package/dist/components/Slide/utils/requestedStepNavigation.d.ts +0 -9
- package/dist/components/Slide/utils/requestedStepNavigation.es.js +0 -18
- package/dist/components/Slide/utils/requestedStepNavigation.es.js.map +0 -1
- package/dist/components/Slide/utils/requestedStepNavigation.test.d.ts +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),t=require("react"),Tt=require("../../lib/locale.cjs"),ur=require("../../lib/useDetachedLanguage.cjs"),sr=require("../../lib/useResolvedDirection.cjs"),lr=require("../../lib/utils.cjs"),ar=require("./MobilePlayerSettingsSheet.cjs"),cr=require("./slideI18n.cjs"),ir=require("./utils/mobileScreenMode.cjs"),or=require("./utils/audioCompletion.cjs"),fr=require("./utils/playerKeyboardShortcutContext.cjs"),le=require("./utils/playerKeyboardShortcuts.cjs"),dr=require("./utils/playbackSource.cjs"),mr=require("./utils/playbackPreference.cjs"),pr=require("./utils/playerCustomActions.cjs"),Ue=require("./utils/playerNavigationContext.cjs"),Fe=require("./utils/segmentSeek.cjs"),Lt=require("./utils/audioSegments.cjs"),At=require("./utils/subtitleCue.cjs");;/* empty css */const br=require("../../node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.cjs"),hr=require("../../node_modules/lucide-react/dist/esm/icons/volume-2.cjs"),yr=require("../../node_modules/lucide-react/dist/esm/icons/skip-back.cjs"),gr=require("../../node_modules/lucide-react/dist/esm/icons/skip-forward.cjs"),Sr=require("../../node_modules/lucide-react/dist/esm/icons/rewind.cjs"),kr=require("../../node_modules/lucide-react/dist/esm/icons/fast-forward.cjs"),Cr=require("../../node_modules/lucide-react/dist/esm/icons/captions.cjs"),_r=require("../../node_modules/lucide-react/dist/esm/icons/captions-off.cjs"),xr=require("../../node_modules/lucide-react/dist/esm/icons/scan-line.cjs"),Mr=require("../../node_modules/lucide-react/dist/esm/icons/maximize.cjs"),Et=new Map,Nt=o=>{if(typeof window>"u"||!o||Et.has(o))return;const f=window.document.createElement("audio");f.preload="auto",f.setAttribute("playsinline","true"),f.src=o,f.load(),Et.set(o,f)},wr=(o,f)=>f!==null&&f.audioList===o&&f.subtitleCueLists.length===o.length&&o.every((a,S)=>{const k=a.element?.subtitle_cues;return f.subtitleCueLists[S]===k&&f.subtitleCueLengths[S]===(k?.length??0)}),Rr=o=>{const f=o.map(a=>a.element?.subtitle_cues);return{audioList:o,subtitleCueLists:f,subtitleCueLengths:f.map(a=>a?.length??0),tracks:f.map(a=>({subtitleCues:a??[]}))}},vr=()=>n.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"34",height:"34",viewBox:"0 0 34 34",fill:"none",children:[n.jsx("path",{d:"M16.6667 33.3333C25.8714 33.3333 33.3333 25.8714 33.3333 16.6667C33.3333 7.46192 25.8714 0 16.6667 0C7.46192 0 0 7.46192 0 16.6667C0 25.8714 7.46192 33.3333 16.6667 33.3333Z",fill:"#0A0A0A"}),n.jsx("path",{d:"M12 10H16V24H12V10ZM18 10H22V24H18V10Z",fill:"white"})]}),Tr=()=>n.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"34",height:"34",viewBox:"0 0 34 34",fill:"none",children:[n.jsx("path",{d:"M16.6667 33.3333C25.8714 33.3333 33.3333 25.8714 33.3333 16.6667C33.3333 7.46192 25.8714 0 16.6667 0C7.46192 0 0 7.46192 0 16.6667C0 25.8714 7.46192 33.3333 16.6667 33.3333Z",fill:"#0A0A0A"}),n.jsx("path",{d:"M13.3333 10L23.3333 16.6667L13.3333 23.3333V10Z",fill:"white"})]}),O={fullscreen:"F",next:"→",nextSubtitle:"Shift+→",previous:"←",previousSubtitle:"Shift+←",subtitle:"C"},Lr=250,Ar=(o,f)=>o?`${o} (${f})`:f,Er=({audioList:o=[],className:f,currentAudioIndex:a=-1,defaultPlaying:S=!0,isPlaybackPaused:k=!1,isAutoAdvanceEnabled:V=!0,useAutoAdvanceToggle:q=!1,onLoadingChange:We,onPlaybackPreferenceChange:Be,onPlaybackStarted:Oe,onPlaybackTimeChange:ae,onSubtitleToggle:X,onPrev:ce,onNext:ie,onSubtitleJump:oe,canJumpToSubtitleTarget:we,onFullscreen:ee,isFullscreen:Ve=!1,mobileViewMode:qt=ir.DEFAULT_MOBILE_VIEW_MODE,settingsPortalContainer:Kt,onMobileViewModeChange:De,onEnded:He,onAutoAdvanceToggle:Ie,onInteractionToggle:Nr,hasInteraction:jr,isInteractionOpen:fe=!1,isSubtitleEnabled:Re=!0,prevDisabled:ve=!1,nextDisabled:Te=!1,showControls:Le=!0,onControlsPointerEnter:Pt,onControlsPointerLeave:Ut,enableKeyboardShortcuts:Ft=!0,subtitleSeekRequest:F=null,customActions:Je,customActionContext:Ze,locale:de,texts:$e,onFocusCapture:ze,onPointerDown:Ye,...Ae})=>{const Ee=Ae.dir??Tt.getMarkdownFlowDirection(de),Ge=Ae.lang??Tt.getMarkdownFlowLanguage(de),Wt=t.useId(),Qe=t.useContext(fr.PlayerKeyboardShortcutContext),y=t.useRef(null),{resolvedDirection:Xe,readDirection:et}=sr.useResolvedDirection(y,Ee),me=Xe==="rtl",Bt=ur.useDetachedLanguage(y,Ge),tt=t.useRef(fe),E=t.useRef(null),rt=t.useRef(null),N=t.useRef(0),d=t.useRef(null),pe=t.useRef(void 0),T=t.useRef([]),te=t.useRef(q?V:S),re=t.useRef(!1),nt=t.useRef(!1),C=t.useRef(!1),j=t.useRef(null),D=t.useRef(null),R=t.useRef(!1),c=t.useRef(!1),_=t.useRef(null),L=t.useRef(!1),H=t.useRef(null),be=t.useRef(0),ut=t.useRef(()=>{}),he=t.useRef(null),ne=t.useRef(null),st=t.useRef(null),lt=t.useRef(null),K=t.useRef("unknown"),[ye,p]=t.useState(S),[at,z]=t.useState(!1),[Y,Ot]=t.useState({next:!1,previous:!1}),I=Qe?.ownerId??Wt,P=Ft&&(Qe?.enabled??!0),m=a>=0?o[a]:void 0,M=m?.audioUrl,ct=m?.audioSegments,Vt=ct?.length??0,A=t.useMemo(()=>Lt.getSortedAudioSegments(m),[m,Vt,ct]);let ge=lt.current;wr(o,ge)||(ge=Rr(o),lt.current=ge);const it=ge.tracks,Ne=t.useMemo(()=>pr.toPlayerCustomActionList(Je,Ze),[Ze,Je]),ot=Ne.length+6,Dt=t.useMemo(()=>({"--slide-player-mobile-control-count":String(ot)}),[ot]),i=t.useMemo(()=>({...cr.getSlidePlayerTexts(de),...$e}),[de,$e]),je=t.useMemo(()=>m?m.audioKey??`${String(m.sequenceNumber??"none")}:${String(m.audioUrl??"")}`:"none",[m]),Ht=q?V:ye,ft=q?V?i.pauseAutoplayLabel:i.playAutoplayLabel:ye?i.pauseLabel:i.playLabel,dt=Ve?i.exitFullscreenLabel:i.enterFullscreenLabel,J=t.useCallback((e,r,s)=>({ariaKeyShortcuts:P?s:void 0,title:P?Ar(e,r):e}),[P]),mt=J(i.subtitleToggleAriaLabel,O.subtitle,"c"),pt=J(i.previousLabel,me?O.next:O.previous,me?"ArrowRight":"ArrowLeft"),bt=J(i.previousSubtitleLabel,O.previousSubtitle,"Shift+ArrowLeft"),ht=J(ft,i.playbackShortcutLabel,"Space"),yt=J(i.nextLabel,me?O.previous:O.next,me?"ArrowLeft":"ArrowRight"),gt=J(i.nextSubtitleLabel,O.nextSubtitle,"Shift+ArrowRight"),St=J(dt,O.fullscreen,"f"),Se=t.useCallback(()=>{P&&le.activatePlayerKeyboardShortcutOwner(I)},[I,P]),It=t.useCallback(e=>{Se(),Ye?.(e)},[Se,Ye]),Jt=t.useCallback(e=>{Se(),ze?.(e)},[Se,ze]);t.useEffect(()=>{pe.current=m},[m]),t.useEffect(()=>{te.current=q?V:S},[S,V,q]),t.useEffect(()=>{Le||z(!1)},[Le]),t.useEffect(()=>{!tt.current&&fe&&z(!1),tt.current=fe},[fe]),t.useEffect(()=>{T.current=A},[A]),t.useEffect(()=>{const e=m?.audioUrl,r=a>=0?o[a+1]?.audioUrl:void 0;Nt(e),Nt(r)},[o,m?.audioUrl,a]);const l=t.useCallback((e,r=null)=>{nt.current===e&&(!e||r===null)||(nt.current=e,We?.({loading:e,reason:e?r:null}))},[We]),U=t.useCallback(e=>{te.current=e,Be?.(e)},[Be]),Z=t.useCallback(()=>q?{shouldContinuePlayback:te.current}:{shouldContinuePlayback:mr.shouldKeepPlayingAfterNavigation({defaultPlaying:te.current,isPausedByUser:C.current})},[q]),kt=t.useCallback(e=>e instanceof DOMException?e.name==="NotAllowedError"||e.name==="SecurityError":!1,[]),W=t.useCallback(()=>S&&!k&&!C.current&&K.current!=="blocked",[S,k]),Ct=t.useCallback(e=>e?e.startsWith("data:")?e:`data:audio/mpeg;base64,${e}`:"",[]),_t=t.useCallback(()=>{const e=d.current;return e==null||e<=0?0:T.current.slice(0,e).reduce((r,s)=>r+Math.max(Number(s.duration_ms??0),0),0)/1e3},[]),$=t.useCallback(e=>e<=0?0:T.current.slice(0,e).reduce((r,s)=>r+Math.max(Number(s.duration_ms??0),0),0),[]),ke=t.useCallback((e,r)=>!e||k?!1:e.audioUrl?!0:Fe.isPlaybackTimeCoveredBySegments(Lt.getSortedAudioSegments(e),r),[k]),ue=t.useCallback((e,r,s={})=>{const u=At.getSubtitleCueJumpTarget({currentAudioIndex:a,currentTimeMs:r,direction:e,excludeTarget:s.excludeTarget,tracks:it});return!u||!ke(o[u.audioIndex],u.timeMs)||u.audioIndex!==a&&(!oe||we&&!we(u))?null:u},[o,we,ke,a,oe,it]),qe=t.useCallback((e,r=!1)=>{const s=Math.max(Number(e),0);if(!r&&he.current!==null&&Math.abs(s-he.current)<Lr)return;he.current=s;const u={previous:ue("previous",s)!==null,next:ue("next",s)!==null};Ot(h=>h.previous===u.previous&&h.next===u.next?h:u)},[ue]);t.useEffect(()=>{ut.current=qe,qe(be.current,!0)},[qe]);const Ce=t.useCallback(()=>{const e=y.current;return e?j.current==="segment"?$(N.current)+Math.max(e.currentTime,0)*1e3:_.current!==null&&e.readyState===0?_.current*1e3:Math.max(e.currentTime,0)*1e3:d.current!=null?$(d.current):0},[$]),x=t.useCallback(e=>{const r=Math.max(e,0);be.current!==r&&(be.current=r,At.shouldClearSubtitleCueJumpTarget({currentAudioIndex:a,currentTimeMs:r,target:ne.current})&&(ne.current=null),ae?.(r),ut.current(r))},[a,ae]),b=t.useCallback(()=>{x(Ce())},[Ce,x]),g=t.useCallback(()=>{typeof window>"u"||H.current===null||(window.cancelAnimationFrame(H.current),H.current=null)},[]),xt=t.useCallback(()=>{if(typeof window>"u"||H.current!==null)return;const e=()=>{b();const r=y.current;if(!r||r.paused||r.ended){H.current=null;return}H.current=window.requestAnimationFrame(e)};H.current=window.requestAnimationFrame(e)},[b]),G=t.useCallback(()=>{const e=y.current;e&&(g(),c.current=!1,C.current=!1,re.current=!1,j.current=null,_.current=null,R.current=!1,L.current=!1,D.current=null,e.pause(),e.removeAttribute("src"),e.load(),E.current=null,N.current=0,d.current=null,x(0),p(!1),l(!1))},[x,g,l]),w=t.useCallback(e=>{const r=y.current;if(!r)return!1;const s=r.play();return s&&typeof s.then=="function"&&s.then(()=>{K.current==="unknown"&&(K.current="auto"),c.current=!1,L.current=!1}).catch(u=>{K.current==="unknown"&&kt(u)&&(K.current="blocked",c.current=!1,l(!1)),L.current=!1,p(!1)}),!0},[kt,l]),v=t.useCallback((e,r,s={})=>{const u=y.current,h=T.current[e];if(!u||!h)return!1;const B=Ct(h.audio_data),Me=Math.max(Number(s.seekTimeSeconds??0),0);N.current=e,d.current=null,R.current=!1,L.current=!0,D.current="segment",x($(e)+Me*1e3);const vt=s.shouldResume??W();c.current=vt,l(!1);const nr=E.current!==B;return j.current="segment",nr&&(u.pause(),u.removeAttribute("src"),u.load(),E.current=B,u.src=B,u.load()),_.current=Me,u.readyState>0&&(u.currentTime=Me,_.current=null),vt?w(`start-segment:${r}`):(c.current=!1,L.current=!1,u.pause(),p(!1),!0)},[W,Ct,$,x,w,l]),_e=t.useCallback(e=>{const r=y.current;if(!r||!m||k)return!1;const s=Math.max(Number(e),0),u=!r.paused&&!r.ended||c.current||L.current||d.current!==null&&te.current&&!C.current,h=Fe.isPlaybackTimeCoveredBySegments(T.current,s)?Fe.resolveSegmentSeekTarget(T.current,s):null;if(he.current=null,g(),c.current=u,l(!1),u&&(K.current="manual",C.current=!1,U(!0)),h&&(j.current==="segment"||!M))return v(h.segmentIndex,"subtitle-seek-segment",{seekTimeSeconds:h.segmentTimeSeconds,shouldResume:u});if(M){const B=s/1e3;return E.current!==M&&(r.pause(),r.removeAttribute("src"),r.load(),E.current=M,j.current="url",D.current="url",r.src=M,r.load()),_.current=B,x(s),r.readyState>0&&(r.currentTime=B,_.current=null),u?w("subtitle-seek-url"):(c.current=!1,r.pause(),p(!1),!0)}return!1},[m,M,k,x,v,g,w,l,U]),se=t.useCallback(e=>{const r=ue(e,Ce(),{excludeTarget:e==="previous"?ne.current:null});if(r===null)return!1;if(r.audioIndex===a){const u=_e(r.timeMs);return u&&(ne.current=r),u}const s=!!oe?.(r,Ue.suppressPlayerControlsWakeAfterNavigation(Z()));return s&&(ne.current=r),s},[a,Ce,Z,ue,oe,_e]),Q=t.useCallback(e=>{g(),c.current=!1,R.current=!1,L.current=!1,b(),p(!1),l(!1),a>=0&&He?.(a)},[a,He,g,b,l]),xe=t.useCallback(e=>{const r=y.current;return!r||j.current!=="url"||!or.hasReachedAudioEnd({currentTimeSeconds:Math.max(r.currentTime,0),durationSeconds:r.duration})?!1:(c.current=!1,r.pause(),Q(e),!0)},[Q]),Mt=t.useCallback(()=>{const e=N.current+1,r=T.current,s=r[e],u=pe.current,h=r.some(B=>B.is_final);if(s){v(e,"ended");return}if(u?.isAudioStreaming||!h){N.current=e,d.current=e,R.current=!0,c.current=S,x($(e)),p(!1),l(!0,"waitingForMoreAudio");return}Q("segments-completed")},[S,Q,$,x,v,l]);t.useEffect(()=>{if(rt.current===je)return;rt.current=je,N.current=0,d.current=null,R.current=!1,C.current=!1,re.current=!1,c.current=!1,L.current=!1,j.current=null,D.current=null,E.current=null,g(),x(0),l(!1);const e=y.current;e&&(e.pause(),e.removeAttribute("src"),e.load(),p(!1))},[a,je,A.length,M,x,g,l]),t.useEffect(()=>{const e=y.current;if(e){if(k){re.current=!!(pe.current&&!C.current&&(!e.paused||c.current||d.current!==null)),c.current=!1,l(!1),e.pause(),p(!1);return}if(!(!re.current||!pe.current||C.current)){if(re.current=!1,d.current!==null){if(d.current<T.current.length){v(d.current,"external-resume");return}c.current=!0,l(!0,"waitingForMoreAudio");return}if(!E.current&&T.current.length>0){v(Math.min(N.current,T.current.length-1),"external-resume-init");return}e.paused&&(c.current=!0,w("external-resume"))}}},[k,v,w,l]),t.useEffect(()=>{const e=y.current;if(!e)return;if(!m){G();return}if(k){c.current=!1,l(!1),e.pause(),p(!1);return}const r=dr.resolveAudioPlaybackSourceType({activeSourceType:j.current,hasAudioUrl:!!M,segmentCount:A.length,preferredSourceType:D.current,waitingSegmentIndex:d.current});if(r&&D.current!==r&&(D.current=r),r==="url"&&M){const s=E.current!==M,u=W();if(s){const h=d.current!==null?_t():0;e.pause(),e.removeAttribute("src"),e.load(),E.current=M,j.current="url",e.src=M,e.load(),_.current=h,x(h*1e3),e.readyState>0&&(e.currentTime=h,_.current=null)}if(c.current=u,R.current=!1,L.current=!1,l(!1),!u){c.current=!1,e.pause(),p(!1);return}w(s?"sync-url-init":"sync-url");return}if(r==="segment"&&d.current!==null){if(d.current<A.length){if(C.current){p(!1),l(!1);return}v(d.current,"wait-resume");return}R.current=!0,c.current=W(),p(!1),l(W());return}if(r==="segment"&&!A.length){if(m.isAudioStreaming){d.current=N.current,R.current=!0,c.current=W(),p(!1),l(W());return}G();return}if(r==="segment"&&!E.current){v(Math.min(N.current,A.length-1),"effect-init");return}if(r!=="segment"){G();return}if(!S||C.current){c.current=!1,e.pause(),p(!1);return}e.paused&&(c.current=!0,w("sync-paused-retry"))},[m,a,A,M,S,k,W,x,G,v,w,_t,l]),t.useEffect(()=>{if(!F||F.id===st.current||F.audioIndex!==a)return;const e=o[F.audioIndex];ke(e,F.timeMs)&&(st.current=F.id,_e(F.timeMs))},[o,ke,a,_e,F]),t.useEffect(()=>G,[G]),t.useEffect(()=>g,[g]);const Zt=t.useCallback(()=>{b(),xt(),p(!0),l(!1),Oe?.()},[Oe,xt,b,l]),$t=t.useCallback(()=>{R.current||L.current||(g(),b(),p(!1))},[a,g,b]),zt=t.useCallback(()=>{const e=y.current;e&&_.current!==null&&(e.currentTime=_.current,_.current=null),b(),!xe("canplay-seek-finished")&&(!c.current||!S||w("canplay"))},[a,S,xe,b,w]),Yt=t.useCallback(()=>{const e=y.current;e&&_.current!==null&&(e.currentTime=_.current,_.current=null),b(),xe("metadata-seek-finished")},[a,xe,b]),Gt=t.useCallback(()=>{b()},[b]),Qt=t.useCallback(()=>{R.current||l(!0,"loadingAudio")},[l]),Xt=t.useCallback(()=>{if(R.current){l(!0,"waitingForMoreAudio");return}l(!0,"loadingAudio")},[l]),wt=t.useCallback(()=>{b()},[b]),er=t.useCallback(()=>{const e=j.current==="url"||T.current.length===0;if(g(),L.current=!1,e){Q("url-ended");return}Mt()},[Q,Mt,g]),tr=t.useCallback(()=>{g(),b(),p(!1),l(!1)},[g,b,l]),rr=t.useCallback(e=>{De?.(e),z(!1)},[De]),Ke=t.useCallback(()=>{if(q){const r=!V;return U(r),Ie?.(r),!0}const e=y.current;return k||!e||!m?!1:d.current!==null?ye?(U(!1),c.current=!1,C.current=!0,d.current=null,R.current=!1,p(!1),l(!1),e.pause(),!0):(U(!0),K.current="manual",C.current=!1,c.current=!0,l(!0,"waitingForMoreAudio"),!0):!e.src&&A.length>0?(U(!0),K.current="manual",C.current=!1,v(Math.min(N.current,A.length-1),"toggle"),!0):e.paused?(U(!0),K.current="manual",C.current=!1,c.current=!0,w("toggle-resume"),!0):(U(!1),c.current=!1,C.current=!0,e.pause(),!0)},[m,A.length,V,k,ye,Ie,v,w,l,U,q]);t.useEffect(()=>{if(P)return le.registerPlayerKeyboardShortcutOwner(I)},[I,P]);const Pe=t.useMemo(()=>({fullscreen:()=>ee?(ee(),!0):!1,next:()=>ie?(Te||ie(Ue.suppressPlayerControlsWakeAfterNavigation(Z())),!0):!1,nextSubtitle:()=>Y.next?se("next"):!0,previous:()=>ce?(ve||ce(Ue.suppressPlayerControlsWakeAfterNavigation(Z())),!0):!1,previousSubtitle:()=>Y.previous?se("previous"):!0,subtitle:()=>X?(X(),!0):!1,togglePlayback:()=>(Ke(),!0)}),[Z,se,Te,ee,ie,ce,X,ve,Y.next,Y.previous,Ke]),Rt=t.useRef(Pe);return t.useEffect(()=>{Rt.current=Pe},[Pe]),t.useEffect(()=>{if(!P||typeof document>"u")return;const e=r=>{if(!le.isActivePlayerKeyboardShortcutOwner(I))return;const s=le.getPlayerKeyboardShortcutAction(r,et());if(!s||le.shouldIgnorePlayerKeyboardShortcutEvent(r,s))return;let u=!1;const h=Rt.current[s];u=h(),u&&r.preventDefault()};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[I,et,P]),t.useEffect(()=>{ae?.(be.current)},[ae]),n.jsxs("div",{...Ae,dir:Ee,lang:Ge,"data-slide-player-shortcut-owner":I,className:lr.cn("slide-player",f),onFocusCapture:Jt,onPointerDown:It,children:[n.jsx("audio",{ref:y,preload:"auto",playsInline:!0,onLoadStart:Qt,onLoadedMetadata:Yt,onCanPlay:zt,onPlay:Zt,onPause:$t,onWaiting:Xt,onSeeking:wt,onSeeked:wt,onTimeUpdate:Gt,onEnded:er,onError:tr}),Le?n.jsxs(n.Fragment,{children:[n.jsx(ar.default,{container:Kt,dir:Ee??Xe,lang:Bt,labels:{closeSettings:i.closeSettingsLabel,fullscreen:i.fullscreenLabel,nonFullscreen:i.nonFullscreenLabel,screen:i.screenLabel,screenMode:i.screenModeLabel,subtitle:i.subtitleLabel,subtitleToggle:i.subtitleToggleAriaLabel,title:i.settingsTitle},isSubtitleEnabled:Re,onClose:()=>z(!1),onOpenChange:z,onSubtitleToggle:X??(()=>{}),onViewModeChange:rr,open:at,viewMode:qt}),n.jsxs("div",{className:"slide-player__controls",onPointerEnter:Pt,onPointerLeave:Ut,style:Dt,children:[n.jsxs("div",{className:"slide-player__group",children:[n.jsx("button",{"aria-expanded":at,"aria-haspopup":"dialog","aria-label":i.moreOptionsAriaLabel,className:"slide-player__action slide-player__action--mobile-more",onClick:()=>{z(e=>!e)},type:"button",children:n.jsx(br.default,{className:"slide-player__icon",strokeWidth:2.25})}),n.jsx("button",{"aria-label":i.volumeAriaLabel,className:"hidden",type:"button",children:n.jsx(hr.default,{className:"slide-player__icon",strokeWidth:2.25})}),n.jsx("button",{"aria-label":ft,"aria-keyshortcuts":ht.ariaKeyShortcuts,className:"slide-player__toggle slide-player__toggle--playback",onClick:()=>{Ke()},title:ht.title,type:"button",children:Ht?n.jsx(vr,{}):n.jsx(Tr,{})}),n.jsx("button",{"aria-keyshortcuts":pt.ariaKeyShortcuts,"aria-label":i.previousLabel,className:"slide-player__action slide-player__action--prev",disabled:ve,onClick:()=>{ce?.(Z())},title:pt.title,type:"button",children:n.jsx(yr.default,{className:"slide-player__icon",strokeWidth:2.25})}),n.jsx("button",{"aria-keyshortcuts":yt.ariaKeyShortcuts,"aria-label":i.nextLabel,className:"slide-player__action slide-player__action--next",disabled:Te,onClick:()=>{ie?.(Z())},title:yt.title,type:"button",children:n.jsx(gr.default,{className:"slide-player__icon",strokeWidth:2.25})}),n.jsx("button",{"aria-keyshortcuts":bt.ariaKeyShortcuts,"aria-label":i.previousSubtitleLabel,className:"slide-player__action slide-player__action--prev-subtitle",disabled:!Y.previous,onClick:()=>{se("previous")},title:bt.title,type:"button",children:n.jsx(Sr.default,{className:"slide-player__icon",strokeWidth:2.25})}),n.jsx("button",{"aria-keyshortcuts":gt.ariaKeyShortcuts,"aria-label":i.nextSubtitleLabel,className:"slide-player__action slide-player__action--next-subtitle",disabled:!Y.next,onClick:()=>{se("next")},title:gt.title,type:"button",children:n.jsx(kr.default,{className:"slide-player__icon",strokeWidth:2.25})}),n.jsx("button",{"aria-label":i.subtitleToggleAriaLabel,"aria-keyshortcuts":mt.ariaKeyShortcuts,"aria-pressed":Re,className:"slide-player__action slide-player__action--subtitle",onClick:X,title:mt.title,type:"button",children:Re?n.jsx(Cr.default,{className:"slide-player__icon",strokeWidth:2.25}):n.jsx(_r.default,{className:"slide-player__icon",strokeWidth:2.25})}),ee?n.jsx("button",{"aria-label":dt,"aria-keyshortcuts":St.ariaKeyShortcuts,className:"slide-player__action slide-player__action--fullscreen",onClick:ee,title:St.title,type:"button",children:Ve?n.jsx(xr.default,{className:"slide-player__icon",strokeWidth:2.25}):n.jsx(Mr.default,{className:"slide-player__icon",strokeWidth:2.25})}):null]}),Ne.length>0?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"slide-player__separator"}),n.jsx("div",{className:"slide-player__group slide-player__group--custom-actions",children:Ne.map((e,r)=>n.jsx(t.Fragment,{children:e},`custom-action-${r}`))})]}):null]})]}):null]})},jt=t.memo(Er);jt.displayName="Player";exports.default=jt;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),t=require("react"),Ot=require("../../lib/locale.cjs"),gr=require("../../lib/useDetachedLanguage.cjs"),pr=require("../../lib/useResolvedDirection.cjs"),Sr=require("../../lib/utils.cjs"),yr=require("./MobilePlayerSettingsSheet.cjs"),kr=require("./slideI18n.cjs"),Cr=require("./utils/mobileScreenMode.cjs"),_r=require("./utils/audioCompletion.cjs"),Mr=require("./utils/playerKeyboardShortcutContext.cjs"),he=require("./utils/playerKeyboardShortcuts.cjs"),xr=require("./utils/playbackSource.cjs"),wr=require("./utils/playbackPreference.cjs"),Tr=require("./utils/playerCustomActions.cjs"),Ze=require("./utils/playerNavigationContext.cjs"),be=require("./utils/segmentSeek.cjs"),qt=require("./utils/audioSegments.cjs"),Vt=require("./utils/subtitleCue.cjs");;/* empty css */const vr=require("../../node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.cjs"),Er=require("../../node_modules/lucide-react/dist/esm/icons/volume-2.cjs"),Ar=require("../../node_modules/lucide-react/dist/esm/icons/skip-back.cjs"),Lr=require("../../node_modules/lucide-react/dist/esm/icons/skip-forward.cjs"),Rr=require("../../node_modules/lucide-react/dist/esm/icons/rewind.cjs"),Nr=require("../../node_modules/lucide-react/dist/esm/icons/fast-forward.cjs"),jr=require("../../node_modules/lucide-react/dist/esm/icons/captions.cjs"),Kr=require("../../node_modules/lucide-react/dist/esm/icons/captions-off.cjs"),Pr=require("../../node_modules/lucide-react/dist/esm/icons/scan-line.cjs"),Fr=require("../../node_modules/lucide-react/dist/esm/icons/maximize.cjs"),Dt=new Map,It=f=>{if(typeof window>"u"||!f||Dt.has(f))return;const d=window.document.createElement("audio");d.preload="auto",d.setAttribute("playsinline","true"),d.src=f,d.load(),Dt.set(f,d)},Ur=(f,d)=>d!==null&&d.audioList===f&&d.subtitleCueLists.length===f.length&&f.every((a,k)=>{const C=a.element?.subtitle_cues;return d.subtitleCueLists[k]===C&&d.subtitleCueLengths[k]===(C?.length??0)}),Br=f=>{const d=f.map(a=>a.element?.subtitle_cues);return{audioList:f,subtitleCueLists:d,subtitleCueLengths:d.map(a=>a?.length??0),tracks:d.map(a=>({subtitleCues:a??[]}))}},Wr=()=>s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"34",height:"34",viewBox:"0 0 34 34",fill:"none",children:[s.jsx("path",{d:"M16.6667 33.3333C25.8714 33.3333 33.3333 25.8714 33.3333 16.6667C33.3333 7.46192 25.8714 0 16.6667 0C7.46192 0 0 7.46192 0 16.6667C0 25.8714 7.46192 33.3333 16.6667 33.3333Z",fill:"#0A0A0A"}),s.jsx("path",{d:"M12 10H16V24H12V10ZM18 10H22V24H18V10Z",fill:"white"})]}),Or=()=>s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"34",height:"34",viewBox:"0 0 34 34",fill:"none",children:[s.jsx("path",{d:"M16.6667 33.3333C25.8714 33.3333 33.3333 25.8714 33.3333 16.6667C33.3333 7.46192 25.8714 0 16.6667 0C7.46192 0 0 7.46192 0 16.6667C0 25.8714 7.46192 33.3333 16.6667 33.3333Z",fill:"#0A0A0A"}),s.jsx("path",{d:"M13.3333 10L23.3333 16.6667L13.3333 23.3333V10Z",fill:"white"})]}),D={fullscreen:"F",next:"→",nextSubtitle:"Shift+→",previous:"←",previousSubtitle:"Shift+←",subtitle:"C"},qr=250,Vr=15e3,Dr=(f,d)=>f?`${f} (${d})`:d,Ir=({audioList:f=[],className:d,currentAudioIndex:a=-1,defaultPlaying:k=!0,isPlaybackPaused:C=!1,isAutoAdvanceEnabled:I=!0,useAutoAdvanceToggle:K=!1,onLoadingChange:$e,onPlaybackPreferenceChange:ze,onPlaybackStarted:Ye,onPlaybackTimeChange:ge,onPlaybackCheckpoint:X,playbackRestoreRequest:S=null,onPlaybackRestoreComplete:se,onSubtitleToggle:le,onPrev:pe,onNext:Se,onSubtitleJump:ye,canJumpToSubtitleTarget:Ne,onFullscreen:ae,isFullscreen:Ge=!1,mobileViewMode:Jt=Cr.DEFAULT_MOBILE_VIEW_MODE,settingsPortalContainer:Zt,onMobileViewModeChange:Qe,onEnded:Xe,onAutoAdvanceToggle:et,onInteractionToggle:Hr,hasInteraction:Jr,isInteractionOpen:ke=!1,isSubtitleEnabled:je=!0,prevDisabled:Ke=!1,nextDisabled:Pe=!1,showControls:Fe=!0,onControlsPointerEnter:$t,onControlsPointerLeave:zt,enableKeyboardShortcuts:Yt=!0,subtitleSeekRequest:W=null,customActions:tt,customActionContext:rt,locale:Ce,texts:nt,onFocusCapture:ut,onPointerDown:st,...Ue})=>{const Be=Ue.dir??Ot.getMarkdownFlowDirection(Ce),lt=Ue.lang??Ot.getMarkdownFlowLanguage(Ce),Gt=t.useId(),at=t.useContext(Mr.PlayerKeyboardShortcutContext),h=t.useRef(null),{resolvedDirection:ct,readDirection:it}=pr.useResolvedDirection(h,Be),_e=ct==="rtl",Qt=gr.useDetachedLanguage(h,lt),ot=t.useRef(ke),P=t.useRef(null),Me=t.useRef(null),L=t.useRef(0),m=t.useRef(null),ce=t.useRef(void 0),_=t.useRef([]),ie=t.useRef(K?I:k),oe=t.useRef(!1),ft=t.useRef(!1),M=t.useRef(!1),j=t.useRef(null),H=t.useRef(null),E=t.useRef(!1),c=t.useRef(!1),v=t.useRef(null),R=t.useRef(!1),J=t.useRef(null),xe=t.useRef(0),dt=t.useRef(()=>{}),we=t.useRef(null),fe=t.useRef(null),mt=t.useRef(null),Z=t.useRef(null),ht=t.useRef(0),We=t.useRef(!1),Oe=t.useRef(!1),bt=t.useRef(X),gt=t.useRef(()=>0),pt=t.useRef(null),F=t.useRef("unknown"),[Te,b]=t.useState(k),[St,ee]=t.useState(!1),[te,Xt]=t.useState({next:!1,previous:!1}),$=at?.ownerId??Gt,U=Yt&&(at?.enabled??!0),o=a>=0?f[a]:void 0,w=o?.audioUrl,yt=o?.audioSegments,er=yt?.length??0,N=t.useMemo(()=>qt.getSortedAudioSegments(o),[o,er,yt]);let ve=pt.current;Ur(f,ve)||(ve=Br(f),pt.current=ve);const kt=ve.tracks,qe=t.useMemo(()=>Tr.toPlayerCustomActionList(tt,rt),[rt,tt]),Ct=qe.length+6,tr=t.useMemo(()=>({"--slide-player-mobile-control-count":String(Ct)}),[Ct]),i=t.useMemo(()=>({...kr.getSlidePlayerTexts(Ce),...nt}),[Ce,nt]),Ve=t.useMemo(()=>o?o.audioKey??`${String(o.sequenceNumber??"none")}:${String(o.audioUrl??"")}`:"none",[o]),rr=K?I:Te,_t=K?I?i.pauseAutoplayLabel:i.playAutoplayLabel:Te?i.pauseLabel:i.playLabel,Mt=Ge?i.exitFullscreenLabel:i.enterFullscreenLabel,z=t.useCallback((e,r,n)=>({ariaKeyShortcuts:U?n:void 0,title:U?Dr(e,r):e}),[U]),xt=z(i.subtitleToggleAriaLabel,D.subtitle,"c"),wt=z(i.previousLabel,_e?D.next:D.previous,_e?"ArrowRight":"ArrowLeft"),Tt=z(i.previousSubtitleLabel,D.previousSubtitle,"Shift+ArrowLeft"),vt=z(_t,i.playbackShortcutLabel,"Space"),Et=z(i.nextLabel,_e?D.previous:D.next,_e?"ArrowLeft":"ArrowRight"),At=z(i.nextSubtitleLabel,D.nextSubtitle,"Shift+ArrowRight"),Lt=z(Mt,D.fullscreen,"f"),Ee=t.useCallback(()=>{U&&he.activatePlayerKeyboardShortcutOwner($)},[$,U]),nr=t.useCallback(e=>{Ee(),st?.(e)},[Ee,st]),ur=t.useCallback(e=>{Ee(),ut?.(e)},[Ee,ut]);t.useEffect(()=>{ce.current=o},[o]),t.useEffect(()=>{ie.current=K?I:k},[k,I,K]),t.useEffect(()=>{Fe||ee(!1)},[Fe]),t.useEffect(()=>{!ot.current&&ke&&ee(!1),ot.current=ke},[ke]),t.useEffect(()=>{_.current=N},[N]),t.useEffect(()=>{const e=o?.audioUrl,r=a>=0?f[a+1]?.audioUrl:void 0;It(e),It(r)},[f,o?.audioUrl,a]);const l=t.useCallback((e,r=null)=>{ft.current===e&&(!e||r===null)||(ft.current=e,$e?.({loading:e,reason:e?r:null}))},[$e]),B=t.useCallback(e=>{ie.current=e,ze?.(e)},[ze]),Y=t.useCallback(()=>K?{shouldContinuePlayback:ie.current}:{shouldContinuePlayback:wr.shouldKeepPlayingAfterNavigation({defaultPlaying:ie.current,isPausedByUser:M.current})},[K]),Rt=t.useCallback(e=>e instanceof DOMException?e.name==="NotAllowedError"||e.name==="SecurityError":!1,[]),O=t.useCallback(()=>k&&!C&&!M.current&&F.current!=="blocked",[k,C]),Nt=t.useCallback(e=>e?e.startsWith("data:")?e:`data:audio/mpeg;base64,${e}`:"",[]),jt=t.useCallback(()=>{const e=m.current;return e==null||e<=0?0:_.current.slice(0,e).reduce((r,n)=>r+Math.max(Number(n.duration_ms??0),0),0)/1e3},[]),G=t.useCallback(e=>e<=0?0:_.current.slice(0,e).reduce((r,n)=>r+Math.max(Number(n.duration_ms??0),0),0),[]),Ae=t.useCallback((e,r)=>!e||C?!1:e.audioUrl?!0:be.isPlaybackTimeCoveredBySegments(qt.getSortedAudioSegments(e),r),[C]),de=t.useCallback((e,r,n={})=>{const u=Vt.getSubtitleCueJumpTarget({currentAudioIndex:a,currentTimeMs:r,direction:e,excludeTarget:n.excludeTarget,tracks:kt});return!u||!Ae(f[u.audioIndex],u.timeMs)||u.audioIndex!==a&&(!ye||Ne&&!Ne(u))?null:u},[f,Ne,Ae,a,ye,kt]),De=t.useCallback((e,r=!1)=>{const n=Math.max(Number(e),0);if(!r&&we.current!==null&&Math.abs(n-we.current)<qr)return;we.current=n;const u={previous:de("previous",n)!==null,next:de("next",n)!==null};Xt(p=>p.previous===u.previous&&p.next===u.next?p:u)},[de]);t.useEffect(()=>{dt.current=De,De(xe.current,!0)},[De]);const q=t.useCallback(()=>{const e=h.current;return e?j.current==="segment"?G(L.current)+Math.max(e.currentTime,0)*1e3:v.current!==null&&e.readyState===0?v.current*1e3:Math.max(e.currentTime,0)*1e3:m.current!=null?G(m.current):0},[G]);t.useEffect(()=>{bt.current=X},[X]),t.useEffect(()=>{gt.current=q},[q]);const A=t.useCallback(e=>{const r=Math.max(e,0);xe.current!==r&&(xe.current=r,Vt.shouldClearSubtitleCueJumpTarget({currentAudioIndex:a,currentTimeMs:r,target:fe.current})&&(fe.current=null),ge?.(r),dt.current(r))},[a,ge]),g=t.useCallback(()=>{A(q())},[q,A]),V=t.useCallback((e=!1,r=!1)=>{const n=Me.current;if(!X||!n)return;const u=Date.now();!e&&u-ht.current<5e3||(ht.current=u,We.current=r,X({audioKey:n,isComplete:r,timeMs:q()}))},[q,X]);t.useEffect(()=>()=>{We.current||bt.current?.({audioKey:Me.current??"none",isComplete:!1,timeMs:gt.current()})},[]),t.useEffect(()=>{We.current=!1},[a]);const y=t.useCallback(()=>{typeof window>"u"||J.current===null||(window.cancelAnimationFrame(J.current),J.current=null)},[]),Kt=t.useCallback(()=>{if(typeof window>"u"||J.current!==null)return;const e=()=>{g();const r=h.current;if(!r||r.paused||r.ended){J.current=null;return}J.current=window.requestAnimationFrame(e)};J.current=window.requestAnimationFrame(e)},[g]),re=t.useCallback(()=>{const e=h.current;e&&(y(),c.current=!1,M.current=!1,oe.current=!1,j.current=null,v.current=null,E.current=!1,R.current=!1,H.current=null,e.pause(),e.removeAttribute("src"),e.load(),P.current=null,L.current=0,m.current=null,A(0),b(!1),l(!1))},[A,y,l]),x=t.useCallback(e=>{const r=h.current;if(!r)return!1;const n=r.play();return n&&typeof n.then=="function"&&n.then(()=>{F.current==="unknown"&&(F.current="auto"),c.current=!1,R.current=!1}).catch(u=>{F.current==="unknown"&&Rt(u)&&(F.current="blocked",c.current=!1,l(!1)),R.current=!1,b(!1)}),!0},[Rt,l]),T=t.useCallback((e,r,n={})=>{const u=h.current,p=_.current[e];if(!u||!p)return!1;const Q=Nt(p.audio_data),Je=Math.max(Number(n.seekTimeSeconds??0),0);L.current=e,m.current=null,E.current=!1,R.current=!0,H.current="segment",A(G(e)+Je*1e3);const Wt=n.shouldResume??O();c.current=Wt,l(!1);const br=P.current!==Q;return j.current="segment",br&&(u.pause(),u.removeAttribute("src"),u.load(),P.current=Q,u.src=Q,u.load()),v.current=Je,u.readyState>0&&(u.currentTime=Je,v.current=null),Wt?x(`start-segment:${r}`):(c.current=!1,R.current=!1,u.pause(),b(!1),!0)},[O,Nt,G,A,x,l]),ne=t.useCallback((e,r)=>{const n=h.current;if(!n)return!1;const u=Math.max(Number(r),0)/1e3;return P.current!==e&&(n.pause(),n.removeAttribute("src"),n.load(),P.current=e,j.current="url",H.current="url",n.src=e,n.load()),v.current=u,A(u*1e3),n.readyState>0&&(n.currentTime=u,v.current=null),!0},[A]),Le=t.useCallback(e=>{const r=h.current;if(!r||!o||C)return!1;const n=Math.max(Number(e),0),u=!r.paused&&!r.ended||c.current||R.current||m.current!==null&&ie.current&&!M.current,p=be.isPlaybackTimeCoveredBySegments(_.current,n)?be.resolveSegmentSeekTarget(_.current,n):null;return we.current=null,y(),c.current=u,l(!1),u&&(F.current="manual",M.current=!1,B(!0)),p&&(j.current==="segment"||!w)?T(p.segmentIndex,"subtitle-seek-segment",{seekTimeSeconds:p.segmentTimeSeconds,shouldResume:u}):w&&ne(w,n)?u?x("subtitle-seek-url"):(c.current=!1,r.pause(),b(!1),!0):!1},[o,w,C,ne,T,y,x,l,B]),Pt=t.useCallback(e=>{if(!h.current||!o)return!1;const n=Math.max(Number(e),0),u=be.isPlaybackTimeCoveredBySegments(_.current,n)?be.resolveSegmentSeekTarget(_.current,n):null;return c.current=!0,l(!1),u&&(j.current==="segment"||!w)?T(u.segmentIndex,"restore",{seekTimeSeconds:u.segmentTimeSeconds,shouldResume:!0}):!w||!ne(w,n)?!1:(x("restore"),!0)},[o,w,ne,T,x,l]),me=t.useCallback(e=>{const r=de(e,q(),{excludeTarget:e==="previous"?fe.current:null});if(r===null)return!1;if(r.audioIndex===a){const u=Le(r.timeMs);return u&&(fe.current=r),u}const n=!!ye?.(r,Ze.suppressPlayerControlsWakeAfterNavigation(Y()));return n&&(fe.current=r),n},[a,q,Y,de,ye,Le]),ue=t.useCallback(e=>{y(),c.current=!1,E.current=!1,R.current=!1,g(),b(!1),l(!1),a>=0&&Xe?.(a)},[a,Xe,y,g,l]),Re=t.useCallback(e=>{const r=h.current;return!r||j.current!=="url"||!_r.hasReachedAudioEnd({currentTimeSeconds:Math.max(r.currentTime,0),durationSeconds:r.duration})?!1:(c.current=!1,r.pause(),ue(e),!0)},[ue]),Ft=t.useCallback(()=>{const e=L.current+1,r=_.current,n=r[e],u=ce.current,p=r.some(Q=>Q.is_final);if(n){T(e,"ended");return}if(u?.isAudioStreaming||!p){L.current=e,m.current=e,E.current=!0,c.current=k,A(G(e)),b(!1),l(!0,"waitingForMoreAudio");return}ue("segments-completed")},[k,ue,G,A,T,l]);t.useEffect(()=>{if(Me.current===Ve)return;V(!0),Me.current=Ve,L.current=0,m.current=null,E.current=!1,M.current=!1,oe.current=!1,c.current=!1,R.current=!1,j.current=null,H.current=null,P.current=null,y(),A(0),l(!1);const e=h.current;e&&(Oe.current=!0,e.pause(),e.removeAttribute("src"),e.load(),Oe.current=!1,b(!1))},[a,Ve,N.length,w,V,A,y,l]),t.useEffect(()=>{const e=h.current;if(e){if(C){oe.current=!!(ce.current&&!M.current&&(!e.paused||c.current||m.current!==null)),c.current=!1,l(!1),e.pause(),b(!1);return}if(!(!oe.current||!ce.current||M.current)){if(oe.current=!1,m.current!==null){if(m.current<_.current.length){T(m.current,"external-resume");return}c.current=!0,l(!0,"waitingForMoreAudio");return}if(!P.current&&_.current.length>0){T(Math.min(L.current,_.current.length-1),"external-resume-init");return}e.paused&&(c.current=!0,x("external-resume"))}}},[C,T,x,l]),t.useEffect(()=>{const e=h.current;if(!e)return;if(!o){re();return}if(S&&S.id!==Z.current)return;if(C){c.current=!1,l(!1),e.pause(),b(!1);return}const r=xr.resolveAudioPlaybackSourceType({activeSourceType:j.current,hasAudioUrl:!!w,segmentCount:N.length,preferredSourceType:H.current,waitingSegmentIndex:m.current});if(r&&H.current!==r&&(H.current=r),r==="url"&&w){const n=P.current!==w,u=O();if(n){const p=m.current!==null?jt():0;ne(w,p*1e3)}if(c.current=u,E.current=!1,R.current=!1,l(!1),!u){c.current=!1,e.pause(),b(!1);return}x(n?"sync-url-init":"sync-url");return}if(r==="segment"&&m.current!==null){if(m.current<N.length){if(M.current){b(!1),l(!1);return}T(m.current,"wait-resume");return}E.current=!0,c.current=O(),b(!1),l(O());return}if(r==="segment"&&!N.length){if(o.isAudioStreaming){m.current=L.current,E.current=!0,c.current=O(),b(!1),l(O());return}re();return}if(r==="segment"&&!P.current){T(Math.min(L.current,N.length-1),"effect-init");return}if(r!=="segment"){re();return}if(!k||M.current){c.current=!1,e.pause(),b(!1);return}e.paused&&(c.current=!0,x("sync-paused-retry"))},[o,a,N,w,k,C,S,O,re,ne,T,x,jt,l]),t.useEffect(()=>{if(!W||W.id===mt.current||W.audioIndex!==a)return;const e=f[W.audioIndex];Ae(e,W.timeMs)&&(mt.current=W.id,Le(W.timeMs))},[f,Ae,a,Le,W]),t.useEffect(()=>{if(!(!S||S.id===Z.current||a<0)){if(Pt(S.timeMs)){Z.current=S.id,se?.(S.id);return}o?.isAudioStreaming||(Z.current=S.id,se?.(S.id))}},[o?.isAudioStreaming,a,se,S,Pt]),t.useEffect(()=>{if(!S||S.id===Z.current||a<0||!o?.isAudioStreaming)return;const e=window.setTimeout(()=>{S.id!==Z.current&&(Z.current=S.id,se?.(S.id))},Vr);return()=>{window.clearTimeout(e)}},[o?.isAudioStreaming,a,se,S]),t.useEffect(()=>re,[re]),t.useEffect(()=>y,[y]);const sr=t.useCallback(()=>{g(),Kt(),b(!0),l(!1),Ye?.()},[Ye,Kt,g,l]),lr=t.useCallback(()=>{Oe.current||E.current||R.current||(y(),g(),V(!0),b(!1))},[V,y,g]),ar=t.useCallback(()=>{const e=h.current;e&&v.current!==null&&(e.currentTime=v.current,v.current=null),g(),!Re("canplay-seek-finished")&&(!c.current||!k||x("canplay"))},[a,k,Re,g,x]),cr=t.useCallback(()=>{const e=h.current;e&&v.current!==null&&(e.currentTime=v.current,v.current=null),g(),Re("metadata-seek-finished")},[a,Re,g]),ir=t.useCallback(()=>{g(),V()},[V,g]),or=t.useCallback(()=>{E.current||l(!0,"loadingAudio")},[l]),fr=t.useCallback(()=>{if(E.current){l(!0,"waitingForMoreAudio");return}l(!0,"loadingAudio")},[l]),Ut=t.useCallback(()=>{g()},[g]),dr=t.useCallback(()=>{const e=ce.current,r=j.current==="url"||_.current.length===0,n=!!_.current[L.current+1],u=_.current.some(Q=>Q.is_final),p=!!e?.isAudioStreaming;if(V(!0,r||!p&&!n&&u),y(),R.current=!1,r){ue("url-ended");return}Ft()},[V,ue,Ft,y]),mr=t.useCallback(()=>{y(),g(),b(!1),l(!1)},[y,g,l]),hr=t.useCallback(e=>{Qe?.(e),ee(!1)},[Qe]),Ie=t.useCallback(()=>{if(K){const r=!I;return B(r),et?.(r),!0}const e=h.current;return C||!e||!o?!1:m.current!==null?Te?(B(!1),c.current=!1,M.current=!0,m.current=null,E.current=!1,b(!1),l(!1),e.pause(),!0):(B(!0),F.current="manual",M.current=!1,c.current=!0,l(!0,"waitingForMoreAudio"),!0):!e.src&&N.length>0?(B(!0),F.current="manual",M.current=!1,T(Math.min(L.current,N.length-1),"toggle"),!0):e.paused?(B(!0),F.current="manual",M.current=!1,c.current=!0,x("toggle-resume"),!0):(B(!1),c.current=!1,M.current=!0,e.pause(),!0)},[o,N.length,I,C,Te,et,T,x,l,B,K]);t.useEffect(()=>{if(U)return he.registerPlayerKeyboardShortcutOwner($)},[$,U]);const He=t.useMemo(()=>({fullscreen:()=>ae?(ae(),!0):!1,next:()=>Se?(Pe||Se(Ze.suppressPlayerControlsWakeAfterNavigation(Y())),!0):!1,nextSubtitle:()=>te.next?me("next"):!0,previous:()=>pe?(Ke||pe(Ze.suppressPlayerControlsWakeAfterNavigation(Y())),!0):!1,previousSubtitle:()=>te.previous?me("previous"):!0,subtitle:()=>le?(le(),!0):!1,togglePlayback:()=>(Ie(),!0)}),[Y,me,Pe,ae,Se,pe,le,Ke,te.next,te.previous,Ie]),Bt=t.useRef(He);return t.useEffect(()=>{Bt.current=He},[He]),t.useEffect(()=>{if(!U||typeof document>"u")return;const e=r=>{if(!he.isActivePlayerKeyboardShortcutOwner($))return;const n=he.getPlayerKeyboardShortcutAction(r,it());if(!n||he.shouldIgnorePlayerKeyboardShortcutEvent(r,n))return;let u=!1;const p=Bt.current[n];u=p(),u&&r.preventDefault()};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[$,it,U]),t.useEffect(()=>{ge?.(xe.current)},[ge]),s.jsxs("div",{...Ue,dir:Be,lang:lt,"data-slide-player-shortcut-owner":$,className:Sr.cn("slide-player",d),onFocusCapture:ur,onPointerDown:nr,children:[s.jsx("audio",{ref:h,preload:"auto",playsInline:!0,onLoadStart:or,onLoadedMetadata:cr,onCanPlay:ar,onPlay:sr,onPause:lr,onWaiting:fr,onSeeking:Ut,onSeeked:Ut,onTimeUpdate:ir,onEnded:dr,onError:mr}),Fe?s.jsxs(s.Fragment,{children:[s.jsx(yr.default,{container:Zt,dir:Be??ct,lang:Qt,labels:{closeSettings:i.closeSettingsLabel,fullscreen:i.fullscreenLabel,nonFullscreen:i.nonFullscreenLabel,screen:i.screenLabel,screenMode:i.screenModeLabel,subtitle:i.subtitleLabel,subtitleToggle:i.subtitleToggleAriaLabel,title:i.settingsTitle},isSubtitleEnabled:je,onClose:()=>ee(!1),onOpenChange:ee,onSubtitleToggle:le??(()=>{}),onViewModeChange:hr,open:St,viewMode:Jt}),s.jsxs("div",{className:"slide-player__controls",onPointerEnter:$t,onPointerLeave:zt,style:tr,children:[s.jsxs("div",{className:"slide-player__group",children:[s.jsx("button",{"aria-expanded":St,"aria-haspopup":"dialog","aria-label":i.moreOptionsAriaLabel,className:"slide-player__action slide-player__action--mobile-more",onClick:()=>{ee(e=>!e)},type:"button",children:s.jsx(vr.default,{className:"slide-player__icon",strokeWidth:2.25})}),s.jsx("button",{"aria-label":i.volumeAriaLabel,className:"hidden",type:"button",children:s.jsx(Er.default,{className:"slide-player__icon",strokeWidth:2.25})}),s.jsx("button",{"aria-label":_t,"aria-keyshortcuts":vt.ariaKeyShortcuts,className:"slide-player__toggle slide-player__toggle--playback",onClick:()=>{Ie()},title:vt.title,type:"button",children:rr?s.jsx(Wr,{}):s.jsx(Or,{})}),s.jsx("button",{"aria-keyshortcuts":wt.ariaKeyShortcuts,"aria-label":i.previousLabel,className:"slide-player__action slide-player__action--prev",disabled:Ke,onClick:()=>{pe?.(Y())},title:wt.title,type:"button",children:s.jsx(Ar.default,{className:"slide-player__icon",strokeWidth:2.25})}),s.jsx("button",{"aria-keyshortcuts":Et.ariaKeyShortcuts,"aria-label":i.nextLabel,className:"slide-player__action slide-player__action--next",disabled:Pe,onClick:()=>{Se?.(Y())},title:Et.title,type:"button",children:s.jsx(Lr.default,{className:"slide-player__icon",strokeWidth:2.25})}),s.jsx("button",{"aria-keyshortcuts":Tt.ariaKeyShortcuts,"aria-label":i.previousSubtitleLabel,className:"slide-player__action slide-player__action--prev-subtitle",disabled:!te.previous,onClick:()=>{me("previous")},title:Tt.title,type:"button",children:s.jsx(Rr.default,{className:"slide-player__icon",strokeWidth:2.25})}),s.jsx("button",{"aria-keyshortcuts":At.ariaKeyShortcuts,"aria-label":i.nextSubtitleLabel,className:"slide-player__action slide-player__action--next-subtitle",disabled:!te.next,onClick:()=>{me("next")},title:At.title,type:"button",children:s.jsx(Nr.default,{className:"slide-player__icon",strokeWidth:2.25})}),s.jsx("button",{"aria-label":i.subtitleToggleAriaLabel,"aria-keyshortcuts":xt.ariaKeyShortcuts,"aria-pressed":je,className:"slide-player__action slide-player__action--subtitle",onClick:le,title:xt.title,type:"button",children:je?s.jsx(jr.default,{className:"slide-player__icon",strokeWidth:2.25}):s.jsx(Kr.default,{className:"slide-player__icon",strokeWidth:2.25})}),ae?s.jsx("button",{"aria-label":Mt,"aria-keyshortcuts":Lt.ariaKeyShortcuts,className:"slide-player__action slide-player__action--fullscreen",onClick:ae,title:Lt.title,type:"button",children:Ge?s.jsx(Pr.default,{className:"slide-player__icon",strokeWidth:2.25}):s.jsx(Fr.default,{className:"slide-player__icon",strokeWidth:2.25})}):null]}),qe.length>0?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"slide-player__separator"}),s.jsx("div",{className:"slide-player__group slide-player__group--custom-actions",children:qe.map((e,r)=>s.jsx(t.Fragment,{children:e},`custom-action-${r}`))})]}):null]})]}):null]})},Ht=t.memo(Ir);Ht.displayName="Player";exports.default=Ht;
|
|
2
2
|
//# sourceMappingURL=Player.cjs.map
|