vidply 1.0.28 → 1.0.29

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.
Files changed (61) hide show
  1. package/dist/dev/{vidply.TranscriptManager-QSF2PWUN.js → vidply.TranscriptManager-T677KF4N.js} +4 -5
  2. package/dist/dev/{vidply.TranscriptManager-QSF2PWUN.js.map → vidply.TranscriptManager-T677KF4N.js.map} +2 -2
  3. package/dist/dev/{vidply.chunk-SRM7VNHG.js → vidply.chunk-GS2JX5RQ.js} +136 -95
  4. package/dist/dev/vidply.chunk-GS2JX5RQ.js.map +7 -0
  5. package/dist/dev/vidply.esm.js +1674 -310
  6. package/dist/dev/vidply.esm.js.map +4 -4
  7. package/dist/legacy/vidply.js +1776 -348
  8. package/dist/legacy/vidply.js.map +4 -4
  9. package/dist/legacy/vidply.min.js +1 -1
  10. package/dist/legacy/vidply.min.meta.json +92 -24
  11. package/dist/prod/vidply.TranscriptManager-WFZSW6NR.min.js +6 -0
  12. package/dist/prod/vidply.chunk-LGTJRPUL.min.js +6 -0
  13. package/dist/prod/vidply.esm.min.js +8 -8
  14. package/dist/vidply.esm.min.meta.json +92 -24
  15. package/package.json +1 -1
  16. package/src/controls/ControlBar.js +3 -7
  17. package/src/controls/TranscriptManager.js +7 -7
  18. package/src/core/AudioDescriptionManager.js +701 -0
  19. package/src/core/Player.js +4776 -4921
  20. package/src/core/SignLanguageManager.js +1134 -0
  21. package/src/utils/DOMUtils.js +153 -114
  22. package/src/utils/MenuFactory.js +374 -0
  23. package/dist/dev/vidply.TranscriptManager-GZKY44ON.js +0 -1744
  24. package/dist/dev/vidply.TranscriptManager-GZKY44ON.js.map +0 -7
  25. package/dist/dev/vidply.TranscriptManager-UTJBQC5B.js +0 -1744
  26. package/dist/dev/vidply.TranscriptManager-UTJBQC5B.js.map +0 -7
  27. package/dist/dev/vidply.chunk-5663PYKK.js +0 -1631
  28. package/dist/dev/vidply.chunk-5663PYKK.js.map +0 -7
  29. package/dist/dev/vidply.chunk-SRM7VNHG.js.map +0 -7
  30. package/dist/dev/vidply.chunk-UH5MTGKF.js +0 -1630
  31. package/dist/dev/vidply.chunk-UH5MTGKF.js.map +0 -7
  32. package/dist/dev/vidply.de-RXAJM5QE.js +0 -181
  33. package/dist/dev/vidply.de-RXAJM5QE.js.map +0 -7
  34. package/dist/dev/vidply.de-THBIMP4S.js +0 -180
  35. package/dist/dev/vidply.de-THBIMP4S.js.map +0 -7
  36. package/dist/dev/vidply.es-6VWDNNNL.js +0 -180
  37. package/dist/dev/vidply.es-6VWDNNNL.js.map +0 -7
  38. package/dist/dev/vidply.es-SADVLJTQ.js +0 -181
  39. package/dist/dev/vidply.es-SADVLJTQ.js.map +0 -7
  40. package/dist/dev/vidply.fr-V3VAYBBT.js +0 -181
  41. package/dist/dev/vidply.fr-V3VAYBBT.js.map +0 -7
  42. package/dist/dev/vidply.fr-WHTWCHWT.js +0 -180
  43. package/dist/dev/vidply.fr-WHTWCHWT.js.map +0 -7
  44. package/dist/dev/vidply.ja-BFQNPOFI.js +0 -180
  45. package/dist/dev/vidply.ja-BFQNPOFI.js.map +0 -7
  46. package/dist/dev/vidply.ja-KL2TLZGJ.js +0 -181
  47. package/dist/dev/vidply.ja-KL2TLZGJ.js.map +0 -7
  48. package/dist/prod/vidply.TranscriptManager-DZ2WZU3K.min.js +0 -6
  49. package/dist/prod/vidply.TranscriptManager-E5QHGFIR.min.js +0 -6
  50. package/dist/prod/vidply.TranscriptManager-UZ6DUFB6.min.js +0 -6
  51. package/dist/prod/vidply.chunk-5DWTMWEO.min.js +0 -6
  52. package/dist/prod/vidply.chunk-IBNYTGGM.min.js +0 -6
  53. package/dist/prod/vidply.chunk-MBUR3U5L.min.js +0 -6
  54. package/dist/prod/vidply.de-HGJBCLLE.min.js +0 -6
  55. package/dist/prod/vidply.de-SWFW4HYT.min.js +0 -6
  56. package/dist/prod/vidply.es-7BJ2DJAY.min.js +0 -6
  57. package/dist/prod/vidply.es-CZEBXCZN.min.js +0 -6
  58. package/dist/prod/vidply.fr-DPVR5DFY.min.js +0 -6
  59. package/dist/prod/vidply.fr-HFOL7MWA.min.js +0 -6
  60. package/dist/prod/vidply.ja-PEBVWKVH.min.js +0 -6
  61. package/dist/prod/vidply.ja-QTVU5C25.min.js +0 -6
@@ -1,6 +0,0 @@
1
- /*!
2
- * Universal, Accessible Video Player
3
- * (c) 2025 Matthias Peltzer
4
- * Released under GPL-2.0-or-later License
5
- */
6
- var m={createElement(i,e={}){let t=document.createElement(i);return e.className&&(t.className=e.className),e.attributes&&Object.entries(e.attributes).forEach(([s,o])=>{t.setAttribute(s,o)}),e.innerHTML&&(t.innerHTML=e.innerHTML),e.textContent&&(t.textContent=e.textContent),e.style&&Object.assign(t.style,e.style),e.children&&e.children.forEach(s=>{s&&t.appendChild(s)}),t},addClass(i,e){i&&e&&i.classList.add(e)},removeClass(i,e){i&&e&&i.classList.remove(e)},toggleClass(i,e){i&&e&&i.classList.toggle(e)},hasClass(i,e){return i&&i.classList.contains(e)},show(i){i&&(i.style.display="")},hide(i){i&&(i.style.display="none")},fadeIn(i,e=300){if(!i)return;i.style.opacity="0",i.style.display="";let t=null,s=o=>{t||(t=o);let n=o-t,r=Math.min(n/e,1);i.style.opacity=r,n<e&&requestAnimationFrame(s)};requestAnimationFrame(s)},fadeOut(i,e=300){if(!i)return;let t=parseFloat(getComputedStyle(i).opacity)||1,s=null,o=n=>{s||(s=n);let r=n-s,c=Math.max(t-r/e,0);i.style.opacity=c,r<e?requestAnimationFrame(o):i.style.display="none"};requestAnimationFrame(o)},offset(i){if(!i)return{top:0,left:0};let e=i.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset,width:e.width,height:e.height}},escapeHTML(i){let e=document.createElement("div");return e.textContent=i,e.innerHTML},sanitizeHTML(i){let e=document.createElement("div"),t=i.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi,"").replace(/on\w+\s*=/gi,"").replace(/javascript:/gi,"");return e.innerHTML=t,e.innerHTML},createTooltip(i,e="vidply"){return this.createElement("span",{className:`${e}-tooltip`,textContent:i,attributes:{"aria-hidden":"true"}})},attachTooltip(i,e,t="vidply"){if(!i||!e)return;let s=i.querySelector(`.${t}-tooltip`);s&&s.remove();let o=this.createTooltip(e,t);i.appendChild(o);let n=()=>{o.classList.add(`${t}-tooltip-visible`)},r=()=>{o.classList.remove(`${t}-tooltip-visible`)};i.addEventListener("mouseenter",n),i.addEventListener("mouseleave",r),i.addEventListener("focus",n),i.addEventListener("blur",r)},createButtonText(i,e="vidply"){return this.createElement("span",{className:`${e}-button-text`,textContent:i,attributes:{"aria-hidden":"true"}})}};var w={player:{label:"Video Player",play:"Play",pause:"Pause",stop:"Stop",restart:"Restart from beginning",rewind:"Rewind",forward:"Forward",rewindSeconds:"Rewind {seconds} seconds",forwardSeconds:"Forward {seconds} seconds",previous:"Previous track",next:"Next track",playlist:"Toggle playlist",volume:"Volume",mute:"Mute",unmute:"Unmute",fullscreen:"Fullscreen",exitFullscreen:"Exit Fullscreen",captions:"Captions",chapters:"Chapters",quality:"Quality",captionStyling:"Caption styling",transcript:"Toggle transcript",audioDescription:"Audio description",signLanguage:"Sign language video",settings:"Settings",speed:"Playback Speed",pip:"Picture in Picture",currentTime:"Current time",duration:"Duration",progress:"Progress",seekForward:"Seek forward {seconds} seconds",seekBackward:"Seek backward {seconds} seconds",volumeUp:"Volume up",volumeDown:"Volume down",loading:"Loading...",loadingChapters:"Loading chapters...",error:"Error loading media",buffering:"Buffering...",signLanguageVideo:"Sign Language Video",closeSignLanguage:"Close sign language video",signLanguageSettings:"Sign language settings",noChapters:"No chapters available",noCaptions:"No captions available",auto:"Auto",autoQuality:"Auto (no quality selection available)",noQuality:"Quality selection not available",signLanguageDragResize:"Sign Language Video - Press D to drag with keyboard, R to resize",signLanguageDragActive:"Sign Language Video - Drag mode active. Use arrow keys to move, Escape to exit.",signLanguageResizeActive:"Sign Language Video - Resize mode active. Use left/right arrow keys to resize, Escape to exit.",enableSignDragMode:"Enable drag mode. Shortcut: D key",disableSignDragMode:"Disable drag mode. Shortcut: D key",enableSignDragModeAria:"Enable toggle keyboard drag mode with arrow keys. Shortcut: D key",disableSignDragModeAria:"Disable toggle keyboard drag mode with arrow keys. Shortcut: D key",enableSignResizeMode:"Enable resize mode. Shortcut: R key",disableSignResizeMode:"Disable resize mode. Shortcut: R key",enableSignResizeModeAria:"Enable keyboard resize mode with arrow keys. Shortcut: R key",disableSignResizeModeAria:"Disable keyboard resize mode with arrow keys. Shortcut: R key",resizeHandle:"Resize {direction} corner",moreOptions:"More options",noMoreOptions:"No additional options available"},captions:{off:"Off",select:"Select captions",fontSize:"Font Size",fontFamily:"Font Family",color:"Text Color",backgroundColor:"Background Color",opacity:"Opacity"},fontSizes:{small:"Small",normal:"Normal",large:"Large",xlarge:"X-Large"},fontFamilies:{sansSerif:"Sans-serif",serif:"Serif",monospace:"Monospace"},styleLabels:{textColor:"Text Color",background:"Background",font:"Font",fontSize:"Font Size",opacity:"Opacity"},audioDescription:{enable:"Enable audio description",disable:"Disable audio description"},signLanguage:{show:"Show sign language video",hide:"Hide sign language video"},transcript:{title:"Transcript",ariaLabel:"Video Transcript",close:"Close transcript",loading:"Loading transcript...",noTranscript:"No transcript available for this video.",settings:"Transcript settings. Press Enter to open menu, or D to enable drag mode",keyboardDragMode:"Toggle keyboard drag mode with arrow keys. Shortcut: D key",keyboardDragActive:"⌨️ Keyboard Drag Mode Active (Arrow keys to move, Shift+Arrows for large steps, D or ESC to exit)",dragResizePrompt:"Press D to drag or R to resize. Use Home to reset position, Esc to close.",dragModeEnabled:"Keyboard drag mode enabled. Use arrow keys to move, Shift+Arrow for larger steps. Press D or Esc to exit.",dragModeDisabled:"Keyboard drag mode disabled.",enableDragMode:"Enable drag mode. Shortcut: D key",disableDragMode:"Disable drag mode. Shortcut: D key",enableDragModeAria:"Enable toggle keyboard drag mode with arrow keys. Shortcut: D key",disableDragModeAria:"Disable toggle keyboard drag mode with arrow keys. Shortcut: D key",resizeWindow:"Resize Window",disableResizeWindow:"Disable Resize Mode",enableResizeMode:"Enable resize mode. Shortcut: R key",disableResizeMode:"Disable resize mode. Shortcut: R key",enableResizeModeAria:"Enable keyboard resize mode with arrow keys. Shortcut: R key",disableResizeModeAria:"Disable keyboard resize mode with arrow keys. Shortcut: R key",resizeModeHint:"Resize handles enabled. Drag edges or corners to adjust. Press Esc or R to exit.",resizeModeEnabled:"Resize mode enabled. Drag edges or corners to adjust. Press Esc or R to exit.",resizeModeDisabled:"Resize mode disabled.",positionReset:"Transcript position reset.",styleTranscript:"Open transcript style settings",closeMenu:"Close Menu",styleTitle:"Transcript Style",autoscroll:"Autoscroll",settingsMenu:"Transcript dialog settings",showTimestamps:"Show timestamps",hideTimestamps:"Hide timestamps",showTimestampsAria:"Show timestamps in transcript",hideTimestampsAria:"Hide timestamps in transcript"},settings:{title:"Settings",quality:"Quality",speed:"Speed",captions:"Captions",language:"Language",reset:"Reset to defaults",close:"Close"},speeds:{normal:"Normal"},time:{display:"Time display",durationPrefix:"Duration: ",of:"of",hour:"{count} hour",hours:"{count} hours",minute:"{count} minute",minutes:"{count} minutes",second:"{count} second",seconds:"{count} seconds"},playlist:{title:"Playlist",trackOf:"Track {current} of {total}",nowPlaying:"Now playing: Track {current} of {total}. {title}{artist}",by:" by ",untitled:"Untitled",trackUntitled:"Track {number}",currentlyPlaying:"Currently playing",notPlaying:"Not playing",pressEnterPlay:"Press Enter to play",pressEnterRestart:"Press Enter to restart",keyboardInstructions:"Playlist navigation: Use Up and Down arrow keys to move between tracks. Press Page Up or Page Down to skip 5 tracks. Press Home to go to first track, End to go to last track. Press Enter or Space to play the selected track.",endOfPlaylist:"End of playlist. {current} of {total}.",beginningOfPlaylist:"Beginning of playlist. 1 of {total}.",jumpedToLastTrack:"Jumped to last track. {current} of {total}.",jumpedToFirstTrack:"Jumped to first track. 1 of {total}.",firstTrack:"First track. 1 of {total}.",lastTrack:"Last track. {current} of {total}."}};var M={de:()=>import("./vidply.de-FR3XX54P.min.js"),es:()=>import("./vidply.es-3IJCQLJ7.min.js"),fr:()=>import("./vidply.fr-NC4VEAPH.min.js"),ja:()=>import("./vidply.ja-4ZC6ZQLV.min.js")};function y(){return{en:w}}function k(){return M}async function S(i){let e=M[i];if(!e)return null;let t=await e();return t[i]||t.default||null}var V=y();var v=class{constructor(){this.currentLanguage="en",this.translations=y(),this.loadingPromises=new Map,this.builtInLanguageLoaders=k()}setLanguage(e){this.translations[e]?this.currentLanguage=e:(console.warn(`Language "${e}" not found, falling back to English`),this.currentLanguage="en")}getLanguage(){return this.currentLanguage}async ensureLanguage(e){let t=(e||"").toLowerCase();if(!t)return this.currentLanguage;if(this.translations[t])return t;if(this.loadingPromises.has(t))return await this.loadingPromises.get(t),this.translations[t]?t:null;if(!this.builtInLanguageLoaders[t])return null;let s=(async()=>{try{let o=await S(t);o&&(this.translations[t]=o)}catch(o){console.warn(`Language "${t}" failed to load:`,o)}finally{this.loadingPromises.delete(t)}})();return this.loadingPromises.set(t,s),await s,this.translations[t]?t:null}t(e,t={}){let s=e.split("."),o=this.translations[this.currentLanguage];for(let n of s)if(o&&typeof o=="object"&&n in o)o=o[n];else{o=this.translations.en;for(let r of s)if(o&&typeof o=="object"&&r in o)o=o[r];else return e;break}return typeof o=="string"&&Object.entries(t).forEach(([n,r])=>{o=o.replace(new RegExp(`{${n}}`,"g"),r)}),o}addTranslation(e,t){this.translations[e]||(this.translations[e]={}),Object.assign(this.translations[e],t)}async loadLanguageFromUrl(e,t){if(this.loadingPromises.has(t))return this.loadingPromises.get(t);let s=(async()=>{try{let o=await fetch(t);if(!o.ok)throw new Error(`Failed to load language file: ${o.statusText}`);let n=o.headers.get("content-type")||"",r,c=await o.arrayBuffer(),a=new TextDecoder("utf-8").decode(c);if(n.includes("application/json")||t.endsWith(".json"))r=JSON.parse(a);else if(n.includes("text/yaml")||n.includes("application/x-yaml")||t.endsWith(".yaml")||t.endsWith(".yml"))try{r=JSON.parse(a)}catch{if(typeof window<"u"&&window.jsyaml)r=window.jsyaml.load(a);else throw console.warn("YAML parsing requires js-yaml library. Please include it or use JSON format."),new Error("YAML parsing not available. Please use JSON format or include js-yaml library.")}else r=JSON.parse(a);return this.addTranslation(e,r),r}catch(o){throw console.error(`Error loading language file from ${t}:`,o),o}finally{this.loadingPromises.delete(t)}})();return this.loadingPromises.set(t,s),s}async loadLanguagesFromUrls(e){let t=Object.entries(e).map(([s,o])=>this.loadLanguageFromUrl(s,o));await Promise.all(t)}},p=new v;var K={formatTime(i,e=!1){if(!isFinite(i)||i<0)return e?"00:00:00":"00:00";let t=Math.floor(i/3600),s=Math.floor(i%3600/60),o=Math.floor(i%60),n=r=>String(r).padStart(2,"0");return t>0||e?`${n(t)}:${n(s)}:${n(o)}`:`${n(s)}:${n(o)}`},parseTime(i){let e=i.split(":").map(t=>parseInt(t,10));return e.length===3?e[0]*3600+e[1]*60+e[2]:e.length===2?e[0]*60+e[1]:e.length===1?e[0]:0},formatDuration(i){if(!isFinite(i)||i<0)return p.t("time.seconds",{count:0});let e=Math.floor(i/3600),t=Math.floor(i%3600/60),s=Math.floor(i%60),o=[];if(e>0){let n=e===1?"time.hour":"time.hours";o.push(p.t(n,{count:e}))}if(t>0){let n=t===1?"time.minute":"time.minutes";o.push(p.t(n,{count:t}))}if(s>0||o.length===0){let n=s===1?"time.second":"time.seconds";o.push(p.t(n,{count:s}))}return o.join(", ")},formatPercentage(i,e){return e===0?0:Math.round(i/e*100)}};var H={play:'<path d="M8 5v14l11-7z"/>',pause:'<path d="M6 4h4v16H6V4zm8 0h4v16h-4V4z"/>',stop:'<rect x="6" y="6" width="12" height="12"/>',rewind:'<path d="M11 18V6l-8.5 6 8.5 6zm.5-6l8.5 6V6l-8.5 6z"/>',forward:'<path d="M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z"/>',skipPrevious:'<path d="M6 6h2v12H6V6zm3 6l8.5 6V6L9 12z"/>',skipNext:'<path d="M16 6h2v12h-2V6zM6 6l8.5 6L6 18V6z"/>',restart:'<path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"/>',volumeHigh:'<path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"/>',volumeMedium:'<path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02z"/>',volumeLow:'<path d="M7 9v6h4l5 5V4l-5 5H7z"/>',volumeMuted:'<path d="M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z"/>',fullscreen:'<path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/>',fullscreenExit:'<path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"/>',settings:'<path d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94L14.4 2.81c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>',captions:'<path d="M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 7H9.5v-.5h-2v3h2V13H11v1c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1zm7 0h-1.5v-.5h-2v3h2V13H18v1c0 .55-.45 1-1 1h-3c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1z"/>',captionsOff:'<path d="M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 7H9.5v-.5h-2v3h2V13H11v1c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1zm7 0h-1.5v-.5h-2v3h2V13H18v1c0 .55-.45 1-1 1h-3c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1z"/><path d="M0 0h24v24H0z" fill="none"/>',pip:'<path d="M19 7h-8v6h8V7zm2-4H3c-1.1 0-2 .9-2 2v14c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98V5c0-1.1-.9-2-2-2zm0 16.01H3V4.98h18v14.03z"/>',speed:'<path d="M20.38 8.57l-1.23 1.85a8 8 0 0 1-.22 7.58H5.07A8 8 0 0 1 15.58 6.85l1.85-1.23A10 10 0 0 0 3.35 19a2 2 0 0 0 1.72 1h13.85a2 2 0 0 0 1.74-1 10 10 0 0 0-.27-10.44z"/><path d="M10.59 15.41a2 2 0 0 0 2.83 0l5.66-8.49-8.49 5.66a2 2 0 0 0 0 2.83z"/>',close:'<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>',check:'<path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/>',loading:'<path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"/>',error:'<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/>',playlist:'<path d="M15 6H3v2h12V6zm0 4H3v2h12v-2zM3 16h8v-2H3v2zM17 6v8.18c-.31-.11-.65-.18-1-.18-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3V8h3V6h-5z"/>',hd:'<path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-8 12H9.5v-2h-2v2H6V9h1.5v2.5h2V9H11v6zm7-1c0 .55-.45 1-1 1h-.75v1.5h-1.5V15H14c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v4zm-3.5-.5h2v-3h-2v3z"/>',transcript:'<path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"/>',chapters:'<path d="M3 5h2v2H3V5zm0 4h2v2H3V9zm0 4h2v2H3v-2zm0 4h2v2H3v-2zM7 5h14v2H7V5zm0 4h14v2H7V9zm0 4h14v2H7v-2zm0 4h14v2H7v-2z"/>',audioDescription:'<rect x="2" y="5" width="20" height="14" rx="2" fill="#ffffff" stroke="#ffffff" stroke-width="2"/><text x="12" y="16" font-family="Arial, sans-serif" font-size="10" font-weight="bold" text-anchor="middle" fill="#1a1a1a">AD</text>',audioDescriptionOn:'<rect x="2" y="5" width="20" height="14" rx="2" fill="none" stroke="currentColor" stroke-width="2"/><text x="12" y="16" font-family="Arial, sans-serif" font-size="10" font-weight="bold" text-anchor="middle" fill="currentColor">AD</text>',signLanguage:'<g transform="scale(1.5)"><path d="M16 11.3c-.1-.9-4.8 1.3-5.4 1.1-2.6-1 5.8-1.3 5.1-2.9s-5.1 1.5-6 1.4C6.5 9.4 16.5 9.1 13.5 8c-1.9-.6-8.8 2.9-6.8.4.7-.6.7-1.9-.7-1.7-9.7 7.2-.7 12.2 8.8 7 0-1.3-3.5.4-4.1.4-2.6 0 5.6-2 5.4-3ZM3.9 7.8c3.2-4.2 3.7 1.2 6 .1s.2-.2.2-.3c.7-2.7 2.5-7.5-1.5-1.3-1.6 0 1.1-4 1-4.6C8.9-1 7.3 4.4 7.2 4.9c-1.6.7-.9-1.4-.7-1.5 3-6-.6-3.1-.9.4-2.5 1.8 0-2.8 0-3.5C2.8-.9 4 9.4 1.1 4.9S.1 4.6 0 5c-.4 2.7 2.6 7.2 3.9 2.8Z"/></g>',signLanguageOn:'<g transform="scale(1.5)"><path d="M16 11.3c-.1-.9-4.8 1.3-5.4 1.1-2.6-1 5.8-1.3 5.1-2.9s-5.1 1.5-6 1.4C6.5 9.4 16.5 9.1 13.5 8c-1.9-.6-8.8 2.9-6.8.4.7-.6.7-1.9-.7-1.7-9.7 7.2-.7 12.2 8.8 7 0-1.3-3.5.4-4.1.4-2.6 0 5.6-2 5.4-3ZM3.9 7.8c3.2-4.2 3.7 1.2 6 .1s.2-.2.2-.3c.7-2.7 2.5-7.5-1.5-1.3-1.6 0 1.1-4 1-4.6C8.9-1 7.3 4.4 7.2 4.9c-1.6.7-.9-1.4-.7-1.5 3-6-.6-3.1-.9.4-2.5 1.8 0-2.8 0-3.5C2.8-.9 4 9.4 1.1 4.9S.1 4.6 0 5c-.4 2.7 2.6 7.2 3.9 2.8Z"/></g>',music:'<path d="M12 3v9.28c-.47-.17-.97-.28-1.5-.28C8.01 12 6 14.01 6 16.5S8.01 21 10.5 21c2.31 0 4.2-1.75 4.45-4H15V6h4V3h-7zm-1.5 16c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/>',moreVertical:'<path d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/>',move:'<path d="M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z"/>',resize:'<path d="M21.71 11.29l-9-9c-.39-.39-1.02-.39-1.41 0l-9 9c-.39.39-.39 1.02 0 1.41l9 9c.39.39 1.02.39 1.41 0l9-9c.39-.38.39-1.01 0-1.41zM14 14.5V12h-4v2.5L7 11l3-3.5V10h4V7.5l3 3.5-3 3.5z"/>',clock:'<path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/>'},E=i=>`<svg viewBox="0 0 24 24" fill="currentColor">${i}</svg>`,D=Object.fromEntries(Object.entries(H).map(([i,e])=>[i,E(e)]));function P(i){return D[i]||D.play}function L(i,e=""){let t=document.createElement("span");return t.className=`vidply-icon ${e}`.trim(),t.innerHTML=P(i),t.setAttribute("aria-hidden","true"),t}function W(){let i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("class","vidply-play-overlay"),i.setAttribute("viewBox","0 0 80 80"),i.setAttribute("width","80"),i.setAttribute("height","80"),i.setAttribute("aria-hidden","true"),i.setAttribute("role","presentation"),i.style.cursor="pointer";let e=document.createElementNS("http://www.w3.org/2000/svg","defs"),t=`vidply-play-shadow-${Math.random().toString(36).substr(2,9)}`,s=document.createElementNS("http://www.w3.org/2000/svg","filter");s.setAttribute("id",t),s.setAttribute("x","-50%"),s.setAttribute("y","-50%"),s.setAttribute("width","200%"),s.setAttribute("height","200%");let o=document.createElementNS("http://www.w3.org/2000/svg","feGaussianBlur");o.setAttribute("in","SourceAlpha"),o.setAttribute("stdDeviation","3");let n=document.createElementNS("http://www.w3.org/2000/svg","feOffset");n.setAttribute("dx","0"),n.setAttribute("dy","2"),n.setAttribute("result","offsetblur");let r=document.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer"),c=document.createElementNS("http://www.w3.org/2000/svg","feFuncA");c.setAttribute("type","linear"),c.setAttribute("slope","0.3"),r.appendChild(c);let a=document.createElementNS("http://www.w3.org/2000/svg","feMerge"),u=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode"),h=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode");h.setAttribute("in","SourceGraphic"),a.appendChild(u),a.appendChild(h),s.appendChild(o),s.appendChild(n),s.appendChild(r),s.appendChild(a),e.appendChild(s),i.appendChild(e);let l=document.createElementNS("http://www.w3.org/2000/svg","circle");l.setAttribute("cx","40"),l.setAttribute("cy","40"),l.setAttribute("r","40"),l.setAttribute("fill","rgba(255, 255, 255, 0.95)"),l.setAttribute("filter",`url(#${t})`),l.setAttribute("class","vidply-play-overlay-bg"),i.appendChild(l);let d=document.createElementNS("http://www.w3.org/2000/svg","polygon");return d.setAttribute("points","32,28 32,52 54,40"),d.setAttribute("fill","#0a406e"),d.setAttribute("class","vidply-play-overlay-icon"),i.appendChild(d),i}function b(i,{delay:e=0,preventScroll:t=!0}={}){i&&requestAnimationFrame(()=>{setTimeout(()=>{i&&document.contains(i)&&i.focus({preventScroll:t})},e)})}function X(i,e,t={}){if(!i)return;let s=i.querySelector(e);s&&b(s,t)}var x=class{constructor(e="vidply"){this.namespace=e,this.storage=this.isStorageAvailable()?localStorage:null}isStorageAvailable(){try{let e="__storage_test__";return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch{return!1}}getKey(e){return`${this.namespace}_${e}`}set(e,t){if(!this.storage)return!1;try{let s=this.getKey(e);return this.storage.setItem(s,JSON.stringify(t)),!0}catch(s){return console.warn("Failed to save to localStorage:",s),!1}}get(e,t=null){if(!this.storage)return t;try{let s=this.getKey(e),o=this.storage.getItem(s);return o?JSON.parse(o):t}catch(s){return console.warn("Failed to read from localStorage:",s),t}}remove(e){if(!this.storage)return!1;try{let t=this.getKey(e);return this.storage.removeItem(t),!0}catch(t){return console.warn("Failed to remove from localStorage:",t),!1}}clear(){if(!this.storage)return!1;try{return Object.keys(this.storage).forEach(t=>{t.startsWith(this.namespace)&&this.storage.removeItem(t)}),!0}catch(e){return console.warn("Failed to clear localStorage:",e),!1}}saveTranscriptPreferences(e){return this.set("transcript_preferences",e)}getTranscriptPreferences(){return this.get("transcript_preferences",null)}saveCaptionPreferences(e){return this.set("caption_preferences",e)}getCaptionPreferences(){return this.get("caption_preferences",null)}savePlayerPreferences(e){return this.set("player_preferences",e)}getPlayerPreferences(){return this.get("player_preferences",null)}saveSignLanguagePreferences(e){return this.set("sign_language_preferences",e)}getSignLanguagePreferences(){return this.get("sign_language_preferences",null)}};var R=class{constructor(e,t={}){this.element=e,this.options={dragHandle:null,resizeHandles:[],onDragStart:null,onDrag:null,onDragEnd:null,onResizeStart:null,onResize:null,onResizeEnd:null,constrainToViewport:!0,minWidth:150,minHeight:100,maintainAspectRatio:!1,keyboardDragKey:"d",keyboardResizeKey:"r",keyboardStep:5,keyboardStepLarge:10,maxWidth:null,maxHeight:null,pointerResizeIndicatorText:null,onPointerResizeToggle:null,classPrefix:"draggable",storage:null,storageKey:null,...t},this.isDragging=!1,this.isResizing=!1,this.resizeDirection=null,this.dragOffsetX=0,this.dragOffsetY=0,this.positionOffsetX=0,this.positionOffsetY=0,this.initialMouseX=0,this.initialMouseY=0,this.needsPositionConversion=!1,this.resizeStartX=0,this.resizeStartY=0,this.resizeStartWidth=0,this.resizeStartHeight=0,this.resizeStartLeft=0,this.resizeStartTop=0,this.keyboardDragMode=!1,this.keyboardResizeMode=!1,this.pointerResizeMode=!1,this.manuallyPositioned=!1,this.resizeHandlesManaged=new Map,this.resizeIndicatorElement=null,this.handlers={mousedown:this.onMouseDown.bind(this),mousemove:this.onMouseMove.bind(this),mouseup:this.onMouseUp.bind(this),touchstart:this.onTouchStart.bind(this),touchmove:this.onTouchMove.bind(this),touchend:this.onTouchEnd.bind(this),keydown:this.onKeyDown.bind(this),resizeHandleMousedown:this.onResizeHandleMouseDown.bind(this)},this.init()}hasManagedResizeHandles(){return Array.from(this.resizeHandlesManaged.values()).some(Boolean)}storeOriginalHandleDisplay(e){e.dataset.originalDisplay||(e.dataset.originalDisplay=e.style.display||"")}hideResizeHandle(e){e.style.display="none",e.setAttribute("aria-hidden","true")}showResizeHandle(e){let t=e.dataset.originalDisplay!==void 0?e.dataset.originalDisplay:"";e.style.display=t,e.removeAttribute("aria-hidden")}setManagedHandlesVisible(e){!this.options.resizeHandles||this.options.resizeHandles.length===0||this.options.resizeHandles.forEach(t=>{this.resizeHandlesManaged.get(t)&&(e?this.showResizeHandle(t):this.hideResizeHandle(t))})}init(){let e=this.options.dragHandle||this.element;e.addEventListener("mousedown",this.handlers.mousedown),e.addEventListener("touchstart",this.handlers.touchstart),document.addEventListener("mousemove",this.handlers.mousemove),document.addEventListener("mouseup",this.handlers.mouseup),document.addEventListener("touchmove",this.handlers.touchmove,{passive:!1}),document.addEventListener("touchend",this.handlers.touchend),this.element.addEventListener("keydown",this.handlers.keydown),this.options.resizeHandles&&this.options.resizeHandles.length>0&&this.options.resizeHandles.forEach(t=>{t.addEventListener("mousedown",this.handlers.resizeHandleMousedown),t.addEventListener("touchstart",this.handlers.resizeHandleMousedown);let s=t.dataset.vidplyManagedResize==="true";this.resizeHandlesManaged.set(t,s),s&&(this.storeOriginalHandleDisplay(t),this.hideResizeHandle(t))})}onMouseDown(e){e.target.classList.contains(`${this.options.classPrefix}-resize-handle`)||this.options.onDragStart&&!this.options.onDragStart(e)||(this.startDragging(e.clientX,e.clientY),e.preventDefault())}onTouchStart(e){if(e.target.classList.contains(`${this.options.classPrefix}-resize-handle`)||this.options.onDragStart&&!this.options.onDragStart(e))return;let t=e.touches[0];this.startDragging(t.clientX,t.clientY)}onResizeHandleMouseDown(e){e.preventDefault(),e.stopPropagation();let t=e.target;this.resizeDirection=t.getAttribute("data-direction");let s=e.clientX||e.touches?.[0]?.clientX,o=e.clientY||e.touches?.[0]?.clientY;this.startResizing(s,o)}onMouseMove(e){this.isDragging?(this.drag(e.clientX,e.clientY),e.preventDefault()):this.isResizing&&(this.resize(e.clientX,e.clientY),e.preventDefault())}onTouchMove(e){if(this.isDragging||this.isResizing){let t=e.touches[0];this.isDragging?this.drag(t.clientX,t.clientY):this.resize(t.clientX,t.clientY),e.preventDefault()}}onMouseUp(){this.isDragging?this.stopDragging():this.isResizing&&this.stopResizing()}onTouchEnd(){this.isDragging?this.stopDragging():this.isResizing&&this.stopResizing()}onKeyDown(e){if(e.key.toLowerCase()===this.options.keyboardDragKey.toLowerCase()){e.preventDefault(),this.toggleKeyboardDragMode();return}if(e.key.toLowerCase()===this.options.keyboardResizeKey.toLowerCase()){e.preventDefault(),this.hasManagedResizeHandles()?this.togglePointerResizeMode():this.toggleKeyboardResizeMode();return}if(e.key==="Escape"){if(this.pointerResizeMode){e.preventDefault(),this.disablePointerResizeMode();return}if(this.keyboardDragMode||this.keyboardResizeMode){e.preventDefault(),this.disableKeyboardDragMode(),this.disableKeyboardResizeMode();return}}["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e.key)&&(this.keyboardDragMode?(e.preventDefault(),e.stopPropagation(),this.keyboardDrag(e.key,e.shiftKey)):this.keyboardResizeMode&&(e.preventDefault(),e.stopPropagation(),this.keyboardResize(e.key,e.shiftKey))),e.key==="Home"&&(this.keyboardDragMode||this.keyboardResizeMode)&&(e.preventDefault(),this.resetPosition())}startDragging(e,t){let s=this.element.getBoundingClientRect(),o=window.getComputedStyle(this.element),n=o.right!=="auto"||o.bottom!=="auto"||o.transform!=="none";if(this.positionOffsetX=0,this.positionOffsetY=0,n){let c,a;if(o.position==="absolute"){let d=(this.element.offsetParent||document.body).getBoundingClientRect();c=s.left-d.left,a=s.top-d.top,this.positionOffsetX=d.left,this.positionOffsetY=d.top}else if(o.position==="fixed"){let l=parseFloat(o.left),d=parseFloat(o.top),f=Number.isFinite(l),g=Number.isFinite(d);c=f?l:s.left,a=g?d:s.top,this.positionOffsetX=s.left-c,this.positionOffsetY=s.top-a}else c=s.left,a=s.top,this.positionOffsetX=s.left-c,this.positionOffsetY=s.top-a;let h=this.element.style.cssText.split(";").filter(l=>{let d=l.trim();if(!d)return!1;let f=d.indexOf(":");if(f===-1)return!1;let g=d.substring(0,f).trim(),z=d.substring(f+1).trim();return!(!z||z===""||g==="right"||g==="bottom"||g==="transform"||g==="left"||g==="top"||g==="inset"||g.startsWith("border-image"))}).join("; ");h&&(h+="; "),h+=`left: ${c}px; top: ${a}px; right: auto; bottom: auto; transform: none`,this.element.style.cssText=h}let r=this.element.getBoundingClientRect();this.dragOffsetX=e-r.left,this.dragOffsetY=t-r.top,this.isDragging=!0,this.element.classList.add(`${this.options.classPrefix}-dragging`),document.body.style.cursor="grabbing",document.body.style.userSelect="none"}drag(e,t){if(!this.isDragging)return;let s=e-this.dragOffsetX-this.positionOffsetX,o=t-this.dragOffsetY-this.positionOffsetY;if(this.options.constrainToViewport){let n=this.element.getBoundingClientRect(),r=document.documentElement.clientWidth,c=document.documentElement.clientHeight,a=100,u=-(n.width-a),h=-(n.height-a),l=r-a,d=c-a;s=Math.max(u,Math.min(s,l)),o=Math.max(h,Math.min(o,d))}this.element.style.left=`${s}px`,this.element.style.top=`${o}px`,this.options.onDrag&&this.options.onDrag({x:s,y:o})}stopDragging(){this.isDragging=!1,this.element.classList.remove(`${this.options.classPrefix}-dragging`),document.body.style.cursor="",document.body.style.userSelect="",this.manuallyPositioned=!0,this.options.onDragEnd&&this.options.onDragEnd()}startResizing(e,t){this.isResizing=!0,this.resizeStartX=e,this.resizeStartY=t;let s=this.element.getBoundingClientRect();this.resizeStartWidth=s.width,this.resizeStartHeight=s.height,this.resizeStartLeft=s.left,this.resizeStartTop=s.top,this.element.classList.add(`${this.options.classPrefix}-resizing`),document.body.style.userSelect="none",this.options.onResizeStart&&this.options.onResizeStart()}resize(e,t){if(!this.isResizing)return;let s=e-this.resizeStartX,o=t-this.resizeStartY,n=this.resizeStartWidth,r=this.resizeStartHeight,c=this.resizeStartLeft,a=this.resizeStartTop;if(this.resizeDirection.includes("e")&&(n=Math.max(this.options.minWidth,this.resizeStartWidth+s)),this.resizeDirection.includes("w")){let h=Math.max(this.options.minWidth,this.resizeStartWidth-s);c=this.resizeStartLeft+(this.resizeStartWidth-h),n=h}let u=typeof this.options.maxWidth=="function"?this.options.maxWidth():this.options.maxWidth;if(Number.isFinite(u)){let h=Math.min(n,u);h!==n&&this.resizeDirection.includes("w")&&(c+=n-h),n=h}if(!this.options.maintainAspectRatio){if(this.resizeDirection.includes("s")&&(r=Math.max(this.options.minHeight,this.resizeStartHeight+o)),this.resizeDirection.includes("n")){let l=Math.max(this.options.minHeight,this.resizeStartHeight-o);a=this.resizeStartTop+(this.resizeStartHeight-l),r=l}let h=typeof this.options.maxHeight=="function"?this.options.maxHeight():this.options.maxHeight;if(Number.isFinite(h)){let l=Math.min(r,h);l!==r&&this.resizeDirection.includes("n")&&(a+=r-l),r=l}}this.element.style.width=`${n}px`,this.options.maintainAspectRatio?this.element.style.height="auto":this.element.style.height=`${r}px`,this.resizeDirection.includes("w")&&(this.element.style.left=`${c}px`),this.resizeDirection.includes("n")&&!this.options.maintainAspectRatio&&(this.element.style.top=`${a}px`),this.options.onResize&&this.options.onResize({width:n,height:r,left:c,top:a})}stopResizing(){this.isResizing=!1,this.resizeDirection=null,this.element.classList.remove(`${this.options.classPrefix}-resizing`),document.body.style.userSelect="",this.manuallyPositioned=!0,this.options.onResizeEnd&&this.options.onResizeEnd()}toggleKeyboardDragMode(){this.keyboardDragMode?this.disableKeyboardDragMode():this.enableKeyboardDragMode()}enableKeyboardDragMode(){this.keyboardDragMode=!0,this.keyboardResizeMode=!1,this.element.classList.add(`${this.options.classPrefix}-keyboard-drag`),this.element.classList.remove(`${this.options.classPrefix}-keyboard-resize`),this.focusElement()}disableKeyboardDragMode(){this.keyboardDragMode=!1,this.element.classList.remove(`${this.options.classPrefix}-keyboard-drag`)}toggleKeyboardResizeMode(){this.keyboardResizeMode?this.disableKeyboardResizeMode():this.enableKeyboardResizeMode()}enableKeyboardResizeMode(){this.keyboardResizeMode=!0,this.keyboardDragMode=!1,this.element.classList.add(`${this.options.classPrefix}-keyboard-resize`),this.element.classList.remove(`${this.options.classPrefix}-keyboard-drag`),this.focusElement()}disableKeyboardResizeMode(){this.keyboardResizeMode=!1,this.element.classList.remove(`${this.options.classPrefix}-keyboard-resize`)}enablePointerResizeMode({focus:e=!0}={}){if(!this.hasManagedResizeHandles()){this.enableKeyboardResizeMode();return}this.pointerResizeMode||(this.pointerResizeMode=!0,this.setManagedHandlesVisible(!0),this.element.classList.add(`${this.options.classPrefix}-resizable`),this.enableKeyboardResizeMode(),e&&this.focusElement(),typeof this.options.onPointerResizeToggle=="function"&&this.options.onPointerResizeToggle(!0))}disablePointerResizeMode({focus:e=!1}={}){this.pointerResizeMode&&(this.pointerResizeMode=!1,this.setManagedHandlesVisible(!1),this.element.classList.remove(`${this.options.classPrefix}-resizable`),this.disableKeyboardResizeMode(),e&&this.focusElement(),typeof this.options.onPointerResizeToggle=="function"&&this.options.onPointerResizeToggle(!1))}togglePointerResizeMode(){return this.pointerResizeMode?this.disablePointerResizeMode():this.enablePointerResizeMode(),this.pointerResizeMode}focusElement(){if(typeof this.element.focus=="function")try{this.element.focus({preventScroll:!0})}catch{this.element.focus()}}keyboardDrag(e,t){let s=t?this.options.keyboardStepLarge:this.options.keyboardStep,o=parseFloat(this.element.style.left)||0,n=parseFloat(this.element.style.top)||0;if(window.getComputedStyle(this.element).transform!=="none"){let u=this.element.getBoundingClientRect();o=u.left,n=u.top,this.element.style.transform="none",this.element.style.left=`${o}px`,this.element.style.top=`${n}px`}let c=o,a=n;switch(e){case"ArrowLeft":c-=s;break;case"ArrowRight":c+=s;break;case"ArrowUp":a-=s;break;case"ArrowDown":a+=s;break}this.element.style.left=`${c}px`,this.element.style.top=`${a}px`,this.options.onDrag&&this.options.onDrag({x:c,y:a})}keyboardResize(e,t){let s=t?this.options.keyboardStepLarge:this.options.keyboardStep,o=this.element.getBoundingClientRect(),n=o.width,r=o.height;switch(e){case"ArrowLeft":n-=s;break;case"ArrowRight":n+=s;break;case"ArrowUp":this.options.maintainAspectRatio?n+=s:r-=s;break;case"ArrowDown":this.options.maintainAspectRatio?n-=s:r+=s;break}n=Math.max(this.options.minWidth,n),r=Math.max(this.options.minHeight,r),this.element.style.width=`${n}px`,this.options.maintainAspectRatio?this.element.style.height="auto":this.element.style.height=`${r}px`,this.options.onResize&&this.options.onResize({width:n,height:r})}resetPosition(){this.element.style.left="50%",this.element.style.top="50%",this.element.style.transform="translate(-50%, -50%)",this.element.style.right="",this.element.style.bottom="",this.manuallyPositioned=!1,this.options.onDrag&&this.options.onDrag({centered:!0})}destroy(){let e=this.options.dragHandle||this.element;this.disablePointerResizeMode(),e.removeEventListener("mousedown",this.handlers.mousedown),e.removeEventListener("touchstart",this.handlers.touchstart),document.removeEventListener("mousemove",this.handlers.mousemove),document.removeEventListener("mouseup",this.handlers.mouseup),document.removeEventListener("touchmove",this.handlers.touchmove),document.removeEventListener("touchend",this.handlers.touchend),this.element.removeEventListener("keydown",this.handlers.keydown),this.options.resizeHandles&&this.options.resizeHandles.length>0&&this.options.resizeHandles.forEach(t=>{t.removeEventListener("mousedown",this.handlers.resizeHandleMousedown),t.removeEventListener("touchstart",this.handlers.resizeHandleMousedown)}),this.element.classList.remove(`${this.options.classPrefix}-dragging`,`${this.options.classPrefix}-resizing`,`${this.options.classPrefix}-keyboard-drag`,`${this.options.classPrefix}-keyboard-resize`)}};function Z({classPrefix:i,itemClass:e,icon:t,label:s,ariaLabel:o,onClick:n,hasTextClass:r=!1}){let c=typeof s=="string"&&(s.startsWith("transcript.")||s.startsWith("player.")||s.startsWith("settings.")),a=o||c&&p.t(s)||s,u=m.createElement("button",{className:e,attributes:{type:"button","aria-label":a,tabindex:"-1"}});t&&u.appendChild(L(t));let l=typeof s=="string"&&(s.startsWith("transcript.")||s.startsWith("player.")||s.startsWith("settings."))&&p.t(s)||s,d=m.createElement("span",{textContent:l,className:r?`${i}-settings-text`:void 0,attributes:{"aria-hidden":"true"}});return u.appendChild(d),n&&u.addEventListener("click",n),u}function G(i,e,t,s){if(!i)return;let o=Array.from(i.querySelectorAll(t));if(o.length===0)return;let n=r=>{let c=o.indexOf(document.activeElement);switch(r.key){case"ArrowDown":r.preventDefault(),r.stopPropagation();let a=(c+1)%o.length;o.forEach((l,d)=>{l.setAttribute("tabindex",d===a?"0":"-1")}),o[a].focus({preventScroll:!1}),o[a].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"ArrowUp":r.preventDefault(),r.stopPropagation();let u=(c-1+o.length)%o.length;o.forEach((l,d)=>{l.setAttribute("tabindex",d===u?"0":"-1")}),o[u].focus({preventScroll:!1}),o[u].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"Home":r.preventDefault(),r.stopPropagation(),o.forEach((l,d)=>{l.setAttribute("tabindex",d===0?"0":"-1")}),o[0].focus({preventScroll:!1}),o[0].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"End":r.preventDefault(),r.stopPropagation();let h=o.length-1;o.forEach((l,d)=>{l.setAttribute("tabindex",d===h?"0":"-1")}),o[h].focus({preventScroll:!1}),o[h].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"Enter":case" ":r.preventDefault(),r.stopPropagation(),document.activeElement&&o.includes(document.activeElement)&&(document.activeElement.click(),s&&setTimeout(()=>{e&&document.contains(e)&&e.focus()},0));break;case"Escape":r.preventDefault(),r.stopPropagation(),s&&s();break}};return i.addEventListener("keydown",n,!0),n}function ee(i,e,t=0){i&&setTimeout(()=>{let s=Array.from(i.querySelectorAll(e));s.length>0&&(s.forEach((o,n)=>{o.setAttribute("tabindex",n===0?"0":"-1")}),b(s[0],{delay:0}),s[0].scrollIntoView({behavior:"smooth",block:"nearest"}))},t)}function oe({classPrefix:i,labelClass:e,selectClass:t,labelText:s,selectId:o,hidden:n=!1,onChange:r=null,options:c=[]}){let u=typeof s=="string"&&(s.startsWith("transcript.")||s.startsWith("player.")||s.startsWith("settings.")||s.startsWith("captions."))&&p.t(s)||s,h=m.createElement("label",{className:e,textContent:u,attributes:{for:o,style:n?"display: none;":void 0}}),l=m.createElement("select",{className:t,attributes:{id:o,style:n?"display: none;":void 0}});return c.forEach(d=>{let f=m.createElement("option",{textContent:d.text,attributes:{value:d.value,selected:d.selected?"selected":void 0}});l.appendChild(f)}),r&&l.addEventListener("change",r),{label:h,select:l}}function ne(i){i&&["mousedown","click"].forEach(e=>{i.addEventListener(e,t=>{t.stopPropagation()})})}export{m as a,p as b,K as c,L as d,W as e,b as f,X as g,x as h,R as i,Z as j,G as k,ee as l,oe as m,ne as n};
@@ -1,6 +0,0 @@
1
- /*!
2
- * Universal, Accessible Video Player
3
- * (c) 2025 Matthias Peltzer
4
- * Released under GPL-2.0-or-later License
5
- */
6
- var m={createElement(i,e={}){let t=document.createElement(i);return e.className&&(t.className=e.className),e.attributes&&Object.entries(e.attributes).forEach(([s,o])=>{t.setAttribute(s,o)}),e.innerHTML&&(t.innerHTML=e.innerHTML),e.textContent&&(t.textContent=e.textContent),e.style&&Object.assign(t.style,e.style),e.children&&e.children.forEach(s=>{s&&t.appendChild(s)}),t},addClass(i,e){i&&e&&i.classList.add(e)},removeClass(i,e){i&&e&&i.classList.remove(e)},toggleClass(i,e){i&&e&&i.classList.toggle(e)},hasClass(i,e){return i&&i.classList.contains(e)},show(i){i&&(i.style.display="")},hide(i){i&&(i.style.display="none")},fadeIn(i,e=300){if(!i)return;i.style.opacity="0",i.style.display="";let t=null,s=o=>{t||(t=o);let n=o-t,r=Math.min(n/e,1);i.style.opacity=r,n<e&&requestAnimationFrame(s)};requestAnimationFrame(s)},fadeOut(i,e=300){if(!i)return;let t=parseFloat(getComputedStyle(i).opacity)||1,s=null,o=n=>{s||(s=n);let r=n-s,c=Math.max(t-r/e,0);i.style.opacity=c,r<e?requestAnimationFrame(o):i.style.display="none"};requestAnimationFrame(o)},offset(i){if(!i)return{top:0,left:0};let e=i.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset,width:e.width,height:e.height}},escapeHTML(i){let e=document.createElement("div");return e.textContent=i,e.innerHTML},sanitizeHTML(i){let e=document.createElement("div"),t=i.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi,"").replace(/on\w+\s*=/gi,"").replace(/javascript:/gi,"");return e.innerHTML=t,e.innerHTML},createTooltip(i,e="vidply"){return this.createElement("span",{className:`${e}-tooltip`,textContent:i,attributes:{"aria-hidden":"true"}})},attachTooltip(i,e,t="vidply"){if(!i||!e)return;let s=i.querySelector(`.${t}-tooltip`);s&&s.remove();let o=this.createTooltip(e,t);i.appendChild(o);let n=()=>{o.classList.add(`${t}-tooltip-visible`)},r=()=>{o.classList.remove(`${t}-tooltip-visible`)};i.addEventListener("mouseenter",n),i.addEventListener("mouseleave",r),i.addEventListener("focus",n),i.addEventListener("blur",r)},createButtonText(i,e="vidply"){return this.createElement("span",{className:`${e}-button-text`,textContent:i,attributes:{"aria-hidden":"true"}})}};var w={player:{label:"Video Player",play:"Play",pause:"Pause",stop:"Stop",restart:"Restart from beginning",rewind:"Rewind",forward:"Forward",rewindSeconds:"Rewind {seconds} seconds",forwardSeconds:"Forward {seconds} seconds",previous:"Previous track",next:"Next track",playlist:"Toggle playlist",volume:"Volume",mute:"Mute",unmute:"Unmute",fullscreen:"Fullscreen",exitFullscreen:"Exit Fullscreen",captions:"Captions",chapters:"Chapters",quality:"Quality",captionStyling:"Caption styling",transcript:"Toggle transcript",audioDescription:"Audio description",signLanguage:"Sign language video",settings:"Settings",speed:"Playback Speed",pip:"Picture in Picture",currentTime:"Current time",duration:"Duration",progress:"Progress",seekForward:"Seek forward {seconds} seconds",seekBackward:"Seek backward {seconds} seconds",volumeUp:"Volume up",volumeDown:"Volume down",loading:"Loading...",loadingChapters:"Loading chapters...",error:"Error loading media",buffering:"Buffering...",signLanguageVideo:"Sign Language Video",closeSignLanguage:"Close sign language video",signLanguageSettings:"Sign language settings",noChapters:"No chapters available",noCaptions:"No captions available",auto:"Auto",autoQuality:"Auto (no quality selection available)",noQuality:"Quality selection not available",signLanguageDragResize:"Sign Language Video - Press D to drag with keyboard, R to resize",signLanguageDragActive:"Sign Language Video - Drag mode active. Use arrow keys to move, Escape to exit.",signLanguageResizeActive:"Sign Language Video - Resize mode active. Use left/right arrow keys to resize, Escape to exit.",enableSignDragMode:"Enable drag mode. Shortcut: D key",disableSignDragMode:"Disable drag mode. Shortcut: D key",enableSignDragModeAria:"Enable toggle keyboard drag mode with arrow keys. Shortcut: D key",disableSignDragModeAria:"Disable toggle keyboard drag mode with arrow keys. Shortcut: D key",enableSignResizeMode:"Enable resize mode. Shortcut: R key",disableSignResizeMode:"Disable resize mode. Shortcut: R key",enableSignResizeModeAria:"Enable keyboard resize mode with arrow keys. Shortcut: R key",disableSignResizeModeAria:"Disable keyboard resize mode with arrow keys. Shortcut: R key",resizeHandle:"Resize {direction} corner",moreOptions:"More options",noMoreOptions:"No additional options available"},captions:{off:"Off",select:"Select captions",fontSize:"Font Size",fontFamily:"Font Family",color:"Text Color",backgroundColor:"Background Color",opacity:"Opacity"},fontSizes:{small:"Small",normal:"Normal",large:"Large",xlarge:"X-Large"},fontFamilies:{sansSerif:"Sans-serif",serif:"Serif",monospace:"Monospace"},styleLabels:{textColor:"Text Color",background:"Background",font:"Font",fontSize:"Font Size",opacity:"Opacity"},audioDescription:{enable:"Enable audio description",disable:"Disable audio description"},signLanguage:{show:"Show sign language video",hide:"Hide sign language video"},transcript:{title:"Transcript",close:"Close transcript",loading:"Loading transcript...",noTranscript:"No transcript available for this video.",settings:"Transcript settings. Press Enter to open menu, or D to enable drag mode",keyboardDragMode:"Toggle keyboard drag mode with arrow keys. Shortcut: D key",keyboardDragActive:"⌨️ Keyboard Drag Mode Active (Arrow keys to move, Shift+Arrows for large steps, D or ESC to exit)",dragResizePrompt:"Press D to drag or R to resize. Use Home to reset position, Esc to close.",dragModeEnabled:"Keyboard drag mode enabled. Use arrow keys to move, Shift+Arrow for larger steps. Press D or Esc to exit.",dragModeDisabled:"Keyboard drag mode disabled.",enableDragMode:"Enable drag mode. Shortcut: D key",disableDragMode:"Disable drag mode. Shortcut: D key",enableDragModeAria:"Enable toggle keyboard drag mode with arrow keys. Shortcut: D key",disableDragModeAria:"Disable toggle keyboard drag mode with arrow keys. Shortcut: D key",resizeWindow:"Resize Window",disableResizeWindow:"Disable Resize Mode",enableResizeMode:"Enable resize mode. Shortcut: R key",disableResizeMode:"Disable resize mode. Shortcut: R key",enableResizeModeAria:"Enable keyboard resize mode with arrow keys. Shortcut: R key",disableResizeModeAria:"Disable keyboard resize mode with arrow keys. Shortcut: R key",resizeModeHint:"Resize handles enabled. Drag edges or corners to adjust. Press Esc or R to exit.",resizeModeEnabled:"Resize mode enabled. Drag edges or corners to adjust. Press Esc or R to exit.",resizeModeDisabled:"Resize mode disabled.",positionReset:"Transcript position reset.",styleTranscript:"Open transcript style settings",closeMenu:"Close Menu",styleTitle:"Transcript Style",autoscroll:"Autoscroll",settingsMenu:"Transcript dialog settings",showTimestamps:"Show timestamps",hideTimestamps:"Hide timestamps",showTimestampsAria:"Show timestamps in transcript",hideTimestampsAria:"Hide timestamps in transcript"},settings:{title:"Settings",quality:"Quality",speed:"Speed",captions:"Captions",language:"Language",reset:"Reset to defaults",close:"Close"},speeds:{normal:"Normal"},time:{display:"Time display",durationPrefix:"Duration: ",of:"of",hour:"{count} hour",hours:"{count} hours",minute:"{count} minute",minutes:"{count} minutes",second:"{count} second",seconds:"{count} seconds"},playlist:{title:"Playlist",trackOf:"Track {current} of {total}",nowPlaying:"Now playing: Track {current} of {total}. {title}{artist}",by:" by ",untitled:"Untitled",trackUntitled:"Track {number}",currentlyPlaying:"Currently playing",notPlaying:"Not playing",pressEnterPlay:"Press Enter to play",pressEnterRestart:"Press Enter to restart",keyboardInstructions:"Playlist navigation: Use Up and Down arrow keys to move between tracks. Press Page Up or Page Down to skip 5 tracks. Press Home to go to first track, End to go to last track. Press Enter or Space to play the selected track."}};var M={de:()=>import("./vidply.de-HGJBCLLE.min.js"),es:()=>import("./vidply.es-CZEBXCZN.min.js"),fr:()=>import("./vidply.fr-HFOL7MWA.min.js"),ja:()=>import("./vidply.ja-QTVU5C25.min.js")};function y(){return{en:w}}function S(){return M}async function k(i){let e=M[i];if(!e)return null;let t=await e();return t[i]||t.default||null}var V=y();var v=class{constructor(){this.currentLanguage="en",this.translations=y(),this.loadingPromises=new Map,this.builtInLanguageLoaders=S()}setLanguage(e){this.translations[e]?this.currentLanguage=e:(console.warn(`Language "${e}" not found, falling back to English`),this.currentLanguage="en")}getLanguage(){return this.currentLanguage}async ensureLanguage(e){let t=(e||"").toLowerCase();if(!t)return this.currentLanguage;if(this.translations[t])return t;if(this.loadingPromises.has(t))return await this.loadingPromises.get(t),this.translations[t]?t:null;if(!this.builtInLanguageLoaders[t])return null;let s=(async()=>{try{let o=await k(t);o&&(this.translations[t]=o)}catch(o){console.warn(`Language "${t}" failed to load:`,o)}finally{this.loadingPromises.delete(t)}})();return this.loadingPromises.set(t,s),await s,this.translations[t]?t:null}t(e,t={}){let s=e.split("."),o=this.translations[this.currentLanguage];for(let n of s)if(o&&typeof o=="object"&&n in o)o=o[n];else{o=this.translations.en;for(let r of s)if(o&&typeof o=="object"&&r in o)o=o[r];else return e;break}return typeof o=="string"&&Object.entries(t).forEach(([n,r])=>{o=o.replace(new RegExp(`{${n}}`,"g"),r)}),o}addTranslation(e,t){this.translations[e]||(this.translations[e]={}),Object.assign(this.translations[e],t)}async loadLanguageFromUrl(e,t){if(this.loadingPromises.has(t))return this.loadingPromises.get(t);let s=(async()=>{try{let o=await fetch(t);if(!o.ok)throw new Error(`Failed to load language file: ${o.statusText}`);let n=o.headers.get("content-type")||"",r,c=await o.arrayBuffer(),a=new TextDecoder("utf-8").decode(c);if(n.includes("application/json")||t.endsWith(".json"))r=JSON.parse(a);else if(n.includes("text/yaml")||n.includes("application/x-yaml")||t.endsWith(".yaml")||t.endsWith(".yml"))try{r=JSON.parse(a)}catch{if(typeof window<"u"&&window.jsyaml)r=window.jsyaml.load(a);else throw console.warn("YAML parsing requires js-yaml library. Please include it or use JSON format."),new Error("YAML parsing not available. Please use JSON format or include js-yaml library.")}else r=JSON.parse(a);return this.addTranslation(e,r),r}catch(o){throw console.error(`Error loading language file from ${t}:`,o),o}finally{this.loadingPromises.delete(t)}})();return this.loadingPromises.set(t,s),s}async loadLanguagesFromUrls(e){let t=Object.entries(e).map(([s,o])=>this.loadLanguageFromUrl(s,o));await Promise.all(t)}},p=new v;var F={formatTime(i,e=!1){if(!isFinite(i)||i<0)return e?"00:00:00":"00:00";let t=Math.floor(i/3600),s=Math.floor(i%3600/60),o=Math.floor(i%60),n=r=>String(r).padStart(2,"0");return t>0||e?`${n(t)}:${n(s)}:${n(o)}`:`${n(s)}:${n(o)}`},parseTime(i){let e=i.split(":").map(t=>parseInt(t,10));return e.length===3?e[0]*3600+e[1]*60+e[2]:e.length===2?e[0]*60+e[1]:e.length===1?e[0]:0},formatDuration(i){if(!isFinite(i)||i<0)return p.t("time.seconds",{count:0});let e=Math.floor(i/3600),t=Math.floor(i%3600/60),s=Math.floor(i%60),o=[];if(e>0){let n=e===1?"time.hour":"time.hours";o.push(p.t(n,{count:e}))}if(t>0){let n=t===1?"time.minute":"time.minutes";o.push(p.t(n,{count:t}))}if(s>0||o.length===0){let n=s===1?"time.second":"time.seconds";o.push(p.t(n,{count:s}))}return o.join(", ")},formatPercentage(i,e){return e===0?0:Math.round(i/e*100)}};var H={play:'<path d="M8 5v14l11-7z"/>',pause:'<path d="M6 4h4v16H6V4zm8 0h4v16h-4V4z"/>',stop:'<rect x="6" y="6" width="12" height="12"/>',rewind:'<path d="M11 18V6l-8.5 6 8.5 6zm.5-6l8.5 6V6l-8.5 6z"/>',forward:'<path d="M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z"/>',skipPrevious:'<path d="M6 6h2v12H6V6zm3 6l8.5 6V6L9 12z"/>',skipNext:'<path d="M16 6h2v12h-2V6zM6 6l8.5 6L6 18V6z"/>',restart:'<path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"/>',volumeHigh:'<path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"/>',volumeMedium:'<path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02z"/>',volumeLow:'<path d="M7 9v6h4l5 5V4l-5 5H7z"/>',volumeMuted:'<path d="M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z"/>',fullscreen:'<path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/>',fullscreenExit:'<path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"/>',settings:'<path d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94L14.4 2.81c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>',captions:'<path d="M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 7H9.5v-.5h-2v3h2V13H11v1c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1zm7 0h-1.5v-.5h-2v3h2V13H18v1c0 .55-.45 1-1 1h-3c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1z"/>',captionsOff:'<path d="M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 7H9.5v-.5h-2v3h2V13H11v1c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1zm7 0h-1.5v-.5h-2v3h2V13H18v1c0 .55-.45 1-1 1h-3c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1z"/><path d="M0 0h24v24H0z" fill="none"/>',pip:'<path d="M19 7h-8v6h8V7zm2-4H3c-1.1 0-2 .9-2 2v14c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98V5c0-1.1-.9-2-2-2zm0 16.01H3V4.98h18v14.03z"/>',speed:'<path d="M20.38 8.57l-1.23 1.85a8 8 0 0 1-.22 7.58H5.07A8 8 0 0 1 15.58 6.85l1.85-1.23A10 10 0 0 0 3.35 19a2 2 0 0 0 1.72 1h13.85a2 2 0 0 0 1.74-1 10 10 0 0 0-.27-10.44z"/><path d="M10.59 15.41a2 2 0 0 0 2.83 0l5.66-8.49-8.49 5.66a2 2 0 0 0 0 2.83z"/>',close:'<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>',check:'<path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/>',loading:'<path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"/>',error:'<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/>',playlist:'<path d="M15 6H3v2h12V6zm0 4H3v2h12v-2zM3 16h8v-2H3v2zM17 6v8.18c-.31-.11-.65-.18-1-.18-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3V8h3V6h-5z"/>',hd:'<path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-8 12H9.5v-2h-2v2H6V9h1.5v2.5h2V9H11v6zm7-1c0 .55-.45 1-1 1h-.75v1.5h-1.5V15H14c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v4zm-3.5-.5h2v-3h-2v3z"/>',transcript:'<path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"/>',chapters:'<path d="M3 5h2v2H3V5zm0 4h2v2H3V9zm0 4h2v2H3v-2zm0 4h2v2H3v-2zM7 5h14v2H7V5zm0 4h14v2H7V9zm0 4h14v2H7v-2zm0 4h14v2H7v-2z"/>',audioDescription:'<rect x="2" y="5" width="20" height="14" rx="2" fill="#ffffff" stroke="#ffffff" stroke-width="2"/><text x="12" y="16" font-family="Arial, sans-serif" font-size="10" font-weight="bold" text-anchor="middle" fill="#1a1a1a">AD</text>',audioDescriptionOn:'<rect x="2" y="5" width="20" height="14" rx="2" fill="none" stroke="currentColor" stroke-width="2"/><text x="12" y="16" font-family="Arial, sans-serif" font-size="10" font-weight="bold" text-anchor="middle" fill="currentColor">AD</text>',signLanguage:'<g transform="scale(1.5)"><path d="M16 11.3c-.1-.9-4.8 1.3-5.4 1.1-2.6-1 5.8-1.3 5.1-2.9s-5.1 1.5-6 1.4C6.5 9.4 16.5 9.1 13.5 8c-1.9-.6-8.8 2.9-6.8.4.7-.6.7-1.9-.7-1.7-9.7 7.2-.7 12.2 8.8 7 0-1.3-3.5.4-4.1.4-2.6 0 5.6-2 5.4-3ZM3.9 7.8c3.2-4.2 3.7 1.2 6 .1s.2-.2.2-.3c.7-2.7 2.5-7.5-1.5-1.3-1.6 0 1.1-4 1-4.6C8.9-1 7.3 4.4 7.2 4.9c-1.6.7-.9-1.4-.7-1.5 3-6-.6-3.1-.9.4-2.5 1.8 0-2.8 0-3.5C2.8-.9 4 9.4 1.1 4.9S.1 4.6 0 5c-.4 2.7 2.6 7.2 3.9 2.8Z"/></g>',signLanguageOn:'<g transform="scale(1.5)"><path d="M16 11.3c-.1-.9-4.8 1.3-5.4 1.1-2.6-1 5.8-1.3 5.1-2.9s-5.1 1.5-6 1.4C6.5 9.4 16.5 9.1 13.5 8c-1.9-.6-8.8 2.9-6.8.4.7-.6.7-1.9-.7-1.7-9.7 7.2-.7 12.2 8.8 7 0-1.3-3.5.4-4.1.4-2.6 0 5.6-2 5.4-3ZM3.9 7.8c3.2-4.2 3.7 1.2 6 .1s.2-.2.2-.3c.7-2.7 2.5-7.5-1.5-1.3-1.6 0 1.1-4 1-4.6C8.9-1 7.3 4.4 7.2 4.9c-1.6.7-.9-1.4-.7-1.5 3-6-.6-3.1-.9.4-2.5 1.8 0-2.8 0-3.5C2.8-.9 4 9.4 1.1 4.9S.1 4.6 0 5c-.4 2.7 2.6 7.2 3.9 2.8Z"/></g>',music:'<path d="M12 3v9.28c-.47-.17-.97-.28-1.5-.28C8.01 12 6 14.01 6 16.5S8.01 21 10.5 21c2.31 0 4.2-1.75 4.45-4H15V6h4V3h-7zm-1.5 16c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/>',moreVertical:'<path d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/>',move:'<path d="M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z"/>',resize:'<path d="M21.71 11.29l-9-9c-.39-.39-1.02-.39-1.41 0l-9 9c-.39.39-.39 1.02 0 1.41l9 9c.39.39 1.02.39 1.41 0l9-9c.39-.38.39-1.01 0-1.41zM14 14.5V12h-4v2.5L7 11l3-3.5V10h4V7.5l3 3.5-3 3.5z"/>',clock:'<path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/>'},E=i=>`<svg viewBox="0 0 24 24" fill="currentColor">${i}</svg>`,D=Object.fromEntries(Object.entries(H).map(([i,e])=>[i,E(e)]));function P(i){return D[i]||D.play}function L(i,e=""){let t=document.createElement("span");return t.className=`vidply-icon ${e}`.trim(),t.innerHTML=P(i),t.setAttribute("aria-hidden","true"),t}function W(){let i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("class","vidply-play-overlay"),i.setAttribute("viewBox","0 0 80 80"),i.setAttribute("width","80"),i.setAttribute("height","80"),i.setAttribute("aria-hidden","true"),i.setAttribute("role","presentation"),i.style.cursor="pointer";let e=document.createElementNS("http://www.w3.org/2000/svg","defs"),t=`vidply-play-shadow-${Math.random().toString(36).substr(2,9)}`,s=document.createElementNS("http://www.w3.org/2000/svg","filter");s.setAttribute("id",t),s.setAttribute("x","-50%"),s.setAttribute("y","-50%"),s.setAttribute("width","200%"),s.setAttribute("height","200%");let o=document.createElementNS("http://www.w3.org/2000/svg","feGaussianBlur");o.setAttribute("in","SourceAlpha"),o.setAttribute("stdDeviation","3");let n=document.createElementNS("http://www.w3.org/2000/svg","feOffset");n.setAttribute("dx","0"),n.setAttribute("dy","2"),n.setAttribute("result","offsetblur");let r=document.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer"),c=document.createElementNS("http://www.w3.org/2000/svg","feFuncA");c.setAttribute("type","linear"),c.setAttribute("slope","0.3"),r.appendChild(c);let a=document.createElementNS("http://www.w3.org/2000/svg","feMerge"),u=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode"),d=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode");d.setAttribute("in","SourceGraphic"),a.appendChild(u),a.appendChild(d),s.appendChild(o),s.appendChild(n),s.appendChild(r),s.appendChild(a),e.appendChild(s),i.appendChild(e);let l=document.createElementNS("http://www.w3.org/2000/svg","circle");l.setAttribute("cx","40"),l.setAttribute("cy","40"),l.setAttribute("r","40"),l.setAttribute("fill","rgba(255, 255, 255, 0.95)"),l.setAttribute("filter",`url(#${t})`),l.setAttribute("class","vidply-play-overlay-bg"),i.appendChild(l);let h=document.createElementNS("http://www.w3.org/2000/svg","polygon");return h.setAttribute("points","32,28 32,52 54,40"),h.setAttribute("fill","#0a406e"),h.setAttribute("class","vidply-play-overlay-icon"),i.appendChild(h),i}function b(i,{delay:e=0,preventScroll:t=!0}={}){i&&requestAnimationFrame(()=>{setTimeout(()=>{i&&document.contains(i)&&i.focus({preventScroll:t})},e)})}function X(i,e,t={}){if(!i)return;let s=i.querySelector(e);s&&b(s,t)}var x=class{constructor(e="vidply"){this.namespace=e,this.storage=this.isStorageAvailable()?localStorage:null}isStorageAvailable(){try{let e="__storage_test__";return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch{return!1}}getKey(e){return`${this.namespace}_${e}`}set(e,t){if(!this.storage)return!1;try{let s=this.getKey(e);return this.storage.setItem(s,JSON.stringify(t)),!0}catch(s){return console.warn("Failed to save to localStorage:",s),!1}}get(e,t=null){if(!this.storage)return t;try{let s=this.getKey(e),o=this.storage.getItem(s);return o?JSON.parse(o):t}catch(s){return console.warn("Failed to read from localStorage:",s),t}}remove(e){if(!this.storage)return!1;try{let t=this.getKey(e);return this.storage.removeItem(t),!0}catch(t){return console.warn("Failed to remove from localStorage:",t),!1}}clear(){if(!this.storage)return!1;try{return Object.keys(this.storage).forEach(t=>{t.startsWith(this.namespace)&&this.storage.removeItem(t)}),!0}catch(e){return console.warn("Failed to clear localStorage:",e),!1}}saveTranscriptPreferences(e){return this.set("transcript_preferences",e)}getTranscriptPreferences(){return this.get("transcript_preferences",null)}saveCaptionPreferences(e){return this.set("caption_preferences",e)}getCaptionPreferences(){return this.get("caption_preferences",null)}savePlayerPreferences(e){return this.set("player_preferences",e)}getPlayerPreferences(){return this.get("player_preferences",null)}saveSignLanguagePreferences(e){return this.set("sign_language_preferences",e)}getSignLanguagePreferences(){return this.get("sign_language_preferences",null)}};var R=class{constructor(e,t={}){this.element=e,this.options={dragHandle:null,resizeHandles:[],onDragStart:null,onDrag:null,onDragEnd:null,onResizeStart:null,onResize:null,onResizeEnd:null,constrainToViewport:!0,minWidth:150,minHeight:100,maintainAspectRatio:!1,keyboardDragKey:"d",keyboardResizeKey:"r",keyboardStep:5,keyboardStepLarge:10,maxWidth:null,maxHeight:null,pointerResizeIndicatorText:null,onPointerResizeToggle:null,classPrefix:"draggable",storage:null,storageKey:null,...t},this.isDragging=!1,this.isResizing=!1,this.resizeDirection=null,this.dragOffsetX=0,this.dragOffsetY=0,this.positionOffsetX=0,this.positionOffsetY=0,this.initialMouseX=0,this.initialMouseY=0,this.needsPositionConversion=!1,this.resizeStartX=0,this.resizeStartY=0,this.resizeStartWidth=0,this.resizeStartHeight=0,this.resizeStartLeft=0,this.resizeStartTop=0,this.keyboardDragMode=!1,this.keyboardResizeMode=!1,this.pointerResizeMode=!1,this.manuallyPositioned=!1,this.resizeHandlesManaged=new Map,this.resizeIndicatorElement=null,this.handlers={mousedown:this.onMouseDown.bind(this),mousemove:this.onMouseMove.bind(this),mouseup:this.onMouseUp.bind(this),touchstart:this.onTouchStart.bind(this),touchmove:this.onTouchMove.bind(this),touchend:this.onTouchEnd.bind(this),keydown:this.onKeyDown.bind(this),resizeHandleMousedown:this.onResizeHandleMouseDown.bind(this)},this.init()}hasManagedResizeHandles(){return Array.from(this.resizeHandlesManaged.values()).some(Boolean)}storeOriginalHandleDisplay(e){e.dataset.originalDisplay||(e.dataset.originalDisplay=e.style.display||"")}hideResizeHandle(e){e.style.display="none",e.setAttribute("aria-hidden","true")}showResizeHandle(e){let t=e.dataset.originalDisplay!==void 0?e.dataset.originalDisplay:"";e.style.display=t,e.removeAttribute("aria-hidden")}setManagedHandlesVisible(e){!this.options.resizeHandles||this.options.resizeHandles.length===0||this.options.resizeHandles.forEach(t=>{this.resizeHandlesManaged.get(t)&&(e?this.showResizeHandle(t):this.hideResizeHandle(t))})}init(){let e=this.options.dragHandle||this.element;e.addEventListener("mousedown",this.handlers.mousedown),e.addEventListener("touchstart",this.handlers.touchstart),document.addEventListener("mousemove",this.handlers.mousemove),document.addEventListener("mouseup",this.handlers.mouseup),document.addEventListener("touchmove",this.handlers.touchmove,{passive:!1}),document.addEventListener("touchend",this.handlers.touchend),this.element.addEventListener("keydown",this.handlers.keydown),this.options.resizeHandles&&this.options.resizeHandles.length>0&&this.options.resizeHandles.forEach(t=>{t.addEventListener("mousedown",this.handlers.resizeHandleMousedown),t.addEventListener("touchstart",this.handlers.resizeHandleMousedown);let s=t.dataset.vidplyManagedResize==="true";this.resizeHandlesManaged.set(t,s),s&&(this.storeOriginalHandleDisplay(t),this.hideResizeHandle(t))})}onMouseDown(e){e.target.classList.contains(`${this.options.classPrefix}-resize-handle`)||this.options.onDragStart&&!this.options.onDragStart(e)||(this.startDragging(e.clientX,e.clientY),e.preventDefault())}onTouchStart(e){if(e.target.classList.contains(`${this.options.classPrefix}-resize-handle`)||this.options.onDragStart&&!this.options.onDragStart(e))return;let t=e.touches[0];this.startDragging(t.clientX,t.clientY)}onResizeHandleMouseDown(e){e.preventDefault(),e.stopPropagation();let t=e.target;this.resizeDirection=t.getAttribute("data-direction");let s=e.clientX||e.touches?.[0]?.clientX,o=e.clientY||e.touches?.[0]?.clientY;this.startResizing(s,o)}onMouseMove(e){this.isDragging?(this.drag(e.clientX,e.clientY),e.preventDefault()):this.isResizing&&(this.resize(e.clientX,e.clientY),e.preventDefault())}onTouchMove(e){if(this.isDragging||this.isResizing){let t=e.touches[0];this.isDragging?this.drag(t.clientX,t.clientY):this.resize(t.clientX,t.clientY),e.preventDefault()}}onMouseUp(){this.isDragging?this.stopDragging():this.isResizing&&this.stopResizing()}onTouchEnd(){this.isDragging?this.stopDragging():this.isResizing&&this.stopResizing()}onKeyDown(e){if(e.key.toLowerCase()===this.options.keyboardDragKey.toLowerCase()){e.preventDefault(),this.toggleKeyboardDragMode();return}if(e.key.toLowerCase()===this.options.keyboardResizeKey.toLowerCase()){e.preventDefault(),this.hasManagedResizeHandles()?this.togglePointerResizeMode():this.toggleKeyboardResizeMode();return}if(e.key==="Escape"){if(this.pointerResizeMode){e.preventDefault(),this.disablePointerResizeMode();return}if(this.keyboardDragMode||this.keyboardResizeMode){e.preventDefault(),this.disableKeyboardDragMode(),this.disableKeyboardResizeMode();return}}["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e.key)&&(this.keyboardDragMode?(e.preventDefault(),e.stopPropagation(),this.keyboardDrag(e.key,e.shiftKey)):this.keyboardResizeMode&&(e.preventDefault(),e.stopPropagation(),this.keyboardResize(e.key,e.shiftKey))),e.key==="Home"&&(this.keyboardDragMode||this.keyboardResizeMode)&&(e.preventDefault(),this.resetPosition())}startDragging(e,t){let s=this.element.getBoundingClientRect(),o=window.getComputedStyle(this.element),n=o.right!=="auto"||o.bottom!=="auto"||o.transform!=="none";if(this.positionOffsetX=0,this.positionOffsetY=0,n){let c,a;if(o.position==="absolute"){let h=(this.element.offsetParent||document.body).getBoundingClientRect();c=s.left-h.left,a=s.top-h.top,this.positionOffsetX=h.left,this.positionOffsetY=h.top}else if(o.position==="fixed"){let l=parseFloat(o.left),h=parseFloat(o.top),f=Number.isFinite(l),g=Number.isFinite(h);c=f?l:s.left,a=g?h:s.top,this.positionOffsetX=s.left-c,this.positionOffsetY=s.top-a}else c=s.left,a=s.top,this.positionOffsetX=s.left-c,this.positionOffsetY=s.top-a;let d=this.element.style.cssText.split(";").filter(l=>{let h=l.trim();if(!h)return!1;let f=h.indexOf(":");if(f===-1)return!1;let g=h.substring(0,f).trim(),z=h.substring(f+1).trim();return!(!z||z===""||g==="right"||g==="bottom"||g==="transform"||g==="left"||g==="top"||g==="inset"||g.startsWith("border-image"))}).join("; ");d&&(d+="; "),d+=`left: ${c}px; top: ${a}px; right: auto; bottom: auto; transform: none`,this.element.style.cssText=d}let r=this.element.getBoundingClientRect();this.dragOffsetX=e-r.left,this.dragOffsetY=t-r.top,this.isDragging=!0,this.element.classList.add(`${this.options.classPrefix}-dragging`),document.body.style.cursor="grabbing",document.body.style.userSelect="none"}drag(e,t){if(!this.isDragging)return;let s=e-this.dragOffsetX-this.positionOffsetX,o=t-this.dragOffsetY-this.positionOffsetY;if(this.options.constrainToViewport){let n=this.element.getBoundingClientRect(),r=document.documentElement.clientWidth,c=document.documentElement.clientHeight,a=100,u=-(n.width-a),d=-(n.height-a),l=r-a,h=c-a;s=Math.max(u,Math.min(s,l)),o=Math.max(d,Math.min(o,h))}this.element.style.left=`${s}px`,this.element.style.top=`${o}px`,this.options.onDrag&&this.options.onDrag({x:s,y:o})}stopDragging(){this.isDragging=!1,this.element.classList.remove(`${this.options.classPrefix}-dragging`),document.body.style.cursor="",document.body.style.userSelect="",this.manuallyPositioned=!0,this.options.onDragEnd&&this.options.onDragEnd()}startResizing(e,t){this.isResizing=!0,this.resizeStartX=e,this.resizeStartY=t;let s=this.element.getBoundingClientRect();this.resizeStartWidth=s.width,this.resizeStartHeight=s.height,this.resizeStartLeft=s.left,this.resizeStartTop=s.top,this.element.classList.add(`${this.options.classPrefix}-resizing`),document.body.style.userSelect="none",this.options.onResizeStart&&this.options.onResizeStart()}resize(e,t){if(!this.isResizing)return;let s=e-this.resizeStartX,o=t-this.resizeStartY,n=this.resizeStartWidth,r=this.resizeStartHeight,c=this.resizeStartLeft,a=this.resizeStartTop;if(this.resizeDirection.includes("e")&&(n=Math.max(this.options.minWidth,this.resizeStartWidth+s)),this.resizeDirection.includes("w")){let d=Math.max(this.options.minWidth,this.resizeStartWidth-s);c=this.resizeStartLeft+(this.resizeStartWidth-d),n=d}let u=typeof this.options.maxWidth=="function"?this.options.maxWidth():this.options.maxWidth;if(Number.isFinite(u)){let d=Math.min(n,u);d!==n&&this.resizeDirection.includes("w")&&(c+=n-d),n=d}if(!this.options.maintainAspectRatio){if(this.resizeDirection.includes("s")&&(r=Math.max(this.options.minHeight,this.resizeStartHeight+o)),this.resizeDirection.includes("n")){let l=Math.max(this.options.minHeight,this.resizeStartHeight-o);a=this.resizeStartTop+(this.resizeStartHeight-l),r=l}let d=typeof this.options.maxHeight=="function"?this.options.maxHeight():this.options.maxHeight;if(Number.isFinite(d)){let l=Math.min(r,d);l!==r&&this.resizeDirection.includes("n")&&(a+=r-l),r=l}}this.element.style.width=`${n}px`,this.options.maintainAspectRatio?this.element.style.height="auto":this.element.style.height=`${r}px`,this.resizeDirection.includes("w")&&(this.element.style.left=`${c}px`),this.resizeDirection.includes("n")&&!this.options.maintainAspectRatio&&(this.element.style.top=`${a}px`),this.options.onResize&&this.options.onResize({width:n,height:r,left:c,top:a})}stopResizing(){this.isResizing=!1,this.resizeDirection=null,this.element.classList.remove(`${this.options.classPrefix}-resizing`),document.body.style.userSelect="",this.manuallyPositioned=!0,this.options.onResizeEnd&&this.options.onResizeEnd()}toggleKeyboardDragMode(){this.keyboardDragMode?this.disableKeyboardDragMode():this.enableKeyboardDragMode()}enableKeyboardDragMode(){this.keyboardDragMode=!0,this.keyboardResizeMode=!1,this.element.classList.add(`${this.options.classPrefix}-keyboard-drag`),this.element.classList.remove(`${this.options.classPrefix}-keyboard-resize`),this.focusElement()}disableKeyboardDragMode(){this.keyboardDragMode=!1,this.element.classList.remove(`${this.options.classPrefix}-keyboard-drag`)}toggleKeyboardResizeMode(){this.keyboardResizeMode?this.disableKeyboardResizeMode():this.enableKeyboardResizeMode()}enableKeyboardResizeMode(){this.keyboardResizeMode=!0,this.keyboardDragMode=!1,this.element.classList.add(`${this.options.classPrefix}-keyboard-resize`),this.element.classList.remove(`${this.options.classPrefix}-keyboard-drag`),this.focusElement()}disableKeyboardResizeMode(){this.keyboardResizeMode=!1,this.element.classList.remove(`${this.options.classPrefix}-keyboard-resize`)}enablePointerResizeMode({focus:e=!0}={}){if(!this.hasManagedResizeHandles()){this.enableKeyboardResizeMode();return}this.pointerResizeMode||(this.pointerResizeMode=!0,this.setManagedHandlesVisible(!0),this.element.classList.add(`${this.options.classPrefix}-resizable`),this.enableKeyboardResizeMode(),e&&this.focusElement(),typeof this.options.onPointerResizeToggle=="function"&&this.options.onPointerResizeToggle(!0))}disablePointerResizeMode({focus:e=!1}={}){this.pointerResizeMode&&(this.pointerResizeMode=!1,this.setManagedHandlesVisible(!1),this.element.classList.remove(`${this.options.classPrefix}-resizable`),this.disableKeyboardResizeMode(),e&&this.focusElement(),typeof this.options.onPointerResizeToggle=="function"&&this.options.onPointerResizeToggle(!1))}togglePointerResizeMode(){return this.pointerResizeMode?this.disablePointerResizeMode():this.enablePointerResizeMode(),this.pointerResizeMode}focusElement(){if(typeof this.element.focus=="function")try{this.element.focus({preventScroll:!0})}catch{this.element.focus()}}keyboardDrag(e,t){let s=t?this.options.keyboardStepLarge:this.options.keyboardStep,o=parseFloat(this.element.style.left)||0,n=parseFloat(this.element.style.top)||0;if(window.getComputedStyle(this.element).transform!=="none"){let u=this.element.getBoundingClientRect();o=u.left,n=u.top,this.element.style.transform="none",this.element.style.left=`${o}px`,this.element.style.top=`${n}px`}let c=o,a=n;switch(e){case"ArrowLeft":c-=s;break;case"ArrowRight":c+=s;break;case"ArrowUp":a-=s;break;case"ArrowDown":a+=s;break}this.element.style.left=`${c}px`,this.element.style.top=`${a}px`,this.options.onDrag&&this.options.onDrag({x:c,y:a})}keyboardResize(e,t){let s=t?this.options.keyboardStepLarge:this.options.keyboardStep,o=this.element.getBoundingClientRect(),n=o.width,r=o.height;switch(e){case"ArrowLeft":n-=s;break;case"ArrowRight":n+=s;break;case"ArrowUp":this.options.maintainAspectRatio?n+=s:r-=s;break;case"ArrowDown":this.options.maintainAspectRatio?n-=s:r+=s;break}n=Math.max(this.options.minWidth,n),r=Math.max(this.options.minHeight,r),this.element.style.width=`${n}px`,this.options.maintainAspectRatio?this.element.style.height="auto":this.element.style.height=`${r}px`,this.options.onResize&&this.options.onResize({width:n,height:r})}resetPosition(){this.element.style.left="50%",this.element.style.top="50%",this.element.style.transform="translate(-50%, -50%)",this.element.style.right="",this.element.style.bottom="",this.manuallyPositioned=!1,this.options.onDrag&&this.options.onDrag({centered:!0})}destroy(){let e=this.options.dragHandle||this.element;this.disablePointerResizeMode(),e.removeEventListener("mousedown",this.handlers.mousedown),e.removeEventListener("touchstart",this.handlers.touchstart),document.removeEventListener("mousemove",this.handlers.mousemove),document.removeEventListener("mouseup",this.handlers.mouseup),document.removeEventListener("touchmove",this.handlers.touchmove),document.removeEventListener("touchend",this.handlers.touchend),this.element.removeEventListener("keydown",this.handlers.keydown),this.options.resizeHandles&&this.options.resizeHandles.length>0&&this.options.resizeHandles.forEach(t=>{t.removeEventListener("mousedown",this.handlers.resizeHandleMousedown),t.removeEventListener("touchstart",this.handlers.resizeHandleMousedown)}),this.element.classList.remove(`${this.options.classPrefix}-dragging`,`${this.options.classPrefix}-resizing`,`${this.options.classPrefix}-keyboard-drag`,`${this.options.classPrefix}-keyboard-resize`)}};function Z({classPrefix:i,itemClass:e,icon:t,label:s,ariaLabel:o,onClick:n,hasTextClass:r=!1}){let c=typeof s=="string"&&(s.startsWith("transcript.")||s.startsWith("player.")||s.startsWith("settings.")),a=o||c&&p.t(s)||s,u=m.createElement("button",{className:e,attributes:{type:"button","aria-label":a,tabindex:"-1"}});t&&u.appendChild(L(t));let l=typeof s=="string"&&(s.startsWith("transcript.")||s.startsWith("player.")||s.startsWith("settings."))&&p.t(s)||s,h=m.createElement("span",{textContent:l,className:r?`${i}-settings-text`:void 0,attributes:{"aria-hidden":"true"}});return u.appendChild(h),n&&u.addEventListener("click",n),u}function G(i,e,t,s){if(!i)return;let o=Array.from(i.querySelectorAll(t));if(o.length===0)return;let n=r=>{let c=o.indexOf(document.activeElement);switch(r.key){case"ArrowDown":r.preventDefault(),r.stopPropagation();let a=(c+1)%o.length;o.forEach((l,h)=>{l.setAttribute("tabindex",h===a?"0":"-1")}),o[a].focus({preventScroll:!1}),o[a].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"ArrowUp":r.preventDefault(),r.stopPropagation();let u=(c-1+o.length)%o.length;o.forEach((l,h)=>{l.setAttribute("tabindex",h===u?"0":"-1")}),o[u].focus({preventScroll:!1}),o[u].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"Home":r.preventDefault(),r.stopPropagation(),o.forEach((l,h)=>{l.setAttribute("tabindex",h===0?"0":"-1")}),o[0].focus({preventScroll:!1}),o[0].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"End":r.preventDefault(),r.stopPropagation();let d=o.length-1;o.forEach((l,h)=>{l.setAttribute("tabindex",h===d?"0":"-1")}),o[d].focus({preventScroll:!1}),o[d].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"Enter":case" ":r.preventDefault(),r.stopPropagation(),document.activeElement&&o.includes(document.activeElement)&&(document.activeElement.click(),s&&setTimeout(()=>{e&&document.contains(e)&&e.focus()},0));break;case"Escape":r.preventDefault(),r.stopPropagation(),s&&s();break}};return i.addEventListener("keydown",n,!0),n}function ee(i,e,t=0){i&&setTimeout(()=>{let s=Array.from(i.querySelectorAll(e));s.length>0&&(s.forEach((o,n)=>{o.setAttribute("tabindex",n===0?"0":"-1")}),b(s[0],{delay:0}),s[0].scrollIntoView({behavior:"smooth",block:"nearest"}))},t)}function oe({classPrefix:i,labelClass:e,selectClass:t,labelText:s,selectId:o,hidden:n=!1,onChange:r=null,options:c=[]}){let u=typeof s=="string"&&(s.startsWith("transcript.")||s.startsWith("player.")||s.startsWith("settings.")||s.startsWith("captions."))&&p.t(s)||s,d=m.createElement("label",{className:e,textContent:u,attributes:{for:o,style:n?"display: none;":void 0}}),l=m.createElement("select",{className:t,attributes:{id:o,style:n?"display: none;":void 0}});return c.forEach(h=>{let f=m.createElement("option",{textContent:h.text,attributes:{value:h.value,selected:h.selected?"selected":void 0}});l.appendChild(f)}),r&&l.addEventListener("change",r),{label:d,select:l}}function ne(i){i&&["mousedown","click"].forEach(e=>{i.addEventListener(e,t=>{t.stopPropagation()})})}export{m as a,p as b,F as c,L as d,W as e,b as f,X as g,x as h,R as i,Z as j,G as k,ee as l,oe as m,ne as n};
@@ -1,6 +0,0 @@
1
- /*!
2
- * Universal, Accessible Video Player
3
- * (c) 2025 Matthias Peltzer
4
- * Released under GPL-2.0-or-later License
5
- */
6
- var m={createElement(i,e={}){let t=document.createElement(i);return e.className&&(t.className=e.className),e.attributes&&Object.entries(e.attributes).forEach(([s,o])=>{t.setAttribute(s,o)}),e.innerHTML&&(t.innerHTML=e.innerHTML),e.textContent&&(t.textContent=e.textContent),e.style&&Object.assign(t.style,e.style),e.children&&e.children.forEach(s=>{s&&t.appendChild(s)}),t},addClass(i,e){i&&e&&i.classList.add(e)},removeClass(i,e){i&&e&&i.classList.remove(e)},toggleClass(i,e){i&&e&&i.classList.toggle(e)},hasClass(i,e){return i&&i.classList.contains(e)},show(i){i&&(i.style.display="")},hide(i){i&&(i.style.display="none")},fadeIn(i,e=300){if(!i)return;i.style.opacity="0",i.style.display="";let t=null,s=o=>{t||(t=o);let n=o-t,r=Math.min(n/e,1);i.style.opacity=r,n<e&&requestAnimationFrame(s)};requestAnimationFrame(s)},fadeOut(i,e=300){if(!i)return;let t=parseFloat(getComputedStyle(i).opacity)||1,s=null,o=n=>{s||(s=n);let r=n-s,c=Math.max(t-r/e,0);i.style.opacity=c,r<e?requestAnimationFrame(o):i.style.display="none"};requestAnimationFrame(o)},offset(i){if(!i)return{top:0,left:0};let e=i.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset,width:e.width,height:e.height}},escapeHTML(i){let e=document.createElement("div");return e.textContent=i,e.innerHTML},sanitizeHTML(i){let e=document.createElement("div"),t=i.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi,"").replace(/on\w+\s*=/gi,"").replace(/javascript:/gi,"");return e.innerHTML=t,e.innerHTML},createTooltip(i,e="vidply"){return this.createElement("span",{className:`${e}-tooltip`,textContent:i,attributes:{"aria-hidden":"true"}})},attachTooltip(i,e,t="vidply"){if(!i||!e)return;let s=i.querySelector(`.${t}-tooltip`);s&&s.remove();let o=this.createTooltip(e,t);i.appendChild(o);let n=()=>{o.classList.add(`${t}-tooltip-visible`)},r=()=>{o.classList.remove(`${t}-tooltip-visible`)};i.addEventListener("mouseenter",n),i.addEventListener("mouseleave",r),i.addEventListener("focus",n),i.addEventListener("blur",r)},createButtonText(i,e="vidply"){return this.createElement("span",{className:`${e}-button-text`,textContent:i,attributes:{"aria-hidden":"true"}})}};var w={player:{label:"Video Player",play:"Play",pause:"Pause",stop:"Stop",restart:"Restart from beginning",rewind:"Rewind",forward:"Forward",rewindSeconds:"Rewind {seconds} seconds",forwardSeconds:"Forward {seconds} seconds",previous:"Previous track",next:"Next track",playlist:"Toggle playlist",volume:"Volume",mute:"Mute",unmute:"Unmute",fullscreen:"Fullscreen",exitFullscreen:"Exit Fullscreen",captions:"Captions",chapters:"Chapters",quality:"Quality",captionStyling:"Caption styling",transcript:"Toggle transcript",audioDescription:"Audio description",signLanguage:"Sign language video",settings:"Settings",speed:"Playback Speed",pip:"Picture in Picture",currentTime:"Current time",duration:"Duration",progress:"Progress",seekForward:"Seek forward {seconds} seconds",seekBackward:"Seek backward {seconds} seconds",volumeUp:"Volume up",volumeDown:"Volume down",loading:"Loading...",loadingChapters:"Loading chapters...",error:"Error loading media",buffering:"Buffering...",signLanguageVideo:"Sign Language Video",closeSignLanguage:"Close sign language video",signLanguageSettings:"Sign language settings",noChapters:"No chapters available",noCaptions:"No captions available",auto:"Auto",autoQuality:"Auto (no quality selection available)",noQuality:"Quality selection not available",signLanguageDragResize:"Sign Language Video - Press D to drag with keyboard, R to resize",signLanguageDragActive:"Sign Language Video - Drag mode active. Use arrow keys to move, Escape to exit.",signLanguageResizeActive:"Sign Language Video - Resize mode active. Use left/right arrow keys to resize, Escape to exit.",enableSignDragMode:"Enable drag mode. Shortcut: D key",disableSignDragMode:"Disable drag mode. Shortcut: D key",enableSignDragModeAria:"Enable toggle keyboard drag mode with arrow keys. Shortcut: D key",disableSignDragModeAria:"Disable toggle keyboard drag mode with arrow keys. Shortcut: D key",enableSignResizeMode:"Enable resize mode. Shortcut: R key",disableSignResizeMode:"Disable resize mode. Shortcut: R key",enableSignResizeModeAria:"Enable keyboard resize mode with arrow keys. Shortcut: R key",disableSignResizeModeAria:"Disable keyboard resize mode with arrow keys. Shortcut: R key",resizeHandle:"Resize {direction} corner",moreOptions:"More options",noMoreOptions:"No additional options available"},captions:{off:"Off",select:"Select captions",fontSize:"Font Size",fontFamily:"Font Family",color:"Text Color",backgroundColor:"Background Color",opacity:"Opacity"},fontSizes:{small:"Small",normal:"Normal",large:"Large",xlarge:"X-Large"},fontFamilies:{sansSerif:"Sans-serif",serif:"Serif",monospace:"Monospace"},styleLabels:{textColor:"Text Color",background:"Background",font:"Font",fontSize:"Font Size",opacity:"Opacity"},audioDescription:{enable:"Enable audio description",disable:"Disable audio description"},signLanguage:{show:"Show sign language video",hide:"Hide sign language video"},transcript:{title:"Transcript",close:"Close transcript",loading:"Loading transcript...",noTranscript:"No transcript available for this video.",settings:"Transcript settings. Press Enter to open menu, or D to enable drag mode",keyboardDragMode:"Toggle keyboard drag mode with arrow keys. Shortcut: D key",keyboardDragActive:"⌨️ Keyboard Drag Mode Active (Arrow keys to move, Shift+Arrows for large steps, D or ESC to exit)",dragResizePrompt:"Press D to drag or R to resize. Use Home to reset position, Esc to close.",dragModeEnabled:"Keyboard drag mode enabled. Use arrow keys to move, Shift+Arrow for larger steps. Press D or Esc to exit.",dragModeDisabled:"Keyboard drag mode disabled.",enableDragMode:"Enable drag mode. Shortcut: D key",disableDragMode:"Disable drag mode. Shortcut: D key",enableDragModeAria:"Enable toggle keyboard drag mode with arrow keys. Shortcut: D key",disableDragModeAria:"Disable toggle keyboard drag mode with arrow keys. Shortcut: D key",resizeWindow:"Resize Window",disableResizeWindow:"Disable Resize Mode",enableResizeMode:"Enable resize mode. Shortcut: R key",disableResizeMode:"Disable resize mode. Shortcut: R key",enableResizeModeAria:"Enable keyboard resize mode with arrow keys. Shortcut: R key",disableResizeModeAria:"Disable keyboard resize mode with arrow keys. Shortcut: R key",resizeModeHint:"Resize handles enabled. Drag edges or corners to adjust. Press Esc or R to exit.",resizeModeEnabled:"Resize mode enabled. Drag edges or corners to adjust. Press Esc or R to exit.",resizeModeDisabled:"Resize mode disabled.",positionReset:"Transcript position reset.",styleTranscript:"Open transcript style settings",closeMenu:"Close Menu",styleTitle:"Transcript Style",autoscroll:"Autoscroll",settingsMenu:"Transcript dialog settings",showTimestamps:"Show timestamps",hideTimestamps:"Hide timestamps",showTimestampsAria:"Show timestamps in transcript",hideTimestampsAria:"Hide timestamps in transcript"},settings:{title:"Settings",quality:"Quality",speed:"Speed",captions:"Captions",language:"Language",reset:"Reset to defaults",close:"Close"},speeds:{normal:"Normal"},time:{display:"Time display",durationPrefix:"Duration: ",of:"of",hour:"{count} hour",hours:"{count} hours",minute:"{count} minute",minutes:"{count} minutes",second:"{count} second",seconds:"{count} seconds"},playlist:{title:"Playlist",trackOf:"Track {current} of {total}",nowPlaying:"Now playing: Track {current} of {total}. {title}{artist}",by:" by ",untitled:"Untitled",trackUntitled:"Track {number}",currentlyPlaying:"Currently playing",notPlaying:"Not playing",pressEnterPlay:"Press Enter to play",pressEnterRestart:"Press Enter to restart"}};var M={de:()=>import("./vidply.de-SWFW4HYT.min.js"),es:()=>import("./vidply.es-7BJ2DJAY.min.js"),fr:()=>import("./vidply.fr-DPVR5DFY.min.js"),ja:()=>import("./vidply.ja-PEBVWKVH.min.js")};function y(){return{en:w}}function S(){return M}async function k(i){let e=M[i];if(!e)return null;let t=await e();return t[i]||t.default||null}var V=y();var v=class{constructor(){this.currentLanguage="en",this.translations=y(),this.loadingPromises=new Map,this.builtInLanguageLoaders=S()}setLanguage(e){this.translations[e]?this.currentLanguage=e:(console.warn(`Language "${e}" not found, falling back to English`),this.currentLanguage="en")}getLanguage(){return this.currentLanguage}async ensureLanguage(e){let t=(e||"").toLowerCase();if(!t)return this.currentLanguage;if(this.translations[t])return t;if(this.loadingPromises.has(t))return await this.loadingPromises.get(t),this.translations[t]?t:null;if(!this.builtInLanguageLoaders[t])return null;let s=(async()=>{try{let o=await k(t);o&&(this.translations[t]=o)}catch(o){console.warn(`Language "${t}" failed to load:`,o)}finally{this.loadingPromises.delete(t)}})();return this.loadingPromises.set(t,s),await s,this.translations[t]?t:null}t(e,t={}){let s=e.split("."),o=this.translations[this.currentLanguage];for(let n of s)if(o&&typeof o=="object"&&n in o)o=o[n];else{o=this.translations.en;for(let r of s)if(o&&typeof o=="object"&&r in o)o=o[r];else return e;break}return typeof o=="string"&&Object.entries(t).forEach(([n,r])=>{o=o.replace(new RegExp(`{${n}}`,"g"),r)}),o}addTranslation(e,t){this.translations[e]||(this.translations[e]={}),Object.assign(this.translations[e],t)}async loadLanguageFromUrl(e,t){if(this.loadingPromises.has(t))return this.loadingPromises.get(t);let s=(async()=>{try{let o=await fetch(t);if(!o.ok)throw new Error(`Failed to load language file: ${o.statusText}`);let n=o.headers.get("content-type")||"",r,c=await o.arrayBuffer(),a=new TextDecoder("utf-8").decode(c);if(n.includes("application/json")||t.endsWith(".json"))r=JSON.parse(a);else if(n.includes("text/yaml")||n.includes("application/x-yaml")||t.endsWith(".yaml")||t.endsWith(".yml"))try{r=JSON.parse(a)}catch{if(typeof window<"u"&&window.jsyaml)r=window.jsyaml.load(a);else throw console.warn("YAML parsing requires js-yaml library. Please include it or use JSON format."),new Error("YAML parsing not available. Please use JSON format or include js-yaml library.")}else r=JSON.parse(a);return this.addTranslation(e,r),r}catch(o){throw console.error(`Error loading language file from ${t}:`,o),o}finally{this.loadingPromises.delete(t)}})();return this.loadingPromises.set(t,s),s}async loadLanguagesFromUrls(e){let t=Object.entries(e).map(([s,o])=>this.loadLanguageFromUrl(s,o));await Promise.all(t)}},p=new v;var F={formatTime(i,e=!1){if(!isFinite(i)||i<0)return e?"00:00:00":"00:00";let t=Math.floor(i/3600),s=Math.floor(i%3600/60),o=Math.floor(i%60),n=r=>String(r).padStart(2,"0");return t>0||e?`${n(t)}:${n(s)}:${n(o)}`:`${n(s)}:${n(o)}`},parseTime(i){let e=i.split(":").map(t=>parseInt(t,10));return e.length===3?e[0]*3600+e[1]*60+e[2]:e.length===2?e[0]*60+e[1]:e.length===1?e[0]:0},formatDuration(i){if(!isFinite(i)||i<0)return p.t("time.seconds",{count:0});let e=Math.floor(i/3600),t=Math.floor(i%3600/60),s=Math.floor(i%60),o=[];if(e>0){let n=e===1?"time.hour":"time.hours";o.push(p.t(n,{count:e}))}if(t>0){let n=t===1?"time.minute":"time.minutes";o.push(p.t(n,{count:t}))}if(s>0||o.length===0){let n=s===1?"time.second":"time.seconds";o.push(p.t(n,{count:s}))}return o.join(", ")},formatPercentage(i,e){return e===0?0:Math.round(i/e*100)}};var H={play:'<path d="M8 5v14l11-7z"/>',pause:'<path d="M6 4h4v16H6V4zm8 0h4v16h-4V4z"/>',stop:'<rect x="6" y="6" width="12" height="12"/>',rewind:'<path d="M11 18V6l-8.5 6 8.5 6zm.5-6l8.5 6V6l-8.5 6z"/>',forward:'<path d="M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z"/>',skipPrevious:'<path d="M6 6h2v12H6V6zm3 6l8.5 6V6L9 12z"/>',skipNext:'<path d="M16 6h2v12h-2V6zM6 6l8.5 6L6 18V6z"/>',restart:'<path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"/>',volumeHigh:'<path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"/>',volumeMedium:'<path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02z"/>',volumeLow:'<path d="M7 9v6h4l5 5V4l-5 5H7z"/>',volumeMuted:'<path d="M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z"/>',fullscreen:'<path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/>',fullscreenExit:'<path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"/>',settings:'<path d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94L14.4 2.81c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>',captions:'<path d="M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 7H9.5v-.5h-2v3h2V13H11v1c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1zm7 0h-1.5v-.5h-2v3h2V13H18v1c0 .55-.45 1-1 1h-3c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1z"/>',captionsOff:'<path d="M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 7H9.5v-.5h-2v3h2V13H11v1c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1zm7 0h-1.5v-.5h-2v3h2V13H18v1c0 .55-.45 1-1 1h-3c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1z"/><path d="M0 0h24v24H0z" fill="none"/>',pip:'<path d="M19 7h-8v6h8V7zm2-4H3c-1.1 0-2 .9-2 2v14c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98V5c0-1.1-.9-2-2-2zm0 16.01H3V4.98h18v14.03z"/>',speed:'<path d="M20.38 8.57l-1.23 1.85a8 8 0 0 1-.22 7.58H5.07A8 8 0 0 1 15.58 6.85l1.85-1.23A10 10 0 0 0 3.35 19a2 2 0 0 0 1.72 1h13.85a2 2 0 0 0 1.74-1 10 10 0 0 0-.27-10.44z"/><path d="M10.59 15.41a2 2 0 0 0 2.83 0l5.66-8.49-8.49 5.66a2 2 0 0 0 0 2.83z"/>',close:'<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>',check:'<path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/>',loading:'<path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"/>',error:'<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/>',playlist:'<path d="M15 6H3v2h12V6zm0 4H3v2h12v-2zM3 16h8v-2H3v2zM17 6v8.18c-.31-.11-.65-.18-1-.18-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3V8h3V6h-5z"/>',hd:'<path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-8 12H9.5v-2h-2v2H6V9h1.5v2.5h2V9H11v6zm7-1c0 .55-.45 1-1 1h-.75v1.5h-1.5V15H14c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v4zm-3.5-.5h2v-3h-2v3z"/>',transcript:'<path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"/>',chapters:'<path d="M3 5h2v2H3V5zm0 4h2v2H3V9zm0 4h2v2H3v-2zm0 4h2v2H3v-2zM7 5h14v2H7V5zm0 4h14v2H7V9zm0 4h14v2H7v-2zm0 4h14v2H7v-2z"/>',audioDescription:'<rect x="2" y="5" width="20" height="14" rx="2" fill="#ffffff" stroke="#ffffff" stroke-width="2"/><text x="12" y="16" font-family="Arial, sans-serif" font-size="10" font-weight="bold" text-anchor="middle" fill="#1a1a1a">AD</text>',audioDescriptionOn:'<rect x="2" y="5" width="20" height="14" rx="2" fill="none" stroke="currentColor" stroke-width="2"/><text x="12" y="16" font-family="Arial, sans-serif" font-size="10" font-weight="bold" text-anchor="middle" fill="currentColor">AD</text>',signLanguage:'<g transform="scale(1.5)"><path d="M16 11.3c-.1-.9-4.8 1.3-5.4 1.1-2.6-1 5.8-1.3 5.1-2.9s-5.1 1.5-6 1.4C6.5 9.4 16.5 9.1 13.5 8c-1.9-.6-8.8 2.9-6.8.4.7-.6.7-1.9-.7-1.7-9.7 7.2-.7 12.2 8.8 7 0-1.3-3.5.4-4.1.4-2.6 0 5.6-2 5.4-3ZM3.9 7.8c3.2-4.2 3.7 1.2 6 .1s.2-.2.2-.3c.7-2.7 2.5-7.5-1.5-1.3-1.6 0 1.1-4 1-4.6C8.9-1 7.3 4.4 7.2 4.9c-1.6.7-.9-1.4-.7-1.5 3-6-.6-3.1-.9.4-2.5 1.8 0-2.8 0-3.5C2.8-.9 4 9.4 1.1 4.9S.1 4.6 0 5c-.4 2.7 2.6 7.2 3.9 2.8Z"/></g>',signLanguageOn:'<g transform="scale(1.5)"><path d="M16 11.3c-.1-.9-4.8 1.3-5.4 1.1-2.6-1 5.8-1.3 5.1-2.9s-5.1 1.5-6 1.4C6.5 9.4 16.5 9.1 13.5 8c-1.9-.6-8.8 2.9-6.8.4.7-.6.7-1.9-.7-1.7-9.7 7.2-.7 12.2 8.8 7 0-1.3-3.5.4-4.1.4-2.6 0 5.6-2 5.4-3ZM3.9 7.8c3.2-4.2 3.7 1.2 6 .1s.2-.2.2-.3c.7-2.7 2.5-7.5-1.5-1.3-1.6 0 1.1-4 1-4.6C8.9-1 7.3 4.4 7.2 4.9c-1.6.7-.9-1.4-.7-1.5 3-6-.6-3.1-.9.4-2.5 1.8 0-2.8 0-3.5C2.8-.9 4 9.4 1.1 4.9S.1 4.6 0 5c-.4 2.7 2.6 7.2 3.9 2.8Z"/></g>',music:'<path d="M12 3v9.28c-.47-.17-.97-.28-1.5-.28C8.01 12 6 14.01 6 16.5S8.01 21 10.5 21c2.31 0 4.2-1.75 4.45-4H15V6h4V3h-7zm-1.5 16c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/>',moreVertical:'<path d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/>',move:'<path d="M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z"/>',resize:'<path d="M21.71 11.29l-9-9c-.39-.39-1.02-.39-1.41 0l-9 9c-.39.39-.39 1.02 0 1.41l9 9c.39.39 1.02.39 1.41 0l9-9c.39-.38.39-1.01 0-1.41zM14 14.5V12h-4v2.5L7 11l3-3.5V10h4V7.5l3 3.5-3 3.5z"/>',clock:'<path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/>'},E=i=>`<svg viewBox="0 0 24 24" fill="currentColor">${i}</svg>`,D=Object.fromEntries(Object.entries(H).map(([i,e])=>[i,E(e)]));function A(i){return D[i]||D.play}function L(i,e=""){let t=document.createElement("span");return t.className=`vidply-icon ${e}`.trim(),t.innerHTML=A(i),t.setAttribute("aria-hidden","true"),t}function W(){let i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("class","vidply-play-overlay"),i.setAttribute("viewBox","0 0 80 80"),i.setAttribute("width","80"),i.setAttribute("height","80"),i.setAttribute("aria-hidden","true"),i.setAttribute("role","presentation"),i.style.cursor="pointer";let e=document.createElementNS("http://www.w3.org/2000/svg","defs"),t=`vidply-play-shadow-${Math.random().toString(36).substr(2,9)}`,s=document.createElementNS("http://www.w3.org/2000/svg","filter");s.setAttribute("id",t),s.setAttribute("x","-50%"),s.setAttribute("y","-50%"),s.setAttribute("width","200%"),s.setAttribute("height","200%");let o=document.createElementNS("http://www.w3.org/2000/svg","feGaussianBlur");o.setAttribute("in","SourceAlpha"),o.setAttribute("stdDeviation","3");let n=document.createElementNS("http://www.w3.org/2000/svg","feOffset");n.setAttribute("dx","0"),n.setAttribute("dy","2"),n.setAttribute("result","offsetblur");let r=document.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer"),c=document.createElementNS("http://www.w3.org/2000/svg","feFuncA");c.setAttribute("type","linear"),c.setAttribute("slope","0.3"),r.appendChild(c);let a=document.createElementNS("http://www.w3.org/2000/svg","feMerge"),u=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode"),d=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode");d.setAttribute("in","SourceGraphic"),a.appendChild(u),a.appendChild(d),s.appendChild(o),s.appendChild(n),s.appendChild(r),s.appendChild(a),e.appendChild(s),i.appendChild(e);let l=document.createElementNS("http://www.w3.org/2000/svg","circle");l.setAttribute("cx","40"),l.setAttribute("cy","40"),l.setAttribute("r","40"),l.setAttribute("fill","rgba(255, 255, 255, 0.95)"),l.setAttribute("filter",`url(#${t})`),l.setAttribute("class","vidply-play-overlay-bg"),i.appendChild(l);let h=document.createElementNS("http://www.w3.org/2000/svg","polygon");return h.setAttribute("points","32,28 32,52 54,40"),h.setAttribute("fill","#0a406e"),h.setAttribute("class","vidply-play-overlay-icon"),i.appendChild(h),i}function b(i,{delay:e=0,preventScroll:t=!0}={}){i&&requestAnimationFrame(()=>{setTimeout(()=>{i&&document.contains(i)&&i.focus({preventScroll:t})},e)})}function X(i,e,t={}){if(!i)return;let s=i.querySelector(e);s&&b(s,t)}var x=class{constructor(e="vidply"){this.namespace=e,this.storage=this.isStorageAvailable()?localStorage:null}isStorageAvailable(){try{let e="__storage_test__";return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch{return!1}}getKey(e){return`${this.namespace}_${e}`}set(e,t){if(!this.storage)return!1;try{let s=this.getKey(e);return this.storage.setItem(s,JSON.stringify(t)),!0}catch(s){return console.warn("Failed to save to localStorage:",s),!1}}get(e,t=null){if(!this.storage)return t;try{let s=this.getKey(e),o=this.storage.getItem(s);return o?JSON.parse(o):t}catch(s){return console.warn("Failed to read from localStorage:",s),t}}remove(e){if(!this.storage)return!1;try{let t=this.getKey(e);return this.storage.removeItem(t),!0}catch(t){return console.warn("Failed to remove from localStorage:",t),!1}}clear(){if(!this.storage)return!1;try{return Object.keys(this.storage).forEach(t=>{t.startsWith(this.namespace)&&this.storage.removeItem(t)}),!0}catch(e){return console.warn("Failed to clear localStorage:",e),!1}}saveTranscriptPreferences(e){return this.set("transcript_preferences",e)}getTranscriptPreferences(){return this.get("transcript_preferences",null)}saveCaptionPreferences(e){return this.set("caption_preferences",e)}getCaptionPreferences(){return this.get("caption_preferences",null)}savePlayerPreferences(e){return this.set("player_preferences",e)}getPlayerPreferences(){return this.get("player_preferences",null)}saveSignLanguagePreferences(e){return this.set("sign_language_preferences",e)}getSignLanguagePreferences(){return this.get("sign_language_preferences",null)}};var R=class{constructor(e,t={}){this.element=e,this.options={dragHandle:null,resizeHandles:[],onDragStart:null,onDrag:null,onDragEnd:null,onResizeStart:null,onResize:null,onResizeEnd:null,constrainToViewport:!0,minWidth:150,minHeight:100,maintainAspectRatio:!1,keyboardDragKey:"d",keyboardResizeKey:"r",keyboardStep:5,keyboardStepLarge:10,maxWidth:null,maxHeight:null,pointerResizeIndicatorText:null,onPointerResizeToggle:null,classPrefix:"draggable",storage:null,storageKey:null,...t},this.isDragging=!1,this.isResizing=!1,this.resizeDirection=null,this.dragOffsetX=0,this.dragOffsetY=0,this.positionOffsetX=0,this.positionOffsetY=0,this.initialMouseX=0,this.initialMouseY=0,this.needsPositionConversion=!1,this.resizeStartX=0,this.resizeStartY=0,this.resizeStartWidth=0,this.resizeStartHeight=0,this.resizeStartLeft=0,this.resizeStartTop=0,this.keyboardDragMode=!1,this.keyboardResizeMode=!1,this.pointerResizeMode=!1,this.manuallyPositioned=!1,this.resizeHandlesManaged=new Map,this.resizeIndicatorElement=null,this.handlers={mousedown:this.onMouseDown.bind(this),mousemove:this.onMouseMove.bind(this),mouseup:this.onMouseUp.bind(this),touchstart:this.onTouchStart.bind(this),touchmove:this.onTouchMove.bind(this),touchend:this.onTouchEnd.bind(this),keydown:this.onKeyDown.bind(this),resizeHandleMousedown:this.onResizeHandleMouseDown.bind(this)},this.init()}hasManagedResizeHandles(){return Array.from(this.resizeHandlesManaged.values()).some(Boolean)}storeOriginalHandleDisplay(e){e.dataset.originalDisplay||(e.dataset.originalDisplay=e.style.display||"")}hideResizeHandle(e){e.style.display="none",e.setAttribute("aria-hidden","true")}showResizeHandle(e){let t=e.dataset.originalDisplay!==void 0?e.dataset.originalDisplay:"";e.style.display=t,e.removeAttribute("aria-hidden")}setManagedHandlesVisible(e){!this.options.resizeHandles||this.options.resizeHandles.length===0||this.options.resizeHandles.forEach(t=>{this.resizeHandlesManaged.get(t)&&(e?this.showResizeHandle(t):this.hideResizeHandle(t))})}init(){let e=this.options.dragHandle||this.element;e.addEventListener("mousedown",this.handlers.mousedown),e.addEventListener("touchstart",this.handlers.touchstart),document.addEventListener("mousemove",this.handlers.mousemove),document.addEventListener("mouseup",this.handlers.mouseup),document.addEventListener("touchmove",this.handlers.touchmove,{passive:!1}),document.addEventListener("touchend",this.handlers.touchend),this.element.addEventListener("keydown",this.handlers.keydown),this.options.resizeHandles&&this.options.resizeHandles.length>0&&this.options.resizeHandles.forEach(t=>{t.addEventListener("mousedown",this.handlers.resizeHandleMousedown),t.addEventListener("touchstart",this.handlers.resizeHandleMousedown);let s=t.dataset.vidplyManagedResize==="true";this.resizeHandlesManaged.set(t,s),s&&(this.storeOriginalHandleDisplay(t),this.hideResizeHandle(t))})}onMouseDown(e){e.target.classList.contains(`${this.options.classPrefix}-resize-handle`)||this.options.onDragStart&&!this.options.onDragStart(e)||(this.startDragging(e.clientX,e.clientY),e.preventDefault())}onTouchStart(e){if(e.target.classList.contains(`${this.options.classPrefix}-resize-handle`)||this.options.onDragStart&&!this.options.onDragStart(e))return;let t=e.touches[0];this.startDragging(t.clientX,t.clientY)}onResizeHandleMouseDown(e){e.preventDefault(),e.stopPropagation();let t=e.target;this.resizeDirection=t.getAttribute("data-direction");let s=e.clientX||e.touches?.[0]?.clientX,o=e.clientY||e.touches?.[0]?.clientY;this.startResizing(s,o)}onMouseMove(e){this.isDragging?(this.drag(e.clientX,e.clientY),e.preventDefault()):this.isResizing&&(this.resize(e.clientX,e.clientY),e.preventDefault())}onTouchMove(e){if(this.isDragging||this.isResizing){let t=e.touches[0];this.isDragging?this.drag(t.clientX,t.clientY):this.resize(t.clientX,t.clientY),e.preventDefault()}}onMouseUp(){this.isDragging?this.stopDragging():this.isResizing&&this.stopResizing()}onTouchEnd(){this.isDragging?this.stopDragging():this.isResizing&&this.stopResizing()}onKeyDown(e){if(e.key.toLowerCase()===this.options.keyboardDragKey.toLowerCase()){e.preventDefault(),this.toggleKeyboardDragMode();return}if(e.key.toLowerCase()===this.options.keyboardResizeKey.toLowerCase()){e.preventDefault(),this.hasManagedResizeHandles()?this.togglePointerResizeMode():this.toggleKeyboardResizeMode();return}if(e.key==="Escape"){if(this.pointerResizeMode){e.preventDefault(),this.disablePointerResizeMode();return}if(this.keyboardDragMode||this.keyboardResizeMode){e.preventDefault(),this.disableKeyboardDragMode(),this.disableKeyboardResizeMode();return}}["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e.key)&&(this.keyboardDragMode?(e.preventDefault(),e.stopPropagation(),this.keyboardDrag(e.key,e.shiftKey)):this.keyboardResizeMode&&(e.preventDefault(),e.stopPropagation(),this.keyboardResize(e.key,e.shiftKey))),e.key==="Home"&&(this.keyboardDragMode||this.keyboardResizeMode)&&(e.preventDefault(),this.resetPosition())}startDragging(e,t){let s=this.element.getBoundingClientRect(),o=window.getComputedStyle(this.element),n=o.right!=="auto"||o.bottom!=="auto"||o.transform!=="none";if(this.positionOffsetX=0,this.positionOffsetY=0,n){let c,a;if(o.position==="absolute"){let h=(this.element.offsetParent||document.body).getBoundingClientRect();c=s.left-h.left,a=s.top-h.top,this.positionOffsetX=h.left,this.positionOffsetY=h.top}else if(o.position==="fixed"){let l=parseFloat(o.left),h=parseFloat(o.top),f=Number.isFinite(l),g=Number.isFinite(h);c=f?l:s.left,a=g?h:s.top,this.positionOffsetX=s.left-c,this.positionOffsetY=s.top-a}else c=s.left,a=s.top,this.positionOffsetX=s.left-c,this.positionOffsetY=s.top-a;let d=this.element.style.cssText.split(";").filter(l=>{let h=l.trim();if(!h)return!1;let f=h.indexOf(":");if(f===-1)return!1;let g=h.substring(0,f).trim(),z=h.substring(f+1).trim();return!(!z||z===""||g==="right"||g==="bottom"||g==="transform"||g==="left"||g==="top"||g==="inset"||g.startsWith("border-image"))}).join("; ");d&&(d+="; "),d+=`left: ${c}px; top: ${a}px; right: auto; bottom: auto; transform: none`,this.element.style.cssText=d}let r=this.element.getBoundingClientRect();this.dragOffsetX=e-r.left,this.dragOffsetY=t-r.top,this.isDragging=!0,this.element.classList.add(`${this.options.classPrefix}-dragging`),document.body.style.cursor="grabbing",document.body.style.userSelect="none"}drag(e,t){if(!this.isDragging)return;let s=e-this.dragOffsetX-this.positionOffsetX,o=t-this.dragOffsetY-this.positionOffsetY;if(this.options.constrainToViewport){let n=this.element.getBoundingClientRect(),r=document.documentElement.clientWidth,c=document.documentElement.clientHeight,a=100,u=-(n.width-a),d=-(n.height-a),l=r-a,h=c-a;s=Math.max(u,Math.min(s,l)),o=Math.max(d,Math.min(o,h))}this.element.style.left=`${s}px`,this.element.style.top=`${o}px`,this.options.onDrag&&this.options.onDrag({x:s,y:o})}stopDragging(){this.isDragging=!1,this.element.classList.remove(`${this.options.classPrefix}-dragging`),document.body.style.cursor="",document.body.style.userSelect="",this.manuallyPositioned=!0,this.options.onDragEnd&&this.options.onDragEnd()}startResizing(e,t){this.isResizing=!0,this.resizeStartX=e,this.resizeStartY=t;let s=this.element.getBoundingClientRect();this.resizeStartWidth=s.width,this.resizeStartHeight=s.height,this.resizeStartLeft=s.left,this.resizeStartTop=s.top,this.element.classList.add(`${this.options.classPrefix}-resizing`),document.body.style.userSelect="none",this.options.onResizeStart&&this.options.onResizeStart()}resize(e,t){if(!this.isResizing)return;let s=e-this.resizeStartX,o=t-this.resizeStartY,n=this.resizeStartWidth,r=this.resizeStartHeight,c=this.resizeStartLeft,a=this.resizeStartTop;if(this.resizeDirection.includes("e")&&(n=Math.max(this.options.minWidth,this.resizeStartWidth+s)),this.resizeDirection.includes("w")){let d=Math.max(this.options.minWidth,this.resizeStartWidth-s);c=this.resizeStartLeft+(this.resizeStartWidth-d),n=d}let u=typeof this.options.maxWidth=="function"?this.options.maxWidth():this.options.maxWidth;if(Number.isFinite(u)){let d=Math.min(n,u);d!==n&&this.resizeDirection.includes("w")&&(c+=n-d),n=d}if(!this.options.maintainAspectRatio){if(this.resizeDirection.includes("s")&&(r=Math.max(this.options.minHeight,this.resizeStartHeight+o)),this.resizeDirection.includes("n")){let l=Math.max(this.options.minHeight,this.resizeStartHeight-o);a=this.resizeStartTop+(this.resizeStartHeight-l),r=l}let d=typeof this.options.maxHeight=="function"?this.options.maxHeight():this.options.maxHeight;if(Number.isFinite(d)){let l=Math.min(r,d);l!==r&&this.resizeDirection.includes("n")&&(a+=r-l),r=l}}this.element.style.width=`${n}px`,this.options.maintainAspectRatio?this.element.style.height="auto":this.element.style.height=`${r}px`,this.resizeDirection.includes("w")&&(this.element.style.left=`${c}px`),this.resizeDirection.includes("n")&&!this.options.maintainAspectRatio&&(this.element.style.top=`${a}px`),this.options.onResize&&this.options.onResize({width:n,height:r,left:c,top:a})}stopResizing(){this.isResizing=!1,this.resizeDirection=null,this.element.classList.remove(`${this.options.classPrefix}-resizing`),document.body.style.userSelect="",this.manuallyPositioned=!0,this.options.onResizeEnd&&this.options.onResizeEnd()}toggleKeyboardDragMode(){this.keyboardDragMode?this.disableKeyboardDragMode():this.enableKeyboardDragMode()}enableKeyboardDragMode(){this.keyboardDragMode=!0,this.keyboardResizeMode=!1,this.element.classList.add(`${this.options.classPrefix}-keyboard-drag`),this.element.classList.remove(`${this.options.classPrefix}-keyboard-resize`),this.focusElement()}disableKeyboardDragMode(){this.keyboardDragMode=!1,this.element.classList.remove(`${this.options.classPrefix}-keyboard-drag`)}toggleKeyboardResizeMode(){this.keyboardResizeMode?this.disableKeyboardResizeMode():this.enableKeyboardResizeMode()}enableKeyboardResizeMode(){this.keyboardResizeMode=!0,this.keyboardDragMode=!1,this.element.classList.add(`${this.options.classPrefix}-keyboard-resize`),this.element.classList.remove(`${this.options.classPrefix}-keyboard-drag`),this.focusElement()}disableKeyboardResizeMode(){this.keyboardResizeMode=!1,this.element.classList.remove(`${this.options.classPrefix}-keyboard-resize`)}enablePointerResizeMode({focus:e=!0}={}){if(!this.hasManagedResizeHandles()){this.enableKeyboardResizeMode();return}this.pointerResizeMode||(this.pointerResizeMode=!0,this.setManagedHandlesVisible(!0),this.element.classList.add(`${this.options.classPrefix}-resizable`),this.enableKeyboardResizeMode(),e&&this.focusElement(),typeof this.options.onPointerResizeToggle=="function"&&this.options.onPointerResizeToggle(!0))}disablePointerResizeMode({focus:e=!1}={}){this.pointerResizeMode&&(this.pointerResizeMode=!1,this.setManagedHandlesVisible(!1),this.element.classList.remove(`${this.options.classPrefix}-resizable`),this.disableKeyboardResizeMode(),e&&this.focusElement(),typeof this.options.onPointerResizeToggle=="function"&&this.options.onPointerResizeToggle(!1))}togglePointerResizeMode(){return this.pointerResizeMode?this.disablePointerResizeMode():this.enablePointerResizeMode(),this.pointerResizeMode}focusElement(){if(typeof this.element.focus=="function")try{this.element.focus({preventScroll:!0})}catch{this.element.focus()}}keyboardDrag(e,t){let s=t?this.options.keyboardStepLarge:this.options.keyboardStep,o=parseFloat(this.element.style.left)||0,n=parseFloat(this.element.style.top)||0;if(window.getComputedStyle(this.element).transform!=="none"){let u=this.element.getBoundingClientRect();o=u.left,n=u.top,this.element.style.transform="none",this.element.style.left=`${o}px`,this.element.style.top=`${n}px`}let c=o,a=n;switch(e){case"ArrowLeft":c-=s;break;case"ArrowRight":c+=s;break;case"ArrowUp":a-=s;break;case"ArrowDown":a+=s;break}this.element.style.left=`${c}px`,this.element.style.top=`${a}px`,this.options.onDrag&&this.options.onDrag({x:c,y:a})}keyboardResize(e,t){let s=t?this.options.keyboardStepLarge:this.options.keyboardStep,o=this.element.getBoundingClientRect(),n=o.width,r=o.height;switch(e){case"ArrowLeft":n-=s;break;case"ArrowRight":n+=s;break;case"ArrowUp":this.options.maintainAspectRatio?n+=s:r-=s;break;case"ArrowDown":this.options.maintainAspectRatio?n-=s:r+=s;break}n=Math.max(this.options.minWidth,n),r=Math.max(this.options.minHeight,r),this.element.style.width=`${n}px`,this.options.maintainAspectRatio?this.element.style.height="auto":this.element.style.height=`${r}px`,this.options.onResize&&this.options.onResize({width:n,height:r})}resetPosition(){this.element.style.left="50%",this.element.style.top="50%",this.element.style.transform="translate(-50%, -50%)",this.element.style.right="",this.element.style.bottom="",this.manuallyPositioned=!1,this.options.onDrag&&this.options.onDrag({centered:!0})}destroy(){let e=this.options.dragHandle||this.element;this.disablePointerResizeMode(),e.removeEventListener("mousedown",this.handlers.mousedown),e.removeEventListener("touchstart",this.handlers.touchstart),document.removeEventListener("mousemove",this.handlers.mousemove),document.removeEventListener("mouseup",this.handlers.mouseup),document.removeEventListener("touchmove",this.handlers.touchmove),document.removeEventListener("touchend",this.handlers.touchend),this.element.removeEventListener("keydown",this.handlers.keydown),this.options.resizeHandles&&this.options.resizeHandles.length>0&&this.options.resizeHandles.forEach(t=>{t.removeEventListener("mousedown",this.handlers.resizeHandleMousedown),t.removeEventListener("touchstart",this.handlers.resizeHandleMousedown)}),this.element.classList.remove(`${this.options.classPrefix}-dragging`,`${this.options.classPrefix}-resizing`,`${this.options.classPrefix}-keyboard-drag`,`${this.options.classPrefix}-keyboard-resize`)}};function Z({classPrefix:i,itemClass:e,icon:t,label:s,ariaLabel:o,onClick:n,hasTextClass:r=!1}){let c=typeof s=="string"&&(s.startsWith("transcript.")||s.startsWith("player.")||s.startsWith("settings.")),a=o||c&&p.t(s)||s,u=m.createElement("button",{className:e,attributes:{type:"button","aria-label":a,tabindex:"-1"}});t&&u.appendChild(L(t));let l=typeof s=="string"&&(s.startsWith("transcript.")||s.startsWith("player.")||s.startsWith("settings."))&&p.t(s)||s,h=m.createElement("span",{textContent:l,className:r?`${i}-settings-text`:void 0,attributes:{"aria-hidden":"true"}});return u.appendChild(h),n&&u.addEventListener("click",n),u}function G(i,e,t,s){if(!i)return;let o=Array.from(i.querySelectorAll(t));if(o.length===0)return;let n=r=>{let c=o.indexOf(document.activeElement);switch(r.key){case"ArrowDown":r.preventDefault(),r.stopPropagation();let a=(c+1)%o.length;o.forEach((l,h)=>{l.setAttribute("tabindex",h===a?"0":"-1")}),o[a].focus({preventScroll:!1}),o[a].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"ArrowUp":r.preventDefault(),r.stopPropagation();let u=(c-1+o.length)%o.length;o.forEach((l,h)=>{l.setAttribute("tabindex",h===u?"0":"-1")}),o[u].focus({preventScroll:!1}),o[u].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"Home":r.preventDefault(),r.stopPropagation(),o.forEach((l,h)=>{l.setAttribute("tabindex",h===0?"0":"-1")}),o[0].focus({preventScroll:!1}),o[0].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"End":r.preventDefault(),r.stopPropagation();let d=o.length-1;o.forEach((l,h)=>{l.setAttribute("tabindex",h===d?"0":"-1")}),o[d].focus({preventScroll:!1}),o[d].scrollIntoView({behavior:"smooth",block:"nearest"});break;case"Enter":case" ":r.preventDefault(),r.stopPropagation(),document.activeElement&&o.includes(document.activeElement)&&(document.activeElement.click(),s&&setTimeout(()=>{e&&document.contains(e)&&e.focus()},0));break;case"Escape":r.preventDefault(),r.stopPropagation(),s&&s();break}};return i.addEventListener("keydown",n,!0),n}function ee(i,e,t=0){i&&setTimeout(()=>{let s=Array.from(i.querySelectorAll(e));s.length>0&&(s.forEach((o,n)=>{o.setAttribute("tabindex",n===0?"0":"-1")}),b(s[0],{delay:0}),s[0].scrollIntoView({behavior:"smooth",block:"nearest"}))},t)}function oe({classPrefix:i,labelClass:e,selectClass:t,labelText:s,selectId:o,hidden:n=!1,onChange:r=null,options:c=[]}){let u=typeof s=="string"&&(s.startsWith("transcript.")||s.startsWith("player.")||s.startsWith("settings.")||s.startsWith("captions."))&&p.t(s)||s,d=m.createElement("label",{className:e,textContent:u,attributes:{for:o,style:n?"display: none;":void 0}}),l=m.createElement("select",{className:t,attributes:{id:o,style:n?"display: none;":void 0}});return c.forEach(h=>{let f=m.createElement("option",{textContent:h.text,attributes:{value:h.value,selected:h.selected?"selected":void 0}});l.appendChild(f)}),r&&l.addEventListener("change",r),{label:d,select:l}}function ne(i){i&&["mousedown","click"].forEach(e=>{i.addEventListener(e,t=>{t.stopPropagation()})})}export{m as a,p as b,F as c,L as d,W as e,b as f,X as g,x as h,R as i,Z as j,G as k,ee as l,oe as m,ne as n};
@@ -1,6 +0,0 @@
1
- /*!
2
- * Universal, Accessible Video Player
3
- * (c) 2025 Matthias Peltzer
4
- * Released under GPL-2.0-or-later License
5
- */
6
- var e={player:{label:"Videoplayer",play:"Abspielen",pause:"Pause",stop:"Stopp",restart:"Von vorne beginnen",rewind:"Zurückspulen",forward:"Vorspulen",rewindSeconds:"{seconds} Sekunden zurückspulen",forwardSeconds:"{seconds} Sekunden vorspulen",previous:"Vorheriger Titel",next:"Nächster Titel",playlist:"Wiedergabeliste umschalten",volume:"Lautstärke",mute:"Stumm",unmute:"Ton ein",fullscreen:"Vollbild",exitFullscreen:"Vollbild beenden",captions:"Untertitel",chapters:"Kapitel",quality:"Qualität",captionStyling:"Untertitel-Stil",transcript:"Transkript umschalten",audioDescription:"Audiodeskription",signLanguage:"Gebärdensprache-Video",settings:"Einstellungen",speed:"Wiedergabegeschwindigkeit",pip:"Bild-in-Bild",currentTime:"Aktuelle Zeit",duration:"Dauer",progress:"Fortschritt",seekForward:"{seconds} Sekunden vorspulen",seekBackward:"{seconds} Sekunden zurückspulen",volumeUp:"Lauter",volumeDown:"Leiser",loading:"Lädt...",loadingChapters:"Kapitel werden geladen...",error:"Fehler beim Laden",buffering:"Puffern...",signLanguageVideo:"Gebärdensprache-Video",closeSignLanguage:"Gebärdensprache-Video schließen",signLanguageSettings:"Gebärdensprache-Einstellungen",noChapters:"Keine Kapitel verfügbar",noCaptions:"Keine Untertitel verfügbar",auto:"Automatisch",autoQuality:"Automatisch (keine Qualitätsauswahl verfügbar)",noQuality:"Qualitätsauswahl nicht verfügbar",signLanguageDragResize:"Gebärdensprache-Video - Drücken Sie D zum Verschieben per Tastatur, R zum Ändern der Größe",signLanguageDragActive:"Gebärdensprache-Video - Verschiebemodus aktiv. Pfeiltasten zum Bewegen, Escape zum Beenden.",signLanguageResizeActive:"Gebärdensprache-Video - Größenänderungsmodus aktiv. Links-/Rechts-Pfeiltasten zum Ändern der Größe, Escape zum Beenden.",enableSignDragMode:"Verschiebemodus aktivieren. Tastenkombination: D-Taste",disableSignDragMode:"Verschiebemodus deaktivieren. Tastenkombination: D-Taste",enableSignDragModeAria:"Tastatur-Verschiebemodus mit Pfeiltasten aktivieren. Tastenkombination: D-Taste",disableSignDragModeAria:"Tastatur-Verschiebemodus mit Pfeiltasten deaktivieren. Tastenkombination: D-Taste",enableSignResizeMode:"Größenänderungsmodus aktivieren. Tastenkombination: R-Taste",disableSignResizeMode:"Größenänderungsmodus deaktivieren. Tastenkombination: R-Taste",enableSignResizeModeAria:"Tastatur-Größenänderungsmodus mit Pfeiltasten aktivieren. Tastenkombination: R-Taste",disableSignResizeModeAria:"Tastatur-Größenänderungsmodus mit Pfeiltasten deaktivieren. Tastenkombination: R-Taste",resizeHandle:"Größenänderung {direction}-Ecke",moreOptions:"Weitere Optionen",noMoreOptions:"Keine weiteren Optionen verfügbar"},captions:{off:"Aus",select:"Untertitel auswählen",fontSize:"Schriftgröße",fontFamily:"Schriftart",color:"Textfarbe",backgroundColor:"Hintergrundfarbe",opacity:"Deckkraft"},fontSizes:{small:"Klein",normal:"Normal",large:"Groß",xlarge:"Sehr groß"},fontFamilies:{sansSerif:"Sans-serif",serif:"Serif",monospace:"Monospace"},styleLabels:{textColor:"Textfarbe",background:"Hintergrund",font:"Schrift",fontSize:"Schriftgröße",opacity:"Deckkraft"},audioDescription:{enable:"Audiodeskription aktivieren",disable:"Audiodeskription deaktivieren"},signLanguage:{show:"Gebärdensprache-Video anzeigen",hide:"Gebärdensprache-Video ausblenden"},transcript:{title:"Transkript",close:"Transkript schließen",loading:"Transkript wird geladen...",noTranscript:"Kein Transkript für dieses Video verfügbar.",settings:"Transkript-Einstellungen. Eingabetaste zum Öffnen des Menüs drücken oder D zum Aktivieren des Verschiebemodus",keyboardDragMode:"Tastatur-Verschiebemodus mit Pfeiltasten umschalten. Tastenkombination: D-Taste",keyboardDragActive:"⌨️ Tastatur-Verschiebemodus aktiv (Pfeiltasten zum Bewegen, Umschalt+Pfeiltasten für große Schritte, D oder ESC zum Beenden)",dragResizePrompt:"Drücken Sie D zum Verschieben oder R zur Größenänderung. Home setzt die Position zurück, Esc schließt.",dragModeEnabled:"Tastatur-Verschiebemodus aktiviert. Pfeiltasten zum Bewegen, Umschalt+Pfeiltasten für größere Schritte. D oder Esc zum Beenden.",dragModeDisabled:"Tastatur-Verschiebemodus deaktiviert.",enableDragMode:"Verschiebemodus aktivieren. Tastenkombination: D-Taste",disableDragMode:"Verschiebemodus deaktivieren. Tastenkombination: D-Taste",enableDragModeAria:"Tastatur-Verschiebemodus mit Pfeiltasten aktivieren. Tastenkombination: D-Taste",disableDragModeAria:"Tastatur-Verschiebemodus mit Pfeiltasten deaktivieren. Tastenkombination: D-Taste",resizeWindow:"Fenster vergrößern/verkleinern",disableResizeWindow:"Resize-Modus deaktivieren",enableResizeMode:"Größenänderungsmodus aktivieren. Tastenkombination: R-Taste",disableResizeMode:"Größenänderungsmodus deaktivieren. Tastenkombination: R-Taste",enableResizeModeAria:"Tastatur-Größenänderungsmodus mit Pfeiltasten aktivieren. Tastenkombination: R-Taste",disableResizeModeAria:"Tastatur-Größenänderungsmodus mit Pfeiltasten deaktivieren. Tastenkombination: R-Taste",resizeModeHint:"Griffe aktiviert. Ziehen Sie Kanten oder Ecken zum Anpassen. Esc oder R zum Beenden.",resizeModeEnabled:"Resize-Modus aktiviert. Kanten oder Ecken ziehen; Esc oder R beendet.",resizeModeDisabled:"Resize-Modus deaktiviert.",positionReset:"Transkriptposition zurückgesetzt.",styleTranscript:"Transkript-Stileinstellungen öffnen",closeMenu:"Menü schließen",styleTitle:"Transkript-Stil",autoscroll:"Auto-Scroll",settingsMenu:"Transkript-Dialog-Einstellungen",showTimestamps:"Zeitstempel anzeigen",hideTimestamps:"Zeitstempel ausblenden",showTimestampsAria:"Zeitstempel im Transkript anzeigen",hideTimestampsAria:"Zeitstempel im Transkript ausblenden"},settings:{title:"Einstellungen",quality:"Qualität",speed:"Geschwindigkeit",captions:"Untertitel",language:"Sprache",reset:"Zurücksetzen",close:"Schließen"},speeds:{normal:"Normal"},time:{display:"Zeitanzeige",durationPrefix:"Dauer: ",of:"von",hour:"{count} Stunde",hours:"{count} Stunden",minute:"{count} Minute",minutes:"{count} Minuten",second:"{count} Sekunde",seconds:"{count} Sekunden"},playlist:{title:"Wiedergabeliste",trackOf:"Titel {current} von {total}",nowPlaying:"Läuft gerade: Titel {current} von {total}. {title}{artist}",by:" von ",untitled:"Ohne Titel",trackUntitled:"Titel {number}",currentlyPlaying:"Wird gerade abgespielt",notPlaying:"Nicht aktiv",pressEnterPlay:"Eingabetaste zum Abspielen",pressEnterRestart:"Eingabetaste zum Neustart",keyboardInstructions:"Wiedergabelisten-Navigation: Verwenden Sie die Pfeiltasten nach oben und unten, um zwischen Titeln zu wechseln. Drücken Sie Bild auf oder Bild ab, um 5 Titel zu überspringen. Drücken Sie Pos1, um zum ersten Titel zu springen, Ende für den letzten Titel. Drücken Sie die Eingabetaste oder Leertaste, um den ausgewählten Titel abzuspielen."}};export{e as de};
@@ -1,6 +0,0 @@
1
- /*!
2
- * Universal, Accessible Video Player
3
- * (c) 2025 Matthias Peltzer
4
- * Released under GPL-2.0-or-later License
5
- */
6
- var e={player:{label:"Videoplayer",play:"Abspielen",pause:"Pause",stop:"Stopp",restart:"Von vorne beginnen",rewind:"Zurückspulen",forward:"Vorspulen",rewindSeconds:"{seconds} Sekunden zurückspulen",forwardSeconds:"{seconds} Sekunden vorspulen",previous:"Vorheriger Titel",next:"Nächster Titel",playlist:"Wiedergabeliste umschalten",volume:"Lautstärke",mute:"Stumm",unmute:"Ton ein",fullscreen:"Vollbild",exitFullscreen:"Vollbild beenden",captions:"Untertitel",chapters:"Kapitel",quality:"Qualität",captionStyling:"Untertitel-Stil",transcript:"Transkript umschalten",audioDescription:"Audiodeskription",signLanguage:"Gebärdensprache-Video",settings:"Einstellungen",speed:"Wiedergabegeschwindigkeit",pip:"Bild-in-Bild",currentTime:"Aktuelle Zeit",duration:"Dauer",progress:"Fortschritt",seekForward:"{seconds} Sekunden vorspulen",seekBackward:"{seconds} Sekunden zurückspulen",volumeUp:"Lauter",volumeDown:"Leiser",loading:"Lädt...",loadingChapters:"Kapitel werden geladen...",error:"Fehler beim Laden",buffering:"Puffern...",signLanguageVideo:"Gebärdensprache-Video",closeSignLanguage:"Gebärdensprache-Video schließen",signLanguageSettings:"Gebärdensprache-Einstellungen",noChapters:"Keine Kapitel verfügbar",noCaptions:"Keine Untertitel verfügbar",auto:"Automatisch",autoQuality:"Automatisch (keine Qualitätsauswahl verfügbar)",noQuality:"Qualitätsauswahl nicht verfügbar",signLanguageDragResize:"Gebärdensprache-Video - Drücken Sie D zum Verschieben per Tastatur, R zum Ändern der Größe",signLanguageDragActive:"Gebärdensprache-Video - Verschiebemodus aktiv. Pfeiltasten zum Bewegen, Escape zum Beenden.",signLanguageResizeActive:"Gebärdensprache-Video - Größenänderungsmodus aktiv. Links-/Rechts-Pfeiltasten zum Ändern der Größe, Escape zum Beenden.",enableSignDragMode:"Verschiebemodus aktivieren. Tastenkombination: D-Taste",disableSignDragMode:"Verschiebemodus deaktivieren. Tastenkombination: D-Taste",enableSignDragModeAria:"Tastatur-Verschiebemodus mit Pfeiltasten aktivieren. Tastenkombination: D-Taste",disableSignDragModeAria:"Tastatur-Verschiebemodus mit Pfeiltasten deaktivieren. Tastenkombination: D-Taste",enableSignResizeMode:"Größenänderungsmodus aktivieren. Tastenkombination: R-Taste",disableSignResizeMode:"Größenänderungsmodus deaktivieren. Tastenkombination: R-Taste",enableSignResizeModeAria:"Tastatur-Größenänderungsmodus mit Pfeiltasten aktivieren. Tastenkombination: R-Taste",disableSignResizeModeAria:"Tastatur-Größenänderungsmodus mit Pfeiltasten deaktivieren. Tastenkombination: R-Taste",resizeHandle:"Größenänderung {direction}-Ecke",moreOptions:"Weitere Optionen",noMoreOptions:"Keine weiteren Optionen verfügbar"},captions:{off:"Aus",select:"Untertitel auswählen",fontSize:"Schriftgröße",fontFamily:"Schriftart",color:"Textfarbe",backgroundColor:"Hintergrundfarbe",opacity:"Deckkraft"},fontSizes:{small:"Klein",normal:"Normal",large:"Groß",xlarge:"Sehr groß"},fontFamilies:{sansSerif:"Sans-serif",serif:"Serif",monospace:"Monospace"},styleLabels:{textColor:"Textfarbe",background:"Hintergrund",font:"Schrift",fontSize:"Schriftgröße",opacity:"Deckkraft"},audioDescription:{enable:"Audiodeskription aktivieren",disable:"Audiodeskription deaktivieren"},signLanguage:{show:"Gebärdensprache-Video anzeigen",hide:"Gebärdensprache-Video ausblenden"},transcript:{title:"Transkript",close:"Transkript schließen",loading:"Transkript wird geladen...",noTranscript:"Kein Transkript für dieses Video verfügbar.",settings:"Transkript-Einstellungen. Eingabetaste zum Öffnen des Menüs drücken oder D zum Aktivieren des Verschiebemodus",keyboardDragMode:"Tastatur-Verschiebemodus mit Pfeiltasten umschalten. Tastenkombination: D-Taste",keyboardDragActive:"⌨️ Tastatur-Verschiebemodus aktiv (Pfeiltasten zum Bewegen, Umschalt+Pfeiltasten für große Schritte, D oder ESC zum Beenden)",dragResizePrompt:"Drücken Sie D zum Verschieben oder R zur Größenänderung. Home setzt die Position zurück, Esc schließt.",dragModeEnabled:"Tastatur-Verschiebemodus aktiviert. Pfeiltasten zum Bewegen, Umschalt+Pfeiltasten für größere Schritte. D oder Esc zum Beenden.",dragModeDisabled:"Tastatur-Verschiebemodus deaktiviert.",enableDragMode:"Verschiebemodus aktivieren. Tastenkombination: D-Taste",disableDragMode:"Verschiebemodus deaktivieren. Tastenkombination: D-Taste",enableDragModeAria:"Tastatur-Verschiebemodus mit Pfeiltasten aktivieren. Tastenkombination: D-Taste",disableDragModeAria:"Tastatur-Verschiebemodus mit Pfeiltasten deaktivieren. Tastenkombination: D-Taste",resizeWindow:"Fenster vergrößern/verkleinern",disableResizeWindow:"Resize-Modus deaktivieren",enableResizeMode:"Größenänderungsmodus aktivieren. Tastenkombination: R-Taste",disableResizeMode:"Größenänderungsmodus deaktivieren. Tastenkombination: R-Taste",enableResizeModeAria:"Tastatur-Größenänderungsmodus mit Pfeiltasten aktivieren. Tastenkombination: R-Taste",disableResizeModeAria:"Tastatur-Größenänderungsmodus mit Pfeiltasten deaktivieren. Tastenkombination: R-Taste",resizeModeHint:"Griffe aktiviert. Ziehen Sie Kanten oder Ecken zum Anpassen. Esc oder R zum Beenden.",resizeModeEnabled:"Resize-Modus aktiviert. Kanten oder Ecken ziehen; Esc oder R beendet.",resizeModeDisabled:"Resize-Modus deaktiviert.",positionReset:"Transkriptposition zurückgesetzt.",styleTranscript:"Transkript-Stileinstellungen öffnen",closeMenu:"Menü schließen",styleTitle:"Transkript-Stil",autoscroll:"Auto-Scroll",settingsMenu:"Transkript-Dialog-Einstellungen",showTimestamps:"Zeitstempel anzeigen",hideTimestamps:"Zeitstempel ausblenden",showTimestampsAria:"Zeitstempel im Transkript anzeigen",hideTimestampsAria:"Zeitstempel im Transkript ausblenden"},settings:{title:"Einstellungen",quality:"Qualität",speed:"Geschwindigkeit",captions:"Untertitel",language:"Sprache",reset:"Zurücksetzen",close:"Schließen"},speeds:{normal:"Normal"},time:{display:"Zeitanzeige",durationPrefix:"Dauer: ",of:"von",hour:"{count} Stunde",hours:"{count} Stunden",minute:"{count} Minute",minutes:"{count} Minuten",second:"{count} Sekunde",seconds:"{count} Sekunden"},playlist:{title:"Wiedergabeliste",trackOf:"Titel {current} von {total}",nowPlaying:"Läuft gerade: Titel {current} von {total}. {title}{artist}",by:" von ",untitled:"Ohne Titel",trackUntitled:"Titel {number}",currentlyPlaying:"Wird gerade abgespielt",notPlaying:"Nicht aktiv",pressEnterPlay:"Eingabetaste zum Abspielen",pressEnterRestart:"Eingabetaste zum Neustart"}};export{e as de};
@@ -1,6 +0,0 @@
1
- /*!
2
- * Universal, Accessible Video Player
3
- * (c) 2025 Matthias Peltzer
4
- * Released under GPL-2.0-or-later License
5
- */
6
- var a={player:{label:"Reproductor de video",play:"Reproducir",pause:"Pausa",stop:"Detener",restart:"Reiniciar desde el principio",rewind:"Retroceder",forward:"Avanzar",rewindSeconds:"Retroceder {seconds} segundos",forwardSeconds:"Avanzar {seconds} segundos",previous:"Pista anterior",next:"Siguiente pista",playlist:"Alternar lista de reproducción",volume:"Volumen",mute:"Silenciar",unmute:"Activar sonido",fullscreen:"Pantalla completa",exitFullscreen:"Salir de pantalla completa",captions:"Subtítulos",chapters:"Capítulos",quality:"Calidad",captionStyling:"Estilo de subtítulos",transcript:"Alternar transcripción",audioDescription:"Audiodescripción",signLanguage:"Video en lengua de señas",settings:"Configuración",speed:"Velocidad de reproducción",pip:"Imagen en imagen",currentTime:"Tiempo actual",duration:"Duración",progress:"Progreso",seekForward:"Avanzar {seconds} segundos",seekBackward:"Retroceder {seconds} segundos",volumeUp:"Subir volumen",volumeDown:"Bajar volumen",loading:"Cargando...",loadingChapters:"Cargando capítulos...",error:"Error al cargar",buffering:"Almacenando en búfer...",signLanguageVideo:"Video en Lengua de Señas",closeSignLanguage:"Cerrar video en lengua de señas",signLanguageSettings:"Configuración de lengua de señas",noChapters:"No hay capítulos disponibles",noCaptions:"No hay subtítulos disponibles",auto:"Automático",autoQuality:"Automático (selección de calidad no disponible)",noQuality:"Selección de calidad no disponible",signLanguageDragResize:"Video en Lengua de Señas - Presione D para arrastrar con el teclado, R para cambiar el tamaño",signLanguageDragActive:"Video en Lengua de Señas - Modo de arrastre activo. Use las teclas de flecha para mover, Escape para salir.",signLanguageResizeActive:"Video en Lengua de Señas - Modo de cambio de tamaño activo. Use las teclas de flecha izquierda/derecha para cambiar el tamaño, Escape para salir.",enableSignDragMode:"Activar modo de arrastre. Atajo: tecla D",disableSignDragMode:"Desactivar modo de arrastre. Atajo: tecla D",enableSignDragModeAria:"Activar modo de arrastre con teclado usando teclas de flecha. Atajo: tecla D",disableSignDragModeAria:"Desactivar modo de arrastre con teclado usando teclas de flecha. Atajo: tecla D",enableSignResizeMode:"Activar modo de cambio de tamaño. Atajo: tecla R",disableSignResizeMode:"Desactivar modo de cambio de tamaño. Atajo: tecla R",enableSignResizeModeAria:"Activar modo de cambio de tamaño con teclado usando teclas de flecha. Atajo: tecla R",disableSignResizeModeAria:"Desactivar modo de cambio de tamaño con teclado usando teclas de flecha. Atajo: tecla R",resizeHandle:"Cambiar tamaño esquina {direction}",moreOptions:"Más opciones",noMoreOptions:"No hay opciones adicionales disponibles"},captions:{off:"Desactivado",select:"Seleccionar subtítulos",fontSize:"Tamaño de fuente",fontFamily:"Familia de fuente",color:"Color de texto",backgroundColor:"Color de fondo",opacity:"Opacidad"},fontSizes:{small:"Pequeño",normal:"Normal",large:"Grande",xlarge:"Muy grande"},fontFamilies:{sansSerif:"Sans-serif",serif:"Serif",monospace:"Monospace"},styleLabels:{textColor:"Color de texto",background:"Fondo",font:"Fuente",fontSize:"Tamaño de fuente",opacity:"Opacidad"},audioDescription:{enable:"Activar audiodescripción",disable:"Desactivar audiodescripción"},signLanguage:{show:"Mostrar video en lengua de señas",hide:"Ocultar video en lengua de señas"},transcript:{title:"Transcripción",close:"Cerrar transcripción",loading:"Cargando transcripción...",noTranscript:"No hay transcripción disponible para este video.",settings:"Configuración de transcripción. Presione Enter para abrir el menú o D para activar el modo de arrastre",keyboardDragMode:"Alternar modo de arrastre con teclado usando teclas de flecha. Atajo: tecla D",keyboardDragActive:"⌨️ Modo de Arrastre con Teclado Activo (Teclas de flecha para mover, Mayús+Flechas para pasos grandes, D o ESC para salir)",dragResizePrompt:"Pulsa D para mover o R para cambiar el tamaño. Home restablece la posición; Esc cierra.",dragModeEnabled:"Modo de arrastre con teclado activado. Usa flechas para mover, Mayús+Flechas para pasos grandes. Pulsa D o Esc para salir.",dragModeDisabled:"Modo de arrastre con teclado desactivado.",enableDragMode:"Activar modo de arrastre. Atajo: tecla D",disableDragMode:"Desactivar modo de arrastre. Atajo: tecla D",enableDragModeAria:"Activar modo de arrastre con teclado usando teclas de flecha. Atajo: tecla D",disableDragModeAria:"Desactivar modo de arrastre con teclado usando teclas de flecha. Atajo: tecla D",resizeWindow:"Cambiar tamaño de ventana",disableResizeWindow:"Desactivar modo de cambio de tamaño",enableResizeMode:"Activar modo de cambio de tamaño. Atajo: tecla R",disableResizeMode:"Desactivar modo de cambio de tamaño. Atajo: tecla R",enableResizeModeAria:"Activar modo de cambio de tamaño con teclado usando teclas de flecha. Atajo: tecla R",disableResizeModeAria:"Desactivar modo de cambio de tamaño con teclado usando teclas de flecha. Atajo: tecla R",resizeModeHint:"Controladores habilitados. Arrastra bordes o esquinas para ajustar. Pulsa Esc o R para salir.",resizeModeEnabled:"Modo de cambio de tamaño activado. Arrastra bordes o esquinas. Pulsa Esc o R para salir.",resizeModeDisabled:"Modo de cambio de tamaño desactivado.",positionReset:"Posición de la transcripción restablecida.",styleTranscript:"Abrir configuración de estilo de transcripción",closeMenu:"Cerrar menú",styleTitle:"Estilo de Transcripción",autoscroll:"Desplazamiento automático",settingsMenu:"Configuración del diálogo de transcripción",showTimestamps:"Mostrar marcas de tiempo",hideTimestamps:"Ocultar marcas de tiempo",showTimestampsAria:"Mostrar marcas de tiempo en la transcripción",hideTimestampsAria:"Ocultar marcas de tiempo en la transcripción"},settings:{title:"Configuración",quality:"Calidad",speed:"Velocidad",captions:"Subtítulos",language:"Idioma",reset:"Restablecer",close:"Cerrar"},speeds:{normal:"Normal"},time:{display:"Visualización de tiempo",durationPrefix:"Duración: ",of:"de",hour:"{count} hora",hours:"{count} horas",minute:"{count} minuto",minutes:"{count} minutos",second:"{count} segundo",seconds:"{count} segundos"},playlist:{title:"Lista de reproducción",trackOf:"Pista {current} de {total}",nowPlaying:"Reproduciendo ahora: Pista {current} de {total}. {title}{artist}",by:" por ",untitled:"Sin título",trackUntitled:"Pista {number}",currentlyPlaying:"Reproduciendo actualmente",notPlaying:"Sin reproducir",pressEnterPlay:"Pulsa Enter para reproducir",pressEnterRestart:"Pulsa Enter para reiniciar"}};export{a as es};
@@ -1,6 +0,0 @@
1
- /*!
2
- * Universal, Accessible Video Player
3
- * (c) 2025 Matthias Peltzer
4
- * Released under GPL-2.0-or-later License
5
- */
6
- var a={player:{label:"Reproductor de video",play:"Reproducir",pause:"Pausa",stop:"Detener",restart:"Reiniciar desde el principio",rewind:"Retroceder",forward:"Avanzar",rewindSeconds:"Retroceder {seconds} segundos",forwardSeconds:"Avanzar {seconds} segundos",previous:"Pista anterior",next:"Siguiente pista",playlist:"Alternar lista de reproducción",volume:"Volumen",mute:"Silenciar",unmute:"Activar sonido",fullscreen:"Pantalla completa",exitFullscreen:"Salir de pantalla completa",captions:"Subtítulos",chapters:"Capítulos",quality:"Calidad",captionStyling:"Estilo de subtítulos",transcript:"Alternar transcripción",audioDescription:"Audiodescripción",signLanguage:"Video en lengua de señas",settings:"Configuración",speed:"Velocidad de reproducción",pip:"Imagen en imagen",currentTime:"Tiempo actual",duration:"Duración",progress:"Progreso",seekForward:"Avanzar {seconds} segundos",seekBackward:"Retroceder {seconds} segundos",volumeUp:"Subir volumen",volumeDown:"Bajar volumen",loading:"Cargando...",loadingChapters:"Cargando capítulos...",error:"Error al cargar",buffering:"Almacenando en búfer...",signLanguageVideo:"Video en Lengua de Señas",closeSignLanguage:"Cerrar video en lengua de señas",signLanguageSettings:"Configuración de lengua de señas",noChapters:"No hay capítulos disponibles",noCaptions:"No hay subtítulos disponibles",auto:"Automático",autoQuality:"Automático (selección de calidad no disponible)",noQuality:"Selección de calidad no disponible",signLanguageDragResize:"Video en Lengua de Señas - Presione D para arrastrar con el teclado, R para cambiar el tamaño",signLanguageDragActive:"Video en Lengua de Señas - Modo de arrastre activo. Use las teclas de flecha para mover, Escape para salir.",signLanguageResizeActive:"Video en Lengua de Señas - Modo de cambio de tamaño activo. Use las teclas de flecha izquierda/derecha para cambiar el tamaño, Escape para salir.",enableSignDragMode:"Activar modo de arrastre. Atajo: tecla D",disableSignDragMode:"Desactivar modo de arrastre. Atajo: tecla D",enableSignDragModeAria:"Activar modo de arrastre con teclado usando teclas de flecha. Atajo: tecla D",disableSignDragModeAria:"Desactivar modo de arrastre con teclado usando teclas de flecha. Atajo: tecla D",enableSignResizeMode:"Activar modo de cambio de tamaño. Atajo: tecla R",disableSignResizeMode:"Desactivar modo de cambio de tamaño. Atajo: tecla R",enableSignResizeModeAria:"Activar modo de cambio de tamaño con teclado usando teclas de flecha. Atajo: tecla R",disableSignResizeModeAria:"Desactivar modo de cambio de tamaño con teclado usando teclas de flecha. Atajo: tecla R",resizeHandle:"Cambiar tamaño esquina {direction}",moreOptions:"Más opciones",noMoreOptions:"No hay opciones adicionales disponibles"},captions:{off:"Desactivado",select:"Seleccionar subtítulos",fontSize:"Tamaño de fuente",fontFamily:"Familia de fuente",color:"Color de texto",backgroundColor:"Color de fondo",opacity:"Opacidad"},fontSizes:{small:"Pequeño",normal:"Normal",large:"Grande",xlarge:"Muy grande"},fontFamilies:{sansSerif:"Sans-serif",serif:"Serif",monospace:"Monospace"},styleLabels:{textColor:"Color de texto",background:"Fondo",font:"Fuente",fontSize:"Tamaño de fuente",opacity:"Opacidad"},audioDescription:{enable:"Activar audiodescripción",disable:"Desactivar audiodescripción"},signLanguage:{show:"Mostrar video en lengua de señas",hide:"Ocultar video en lengua de señas"},transcript:{title:"Transcripción",close:"Cerrar transcripción",loading:"Cargando transcripción...",noTranscript:"No hay transcripción disponible para este video.",settings:"Configuración de transcripción. Presione Enter para abrir el menú o D para activar el modo de arrastre",keyboardDragMode:"Alternar modo de arrastre con teclado usando teclas de flecha. Atajo: tecla D",keyboardDragActive:"⌨️ Modo de Arrastre con Teclado Activo (Teclas de flecha para mover, Mayús+Flechas para pasos grandes, D o ESC para salir)",dragResizePrompt:"Pulsa D para mover o R para cambiar el tamaño. Home restablece la posición; Esc cierra.",dragModeEnabled:"Modo de arrastre con teclado activado. Usa flechas para mover, Mayús+Flechas para pasos grandes. Pulsa D o Esc para salir.",dragModeDisabled:"Modo de arrastre con teclado desactivado.",enableDragMode:"Activar modo de arrastre. Atajo: tecla D",disableDragMode:"Desactivar modo de arrastre. Atajo: tecla D",enableDragModeAria:"Activar modo de arrastre con teclado usando teclas de flecha. Atajo: tecla D",disableDragModeAria:"Desactivar modo de arrastre con teclado usando teclas de flecha. Atajo: tecla D",resizeWindow:"Cambiar tamaño de ventana",disableResizeWindow:"Desactivar modo de cambio de tamaño",enableResizeMode:"Activar modo de cambio de tamaño. Atajo: tecla R",disableResizeMode:"Desactivar modo de cambio de tamaño. Atajo: tecla R",enableResizeModeAria:"Activar modo de cambio de tamaño con teclado usando teclas de flecha. Atajo: tecla R",disableResizeModeAria:"Desactivar modo de cambio de tamaño con teclado usando teclas de flecha. Atajo: tecla R",resizeModeHint:"Controladores habilitados. Arrastra bordes o esquinas para ajustar. Pulsa Esc o R para salir.",resizeModeEnabled:"Modo de cambio de tamaño activado. Arrastra bordes o esquinas. Pulsa Esc o R para salir.",resizeModeDisabled:"Modo de cambio de tamaño desactivado.",positionReset:"Posición de la transcripción restablecida.",styleTranscript:"Abrir configuración de estilo de transcripción",closeMenu:"Cerrar menú",styleTitle:"Estilo de Transcripción",autoscroll:"Desplazamiento automático",settingsMenu:"Configuración del diálogo de transcripción",showTimestamps:"Mostrar marcas de tiempo",hideTimestamps:"Ocultar marcas de tiempo",showTimestampsAria:"Mostrar marcas de tiempo en la transcripción",hideTimestampsAria:"Ocultar marcas de tiempo en la transcripción"},settings:{title:"Configuración",quality:"Calidad",speed:"Velocidad",captions:"Subtítulos",language:"Idioma",reset:"Restablecer",close:"Cerrar"},speeds:{normal:"Normal"},time:{display:"Visualización de tiempo",durationPrefix:"Duración: ",of:"de",hour:"{count} hora",hours:"{count} horas",minute:"{count} minuto",minutes:"{count} minutos",second:"{count} segundo",seconds:"{count} segundos"},playlist:{title:"Lista de reproducción",trackOf:"Pista {current} de {total}",nowPlaying:"Reproduciendo ahora: Pista {current} de {total}. {title}{artist}",by:" por ",untitled:"Sin título",trackUntitled:"Pista {number}",currentlyPlaying:"Reproduciendo actualmente",notPlaying:"Sin reproducir",pressEnterPlay:"Pulsa Enter para reproducir",pressEnterRestart:"Pulsa Enter para reiniciar",keyboardInstructions:"Navegación de lista de reproducción: Use las teclas de flecha arriba y abajo para moverse entre pistas. Pulse Retroceder página o Avanzar página para saltar 5 pistas. Pulse Inicio para ir a la primera pista, Fin para la última pista. Pulse Intro o Espacio para reproducir la pista seleccionada."}};export{a as es};
@@ -1,6 +0,0 @@
1
- /*!
2
- * Universal, Accessible Video Player
3
- * (c) 2025 Matthias Peltzer
4
- * Released under GPL-2.0-or-later License
5
- */
6
- var e={player:{label:"Lecteur vidéo",play:"Lecture",pause:"Pause",stop:"Arrêt",restart:"Redémarrer du début",rewind:"Reculer",forward:"Avancer",rewindSeconds:"Reculer de {seconds} secondes",forwardSeconds:"Avancer de {seconds} secondes",previous:"Piste précédente",next:"Piste suivante",playlist:"Basculer la liste de lecture",volume:"Volume",mute:"Muet",unmute:"Activer le son",fullscreen:"Plein écran",exitFullscreen:"Quitter le plein écran",captions:"Sous-titres",chapters:"Chapitres",quality:"Qualité",captionStyling:"Style des sous-titres",transcript:"Activer/désactiver la transcription",audioDescription:"Audiodescription",signLanguage:"Vidéo en langue des signes",settings:"Paramètres",speed:"Vitesse de lecture",pip:"Image dans l'image",currentTime:"Temps actuel",duration:"Durée",progress:"Progression",seekForward:"Avancer de {seconds} secondes",seekBackward:"Reculer de {seconds} secondes",volumeUp:"Augmenter le volume",volumeDown:"Diminuer le volume",loading:"Chargement...",loadingChapters:"Chargement des chapitres...",error:"Erreur de chargement",buffering:"Mise en mémoire tampon...",signLanguageVideo:"Vidéo en Langue des Signes",closeSignLanguage:"Fermer la vidéo en langue des signes",signLanguageSettings:"Paramètres de la langue des signes",noChapters:"Aucun chapitre disponible",noCaptions:"Aucun sous-titre disponible",auto:"Automatique",autoQuality:"Automatique (sélection de qualité non disponible)",noQuality:"Sélection de qualité non disponible",signLanguageDragResize:"Vidéo en Langue des Signes - Appuyez sur D pour déplacer avec le clavier, R pour redimensionner",signLanguageDragActive:"Vidéo en Langue des Signes - Mode glissement actif. Utilisez les touches fléchées pour déplacer, Échap pour quitter.",signLanguageResizeActive:"Vidéo en Langue des Signes - Mode redimensionnement actif. Utilisez les touches fléchées gauche/droite pour redimensionner, Échap pour quitter.",enableSignDragMode:"Activer le mode glissement. Raccourci : touche D",disableSignDragMode:"Désactiver le mode glissement. Raccourci : touche D",enableSignDragModeAria:"Activer le mode glissement clavier avec les touches fléchées. Raccourci : touche D",disableSignDragModeAria:"Désactiver le mode glissement clavier avec les touches fléchées. Raccourci : touche D",enableSignResizeMode:"Activer le mode redimensionnement. Raccourci : touche R",disableSignResizeMode:"Désactiver le mode redimensionnement. Raccourci : touche R",enableSignResizeModeAria:"Activer le mode redimensionnement clavier avec les touches fléchées. Raccourci : touche R",disableSignResizeModeAria:"Désactiver le mode redimensionnement clavier avec les touches fléchées. Raccourci : touche R",resizeHandle:"Redimensionner coin {direction}",moreOptions:"Plus d'options",noMoreOptions:"Aucune option supplémentaire disponible"},captions:{off:"Désactivé",select:"Sélectionner les sous-titres",fontSize:"Taille de police",fontFamily:"Police",color:"Couleur du texte",backgroundColor:"Couleur de fond",opacity:"Opacité"},fontSizes:{small:"Petit",normal:"Normal",large:"Grand",xlarge:"Très grand"},fontFamilies:{sansSerif:"Sans-serif",serif:"Serif",monospace:"Monospace"},styleLabels:{textColor:"Couleur du texte",background:"Arrière-plan",font:"Police",fontSize:"Taille de police",opacity:"Opacité"},audioDescription:{enable:"Activer l'audiodescription",disable:"Désactiver l'audiodescription"},signLanguage:{show:"Afficher la vidéo en langue des signes",hide:"Masquer la vidéo en langue des signes"},transcript:{title:"Transcription",close:"Fermer la transcription",loading:"Chargement de la transcription...",noTranscript:"Aucune transcription disponible pour cette vidéo.",settings:"Paramètres de transcription. Appuyez sur Entrée pour ouvrir le menu ou D pour activer le mode glissement",keyboardDragMode:"Basculer le mode glissement avec les touches fléchées. Raccourci: touche D",keyboardDragActive:"⌨️ Mode Glissement Clavier Actif (Touches fléchées pour déplacer, Maj+Fléchées pour grands pas, D ou Échap pour quitter)",dragResizePrompt:"Appuyez sur D pour déplacer ou R pour redimensionner. Home réinitialise la position, Échap ferme.",dragModeEnabled:"Mode glissement clavier activé. Utilisez les flèches pour déplacer, Maj+Flèches pour de grands pas. Appuyez sur D ou Échap pour quitter.",dragModeDisabled:"Mode glissement clavier désactivé.",enableDragMode:"Activer le mode glissement. Raccourci : touche D",disableDragMode:"Désactiver le mode glissement. Raccourci : touche D",enableDragModeAria:"Activer le mode glissement clavier avec les touches fléchées. Raccourci : touche D",disableDragModeAria:"Désactiver le mode glissement clavier avec les touches fléchées. Raccourci : touche D",resizeWindow:"Redimensionner la fenêtre",disableResizeWindow:"Désactiver le mode de redimensionnement",enableResizeMode:"Activer le mode redimensionnement. Raccourci : touche R",disableResizeMode:"Désactiver le mode redimensionnement. Raccourci : touche R",enableResizeModeAria:"Activer le mode redimensionnement clavier avec les touches fléchées. Raccourci : touche R",disableResizeModeAria:"Désactiver le mode redimensionnement clavier avec les touches fléchées. Raccourci : touche R",resizeModeHint:"Poignées activées. Faites glisser les bords ou les coins pour ajuster. Appuyez sur Échap ou R pour quitter.",resizeModeEnabled:"Mode redimensionnement activé. Faites glisser les bords ou coins. Appuyez sur Échap ou R pour quitter.",resizeModeDisabled:"Mode redimensionnement désactivé.",positionReset:"Position de la transcription réinitialisée.",styleTranscript:"Ouvrir les paramètres de style de transcription",closeMenu:"Fermer le menu",styleTitle:"Style de Transcription",autoscroll:"Défilement automatique",settingsMenu:"Paramètres de dialogue de transcription",showTimestamps:"Afficher les horodatages",hideTimestamps:"Masquer les horodatages",showTimestampsAria:"Afficher les horodatages dans la transcription",hideTimestampsAria:"Masquer les horodatages dans la transcription"},settings:{title:"Paramètres",quality:"Qualité",speed:"Vitesse",captions:"Sous-titres",language:"Langue",reset:"Réinitialiser",close:"Fermer"},speeds:{normal:"Normal"},time:{display:"Affichage du temps",durationPrefix:"Durée : ",of:"sur",hour:"{count} heure",hours:"{count} heures",minute:"{count} minute",minutes:"{count} minutes",second:"{count} seconde",seconds:"{count} secondes"},playlist:{title:"Liste de lecture",trackOf:"Piste {current} sur {total}",nowPlaying:"Lecture en cours : Piste {current} sur {total}. {title}{artist}",by:" par ",untitled:"Sans titre",trackUntitled:"Piste {number}",currentlyPlaying:"En cours de lecture",notPlaying:"Non en lecture",pressEnterPlay:"Appuyez sur Entrée pour lire",pressEnterRestart:"Appuyez sur Entrée pour recommencer"}};export{e as fr};
@@ -1,6 +0,0 @@
1
- /*!
2
- * Universal, Accessible Video Player
3
- * (c) 2025 Matthias Peltzer
4
- * Released under GPL-2.0-or-later License
5
- */
6
- var e={player:{label:"Lecteur vidéo",play:"Lecture",pause:"Pause",stop:"Arrêt",restart:"Redémarrer du début",rewind:"Reculer",forward:"Avancer",rewindSeconds:"Reculer de {seconds} secondes",forwardSeconds:"Avancer de {seconds} secondes",previous:"Piste précédente",next:"Piste suivante",playlist:"Basculer la liste de lecture",volume:"Volume",mute:"Muet",unmute:"Activer le son",fullscreen:"Plein écran",exitFullscreen:"Quitter le plein écran",captions:"Sous-titres",chapters:"Chapitres",quality:"Qualité",captionStyling:"Style des sous-titres",transcript:"Activer/désactiver la transcription",audioDescription:"Audiodescription",signLanguage:"Vidéo en langue des signes",settings:"Paramètres",speed:"Vitesse de lecture",pip:"Image dans l'image",currentTime:"Temps actuel",duration:"Durée",progress:"Progression",seekForward:"Avancer de {seconds} secondes",seekBackward:"Reculer de {seconds} secondes",volumeUp:"Augmenter le volume",volumeDown:"Diminuer le volume",loading:"Chargement...",loadingChapters:"Chargement des chapitres...",error:"Erreur de chargement",buffering:"Mise en mémoire tampon...",signLanguageVideo:"Vidéo en Langue des Signes",closeSignLanguage:"Fermer la vidéo en langue des signes",signLanguageSettings:"Paramètres de la langue des signes",noChapters:"Aucun chapitre disponible",noCaptions:"Aucun sous-titre disponible",auto:"Automatique",autoQuality:"Automatique (sélection de qualité non disponible)",noQuality:"Sélection de qualité non disponible",signLanguageDragResize:"Vidéo en Langue des Signes - Appuyez sur D pour déplacer avec le clavier, R pour redimensionner",signLanguageDragActive:"Vidéo en Langue des Signes - Mode glissement actif. Utilisez les touches fléchées pour déplacer, Échap pour quitter.",signLanguageResizeActive:"Vidéo en Langue des Signes - Mode redimensionnement actif. Utilisez les touches fléchées gauche/droite pour redimensionner, Échap pour quitter.",enableSignDragMode:"Activer le mode glissement. Raccourci : touche D",disableSignDragMode:"Désactiver le mode glissement. Raccourci : touche D",enableSignDragModeAria:"Activer le mode glissement clavier avec les touches fléchées. Raccourci : touche D",disableSignDragModeAria:"Désactiver le mode glissement clavier avec les touches fléchées. Raccourci : touche D",enableSignResizeMode:"Activer le mode redimensionnement. Raccourci : touche R",disableSignResizeMode:"Désactiver le mode redimensionnement. Raccourci : touche R",enableSignResizeModeAria:"Activer le mode redimensionnement clavier avec les touches fléchées. Raccourci : touche R",disableSignResizeModeAria:"Désactiver le mode redimensionnement clavier avec les touches fléchées. Raccourci : touche R",resizeHandle:"Redimensionner coin {direction}",moreOptions:"Plus d'options",noMoreOptions:"Aucune option supplémentaire disponible"},captions:{off:"Désactivé",select:"Sélectionner les sous-titres",fontSize:"Taille de police",fontFamily:"Police",color:"Couleur du texte",backgroundColor:"Couleur de fond",opacity:"Opacité"},fontSizes:{small:"Petit",normal:"Normal",large:"Grand",xlarge:"Très grand"},fontFamilies:{sansSerif:"Sans-serif",serif:"Serif",monospace:"Monospace"},styleLabels:{textColor:"Couleur du texte",background:"Arrière-plan",font:"Police",fontSize:"Taille de police",opacity:"Opacité"},audioDescription:{enable:"Activer l'audiodescription",disable:"Désactiver l'audiodescription"},signLanguage:{show:"Afficher la vidéo en langue des signes",hide:"Masquer la vidéo en langue des signes"},transcript:{title:"Transcription",close:"Fermer la transcription",loading:"Chargement de la transcription...",noTranscript:"Aucune transcription disponible pour cette vidéo.",settings:"Paramètres de transcription. Appuyez sur Entrée pour ouvrir le menu ou D pour activer le mode glissement",keyboardDragMode:"Basculer le mode glissement avec les touches fléchées. Raccourci: touche D",keyboardDragActive:"⌨️ Mode Glissement Clavier Actif (Touches fléchées pour déplacer, Maj+Fléchées pour grands pas, D ou Échap pour quitter)",dragResizePrompt:"Appuyez sur D pour déplacer ou R pour redimensionner. Home réinitialise la position, Échap ferme.",dragModeEnabled:"Mode glissement clavier activé. Utilisez les flèches pour déplacer, Maj+Flèches pour de grands pas. Appuyez sur D ou Échap pour quitter.",dragModeDisabled:"Mode glissement clavier désactivé.",enableDragMode:"Activer le mode glissement. Raccourci : touche D",disableDragMode:"Désactiver le mode glissement. Raccourci : touche D",enableDragModeAria:"Activer le mode glissement clavier avec les touches fléchées. Raccourci : touche D",disableDragModeAria:"Désactiver le mode glissement clavier avec les touches fléchées. Raccourci : touche D",resizeWindow:"Redimensionner la fenêtre",disableResizeWindow:"Désactiver le mode de redimensionnement",enableResizeMode:"Activer le mode redimensionnement. Raccourci : touche R",disableResizeMode:"Désactiver le mode redimensionnement. Raccourci : touche R",enableResizeModeAria:"Activer le mode redimensionnement clavier avec les touches fléchées. Raccourci : touche R",disableResizeModeAria:"Désactiver le mode redimensionnement clavier avec les touches fléchées. Raccourci : touche R",resizeModeHint:"Poignées activées. Faites glisser les bords ou les coins pour ajuster. Appuyez sur Échap ou R pour quitter.",resizeModeEnabled:"Mode redimensionnement activé. Faites glisser les bords ou coins. Appuyez sur Échap ou R pour quitter.",resizeModeDisabled:"Mode redimensionnement désactivé.",positionReset:"Position de la transcription réinitialisée.",styleTranscript:"Ouvrir les paramètres de style de transcription",closeMenu:"Fermer le menu",styleTitle:"Style de Transcription",autoscroll:"Défilement automatique",settingsMenu:"Paramètres de dialogue de transcription",showTimestamps:"Afficher les horodatages",hideTimestamps:"Masquer les horodatages",showTimestampsAria:"Afficher les horodatages dans la transcription",hideTimestampsAria:"Masquer les horodatages dans la transcription"},settings:{title:"Paramètres",quality:"Qualité",speed:"Vitesse",captions:"Sous-titres",language:"Langue",reset:"Réinitialiser",close:"Fermer"},speeds:{normal:"Normal"},time:{display:"Affichage du temps",durationPrefix:"Durée : ",of:"sur",hour:"{count} heure",hours:"{count} heures",minute:"{count} minute",minutes:"{count} minutes",second:"{count} seconde",seconds:"{count} secondes"},playlist:{title:"Liste de lecture",trackOf:"Piste {current} sur {total}",nowPlaying:"Lecture en cours : Piste {current} sur {total}. {title}{artist}",by:" par ",untitled:"Sans titre",trackUntitled:"Piste {number}",currentlyPlaying:"En cours de lecture",notPlaying:"Non en lecture",pressEnterPlay:"Appuyez sur Entrée pour lire",pressEnterRestart:"Appuyez sur Entrée pour recommencer",keyboardInstructions:"Navigation de la liste de lecture : Utilisez les touches fléchées haut et bas pour naviguer entre les pistes. Appuyez sur Page précédente ou Page suivante pour sauter 5 pistes. Appuyez sur Début pour aller à la première piste, Fin pour la dernière piste. Appuyez sur Entrée ou Espace pour lire la piste sélectionnée."}};export{e as fr};
@@ -1,6 +0,0 @@
1
- /*!
2
- * Universal, Accessible Video Player
3
- * (c) 2025 Matthias Peltzer
4
- * Released under GPL-2.0-or-later License
5
- */
6
- var e={player:{label:"ビデオプレーヤー",play:"再生",pause:"一時停止",stop:"停止",restart:"最初から再生",rewind:"巻き戻し",forward:"早送り",rewindSeconds:"{seconds}秒戻す",forwardSeconds:"{seconds}秒進める",previous:"前のトラック",next:"次のトラック",playlist:"プレイリストの切り替え",volume:"音量",mute:"ミュート",unmute:"ミュート解除",fullscreen:"全画面表示",exitFullscreen:"全画面表示を終了",captions:"字幕",chapters:"チャプター",quality:"画質",captionStyling:"字幕スタイル",transcript:"文字起こし切り替え",audioDescription:"音声解説",signLanguage:"手話動画",settings:"設定",speed:"再生速度",pip:"ピクチャーインピクチャー",currentTime:"現在の時間",duration:"再生時間",progress:"進行状況",seekForward:"{seconds}秒進める",seekBackward:"{seconds}秒戻す",volumeUp:"音量を上げる",volumeDown:"音量を下げる",loading:"読み込み中...",loadingChapters:"チャプター読み込み中...",error:"読み込みエラー",buffering:"バッファリング中...",signLanguageVideo:"手話動画",closeSignLanguage:"手話動画を閉じる",signLanguageSettings:"手話設定",noChapters:"チャプターがありません",noCaptions:"字幕がありません",auto:"自動",autoQuality:"自動(画質選択不可)",noQuality:"画質選択不可",signLanguageDragResize:"手話動画 - キーボードでドラッグするにはDキーを、サイズ変更するにはRキーを押してください",signLanguageDragActive:"手話動画 - ドラッグモードが有効です。矢印キーで移動、Escapeで終了します。",signLanguageResizeActive:"手話動画 - サイズ変更モードが有効です。左右の矢印キーでサイズ変更、Escapeで終了します。",enableSignDragMode:"ドラッグモードを有効にする。ショートカット:Dキー",disableSignDragMode:"ドラッグモードを無効にする。ショートカット:Dキー",enableSignDragModeAria:"矢印キーでキーボードドラッグモードを有効にする。ショートカット:Dキー",disableSignDragModeAria:"矢印キーでキーボードドラッグモードを無効にする。ショートカット:Dキー",enableSignResizeMode:"サイズ変更モードを有効にする。ショートカット:Rキー",disableSignResizeMode:"サイズ変更モードを無効にする。ショートカット:Rキー",enableSignResizeModeAria:"矢印キーでキーボードサイズ変更モードを有効にする。ショートカット:Rキー",disableSignResizeModeAria:"矢印キーでキーボードサイズ変更モードを無効にする。ショートカット:Rキー",resizeHandle:"{direction}コーナーのサイズ変更",moreOptions:"その他のオプション",noMoreOptions:"追加のオプションはありません"},captions:{off:"オフ",select:"字幕を選択",fontSize:"フォントサイズ",fontFamily:"フォント",color:"テキストの色",backgroundColor:"背景色",opacity:"不透明度"},fontSizes:{small:"小",normal:"標準",large:"大",xlarge:"特大"},fontFamilies:{sansSerif:"サンセリフ",serif:"セリフ",monospace:"等幅"},styleLabels:{textColor:"テキストの色",background:"背景",font:"フォント",fontSize:"フォントサイズ",opacity:"不透明度"},audioDescription:{enable:"音声解説を有効にする",disable:"音声解説を無効にする"},signLanguage:{show:"手話動画を表示",hide:"手話動画を非表示"},transcript:{title:"文字起こし",close:"文字起こしを閉じる",loading:"文字起こしを読み込み中...",noTranscript:"このビデオの文字起こしはありません。",settings:"文字起こし設定。Enterキーでメニューを開く、またはDキーでドラッグモードを有効にする",keyboardDragMode:"矢印キーでキーボードドラッグモードを切り替え。ショートカット:Dキー",keyboardDragActive:"⌨️ キーボードドラッグモード有効(矢印キーで移動、Shift+矢印キーで大きく移動、DまたはESCで終了)",dragResizePrompt:"Dキーで移動、Rキーでサイズ変更。Homeで位置をリセット、Escで閉じます。",dragModeEnabled:"キーボードドラッグモードを有効にしました。矢印キーで移動、Shift+矢印キーで大きく移動できます。終了するには D または Esc を押します。",dragModeDisabled:"キーボードドラッグモードを無効にしました。",enableDragMode:"ドラッグモードを有効にする。ショートカット:Dキー",disableDragMode:"ドラッグモードを無効にする。ショートカット:Dキー",enableDragModeAria:"矢印キーでキーボードドラッグモードを有効にする。ショートカット:Dキー",disableDragModeAria:"矢印キーでキーボードドラッグモードを無効にする。ショートカット:Dキー",resizeWindow:"ウィンドウのサイズ変更",disableResizeWindow:"サイズ変更モードを無効にする",enableResizeMode:"サイズ変更モードを有効にする。ショートカット:Rキー",disableResizeMode:"サイズ変更モードを無効にする。ショートカット:Rキー",enableResizeModeAria:"矢印キーでキーボードサイズ変更モードを有効にする。ショートカット:Rキー",disableResizeModeAria:"矢印キーでキーボードサイズ変更モードを無効にする。ショートカット:Rキー",resizeModeHint:"リサイズハンドルが有効になりました。辺や角をドラッグして調整します。Esc または R で終了します。",resizeModeEnabled:"サイズ変更モードを有効にしました。辺や角をドラッグして調整します。Esc または R で終了します。",resizeModeDisabled:"サイズ変更モードを無効にしました。",positionReset:"文字起こしの位置をリセットしました。",styleTranscript:"文字起こしスタイル設定を開く",closeMenu:"メニューを閉じる",styleTitle:"文字起こしスタイル",autoscroll:"自動スクロール",settingsMenu:"文字起こしダイアログ設定",showTimestamps:"タイムスタンプを表示",hideTimestamps:"タイムスタンプを非表示",showTimestampsAria:"文字起こしにタイムスタンプを表示",hideTimestampsAria:"文字起こしのタイムスタンプを非表示"},settings:{title:"設定",quality:"画質",speed:"速度",captions:"字幕",language:"言語",reset:"リセット",close:"閉じる"},speeds:{normal:"通常"},time:{display:"時間表示",durationPrefix:"再生時間: ",of:"/",hour:"{count}時間",hours:"{count}時間",minute:"{count}分",minutes:"{count}分",second:"{count}秒",seconds:"{count}秒"},playlist:{title:"プレイリスト",trackOf:"トラック {current}/{total}",nowPlaying:"再生中: トラック {current}/{total}. {title}{artist}",by:" - ",untitled:"タイトルなし",trackUntitled:"トラック {number}",currentlyPlaying:"再生中",notPlaying:"停止中",pressEnterPlay:"Enterキーで再生",pressEnterRestart:"Enterキーで最初から再生"}};export{e as ja};
@@ -1,6 +0,0 @@
1
- /*!
2
- * Universal, Accessible Video Player
3
- * (c) 2025 Matthias Peltzer
4
- * Released under GPL-2.0-or-later License
5
- */
6
- var e={player:{label:"ビデオプレーヤー",play:"再生",pause:"一時停止",stop:"停止",restart:"最初から再生",rewind:"巻き戻し",forward:"早送り",rewindSeconds:"{seconds}秒戻す",forwardSeconds:"{seconds}秒進める",previous:"前のトラック",next:"次のトラック",playlist:"プレイリストの切り替え",volume:"音量",mute:"ミュート",unmute:"ミュート解除",fullscreen:"全画面表示",exitFullscreen:"全画面表示を終了",captions:"字幕",chapters:"チャプター",quality:"画質",captionStyling:"字幕スタイル",transcript:"文字起こし切り替え",audioDescription:"音声解説",signLanguage:"手話動画",settings:"設定",speed:"再生速度",pip:"ピクチャーインピクチャー",currentTime:"現在の時間",duration:"再生時間",progress:"進行状況",seekForward:"{seconds}秒進める",seekBackward:"{seconds}秒戻す",volumeUp:"音量を上げる",volumeDown:"音量を下げる",loading:"読み込み中...",loadingChapters:"チャプター読み込み中...",error:"読み込みエラー",buffering:"バッファリング中...",signLanguageVideo:"手話動画",closeSignLanguage:"手話動画を閉じる",signLanguageSettings:"手話設定",noChapters:"チャプターがありません",noCaptions:"字幕がありません",auto:"自動",autoQuality:"自動(画質選択不可)",noQuality:"画質選択不可",signLanguageDragResize:"手話動画 - キーボードでドラッグするにはDキーを、サイズ変更するにはRキーを押してください",signLanguageDragActive:"手話動画 - ドラッグモードが有効です。矢印キーで移動、Escapeで終了します。",signLanguageResizeActive:"手話動画 - サイズ変更モードが有効です。左右の矢印キーでサイズ変更、Escapeで終了します。",enableSignDragMode:"ドラッグモードを有効にする。ショートカット:Dキー",disableSignDragMode:"ドラッグモードを無効にする。ショートカット:Dキー",enableSignDragModeAria:"矢印キーでキーボードドラッグモードを有効にする。ショートカット:Dキー",disableSignDragModeAria:"矢印キーでキーボードドラッグモードを無効にする。ショートカット:Dキー",enableSignResizeMode:"サイズ変更モードを有効にする。ショートカット:Rキー",disableSignResizeMode:"サイズ変更モードを無効にする。ショートカット:Rキー",enableSignResizeModeAria:"矢印キーでキーボードサイズ変更モードを有効にする。ショートカット:Rキー",disableSignResizeModeAria:"矢印キーでキーボードサイズ変更モードを無効にする。ショートカット:Rキー",resizeHandle:"{direction}コーナーのサイズ変更",moreOptions:"その他のオプション",noMoreOptions:"追加のオプションはありません"},captions:{off:"オフ",select:"字幕を選択",fontSize:"フォントサイズ",fontFamily:"フォント",color:"テキストの色",backgroundColor:"背景色",opacity:"不透明度"},fontSizes:{small:"小",normal:"標準",large:"大",xlarge:"特大"},fontFamilies:{sansSerif:"サンセリフ",serif:"セリフ",monospace:"等幅"},styleLabels:{textColor:"テキストの色",background:"背景",font:"フォント",fontSize:"フォントサイズ",opacity:"不透明度"},audioDescription:{enable:"音声解説を有効にする",disable:"音声解説を無効にする"},signLanguage:{show:"手話動画を表示",hide:"手話動画を非表示"},transcript:{title:"文字起こし",close:"文字起こしを閉じる",loading:"文字起こしを読み込み中...",noTranscript:"このビデオの文字起こしはありません。",settings:"文字起こし設定。Enterキーでメニューを開く、またはDキーでドラッグモードを有効にする",keyboardDragMode:"矢印キーでキーボードドラッグモードを切り替え。ショートカット:Dキー",keyboardDragActive:"⌨️ キーボードドラッグモード有効(矢印キーで移動、Shift+矢印キーで大きく移動、DまたはESCで終了)",dragResizePrompt:"Dキーで移動、Rキーでサイズ変更。Homeで位置をリセット、Escで閉じます。",dragModeEnabled:"キーボードドラッグモードを有効にしました。矢印キーで移動、Shift+矢印キーで大きく移動できます。終了するには D または Esc を押します。",dragModeDisabled:"キーボードドラッグモードを無効にしました。",enableDragMode:"ドラッグモードを有効にする。ショートカット:Dキー",disableDragMode:"ドラッグモードを無効にする。ショートカット:Dキー",enableDragModeAria:"矢印キーでキーボードドラッグモードを有効にする。ショートカット:Dキー",disableDragModeAria:"矢印キーでキーボードドラッグモードを無効にする。ショートカット:Dキー",resizeWindow:"ウィンドウのサイズ変更",disableResizeWindow:"サイズ変更モードを無効にする",enableResizeMode:"サイズ変更モードを有効にする。ショートカット:Rキー",disableResizeMode:"サイズ変更モードを無効にする。ショートカット:Rキー",enableResizeModeAria:"矢印キーでキーボードサイズ変更モードを有効にする。ショートカット:Rキー",disableResizeModeAria:"矢印キーでキーボードサイズ変更モードを無効にする。ショートカット:Rキー",resizeModeHint:"リサイズハンドルが有効になりました。辺や角をドラッグして調整します。Esc または R で終了します。",resizeModeEnabled:"サイズ変更モードを有効にしました。辺や角をドラッグして調整します。Esc または R で終了します。",resizeModeDisabled:"サイズ変更モードを無効にしました。",positionReset:"文字起こしの位置をリセットしました。",styleTranscript:"文字起こしスタイル設定を開く",closeMenu:"メニューを閉じる",styleTitle:"文字起こしスタイル",autoscroll:"自動スクロール",settingsMenu:"文字起こしダイアログ設定",showTimestamps:"タイムスタンプを表示",hideTimestamps:"タイムスタンプを非表示",showTimestampsAria:"文字起こしにタイムスタンプを表示",hideTimestampsAria:"文字起こしのタイムスタンプを非表示"},settings:{title:"設定",quality:"画質",speed:"速度",captions:"字幕",language:"言語",reset:"リセット",close:"閉じる"},speeds:{normal:"通常"},time:{display:"時間表示",durationPrefix:"再生時間: ",of:"/",hour:"{count}時間",hours:"{count}時間",minute:"{count}分",minutes:"{count}分",second:"{count}秒",seconds:"{count}秒"},playlist:{title:"プレイリスト",trackOf:"トラック {current}/{total}",nowPlaying:"再生中: トラック {current}/{total}. {title}{artist}",by:" - ",untitled:"タイトルなし",trackUntitled:"トラック {number}",currentlyPlaying:"再生中",notPlaying:"停止中",pressEnterPlay:"Enterキーで再生",pressEnterRestart:"Enterキーで最初から再生",keyboardInstructions:"プレイリストナビゲーション:上下の矢印キーでトラック間を移動します。Page UpまたはPage Downで5トラックをスキップします。Homeで最初のトラックへ、Endで最後のトラックへ移動します。EnterまたはSpaceで選択したトラックを再生します。"}};export{e as ja};