@fluencypassdevs/cycle 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/mcp.mjs +6 -2
- package/dist/chunk-C6BQAAHX.js +873 -0
- package/dist/chunk-C6BQAAHX.js.map +1 -0
- package/dist/{chunk-VSRZM7CU.js → chunk-DCNZ2DRR.js} +20 -8
- package/dist/chunk-DCNZ2DRR.js.map +1 -0
- package/dist/{chunk-C4C5MWPO.js → chunk-V3CBOIGK.js} +48 -20
- package/dist/chunk-V3CBOIGK.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +5 -4
- package/dist/ui/audio-player.d.ts +11 -1
- package/dist/ui/audio-player.js +2 -1
- package/dist/ui/badge.d.ts +2 -2
- package/dist/ui/button.d.ts +2 -2
- package/dist/ui/checkbox.d.ts +1 -1
- package/dist/ui/empty.d.ts +1 -1
- package/dist/ui/fab.d.ts +1 -1
- package/dist/ui/file-card.d.ts +1 -1
- package/dist/ui/like-dislike.d.ts +1 -1
- package/dist/ui/player-i18n.d.ts +36 -0
- package/dist/ui/player-i18n.js +4 -0
- package/dist/ui/player-i18n.js.map +1 -0
- package/dist/ui/progress-dot.d.ts +2 -2
- package/dist/ui/progress-stage.d.ts +1 -1
- package/dist/ui/progress.d.ts +1 -1
- package/dist/ui/radio-group.d.ts +1 -1
- package/dist/ui/slider.d.ts +1 -1
- package/dist/ui/switch.d.ts +1 -1
- package/dist/ui/tabs.d.ts +1 -1
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/video-player.d.ts +9 -1
- package/dist/ui/video-player.js +2 -1
- package/package.json +1 -1
- package/dist/chunk-C4C5MWPO.js.map +0 -1
- package/dist/chunk-VSRZM7CU.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/player-i18n.ts"],"names":[],"mappings":"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","file":"chunk-C6BQAAHX.js","sourcesContent":["import type { DefaultLayoutTranslations } from \"@vidstack/react/player/layouts/default\"\n\n/* ─── Supported locales ─── */\n\nexport type PlayerLocale =\n | \"pt-BR\"\n | \"en-US\"\n | \"en-GB\"\n | \"es-MX\"\n | \"es-ES\"\n | \"fr-FR\"\n | \"fr-CA\"\n | \"zh-CN\"\n | \"zh-TW\"\n | \"de-DE\"\n | \"it-IT\"\n | \"ja-JP\"\n | \"ko-KR\"\n\n/* ─── Desktop control labels (used by VideoPlayer custom controls) ─── */\n\nexport interface VideoDesktopLabels {\n play: string\n pause: string\n seekBackward: string\n seekForward: string\n mute: string\n unmute: string\n captionsOn: string\n captionsOff: string\n captions: string\n pip: string\n pipExit: string\n speed: string\n speedNormal: string\n quality: string\n qualityMenu: string\n fullscreen: string\n fullscreenExit: string\n live: string\n}\n\n/* ─── Complete locale bundle ─── */\n\nexport interface PlayerLocaleData {\n desktop: VideoDesktopLabels\n vidstack: DefaultLayoutTranslations\n}\n\n/* ─── Locale data ─── */\n\nconst ptBR: PlayerLocaleData = {\n desktop: {\n play: \"Reproduzir\",\n pause: \"Pausar\",\n seekBackward: \"Retroceder 10s\",\n seekForward: \"Avançar 10s\",\n mute: \"Silenciar\",\n unmute: \"Ativar som\",\n captionsOn: \"Desativar legendas\",\n captionsOff: \"Ativar legendas\",\n captions: \"Legendas\",\n pip: \"Picture-in-Picture\",\n pipExit: \"Sair do PiP\",\n speed: \"Velocidade\",\n speedNormal: \"Normal\",\n quality: \"Qualidade\",\n qualityMenu: \"Qualidade\",\n fullscreen: \"Tela cheia\",\n fullscreenExit: \"Sair da tela cheia\",\n live: \"Ao vivo\",\n },\n vidstack: {\n Announcements: \"Avisos\",\n Accessibility: \"Acessibilidade\",\n AirPlay: \"AirPlay\",\n Audio: \"Áudio\",\n Auto: \"Automático\",\n Boost: \"Amplificar\",\n Captions: \"Legendas\",\n \"Caption Styles\": \"Estilos de legenda\",\n \"Captions look like this\": \"Legendas ficam assim\",\n Chapters: \"Capítulos\",\n \"Closed-Captions Off\": \"Ativar legendas\",\n \"Closed-Captions On\": \"Desativar legendas\",\n Connected: \"Conectado\",\n Continue: \"Continuar\",\n Connecting: \"Conectando\",\n Default: \"Padrão\",\n Disabled: \"Desativado\",\n Disconnected: \"Desconectado\",\n \"Display Background\": \"Fundo da tela\",\n Download: \"Baixar\",\n \"Enter Fullscreen\": \"Tela cheia\",\n \"Enter PiP\": \"Picture-in-Picture\",\n \"Exit Fullscreen\": \"Sair da tela cheia\",\n \"Exit PiP\": \"Sair do PiP\",\n Font: \"Fonte\",\n Family: \"Família\",\n Fullscreen: \"Tela cheia\",\n \"Google Cast\": \"Google Cast\",\n \"Keyboard Animations\": \"Animações de teclado\",\n LIVE: \"AO VIVO\",\n Loop: \"Repetir\",\n Mute: \"Silenciar\",\n Normal: \"Normal\",\n Off: \"Desligado\",\n Pause: \"Pausar\",\n Play: \"Reproduzir\",\n Playback: \"Reprodução\",\n PiP: \"PiP\",\n Quality: \"Qualidade\",\n Replay: \"Repetir\",\n Reset: \"Redefinir\",\n \"Seek Backward\": \"Retroceder\",\n \"Seek Forward\": \"Avançar\",\n Seek: \"Buscar\",\n Settings: \"Configurações\",\n \"Skip To Live\": \"Ir para ao vivo\",\n Speed: \"Velocidade\",\n Size: \"Tamanho\",\n Color: \"Cor\",\n Opacity: \"Opacidade\",\n Shadow: \"Sombra\",\n Text: \"Texto\",\n \"Text Background\": \"Fundo do texto\",\n Track: \"Faixa\",\n Unmute: \"Ativar som\",\n Volume: \"Volume\",\n },\n}\n\nconst enUS: PlayerLocaleData = {\n desktop: {\n play: \"Play\",\n pause: \"Pause\",\n seekBackward: \"Rewind 10s\",\n seekForward: \"Forward 10s\",\n mute: \"Mute\",\n unmute: \"Unmute\",\n captionsOn: \"Disable captions\",\n captionsOff: \"Enable captions\",\n captions: \"Captions\",\n pip: \"Picture-in-Picture\",\n pipExit: \"Exit PiP\",\n speed: \"Speed\",\n speedNormal: \"Normal\",\n quality: \"Quality\",\n qualityMenu: \"Quality\",\n fullscreen: \"Fullscreen\",\n fullscreenExit: \"Exit fullscreen\",\n live: \"Live\",\n },\n vidstack: {\n Announcements: \"Announcements\",\n Accessibility: \"Accessibility\",\n AirPlay: \"AirPlay\",\n Audio: \"Audio\",\n Auto: \"Auto\",\n Boost: \"Boost\",\n Captions: \"Captions\",\n \"Caption Styles\": \"Caption Styles\",\n \"Captions look like this\": \"Captions look like this\",\n Chapters: \"Chapters\",\n \"Closed-Captions Off\": \"Closed-Captions Off\",\n \"Closed-Captions On\": \"Closed-Captions On\",\n Connected: \"Connected\",\n Continue: \"Continue\",\n Connecting: \"Connecting\",\n Default: \"Default\",\n Disabled: \"Disabled\",\n Disconnected: \"Disconnected\",\n \"Display Background\": \"Display Background\",\n Download: \"Download\",\n \"Enter Fullscreen\": \"Enter Fullscreen\",\n \"Enter PiP\": \"Enter PiP\",\n \"Exit Fullscreen\": \"Exit Fullscreen\",\n \"Exit PiP\": \"Exit PiP\",\n Font: \"Font\",\n Family: \"Family\",\n Fullscreen: \"Fullscreen\",\n \"Google Cast\": \"Google Cast\",\n \"Keyboard Animations\": \"Keyboard Animations\",\n LIVE: \"LIVE\",\n Loop: \"Loop\",\n Mute: \"Mute\",\n Normal: \"Normal\",\n Off: \"Off\",\n Pause: \"Pause\",\n Play: \"Play\",\n Playback: \"Playback\",\n PiP: \"PiP\",\n Quality: \"Quality\",\n Replay: \"Replay\",\n Reset: \"Reset\",\n \"Seek Backward\": \"Seek Backward\",\n \"Seek Forward\": \"Seek Forward\",\n Seek: \"Seek\",\n Settings: \"Settings\",\n \"Skip To Live\": \"Skip To Live\",\n Speed: \"Speed\",\n Size: \"Size\",\n Color: \"Color\",\n Opacity: \"Opacity\",\n Shadow: \"Shadow\",\n Text: \"Text\",\n \"Text Background\": \"Text Background\",\n Track: \"Track\",\n Unmute: \"Unmute\",\n Volume: \"Volume\",\n },\n}\n\nconst enGB: PlayerLocaleData = {\n desktop: { ...enUS.desktop },\n vidstack: { ...enUS.vidstack },\n}\n\nconst esMX: PlayerLocaleData = {\n desktop: {\n play: \"Reproducir\",\n pause: \"Pausar\",\n seekBackward: \"Retroceder 10s\",\n seekForward: \"Adelantar 10s\",\n mute: \"Silenciar\",\n unmute: \"Activar sonido\",\n captionsOn: \"Desactivar subtítulos\",\n captionsOff: \"Activar subtítulos\",\n captions: \"Subtítulos\",\n pip: \"Picture-in-Picture\",\n pipExit: \"Salir de PiP\",\n speed: \"Velocidad\",\n speedNormal: \"Normal\",\n quality: \"Calidad\",\n qualityMenu: \"Calidad\",\n fullscreen: \"Pantalla completa\",\n fullscreenExit: \"Salir de pantalla completa\",\n live: \"En vivo\",\n },\n vidstack: {\n Announcements: \"Anuncios\",\n Accessibility: \"Accesibilidad\",\n AirPlay: \"AirPlay\",\n Audio: \"Audio\",\n Auto: \"Automático\",\n Boost: \"Amplificar\",\n Captions: \"Subtítulos\",\n \"Caption Styles\": \"Estilos de subtítulos\",\n \"Captions look like this\": \"Los subtítulos se ven así\",\n Chapters: \"Capítulos\",\n \"Closed-Captions Off\": \"Activar subtítulos\",\n \"Closed-Captions On\": \"Desactivar subtítulos\",\n Connected: \"Conectado\",\n Continue: \"Continuar\",\n Connecting: \"Conectando\",\n Default: \"Predeterminado\",\n Disabled: \"Desactivado\",\n Disconnected: \"Desconectado\",\n \"Display Background\": \"Fondo de pantalla\",\n Download: \"Descargar\",\n \"Enter Fullscreen\": \"Pantalla completa\",\n \"Enter PiP\": \"Picture-in-Picture\",\n \"Exit Fullscreen\": \"Salir de pantalla completa\",\n \"Exit PiP\": \"Salir de PiP\",\n Font: \"Fuente\",\n Family: \"Familia\",\n Fullscreen: \"Pantalla completa\",\n \"Google Cast\": \"Google Cast\",\n \"Keyboard Animations\": \"Animaciones de teclado\",\n LIVE: \"EN VIVO\",\n Loop: \"Repetir\",\n Mute: \"Silenciar\",\n Normal: \"Normal\",\n Off: \"Desactivado\",\n Pause: \"Pausar\",\n Play: \"Reproducir\",\n Playback: \"Reproducción\",\n PiP: \"PiP\",\n Quality: \"Calidad\",\n Replay: \"Repetir\",\n Reset: \"Restablecer\",\n \"Seek Backward\": \"Retroceder\",\n \"Seek Forward\": \"Adelantar\",\n Seek: \"Buscar\",\n Settings: \"Configuración\",\n \"Skip To Live\": \"Ir a en vivo\",\n Speed: \"Velocidad\",\n Size: \"Tamaño\",\n Color: \"Color\",\n Opacity: \"Opacidad\",\n Shadow: \"Sombra\",\n Text: \"Texto\",\n \"Text Background\": \"Fondo del texto\",\n Track: \"Pista\",\n Unmute: \"Activar sonido\",\n Volume: \"Volumen\",\n },\n}\n\nconst esES: PlayerLocaleData = {\n desktop: { ...esMX.desktop },\n vidstack: { ...esMX.vidstack },\n}\n\nconst frFR: PlayerLocaleData = {\n desktop: {\n play: \"Lecture\",\n pause: \"Pause\",\n seekBackward: \"Reculer de 10s\",\n seekForward: \"Avancer de 10s\",\n mute: \"Couper le son\",\n unmute: \"Activer le son\",\n captionsOn: \"Désactiver les sous-titres\",\n captionsOff: \"Activer les sous-titres\",\n captions: \"Sous-titres\",\n pip: \"Picture-in-Picture\",\n pipExit: \"Quitter PiP\",\n speed: \"Vitesse\",\n speedNormal: \"Normal\",\n quality: \"Qualité\",\n qualityMenu: \"Qualité\",\n fullscreen: \"Plein écran\",\n fullscreenExit: \"Quitter le plein écran\",\n live: \"En direct\",\n },\n vidstack: {\n Announcements: \"Annonces\",\n Accessibility: \"Accessibilité\",\n AirPlay: \"AirPlay\",\n Audio: \"Audio\",\n Auto: \"Automatique\",\n Boost: \"Amplifier\",\n Captions: \"Sous-titres\",\n \"Caption Styles\": \"Styles des sous-titres\",\n \"Captions look like this\": \"Les sous-titres ressemblent à ceci\",\n Chapters: \"Chapitres\",\n \"Closed-Captions Off\": \"Activer les sous-titres\",\n \"Closed-Captions On\": \"Désactiver les sous-titres\",\n Connected: \"Connecté\",\n Continue: \"Continuer\",\n Connecting: \"Connexion\",\n Default: \"Par défaut\",\n Disabled: \"Désactivé\",\n Disconnected: \"Déconnecté\",\n \"Display Background\": \"Arrière-plan\",\n Download: \"Télécharger\",\n \"Enter Fullscreen\": \"Plein écran\",\n \"Enter PiP\": \"Picture-in-Picture\",\n \"Exit Fullscreen\": \"Quitter le plein écran\",\n \"Exit PiP\": \"Quitter PiP\",\n Font: \"Police\",\n Family: \"Famille\",\n Fullscreen: \"Plein écran\",\n \"Google Cast\": \"Google Cast\",\n \"Keyboard Animations\": \"Animations du clavier\",\n LIVE: \"EN DIRECT\",\n Loop: \"Boucle\",\n Mute: \"Couper le son\",\n Normal: \"Normal\",\n Off: \"Désactivé\",\n Pause: \"Pause\",\n Play: \"Lecture\",\n Playback: \"Lecture\",\n PiP: \"PiP\",\n Quality: \"Qualité\",\n Replay: \"Rejouer\",\n Reset: \"Réinitialiser\",\n \"Seek Backward\": \"Reculer\",\n \"Seek Forward\": \"Avancer\",\n Seek: \"Rechercher\",\n Settings: \"Paramètres\",\n \"Skip To Live\": \"Aller au direct\",\n Speed: \"Vitesse\",\n Size: \"Taille\",\n Color: \"Couleur\",\n Opacity: \"Opacité\",\n Shadow: \"Ombre\",\n Text: \"Texte\",\n \"Text Background\": \"Arrière-plan du texte\",\n Track: \"Piste\",\n Unmute: \"Activer le son\",\n Volume: \"Volume\",\n },\n}\n\nconst frCA: PlayerLocaleData = {\n desktop: { ...frFR.desktop },\n vidstack: { ...frFR.vidstack },\n}\n\nconst zhCN: PlayerLocaleData = {\n desktop: {\n play: \"播放\",\n pause: \"暂停\",\n seekBackward: \"后退10秒\",\n seekForward: \"前进10秒\",\n mute: \"静音\",\n unmute: \"取消静音\",\n captionsOn: \"关闭字幕\",\n captionsOff: \"开启字幕\",\n captions: \"字幕\",\n pip: \"画中画\",\n pipExit: \"退出画中画\",\n speed: \"播放速度\",\n speedNormal: \"正常\",\n quality: \"画质\",\n qualityMenu: \"画质\",\n fullscreen: \"全屏\",\n fullscreenExit: \"退出全屏\",\n live: \"直播\",\n },\n vidstack: {\n Announcements: \"公告\",\n Accessibility: \"无障碍\",\n AirPlay: \"AirPlay\",\n Audio: \"音频\",\n Auto: \"自动\",\n Boost: \"增强\",\n Captions: \"字幕\",\n \"Caption Styles\": \"字幕样式\",\n \"Captions look like this\": \"字幕效果预览\",\n Chapters: \"章节\",\n \"Closed-Captions Off\": \"开启字幕\",\n \"Closed-Captions On\": \"关闭字幕\",\n Connected: \"已连接\",\n Continue: \"继续\",\n Connecting: \"连接中\",\n Default: \"默认\",\n Disabled: \"已禁用\",\n Disconnected: \"已断开\",\n \"Display Background\": \"显示背景\",\n Download: \"下载\",\n \"Enter Fullscreen\": \"全屏\",\n \"Enter PiP\": \"画中画\",\n \"Exit Fullscreen\": \"退出全屏\",\n \"Exit PiP\": \"退出画中画\",\n Font: \"字体\",\n Family: \"字体族\",\n Fullscreen: \"全屏\",\n \"Google Cast\": \"Google Cast\",\n \"Keyboard Animations\": \"键盘动画\",\n LIVE: \"直播\",\n Loop: \"循环\",\n Mute: \"静音\",\n Normal: \"正常\",\n Off: \"关闭\",\n Pause: \"暂停\",\n Play: \"播放\",\n Playback: \"播放\",\n PiP: \"画中画\",\n Quality: \"画质\",\n Replay: \"重播\",\n Reset: \"重置\",\n \"Seek Backward\": \"后退\",\n \"Seek Forward\": \"前进\",\n Seek: \"跳转\",\n Settings: \"设置\",\n \"Skip To Live\": \"跳转到直播\",\n Speed: \"播放速度\",\n Size: \"大小\",\n Color: \"颜色\",\n Opacity: \"透明度\",\n Shadow: \"阴影\",\n Text: \"文字\",\n \"Text Background\": \"文字背景\",\n Track: \"轨道\",\n Unmute: \"取消静音\",\n Volume: \"音量\",\n },\n}\n\nconst zhTW: PlayerLocaleData = {\n desktop: {\n play: \"播放\",\n pause: \"暫停\",\n seekBackward: \"倒退10秒\",\n seekForward: \"快進10秒\",\n mute: \"靜音\",\n unmute: \"取消靜音\",\n captionsOn: \"關閉字幕\",\n captionsOff: \"開啟字幕\",\n captions: \"字幕\",\n pip: \"子母畫面\",\n pipExit: \"退出子母畫面\",\n speed: \"播放速度\",\n speedNormal: \"正常\",\n quality: \"畫質\",\n qualityMenu: \"畫質\",\n fullscreen: \"全螢幕\",\n fullscreenExit: \"退出全螢幕\",\n live: \"直播\",\n },\n vidstack: {\n Announcements: \"公告\",\n Accessibility: \"無障礙\",\n AirPlay: \"AirPlay\",\n Audio: \"音訊\",\n Auto: \"自動\",\n Boost: \"增強\",\n Captions: \"字幕\",\n \"Caption Styles\": \"字幕樣式\",\n \"Captions look like this\": \"字幕效果預覽\",\n Chapters: \"章節\",\n \"Closed-Captions Off\": \"開啟字幕\",\n \"Closed-Captions On\": \"關閉字幕\",\n Connected: \"已連線\",\n Continue: \"繼續\",\n Connecting: \"連線中\",\n Default: \"預設\",\n Disabled: \"已停用\",\n Disconnected: \"已中斷\",\n \"Display Background\": \"顯示背景\",\n Download: \"下載\",\n \"Enter Fullscreen\": \"全螢幕\",\n \"Enter PiP\": \"子母畫面\",\n \"Exit Fullscreen\": \"退出全螢幕\",\n \"Exit PiP\": \"退出子母畫面\",\n Font: \"字型\",\n Family: \"字型族\",\n Fullscreen: \"全螢幕\",\n \"Google Cast\": \"Google Cast\",\n \"Keyboard Animations\": \"鍵盤動畫\",\n LIVE: \"直播\",\n Loop: \"循環\",\n Mute: \"靜音\",\n Normal: \"正常\",\n Off: \"關閉\",\n Pause: \"暫停\",\n Play: \"播放\",\n Playback: \"播放\",\n PiP: \"子母畫面\",\n Quality: \"畫質\",\n Replay: \"重播\",\n Reset: \"重設\",\n \"Seek Backward\": \"倒退\",\n \"Seek Forward\": \"快進\",\n Seek: \"跳轉\",\n Settings: \"設定\",\n \"Skip To Live\": \"跳至直播\",\n Speed: \"播放速度\",\n Size: \"大小\",\n Color: \"顏色\",\n Opacity: \"透明度\",\n Shadow: \"陰影\",\n Text: \"文字\",\n \"Text Background\": \"文字背景\",\n Track: \"軌道\",\n Unmute: \"取消靜音\",\n Volume: \"音量\",\n },\n}\n\nconst deDE: PlayerLocaleData = {\n desktop: {\n play: \"Wiedergabe\",\n pause: \"Pause\",\n seekBackward: \"10s zurück\",\n seekForward: \"10s vor\",\n mute: \"Stummschalten\",\n unmute: \"Ton einschalten\",\n captionsOn: \"Untertitel deaktivieren\",\n captionsOff: \"Untertitel aktivieren\",\n captions: \"Untertitel\",\n pip: \"Bild-in-Bild\",\n pipExit: \"Bild-in-Bild beenden\",\n speed: \"Geschwindigkeit\",\n speedNormal: \"Normal\",\n quality: \"Qualität\",\n qualityMenu: \"Qualität\",\n fullscreen: \"Vollbild\",\n fullscreenExit: \"Vollbild beenden\",\n live: \"Live\",\n },\n vidstack: {\n Announcements: \"Ankündigungen\",\n Accessibility: \"Barrierefreiheit\",\n AirPlay: \"AirPlay\",\n Audio: \"Audio\",\n Auto: \"Automatisch\",\n Boost: \"Verstärken\",\n Captions: \"Untertitel\",\n \"Caption Styles\": \"Untertitelstile\",\n \"Captions look like this\": \"Untertitel sehen so aus\",\n Chapters: \"Kapitel\",\n \"Closed-Captions Off\": \"Untertitel aktivieren\",\n \"Closed-Captions On\": \"Untertitel deaktivieren\",\n Connected: \"Verbunden\",\n Continue: \"Weiter\",\n Connecting: \"Verbindung wird hergestellt\",\n Default: \"Standard\",\n Disabled: \"Deaktiviert\",\n Disconnected: \"Getrennt\",\n \"Display Background\": \"Hintergrund\",\n Download: \"Herunterladen\",\n \"Enter Fullscreen\": \"Vollbild\",\n \"Enter PiP\": \"Bild-in-Bild\",\n \"Exit Fullscreen\": \"Vollbild beenden\",\n \"Exit PiP\": \"Bild-in-Bild beenden\",\n Font: \"Schriftart\",\n Family: \"Familie\",\n Fullscreen: \"Vollbild\",\n \"Google Cast\": \"Google Cast\",\n \"Keyboard Animations\": \"Tastaturanimationen\",\n LIVE: \"LIVE\",\n Loop: \"Wiederholen\",\n Mute: \"Stummschalten\",\n Normal: \"Normal\",\n Off: \"Aus\",\n Pause: \"Pause\",\n Play: \"Wiedergabe\",\n Playback: \"Wiedergabe\",\n PiP: \"BiB\",\n Quality: \"Qualität\",\n Replay: \"Erneut abspielen\",\n Reset: \"Zurücksetzen\",\n \"Seek Backward\": \"Zurückspulen\",\n \"Seek Forward\": \"Vorspulen\",\n Seek: \"Suchen\",\n Settings: \"Einstellungen\",\n \"Skip To Live\": \"Zum Livestream\",\n Speed: \"Geschwindigkeit\",\n Size: \"Größe\",\n Color: \"Farbe\",\n Opacity: \"Deckkraft\",\n Shadow: \"Schatten\",\n Text: \"Text\",\n \"Text Background\": \"Texthintergrund\",\n Track: \"Spur\",\n Unmute: \"Ton einschalten\",\n Volume: \"Lautstärke\",\n },\n}\n\nconst itIT: PlayerLocaleData = {\n desktop: {\n play: \"Riproduci\",\n pause: \"Pausa\",\n seekBackward: \"Indietro 10s\",\n seekForward: \"Avanti 10s\",\n mute: \"Disattiva audio\",\n unmute: \"Attiva audio\",\n captionsOn: \"Disattiva sottotitoli\",\n captionsOff: \"Attiva sottotitoli\",\n captions: \"Sottotitoli\",\n pip: \"Picture-in-Picture\",\n pipExit: \"Esci da PiP\",\n speed: \"Velocità\",\n speedNormal: \"Normale\",\n quality: \"Qualità\",\n qualityMenu: \"Qualità\",\n fullscreen: \"Schermo intero\",\n fullscreenExit: \"Esci da schermo intero\",\n live: \"In diretta\",\n },\n vidstack: {\n Announcements: \"Annunci\",\n Accessibility: \"Accessibilità\",\n AirPlay: \"AirPlay\",\n Audio: \"Audio\",\n Auto: \"Automatico\",\n Boost: \"Amplifica\",\n Captions: \"Sottotitoli\",\n \"Caption Styles\": \"Stili sottotitoli\",\n \"Captions look like this\": \"I sottotitoli appaiono così\",\n Chapters: \"Capitoli\",\n \"Closed-Captions Off\": \"Attiva sottotitoli\",\n \"Closed-Captions On\": \"Disattiva sottotitoli\",\n Connected: \"Connesso\",\n Continue: \"Continua\",\n Connecting: \"Connessione\",\n Default: \"Predefinito\",\n Disabled: \"Disattivato\",\n Disconnected: \"Disconnesso\",\n \"Display Background\": \"Sfondo\",\n Download: \"Scarica\",\n \"Enter Fullscreen\": \"Schermo intero\",\n \"Enter PiP\": \"Picture-in-Picture\",\n \"Exit Fullscreen\": \"Esci da schermo intero\",\n \"Exit PiP\": \"Esci da PiP\",\n Font: \"Carattere\",\n Family: \"Famiglia\",\n Fullscreen: \"Schermo intero\",\n \"Google Cast\": \"Google Cast\",\n \"Keyboard Animations\": \"Animazioni tastiera\",\n LIVE: \"IN DIRETTA\",\n Loop: \"Ripeti\",\n Mute: \"Disattiva audio\",\n Normal: \"Normale\",\n Off: \"Disattivato\",\n Pause: \"Pausa\",\n Play: \"Riproduci\",\n Playback: \"Riproduzione\",\n PiP: \"PiP\",\n Quality: \"Qualità\",\n Replay: \"Riproduci di nuovo\",\n Reset: \"Ripristina\",\n \"Seek Backward\": \"Indietro\",\n \"Seek Forward\": \"Avanti\",\n Seek: \"Cerca\",\n Settings: \"Impostazioni\",\n \"Skip To Live\": \"Vai alla diretta\",\n Speed: \"Velocità\",\n Size: \"Dimensione\",\n Color: \"Colore\",\n Opacity: \"Opacità\",\n Shadow: \"Ombra\",\n Text: \"Testo\",\n \"Text Background\": \"Sfondo del testo\",\n Track: \"Traccia\",\n Unmute: \"Attiva audio\",\n Volume: \"Volume\",\n },\n}\n\nconst jaJP: PlayerLocaleData = {\n desktop: {\n play: \"再生\",\n pause: \"一時停止\",\n seekBackward: \"10秒戻る\",\n seekForward: \"10秒進む\",\n mute: \"ミュート\",\n unmute: \"ミュート解除\",\n captionsOn: \"字幕をオフ\",\n captionsOff: \"字幕をオン\",\n captions: \"字幕\",\n pip: \"ピクチャーインピクチャー\",\n pipExit: \"PiPを終了\",\n speed: \"再生速度\",\n speedNormal: \"標準\",\n quality: \"画質\",\n qualityMenu: \"画質\",\n fullscreen: \"全画面\",\n fullscreenExit: \"全画面を終了\",\n live: \"ライブ\",\n },\n vidstack: {\n Announcements: \"お知らせ\",\n Accessibility: \"アクセシビリティ\",\n AirPlay: \"AirPlay\",\n Audio: \"音声\",\n Auto: \"自動\",\n Boost: \"ブースト\",\n Captions: \"字幕\",\n \"Caption Styles\": \"字幕スタイル\",\n \"Captions look like this\": \"字幕のプレビュー\",\n Chapters: \"チャプター\",\n \"Closed-Captions Off\": \"字幕をオン\",\n \"Closed-Captions On\": \"字幕をオフ\",\n Connected: \"接続済み\",\n Continue: \"続ける\",\n Connecting: \"接続中\",\n Default: \"デフォルト\",\n Disabled: \"無効\",\n Disconnected: \"切断済み\",\n \"Display Background\": \"表示背景\",\n Download: \"ダウンロード\",\n \"Enter Fullscreen\": \"全画面\",\n \"Enter PiP\": \"ピクチャーインピクチャー\",\n \"Exit Fullscreen\": \"全画面を終了\",\n \"Exit PiP\": \"PiPを終了\",\n Font: \"フォント\",\n Family: \"フォントファミリー\",\n Fullscreen: \"全画面\",\n \"Google Cast\": \"Google Cast\",\n \"Keyboard Animations\": \"キーボードアニメーション\",\n LIVE: \"ライブ\",\n Loop: \"ループ\",\n Mute: \"ミュート\",\n Normal: \"標準\",\n Off: \"オフ\",\n Pause: \"一時停止\",\n Play: \"再生\",\n Playback: \"再生\",\n PiP: \"PiP\",\n Quality: \"画質\",\n Replay: \"もう一度再生\",\n Reset: \"リセット\",\n \"Seek Backward\": \"巻き戻し\",\n \"Seek Forward\": \"早送り\",\n Seek: \"シーク\",\n Settings: \"設定\",\n \"Skip To Live\": \"ライブへ移動\",\n Speed: \"再生速度\",\n Size: \"サイズ\",\n Color: \"色\",\n Opacity: \"不透明度\",\n Shadow: \"影\",\n Text: \"テキスト\",\n \"Text Background\": \"テキスト背景\",\n Track: \"トラック\",\n Unmute: \"ミュート解除\",\n Volume: \"音量\",\n },\n}\n\nconst koKR: PlayerLocaleData = {\n desktop: {\n play: \"재생\",\n pause: \"일시정지\",\n seekBackward: \"10초 뒤로\",\n seekForward: \"10초 앞으로\",\n mute: \"음소거\",\n unmute: \"음소거 해제\",\n captionsOn: \"자막 끄기\",\n captionsOff: \"자막 켜기\",\n captions: \"자막\",\n pip: \"화면 속 화면\",\n pipExit: \"PiP 종료\",\n speed: \"재생 속도\",\n speedNormal: \"보통\",\n quality: \"화질\",\n qualityMenu: \"화질\",\n fullscreen: \"전체 화면\",\n fullscreenExit: \"전체 화면 종료\",\n live: \"라이브\",\n },\n vidstack: {\n Announcements: \"공지\",\n Accessibility: \"접근성\",\n AirPlay: \"AirPlay\",\n Audio: \"오디오\",\n Auto: \"자동\",\n Boost: \"부스트\",\n Captions: \"자막\",\n \"Caption Styles\": \"자막 스타일\",\n \"Captions look like this\": \"자막 미리보기\",\n Chapters: \"챕터\",\n \"Closed-Captions Off\": \"자막 켜기\",\n \"Closed-Captions On\": \"자막 끄기\",\n Connected: \"연결됨\",\n Continue: \"계속\",\n Connecting: \"연결 중\",\n Default: \"기본값\",\n Disabled: \"비활성화\",\n Disconnected: \"연결 끊김\",\n \"Display Background\": \"배경 표시\",\n Download: \"다운로드\",\n \"Enter Fullscreen\": \"전체 화면\",\n \"Enter PiP\": \"화면 속 화면\",\n \"Exit Fullscreen\": \"전체 화면 종료\",\n \"Exit PiP\": \"PiP 종료\",\n Font: \"글꼴\",\n Family: \"글꼴 패밀리\",\n Fullscreen: \"전체 화면\",\n \"Google Cast\": \"Google Cast\",\n \"Keyboard Animations\": \"키보드 애니메이션\",\n LIVE: \"라이브\",\n Loop: \"반복\",\n Mute: \"음소거\",\n Normal: \"보통\",\n Off: \"끄기\",\n Pause: \"일시정지\",\n Play: \"재생\",\n Playback: \"재생\",\n PiP: \"PiP\",\n Quality: \"화질\",\n Replay: \"다시 재생\",\n Reset: \"초기화\",\n \"Seek Backward\": \"뒤로\",\n \"Seek Forward\": \"앞으로\",\n Seek: \"탐색\",\n Settings: \"설정\",\n \"Skip To Live\": \"라이브로 이동\",\n Speed: \"재생 속도\",\n Size: \"크기\",\n Color: \"색상\",\n Opacity: \"불투명도\",\n Shadow: \"그림자\",\n Text: \"텍스트\",\n \"Text Background\": \"텍스트 배경\",\n Track: \"트랙\",\n Unmute: \"음소거 해제\",\n Volume: \"볼륨\",\n },\n}\n\n/* ─── Locale registry ─── */\n\nexport const playerLocales: Record<PlayerLocale, PlayerLocaleData> = {\n \"pt-BR\": ptBR,\n \"en-US\": enUS,\n \"en-GB\": enGB,\n \"es-MX\": esMX,\n \"es-ES\": esES,\n \"fr-FR\": frFR,\n \"fr-CA\": frCA,\n \"zh-CN\": zhCN,\n \"zh-TW\": zhTW,\n \"de-DE\": deDE,\n \"it-IT\": itIT,\n \"ja-JP\": jaJP,\n \"ko-KR\": koKR,\n}\n\n/* ─── Resolver functions ─── */\n\n/** Desktop label keys that map to Vidstack translation keys */\nconst desktopToVidstack: Record<keyof VideoDesktopLabels, (keyof DefaultLayoutTranslations)[]> = {\n play: [\"Play\"],\n pause: [\"Pause\"],\n seekBackward: [\"Seek Backward\"],\n seekForward: [\"Seek Forward\"],\n mute: [\"Mute\"],\n unmute: [\"Unmute\"],\n captionsOn: [\"Closed-Captions On\"],\n captionsOff: [\"Closed-Captions Off\"],\n captions: [\"Captions\"],\n pip: [\"PiP\", \"Enter PiP\"],\n pipExit: [\"Exit PiP\"],\n speed: [\"Speed\"],\n speedNormal: [\"Normal\"],\n quality: [\"Quality\"],\n qualityMenu: [],\n fullscreen: [\"Fullscreen\", \"Enter Fullscreen\"],\n fullscreenExit: [\"Exit Fullscreen\"],\n live: [\"LIVE\", \"Skip To Live\"],\n}\n\n/** Resolve VideoPlayer desktop labels: locale defaults + optional overrides */\nexport function resolveVideoLabels(\n locale: PlayerLocale,\n overrides?: Partial<VideoDesktopLabels>\n): VideoDesktopLabels {\n return { ...playerLocales[locale].desktop, ...overrides }\n}\n\n/** Resolve Vidstack translations: locale defaults + cascade from desktop label overrides */\nexport function resolveVidstackTranslations(\n locale: PlayerLocale,\n desktopOverrides?: Partial<VideoDesktopLabels>\n): DefaultLayoutTranslations {\n const base = { ...playerLocales[locale].vidstack }\n\n if (desktopOverrides) {\n for (const [key, value] of Object.entries(desktopOverrides) as [keyof VideoDesktopLabels, string][]) {\n if (value === undefined) continue\n const vidstackKeys = desktopToVidstack[key]\n for (const vk of vidstackKeys) {\n base[vk] = value\n }\n }\n }\n\n return base\n}\n\n/** Resolve AudioPlayer label: locale default + optional override */\nexport function resolveAudioSpeedNormal(\n locale: PlayerLocale,\n override?: string\n): string {\n return override ?? playerLocales[locale].desktop.speedNormal\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveAudioSpeedNormal } from './chunk-C6BQAAHX.js';
|
|
1
2
|
import { CycleIcon } from './chunk-V7M2NHUO.js';
|
|
2
3
|
import { cn } from './chunk-TYCPXAXF.js';
|
|
3
4
|
import { __spreadValues, __spreadProps } from './chunk-YINJ5YZ5.js';
|
|
@@ -5,8 +6,12 @@ import * as React from 'react';
|
|
|
5
6
|
import { MediaPlayer, MediaProvider, Time, TimeSlider, SeekButton, useMediaState, PlayButton, useMediaRemote, MuteButton, VolumeSlider } from '@vidstack/react';
|
|
6
7
|
import '@vidstack/react/player/styles/base.css';
|
|
7
8
|
import { RotateCcw, Play, Pause, RotateCw, Gauge, Check, VolumeX, Volume1, Volume2 } from 'lucide-react';
|
|
8
|
-
import {
|
|
9
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
9
10
|
|
|
11
|
+
var AudioLabelsContext = React.createContext({ speedNormal: "Normal" });
|
|
12
|
+
function useAudioLabels() {
|
|
13
|
+
return React.useContext(AudioLabelsContext);
|
|
14
|
+
}
|
|
10
15
|
var controlBtnClass = "group/btn inline-flex size-9 cursor-pointer items-center justify-center rounded-md text-foreground outline-none transition-colors hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring group-data-[filled]:text-primary-foreground group-data-[filled]:hover:bg-primary-foreground/10";
|
|
11
16
|
var filledIconClass = "fill-current !stroke-transparent text-foreground group-data-[filled]:text-primary-foreground";
|
|
12
17
|
var outlineIconClass = "text-foreground group-data-[filled]:text-primary-foreground";
|
|
@@ -53,6 +58,7 @@ function AudioSpeedControl() {
|
|
|
53
58
|
const playbackRate = useMediaState("playbackRate");
|
|
54
59
|
const remote = useMediaRemote();
|
|
55
60
|
const [open, setOpen] = React.useState(false);
|
|
61
|
+
const l = useAudioLabels();
|
|
56
62
|
const rates = [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2];
|
|
57
63
|
return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
58
64
|
/* @__PURE__ */ jsx(
|
|
@@ -83,7 +89,7 @@ function AudioSpeedControl() {
|
|
|
83
89
|
),
|
|
84
90
|
children: [
|
|
85
91
|
/* @__PURE__ */ jsx("span", { className: "size-4 flex items-center justify-center", children: playbackRate === rate && /* @__PURE__ */ jsx(CycleIcon, { icon: Check, size: "2xs", decorative: true, className: "text-popover-foreground" }) }),
|
|
86
|
-
/* @__PURE__ */ jsx("span", { className: "font-mono", children: rate === 1 ?
|
|
92
|
+
/* @__PURE__ */ jsx("span", { className: "font-mono", children: rate === 1 ? l.speedNormal : `${rate}x` })
|
|
87
93
|
]
|
|
88
94
|
},
|
|
89
95
|
rate
|
|
@@ -105,10 +111,16 @@ var AudioPlayer = React.forwardRef(
|
|
|
105
111
|
loop = false,
|
|
106
112
|
showSpeed = true,
|
|
107
113
|
startTime,
|
|
114
|
+
locale = "pt-BR",
|
|
115
|
+
labels,
|
|
108
116
|
onTimeUpdate,
|
|
109
117
|
onEnded,
|
|
110
118
|
className
|
|
111
119
|
}, ref) {
|
|
120
|
+
const resolvedLabels = React.useMemo(
|
|
121
|
+
() => ({ speedNormal: resolveAudioSpeedNormal(locale, labels == null ? void 0 : labels.speedNormal) }),
|
|
122
|
+
[locale, labels]
|
|
123
|
+
);
|
|
112
124
|
const player = React.useRef(null);
|
|
113
125
|
React.useImperativeHandle(ref, () => ({
|
|
114
126
|
play() {
|
|
@@ -150,7 +162,7 @@ var AudioPlayer = React.forwardRef(
|
|
|
150
162
|
onCanPlay: handleCanPlay
|
|
151
163
|
}, onTimeUpdate ? { onTimeUpdate: handleTimeUpdate } : {}), onEnded ? { onEnded: handleEnded } : {});
|
|
152
164
|
if (variant === "card") {
|
|
153
|
-
return /* @__PURE__ */ jsxs(
|
|
165
|
+
return /* @__PURE__ */ jsx(AudioLabelsContext.Provider, { value: resolvedLabels, children: /* @__PURE__ */ jsxs(
|
|
154
166
|
MediaPlayer,
|
|
155
167
|
__spreadProps(__spreadValues({
|
|
156
168
|
ref: player,
|
|
@@ -210,9 +222,9 @@ var AudioPlayer = React.forwardRef(
|
|
|
210
222
|
] })
|
|
211
223
|
]
|
|
212
224
|
})
|
|
213
|
-
);
|
|
225
|
+
) });
|
|
214
226
|
}
|
|
215
|
-
return /* @__PURE__ */ jsxs(
|
|
227
|
+
return /* @__PURE__ */ jsx(AudioLabelsContext.Provider, { value: resolvedLabels, children: /* @__PURE__ */ jsxs(
|
|
216
228
|
MediaPlayer,
|
|
217
229
|
__spreadProps(__spreadValues({
|
|
218
230
|
ref: player,
|
|
@@ -240,10 +252,10 @@ var AudioPlayer = React.forwardRef(
|
|
|
240
252
|
/* @__PURE__ */ jsx(AudioVolumeControl, {})
|
|
241
253
|
]
|
|
242
254
|
})
|
|
243
|
-
);
|
|
255
|
+
) });
|
|
244
256
|
}
|
|
245
257
|
);
|
|
246
258
|
|
|
247
259
|
export { AudioPlayer };
|
|
248
|
-
//# sourceMappingURL=chunk-
|
|
249
|
-
//# sourceMappingURL=chunk-
|
|
260
|
+
//# sourceMappingURL=chunk-DCNZ2DRR.js.map
|
|
261
|
+
//# sourceMappingURL=chunk-DCNZ2DRR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/audio-player.tsx"],"names":["AudioPlayer"],"mappings":";;;;;;;;;;AAoFA,IAAM,kBAAA,GAA2B,KAAA,CAAA,aAAA,CAAuC,EAAE,WAAA,EAAa,UAAU,CAAA;AACjG,SAAS,cAAA,GAAiB;AACxB,EAAA,OAAa,iBAAW,kBAAkB,CAAA;AAC5C;AAIA,IAAM,eAAA,GACJ,+RAAA;AAGF,IAAM,eAAA,GACJ,8FAAA;AAEF,IAAM,gBAAA,GACJ,6DAAA;AAIF,SAAS,gBAAA,GAAmB;AAC1B,EAAA,MAAM,QAAA,GAAW,cAAc,QAAQ,CAAA;AACvC,EAAA,uBACE,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAW,eAAA,EACpB,QAAA,EAAA,QAAA,mBACC,GAAA,CAAC,SAAA,EAAA,EAAU,IAAA,EAAM,IAAA,EAAM,IAAA,EAAK,IAAA,EAAK,UAAA,EAAU,IAAA,EAAC,WAAW,eAAA,EAAiB,CAAA,mBAExE,GAAA,CAAC,SAAA,EAAA,EAAU,IAAA,EAAM,KAAA,EAAO,IAAA,EAAK,IAAA,EAAK,UAAA,EAAU,IAAA,EAAC,SAAA,EAAW,eAAA,EAAiB,CAAA,EAE7E,CAAA;AAEJ;AAEA,SAAS,wBAAA,GAA2B;AAClC,EAAA,2BACG,UAAA,EAAA,EAAW,SAAA,EAAW,eAAA,EAAiB,OAAA,EAAS,KAC/C,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,IAAA,EAAM,SAAA,EAAW,MAAK,IAAA,EAAK,UAAA,EAAU,IAAA,EAAC,SAAA,EAAW,kBAAkB,CAAA,EAChF,CAAA;AAEJ;AAEA,SAAS,uBAAA,GAA0B;AACjC,EAAA,2BACG,UAAA,EAAA,EAAW,SAAA,EAAW,eAAA,EAAiB,OAAA,EAAS,IAC/C,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,IAAA,EAAM,QAAA,EAAU,MAAK,IAAA,EAAK,UAAA,EAAU,IAAA,EAAC,SAAA,EAAW,kBAAkB,CAAA,EAC/E,CAAA;AAEJ;AAEA,SAAS,gBAAA,GAAmB;AAC1B,EAAA,MAAM,MAAA,GAAS,cAAc,QAAQ,CAAA;AACrC,EAAA,MAAM,OAAA,GAAU,cAAc,OAAO,CAAA;AAErC,EAAA,MAAM,OAAO,OAAA,IAAW,MAAA,KAAW,IAAI,OAAA,GAAU,MAAA,GAAS,MAAM,OAAA,GAAU,OAAA;AAE1E,EAAA,uBACE,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAW,eAAA,EACrB,8BAAC,SAAA,EAAA,EAAU,IAAA,EAAM,IAAA,EAAM,IAAA,EAAK,IAAA,EAAK,UAAA,EAAU,IAAA,EAAC,SAAA,EAAW,iBAAiB,CAAA,EAC1E,CAAA;AAEJ;AAEA,SAAS,kBAAA,GAAqB;AAC5B,EAAA,uBACE,IAAA,CAAC,YAAA,CAAa,IAAA,EAAb,EAAkB,WAAU,+GAAA,EAC3B,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,YAAA,CAAa,KAAA,EAAb,EAAmB,SAAA,EAAU,kGAAA,EAC5B,QAAA,kBAAA,GAAA,CAAC,YAAA,CAAa,SAAA,EAAb,EAAuB,SAAA,EAAU,+GAAA,EAAgH,CAAA,EACpJ,CAAA;AAAA,oBACA,GAAA,CAAC,YAAA,CAAa,KAAA,EAAb,EAAmB,WAAU,2PAAA,EAA4P;AAAA,GAAA,EAC5R,CAAA;AAEJ;AAEA,SAAS,YAAA,GAAe;AACtB,EAAA,uBACE,IAAA,CAAC,UAAA,CAAW,IAAA,EAAX,EAAgB,WAAU,uGAAA,EACzB,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,UAAA,CAAW,KAAA,EAAX,EAAiB,SAAA,EAAU,kGAAA,EAC1B,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,UAAA,CAAW,QAAA,EAAX,EAAoB,SAAA,EAAU,mIAAA,EAAoI,CAAA;AAAA,sBACnK,GAAA,CAAC,UAAA,CAAW,SAAA,EAAX,EAAqB,WAAU,+GAAA,EAAgH;AAAA,KAAA,EAClJ,CAAA;AAAA,oBACA,GAAA,CAAC,UAAA,CAAW,KAAA,EAAX,EAAiB,WAAU,2PAAA,EAA4P,CAAA;AAAA,oBAGxR,GAAA,CAAC,UAAA,CAAW,OAAA,EAAX,EAAmB,SAAA,EAAU,qHAAA,EAC5B,QAAA,kBAAA,GAAA,CAAC,UAAA,CAAW,KAAA,EAAX,EAAiB,SAAA,EAAU,+GAAA,EAAgH,CAAA,EAC9I;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,gBAAA,GAAmB;AAC1B,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6HAAA,EACb,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,MAAK,SAAA,EAAU,CAAA;AAAA,oBACrB,GAAA,CAAC,UAAK,QAAA,EAAA,GAAA,EAAC,CAAA;AAAA,oBACP,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAK,UAAA,EAAW;AAAA,GAAA,EACxB,CAAA;AAEJ;AAEA,SAAS,iBAAA,GAAoB;AAC3B,EAAA,MAAM,YAAA,GAAe,cAAc,cAAc,CAAA;AACjD,EAAA,MAAM,SAAS,cAAA,EAAe;AAC9B,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAU,eAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,IAAI,cAAA,EAAe;AAEzB,EAAA,MAAM,KAAA,GAAQ,CAAC,GAAA,EAAK,IAAA,EAAM,GAAG,IAAA,EAAM,GAAA,EAAK,MAAM,CAAC,CAAA;AAE/C,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,UAAA,EACb,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,OAAA,EAAS,MAAM,OAAA,CAAQ,CAAC,IAAI,CAAA;AAAA,QAC5B,SAAA,EAAW,eAAA;AAAA,QAEV,2BAAiB,CAAA,mBAChB,GAAA,CAAC,SAAA,EAAA,EAAU,IAAA,EAAM,OAAO,IAAA,EAAK,IAAA,EAAK,UAAA,EAAU,IAAA,EAAC,WAAW,gBAAA,EAAkB,CAAA,mBAE1E,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,6FAAA,EAA+F,QAAA,EAAA;AAAA,UAAA,YAAA;AAAA,UAAa;AAAA,SAAA,EAAC;AAAA;AAAA,KAEjI;AAAA,IAEC,wBACC,IAAA,CAAA,QAAA,EAAA,EAEE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,SAAI,SAAA,EAAU,oBAAA,EAAqB,SAAS,MAAM,OAAA,CAAQ,KAAK,CAAA,EAAG,CAAA;AAAA,0BAElE,KAAA,EAAA,EAAI,SAAA,EAAU,iHACZ,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,qBACV,IAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UAEC,IAAA,EAAK,QAAA;AAAA,UACL,SAAS,MAAM;AACb,YAAA,MAAA,CAAO,mBAAmB,IAAI,CAAA;AAC9B,YAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,UACf,CAAA;AAAA,UACA,SAAA,EAAW,EAAA;AAAA,YACT,0JAAA;AAAA,YACA,iBAAiB,IAAA,IAAQ;AAAA,WAC3B;AAAA,UAEA,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,yCAAA,EACb,QAAA,EAAA,YAAA,KAAiB,wBAAQ,GAAA,CAAC,SAAA,EAAA,EAAU,IAAA,EAAM,KAAA,EAAO,MAAK,KAAA,EAAM,UAAA,EAAU,IAAA,EAAC,SAAA,EAAU,2BAA0B,CAAA,EAC9G,CAAA;AAAA,4BACA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,WAAA,EAAa,QAAA,EAAA,IAAA,KAAS,IAAI,CAAA,CAAE,WAAA,GAAc,CAAA,EAAG,IAAI,CAAA,CAAA,CAAA,EAAI;AAAA;AAAA,SAAA;AAAA,QAdhE;AAAA,OAgBR,CAAA,EACH;AAAA,KAAA,EACF;AAAA,GAAA,EAEJ,CAAA;AAEJ;AAIO,IAAM,WAAA,GAAoB,KAAA,CAAA,UAAA;AAAA,EAC/B,SAASA,YAAAA,CACP;AAAA,IACE,GAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA,GAAc,EAAA;AAAA,IACd,OAAA,GAAU,SAAA;AAAA,IACV,MAAA,GAAS,KAAA;AAAA,IACT,QAAA,GAAW,KAAA;AAAA,IACX,KAAA,GAAQ,KAAA;AAAA,IACR,IAAA,GAAO,KAAA;AAAA,IACP,SAAA,GAAY,IAAA;AAAA,IACZ,SAAA;AAAA,IACA,MAAA,GAAS,OAAA;AAAA,IACT,MAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,KAEF,GAAA,EACA;AACA,IAAA,MAAM,cAAA,GAAuB,KAAA,CAAA,OAAA;AAAA,MAC3B,OAAO,EAAE,WAAA,EAAa,wBAAwB,MAAA,EAAQ,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,WAAW,CAAA,EAAE,CAAA;AAAA,MAC3E,CAAC,QAAQ,MAAM;AAAA,KACjB;AACA,IAAA,MAAM,MAAA,GAAe,aAA4B,IAAI,CAAA;AAErD,IAAM,KAAA,CAAA,mBAAA,CAAoB,KAAK,OAAO;AAAA,MACpC,IAAA,GAAO;AA7Qb,QAAA,IAAA,EAAA;AA8QQ,QAAA,CAAA,EAAA,GAAA,MAAA,CAAO,YAAP,IAAA,GAAA,MAAA,GAAA,EAAA,CAAgB,IAAA,EAAA;AAAA,MAClB,CAAA;AAAA,MACA,KAAA,GAAQ;AAhRd,QAAA,IAAA,EAAA;AAiRQ,QAAA,CAAA,EAAA,GAAA,MAAA,CAAO,YAAP,IAAA,GAAA,MAAA,GAAA,EAAA,CAAgB,KAAA,EAAA;AAAA,MAClB,CAAA;AAAA,MACA,IAAI,WAAA,GAAc;AAnRxB,QAAA,IAAA,EAAA,EAAA,EAAA;AAoRQ,QAAA,OAAA,CAAO,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,CAAO,OAAA,KAAP,IAAA,GAAA,MAAA,GAAA,EAAA,CAAgB,WAAA,KAAhB,IAAA,GAAA,EAAA,GAA+B,CAAA;AAAA,MACxC,CAAA;AAAA,MACA,IAAI,QAAA,GAAW;AAtRrB,QAAA,IAAA,EAAA,EAAA,EAAA;AAuRQ,QAAA,OAAA,CAAO,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,CAAO,OAAA,KAAP,IAAA,GAAA,MAAA,GAAA,EAAA,CAAgB,QAAA,KAAhB,IAAA,GAAA,EAAA,GAA4B,CAAA;AAAA,MACrC;AAAA,KACF,CAAE,CAAA;AAEF,IAAA,MAAM,gBAAA,GAAyB,KAAA,CAAA,WAAA;AAAA,MAC7B,CAAC,MAAA,KAAoC;AACnC,QAAA,IAAI,YAAA,IAAgB,OAAO,OAAA,EAAS;AAClC,UAAA,YAAA,CAAa,MAAA,CAAO,WAAA,EAAa,MAAA,CAAO,OAAA,CAAQ,QAAQ,CAAA;AAAA,QAC1D;AAAA,MACF,CAAA;AAAA,MACA,CAAC,YAAY;AAAA,KACf;AAEA,IAAA,MAAM,WAAA,GAAoB,kBAAY,MAAM;AAC1C,MAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,EAAA;AAAA,IACF,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAGZ,IAAA,MAAM,mBAAA,GAA4B,aAAO,KAAK,CAAA;AAC9C,IAAA,MAAM,aAAA,GAAsB,kBAAY,MAAM;AAC5C,MAAA,IAAI,aAAa,SAAA,GAAY,CAAA,IAAK,CAAC,mBAAA,CAAoB,OAAA,IAAW,OAAO,OAAA,EAAS;AAChF,QAAA,MAAA,CAAO,QAAQ,WAAA,GAAc,SAAA;AAC7B,QAAA,mBAAA,CAAoB,OAAA,GAAU,IAAA;AAAA,MAChC;AAAA,IACF,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,IAAA,MAAM,YAAA,GAAe,cAAA,CAAA,cAAA,CAAA;AAAA,MACnB,SAAA,EAAW;AAAA,KAAA,EACP,YAAA,GAAe,EAAE,YAAA,EAAc,gBAAA,EAAiB,GAAI,EAAC,CAAA,EACrD,OAAA,GAAU,EAAE,OAAA,EAAS,WAAA,EAAY,GAAI,EAAC,CAAA;AAG5C,IAAA,IAAI,YAAY,MAAA,EAAQ;AACtB,MAAA,uBACE,GAAA,CAAC,kBAAA,CAAmB,QAAA,EAAnB,EAA4B,OAAO,cAAA,EACpC,QAAA,kBAAA,IAAA;AAAA,QAAC,WAAA;AAAA,QAAA,aAAA,CAAA,cAAA,CAAA;AAAA,UACC,GAAA,EAAK,MAAA;AAAA,UACL,GAAA;AAAA,UACA,QAAA;AAAA,UACA,KAAA;AAAA,UACA,IAAA;AAAA,UACA,QAAA,EAAS,OAAA;AAAA,UACT,aAAA,EAAa,SAAS,EAAA,GAAK,MAAA;AAAA,UAC3B,KAAA,EAAO,MAAA,GAAS,EAAE,sBAAA,EAAwB,+BAA8B,GAA8B,MAAA;AAAA,UACtG,SAAA,EAAW,EAAA;AAAA,YACT,6FAAA;AAAA,YACA;AAAA;AACF,SAAA,EACI,YAAA,CAAA,EAbL;AAAA,UAeC,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,aAAA,EAAA,EAAc,WAAU,SAAA,EAAU,CAAA;AAAA,4BAGnC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kCAAA,EACZ,QAAA,EAAA;AAAA,cAAA,QAAA,oBACC,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,GAAA,EAAK,QAAA;AAAA,kBACL,GAAA,EAAK,WAAA;AAAA,kBACL,SAAA,EAAU;AAAA;AAAA,eACZ;AAAA,8BAEF,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sCAAA,EACb,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,OAAE,SAAA,EAAW,EAAA;AAAA,kBACZ,mCAAA;AAAA,kBACA,SAAS,yBAAA,GAA4B;AAAA,mBACnC,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,gBACT,QAAA,oBACC,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,EAAA;AAAA,kBACZ,6BAAA;AAAA,kBACA,SAAS,4BAAA,GAA+B;AAAA,mBACtC,QAAA,EAAA,QAAA,EAAS;AAAA,eAAA,EAEjB;AAAA,aAAA,EACF,CAAA;AAAA,gCAGC,KAAA,EAAA,EAAI,SAAA,EAAU,0BAAA,EACb,QAAA,kBAAA,GAAA,CAAC,gBAAa,CAAA,EAChB,CAAA;AAAA,4BAGA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6DAAA,EACb,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,SAAI,SAAA,EAAW,EAAA;AAAA,gBACd,+CAAA;AAAA,gBACA,SAAS,4BAAA,GAA+B;AAAA,eAC1C,EACE,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAK,WAAU,CAAA,EACvB,CAAA;AAAA,8BACA,GAAA,CAAC,SAAI,SAAA,EAAW,EAAA;AAAA,gBACd,+CAAA;AAAA,gBACA,SAAS,4BAAA,GAA+B;AAAA,eAC1C,EACE,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAK,YAAW,CAAA,EACxB;AAAA,aAAA,EACF,CAAA;AAAA,4BAGA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kCAAA,EACb,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,wBAAA,EAAA,EAAyB,CAAA;AAAA,kCACzB,gBAAA,EAAA,EAAiB,CAAA;AAAA,kCACjB,uBAAA,EAAA,EAAwB,CAAA;AAAA,8BAEzB,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAA,EAAS,CAAA;AAAA,cAEvB,SAAA,wBAAc,iBAAA,EAAA,EAAkB,CAAA;AAAA,kCAChC,gBAAA,EAAA,EAAiB,CAAA;AAAA,kCACjB,kBAAA,EAAA,EAAmB;AAAA,aAAA,EACtB;AAAA;AAAA,SAAA;AAAA,OACF,EACA,CAAA;AAAA,IAEJ;AAGA,IAAA,uBACE,GAAA,CAAC,kBAAA,CAAmB,QAAA,EAAnB,EAA4B,OAAO,cAAA,EACpC,QAAA,kBAAA,IAAA;AAAA,MAAC,WAAA;AAAA,MAAA,aAAA,CAAA,cAAA,CAAA;AAAA,QACC,GAAA,EAAK,MAAA;AAAA,QACL,GAAA;AAAA,QACA,QAAA;AAAA,QACA,KAAA;AAAA,QACA,IAAA;AAAA,QACA,QAAA,EAAS,OAAA;AAAA,QACT,aAAA,EAAa,SAAS,EAAA,GAAK,MAAA;AAAA,QAC3B,KAAA,EAAO,MAAA,GAAS,EAAE,sBAAA,EAAwB,+BAA8B,GAA8B,MAAA;AAAA,QACtG,SAAA,EAAW,EAAA;AAAA,UACT,kHAAA;AAAA,UACA;AAAA;AACF,OAAA,EACI,YAAA,CAAA,EAbL;AAAA,QAeC,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,aAAA,EAAA,EAAc,WAAU,SAAA,EAAU,CAAA;AAAA,8BAGlC,wBAAA,EAAA,EAAyB,CAAA;AAAA,8BACzB,gBAAA,EAAA,EAAiB,CAAA;AAAA,8BACjB,uBAAA,EAAA,EAAwB,CAAA;AAAA,8BAGxB,KAAA,EAAA,EAAI,SAAA,EAAU,aAAA,EACb,QAAA,kBAAA,GAAA,CAAC,gBAAa,CAAA,EAChB,CAAA;AAAA,8BAGC,gBAAA,EAAA,EAAiB,CAAA;AAAA,UAGjB,SAAA,wBAAc,iBAAA,EAAA,EAAkB,CAAA;AAAA,8BAChC,gBAAA,EAAA,EAAiB,CAAA;AAAA,8BACjB,kBAAA,EAAA,EAAmB;AAAA;AAAA,OAAA;AAAA,KACtB,EACA,CAAA;AAAA,EAEJ;AACF","file":"chunk-DCNZ2DRR.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport {\n MediaPlayer,\n MediaProvider,\n TimeSlider,\n VolumeSlider,\n Time,\n PlayButton,\n MuteButton,\n SeekButton,\n useMediaState,\n useMediaRemote,\n type MediaPlayerInstance,\n} from \"@vidstack/react\"\nimport \"@vidstack/react/player/styles/base.css\"\nimport {\n Play,\n Pause,\n Volume2,\n VolumeX,\n Volume1,\n RotateCcw,\n RotateCw,\n Gauge,\n Check,\n} from \"lucide-react\"\nimport { CycleIcon } from \"@/components/icons\"\nimport { cn } from \"@/lib/utils\"\nimport { type PlayerLocale, resolveAudioSpeedNormal } from \"@/components/ui/player-i18n\"\n\n/* ─── Types ─── */\n\nexport interface AudioPlayerRef {\n play(): void\n pause(): void\n readonly currentTime: number\n readonly duration: number\n}\n\nexport interface AudioPlayerLabels {\n /** Label da velocidade normal no menu (default depende do locale) */\n speedNormal?: string\n}\n\nexport interface AudioPlayerProps {\n /** URL do audio (mp3, ogg, m3u8) */\n src: string\n /** Nome da track/aula */\n title: string\n /** Subtitulo / nome do curso */\n subtitle?: string\n /** URL da imagem de capa (variante card) */\n coverArt?: string\n /** Alt text da imagem de capa */\n coverArtAlt?: string\n /** Variante de layout */\n variant?: \"default\" | \"card\"\n /** Icones, textos e sliders em primary-foreground — usar com .theme-* */\n filled?: boolean\n /** Iniciar automaticamente */\n autoPlay?: boolean\n /** Iniciar mutado */\n muted?: boolean\n /** Repetir ao terminar */\n loop?: boolean\n /** Exibir controle de velocidade (default: true — EdTech) */\n showSpeed?: boolean\n /** Tempo inicial em segundos — usado para retomar de onde o usuario parou (resume position) */\n startTime?: number\n /** Idioma dos controles (default: \"pt-BR\"). 13 locales pre-configurados. */\n locale?: PlayerLocale\n /** Overrides pontuais de labels — aplicados em cima do locale selecionado */\n labels?: AudioPlayerLabels\n /** Callback com progresso do audio (currentTime em segundos, duration em segundos) */\n onTimeUpdate?: (currentTime: number, duration: number) => void\n /** Callback disparado quando o audio termina */\n onEnded?: () => void\n className?: string\n}\n\n/* ─── Labels context ─── */\n\nconst AudioLabelsContext = React.createContext<{ speedNormal: string }>({ speedNormal: \"Normal\" })\nfunction useAudioLabels() {\n return React.useContext(AudioLabelsContext)\n}\n\n/* ─── Shared styles ─── */\n\nconst controlBtnClass =\n \"group/btn inline-flex size-9 cursor-pointer items-center justify-center rounded-md text-foreground outline-none transition-colors hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring group-data-[filled]:text-primary-foreground group-data-[filled]:hover:bg-primary-foreground/10\"\n\n/** Play, Pause e Volume usam icones filled (solid) — igual YouTube */\nconst filledIconClass =\n \"fill-current !stroke-transparent text-foreground group-data-[filled]:text-primary-foreground\"\n\nconst outlineIconClass =\n \"text-foreground group-data-[filled]:text-primary-foreground\"\n\n/* ─── Sub-components ─── */\n\nfunction AudioPlayControl() {\n const isPaused = useMediaState(\"paused\")\n return (\n <PlayButton className={controlBtnClass}>\n {isPaused ? (\n <CycleIcon icon={Play} size=\"sm\" decorative className={filledIconClass} />\n ) : (\n <CycleIcon icon={Pause} size=\"sm\" decorative className={filledIconClass} />\n )}\n </PlayButton>\n )\n}\n\nfunction AudioSeekBackwardControl() {\n return (\n <SeekButton className={controlBtnClass} seconds={-10}>\n <CycleIcon icon={RotateCcw} size=\"sm\" decorative className={outlineIconClass} />\n </SeekButton>\n )\n}\n\nfunction AudioSeekForwardControl() {\n return (\n <SeekButton className={controlBtnClass} seconds={10}>\n <CycleIcon icon={RotateCw} size=\"sm\" decorative className={outlineIconClass} />\n </SeekButton>\n )\n}\n\nfunction AudioMuteControl() {\n const volume = useMediaState(\"volume\")\n const isMuted = useMediaState(\"muted\")\n\n const Icon = isMuted || volume === 0 ? VolumeX : volume < 0.5 ? Volume1 : Volume2\n\n return (\n <MuteButton className={controlBtnClass}>\n <CycleIcon icon={Icon} size=\"sm\" decorative className={filledIconClass} />\n </MuteButton>\n )\n}\n\nfunction AudioVolumeControl() {\n return (\n <VolumeSlider.Root className=\"group relative hidden h-9 w-20 cursor-pointer touch-none select-none items-center outline-none sm:inline-flex\">\n <VolumeSlider.Track className=\"relative h-[4px] w-full rounded-full bg-accent group-data-[filled]/root:bg-primary-foreground/30\">\n <VolumeSlider.TrackFill className=\"absolute h-full w-[var(--slider-fill)] rounded-full bg-primary group-data-[filled]/root:bg-primary-foreground\" />\n </VolumeSlider.Track>\n <VolumeSlider.Thumb className=\"absolute left-[var(--slider-fill)] top-1/2 size-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary opacity-0 transition-opacity group-data-[active]:opacity-100 group-data-[dragging]:opacity-100 group-data-[filled]/root:bg-primary-foreground\" />\n </VolumeSlider.Root>\n )\n}\n\nfunction AudioSeekBar() {\n return (\n <TimeSlider.Root className=\"group relative inline-flex h-9 w-full cursor-pointer touch-none select-none items-center outline-none\">\n <TimeSlider.Track className=\"relative h-[4px] w-full rounded-full bg-accent group-data-[filled]/root:bg-primary-foreground/30\">\n <TimeSlider.Progress className=\"absolute h-full w-[var(--slider-progress)] rounded-full bg-accent-foreground/20 group-data-[filled]/root:bg-primary-foreground/20\" />\n <TimeSlider.TrackFill className=\"absolute h-full w-[var(--slider-fill)] rounded-full bg-primary group-data-[filled]/root:bg-primary-foreground\" />\n </TimeSlider.Track>\n <TimeSlider.Thumb className=\"absolute left-[var(--slider-fill)] top-1/2 size-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary opacity-0 transition-opacity group-data-[active]:opacity-100 group-data-[dragging]:opacity-100 group-data-[filled]/root:bg-primary-foreground\" />\n\n {/* Time preview on hover */}\n <TimeSlider.Preview className=\"pointer-events-none flex flex-col items-center opacity-0 transition-opacity duration-200 data-[visible]:opacity-100\">\n <TimeSlider.Value className=\"rounded bg-popover px-1.5 py-0.5 text-[11px] font-mono text-popover-foreground border border-border shadow-sm\" />\n </TimeSlider.Preview>\n </TimeSlider.Root>\n )\n}\n\nfunction AudioTimeDisplay() {\n return (\n <div className=\"flex items-center gap-1 text-xs font-mono text-muted-foreground tabular-nums group-data-[filled]:text-primary-foreground/80\">\n <Time type=\"current\" />\n <span>/</span>\n <Time type=\"duration\" />\n </div>\n )\n}\n\nfunction AudioSpeedControl() {\n const playbackRate = useMediaState(\"playbackRate\")\n const remote = useMediaRemote()\n const [open, setOpen] = React.useState(false)\n const l = useAudioLabels()\n\n const rates = [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2]\n\n return (\n <div className=\"relative\">\n <button\n type=\"button\"\n onClick={() => setOpen(!open)}\n className={controlBtnClass}\n >\n {playbackRate === 1 ? (\n <CycleIcon icon={Gauge} size=\"sm\" decorative className={outlineIconClass} />\n ) : (\n <span className=\"text-xs font-mono font-semibold text-foreground group-data-[filled]:text-primary-foreground\">{playbackRate}x</span>\n )}\n </button>\n\n {open && (\n <>\n {/* Backdrop to close */}\n <div className=\"fixed inset-0 z-40\" onClick={() => setOpen(false)} />\n\n <div className=\"absolute bottom-full right-0 z-50 mb-2 min-w-[120px] rounded-lg border border-border bg-popover p-1 shadow-lg\">\n {rates.map((rate) => (\n <button\n key={rate}\n type=\"button\"\n onClick={() => {\n remote.changePlaybackRate(rate)\n setOpen(false)\n }}\n className={cn(\n \"flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm text-popover-foreground/80 transition-colors hover:bg-accent hover:text-popover-foreground\",\n playbackRate === rate && \"text-popover-foreground font-medium\"\n )}\n >\n <span className=\"size-4 flex items-center justify-center\">\n {playbackRate === rate && <CycleIcon icon={Check} size=\"2xs\" decorative className=\"text-popover-foreground\" />}\n </span>\n <span className=\"font-mono\">{rate === 1 ? l.speedNormal : `${rate}x`}</span>\n </button>\n ))}\n </div>\n </>\n )}\n </div>\n )\n}\n\n/* ─── Main component ─── */\n\nexport const AudioPlayer = React.forwardRef<AudioPlayerRef, AudioPlayerProps>(\n function AudioPlayer(\n {\n src,\n title,\n subtitle,\n coverArt,\n coverArtAlt = \"\",\n variant = \"default\",\n filled = false,\n autoPlay = false,\n muted = false,\n loop = false,\n showSpeed = true,\n startTime,\n locale = \"pt-BR\",\n labels,\n onTimeUpdate,\n onEnded,\n className,\n },\n ref\n ) {\n const resolvedLabels = React.useMemo(\n () => ({ speedNormal: resolveAudioSpeedNormal(locale, labels?.speedNormal) }),\n [locale, labels]\n )\n const player = React.useRef<MediaPlayerInstance>(null)\n\n React.useImperativeHandle(ref, () => ({\n play() {\n player.current?.play()\n },\n pause() {\n player.current?.pause()\n },\n get currentTime() {\n return player.current?.currentTime ?? 0\n },\n get duration() {\n return player.current?.duration ?? 0\n },\n }))\n\n const handleTimeUpdate = React.useCallback(\n (detail: { currentTime: number }) => {\n if (onTimeUpdate && player.current) {\n onTimeUpdate(detail.currentTime, player.current.duration)\n }\n },\n [onTimeUpdate]\n )\n\n const handleEnded = React.useCallback(() => {\n onEnded?.()\n }, [onEnded])\n\n // Resume position: seek to startTime once the player is ready\n const hasAppliedStartTime = React.useRef(false)\n const handleCanPlay = React.useCallback(() => {\n if (startTime && startTime > 0 && !hasAppliedStartTime.current && player.current) {\n player.current.currentTime = startTime\n hasAppliedStartTime.current = true\n }\n }, [startTime])\n\n const playerEvents = {\n onCanPlay: handleCanPlay,\n ...(onTimeUpdate ? { onTimeUpdate: handleTimeUpdate } : {}),\n ...(onEnded ? { onEnded: handleEnded } : {}),\n }\n\n if (variant === \"card\") {\n return (\n <AudioLabelsContext.Provider value={resolvedLabels}>\n <MediaPlayer\n ref={player}\n src={src}\n autoPlay={autoPlay}\n muted={muted}\n loop={loop}\n viewType=\"audio\"\n data-filled={filled ? \"\" : undefined}\n style={filled ? { '--primary-foreground': 'var(--secondary-foreground)' } as Record<string, string> : undefined}\n className={cn(\n \"group/root group !block w-full rounded-xl border border-border bg-card p-4 shadow-sm md:p-6\",\n className\n )}\n {...playerEvents}\n >\n <MediaProvider className=\"!hidden\" />\n\n {/* Top: cover art + text */}\n <div className=\"flex gap-4 mb-4 md:gap-5 md:mb-6\">\n {coverArt && (\n <img\n src={coverArt}\n alt={coverArtAlt}\n className=\"size-16 shrink-0 rounded-lg object-cover bg-muted md:size-24 md:rounded-xl\"\n />\n )}\n <div className=\"flex min-w-0 flex-col justify-center\">\n <p className={cn(\n \"truncate heading-md md:heading-xl\",\n filled ? \"text-primary-foreground\" : \"text-card-foreground\"\n )}>{title}</p>\n {subtitle && (\n <p className={cn(\n \"truncate body-md md:body-lg\",\n filled ? \"text-primary-foreground/70\" : \"text-muted-foreground\"\n )}>{subtitle}</p>\n )}\n </div>\n </div>\n\n {/* Seek bar */}\n <div className=\"flex w-full items-center\">\n <AudioSeekBar />\n </div>\n\n {/* Time */}\n <div className=\"flex items-center justify-between px-0.5 -mt-1 mb-1 md:mb-2\">\n <div className={cn(\n \"text-[11px] font-mono tabular-nums md:text-xs\",\n filled ? \"text-primary-foreground/80\" : \"text-muted-foreground\"\n )}>\n <Time type=\"current\" />\n </div>\n <div className={cn(\n \"text-[11px] font-mono tabular-nums md:text-xs\",\n filled ? \"text-primary-foreground/80\" : \"text-muted-foreground\"\n )}>\n <Time type=\"duration\" />\n </div>\n </div>\n\n {/* Controls */}\n <div className=\"flex items-center gap-1 md:gap-2\">\n <AudioSeekBackwardControl />\n <AudioPlayControl />\n <AudioSeekForwardControl />\n\n <div className=\"flex-1\" />\n\n {showSpeed && <AudioSpeedControl />}\n <AudioMuteControl />\n <AudioVolumeControl />\n </div>\n </MediaPlayer>\n </AudioLabelsContext.Provider>\n )\n }\n\n // Default variant (compact bar)\n return (\n <AudioLabelsContext.Provider value={resolvedLabels}>\n <MediaPlayer\n ref={player}\n src={src}\n autoPlay={autoPlay}\n muted={muted}\n loop={loop}\n viewType=\"audio\"\n data-filled={filled ? \"\" : undefined}\n style={filled ? { '--primary-foreground': 'var(--secondary-foreground)' } as Record<string, string> : undefined}\n className={cn(\n \"group/root group !flex w-full items-center gap-1.5 rounded-xl border border-border bg-card px-2 py-1.5 shadow-sm\",\n className\n )}\n {...playerEvents}\n >\n <MediaProvider className=\"!hidden\" />\n\n {/* Left controls */}\n <AudioSeekBackwardControl />\n <AudioPlayControl />\n <AudioSeekForwardControl />\n\n {/* Seek bar */}\n <div className=\"flex-1 px-1\">\n <AudioSeekBar />\n </div>\n\n {/* Time */}\n <AudioTimeDisplay />\n\n {/* Right controls */}\n {showSpeed && <AudioSpeedControl />}\n <AudioMuteControl />\n <AudioVolumeControl />\n </MediaPlayer>\n </AudioLabelsContext.Provider>\n )\n }\n)\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveVideoLabels, resolveVidstackTranslations } from './chunk-C6BQAAHX.js';
|
|
1
2
|
import { CycleIcon } from './chunk-V7M2NHUO.js';
|
|
2
3
|
import { cn } from './chunk-TYCPXAXF.js';
|
|
3
4
|
import { __spreadValues, __spreadProps } from './chunk-YINJ5YZ5.js';
|
|
@@ -8,8 +9,14 @@ import '@vidstack/react/player/styles/base.css';
|
|
|
8
9
|
import '@vidstack/react/player/styles/default/theme.css';
|
|
9
10
|
import '@vidstack/react/player/styles/default/layouts/video.css';
|
|
10
11
|
import { RotateCcw, RotateCw, Play, Pause, VolumeX, Volume1, Volume2, Captions as Captions$1, CaptionsOff, Check, Gauge, Settings, PictureInPicture2, Minimize, Maximize } from 'lucide-react';
|
|
11
|
-
import {
|
|
12
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
12
13
|
|
|
14
|
+
var VideoLabelsContext = React.createContext(
|
|
15
|
+
resolveVideoLabels("pt-BR")
|
|
16
|
+
);
|
|
17
|
+
function useVideoLabels() {
|
|
18
|
+
return React.useContext(VideoLabelsContext);
|
|
19
|
+
}
|
|
13
20
|
var controlBtnClass = "group inline-flex size-9 cursor-pointer items-center justify-center rounded-md text-white outline-none transition-colors hover:bg-white/20 focus-visible:ring-2 focus-visible:ring-white/50";
|
|
14
21
|
var tooltipClass = "z-50 rounded bg-black/90 px-2 py-1 text-xs font-medium text-white shadow-lg animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0";
|
|
15
22
|
function ControlTooltip({ label, children }) {
|
|
@@ -27,19 +34,23 @@ function PlayOverlay() {
|
|
|
27
34
|
}
|
|
28
35
|
function PlayControl() {
|
|
29
36
|
const isPaused = useMediaState("paused");
|
|
30
|
-
|
|
37
|
+
const l = useVideoLabels();
|
|
38
|
+
return /* @__PURE__ */ jsx(ControlTooltip, { label: isPaused ? l.play : l.pause, children: /* @__PURE__ */ jsx(PlayButton, { className: controlBtnClass, children: isPaused ? /* @__PURE__ */ jsx(CycleIcon, { icon: Play, size: "sm", decorative: true, className: filledIconClass }) : /* @__PURE__ */ jsx(CycleIcon, { icon: Pause, size: "sm", decorative: true, className: filledIconClass }) }) });
|
|
31
39
|
}
|
|
32
40
|
function SeekBackwardControl() {
|
|
33
|
-
|
|
41
|
+
const l = useVideoLabels();
|
|
42
|
+
return /* @__PURE__ */ jsx(ControlTooltip, { label: l.seekBackward, children: /* @__PURE__ */ jsx(SeekButton, { className: controlBtnClass, seconds: -10, children: /* @__PURE__ */ jsx(CycleIcon, { icon: RotateCcw, size: "sm", decorative: true, className: "text-white" }) }) });
|
|
34
43
|
}
|
|
35
44
|
function SeekForwardControl() {
|
|
36
|
-
|
|
45
|
+
const l = useVideoLabels();
|
|
46
|
+
return /* @__PURE__ */ jsx(ControlTooltip, { label: l.seekForward, children: /* @__PURE__ */ jsx(SeekButton, { className: controlBtnClass, seconds: 10, children: /* @__PURE__ */ jsx(CycleIcon, { icon: RotateCw, size: "sm", decorative: true, className: "text-white" }) }) });
|
|
37
47
|
}
|
|
38
48
|
function MuteControl() {
|
|
39
49
|
const volume = useMediaState("volume");
|
|
40
50
|
const isMuted = useMediaState("muted");
|
|
51
|
+
const l = useVideoLabels();
|
|
41
52
|
const Icon = isMuted || volume === 0 ? VolumeX : volume < 0.5 ? Volume1 : Volume2;
|
|
42
|
-
const label = isMuted || volume === 0 ?
|
|
53
|
+
const label = isMuted || volume === 0 ? l.unmute : l.mute;
|
|
43
54
|
return /* @__PURE__ */ jsx(ControlTooltip, { label, children: /* @__PURE__ */ jsx(MuteButton, { className: controlBtnClass, children: /* @__PURE__ */ jsx(CycleIcon, { icon: Icon, size: "sm", decorative: true, className: filledIconClass }) }) });
|
|
44
55
|
}
|
|
45
56
|
function VolumeControl() {
|
|
@@ -99,18 +110,19 @@ function CaptionControl() {
|
|
|
99
110
|
const track = useMediaState("textTrack");
|
|
100
111
|
const hasCaptions = useMediaState("hasCaptions");
|
|
101
112
|
const options = useCaptionOptions();
|
|
113
|
+
const l = useVideoLabels();
|
|
102
114
|
if (options.length <= 2) {
|
|
103
|
-
return /* @__PURE__ */ jsx(ControlTooltip, { label: track ?
|
|
115
|
+
return /* @__PURE__ */ jsx(ControlTooltip, { label: track ? l.captionsOn : l.captionsOff, children: /* @__PURE__ */ jsx(CaptionButton, { className: cn(controlBtnClass, !hasCaptions && "opacity-50 pointer-events-none"), children: track ? /* @__PURE__ */ jsx(CycleIcon, { icon: Captions$1, size: "sm", decorative: true, className: "text-white" }) : /* @__PURE__ */ jsx(CycleIcon, { icon: CaptionsOff, size: "sm", decorative: true, className: "text-white" }) }) });
|
|
104
116
|
}
|
|
105
117
|
return /* @__PURE__ */ jsxs(Menu.Root, { children: [
|
|
106
|
-
/* @__PURE__ */ jsx(ControlTooltip, { label:
|
|
118
|
+
/* @__PURE__ */ jsx(ControlTooltip, { label: l.captions, children: /* @__PURE__ */ jsx(Menu.Button, { className: controlBtnClass, children: track ? /* @__PURE__ */ jsx(CycleIcon, { icon: Captions$1, size: "sm", decorative: true, className: "text-white" }) : /* @__PURE__ */ jsx(CycleIcon, { icon: CaptionsOff, size: "sm", decorative: true, className: "text-white" }) }) }),
|
|
107
119
|
/* @__PURE__ */ jsxs(
|
|
108
120
|
Menu.Content,
|
|
109
121
|
{
|
|
110
122
|
className: "absolute bottom-full right-0 z-50 mb-2 min-w-[140px] rounded-lg border border-white/10 bg-black/90 backdrop-blur-md p-1 shadow-xl",
|
|
111
123
|
placement: "top",
|
|
112
124
|
children: [
|
|
113
|
-
/* @__PURE__ */ jsx("p", { className: "px-3 py-1 text-[11px] font-semibold uppercase tracking-wider text-white/50", children:
|
|
125
|
+
/* @__PURE__ */ jsx("p", { className: "px-3 py-1 text-[11px] font-semibold uppercase tracking-wider text-white/50", children: l.captions }),
|
|
114
126
|
/* @__PURE__ */ jsx(Menu.RadioGroup, { value: options.selectedValue, children: options.map((option) => /* @__PURE__ */ jsxs(
|
|
115
127
|
Menu.Radio,
|
|
116
128
|
{
|
|
@@ -135,16 +147,18 @@ function CaptionControl() {
|
|
|
135
147
|
function PIPControl() {
|
|
136
148
|
const isPIP = useMediaState("pictureInPicture");
|
|
137
149
|
const canPIP = useMediaState("canPictureInPicture");
|
|
150
|
+
const l = useVideoLabels();
|
|
138
151
|
if (!canPIP) return null;
|
|
139
|
-
return /* @__PURE__ */ jsx(ControlTooltip, { label: isPIP ?
|
|
152
|
+
return /* @__PURE__ */ jsx(ControlTooltip, { label: isPIP ? l.pipExit : l.pip, children: /* @__PURE__ */ jsx(PIPButton, { className: controlBtnClass, children: /* @__PURE__ */ jsx(CycleIcon, { icon: PictureInPicture2, size: "sm", decorative: true, className: cn("text-white", isPIP && "text-white/100") }) }) });
|
|
140
153
|
}
|
|
141
154
|
function SpeedControl() {
|
|
142
155
|
const playbackRate = useMediaState("playbackRate");
|
|
143
156
|
const remote = useMediaRemote();
|
|
144
157
|
const [open, setOpen] = React.useState(false);
|
|
158
|
+
const l = useVideoLabels();
|
|
145
159
|
const rates = [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2];
|
|
146
160
|
return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
147
|
-
/* @__PURE__ */ jsx(ControlTooltip, { label:
|
|
161
|
+
/* @__PURE__ */ jsx(ControlTooltip, { label: l.speed, children: /* @__PURE__ */ jsx(
|
|
148
162
|
"button",
|
|
149
163
|
{
|
|
150
164
|
type: "button",
|
|
@@ -172,7 +186,7 @@ function SpeedControl() {
|
|
|
172
186
|
),
|
|
173
187
|
children: [
|
|
174
188
|
/* @__PURE__ */ jsx("span", { className: "size-4 flex items-center justify-center", children: playbackRate === rate && /* @__PURE__ */ jsx(CycleIcon, { icon: Check, size: "2xs", decorative: true, className: "text-white" }) }),
|
|
175
|
-
/* @__PURE__ */ jsx("span", { className: "font-mono", children: rate === 1 ?
|
|
189
|
+
/* @__PURE__ */ jsx("span", { className: "font-mono", children: rate === 1 ? l.speedNormal : `${rate}x` })
|
|
176
190
|
]
|
|
177
191
|
},
|
|
178
192
|
rate
|
|
@@ -183,10 +197,11 @@ function SpeedControl() {
|
|
|
183
197
|
function QualityControl() {
|
|
184
198
|
const options = useVideoQualityOptions({ auto: true, sort: "descending" });
|
|
185
199
|
const [open, setOpen] = React.useState(false);
|
|
200
|
+
const l = useVideoLabels();
|
|
186
201
|
options.selectedValue === "auto" ? `Auto${options.selectedQuality ? ` (${options.selectedQuality.height}p)` : ""}` : options.selectedQuality ? `${options.selectedQuality.height}p` : "Auto";
|
|
187
202
|
if (options.disabled) return null;
|
|
188
203
|
return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
189
|
-
/* @__PURE__ */ jsx(ControlTooltip, { label:
|
|
204
|
+
/* @__PURE__ */ jsx(ControlTooltip, { label: l.quality, children: /* @__PURE__ */ jsx(
|
|
190
205
|
"button",
|
|
191
206
|
{
|
|
192
207
|
type: "button",
|
|
@@ -198,7 +213,7 @@ function QualityControl() {
|
|
|
198
213
|
open && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
199
214
|
/* @__PURE__ */ jsx("div", { className: "fixed inset-0 z-40", onClick: () => setOpen(false) }),
|
|
200
215
|
/* @__PURE__ */ jsxs("div", { className: "absolute bottom-full right-0 z-50 mb-2 min-w-[140px] rounded-lg border border-white/10 bg-black/90 backdrop-blur-md p-1 shadow-xl", children: [
|
|
201
|
-
/* @__PURE__ */ jsx("p", { className: "px-3 py-1 text-[11px] font-semibold uppercase tracking-wider text-white/50", children:
|
|
216
|
+
/* @__PURE__ */ jsx("p", { className: "px-3 py-1 text-[11px] font-semibold uppercase tracking-wider text-white/50", children: l.qualityMenu }),
|
|
202
217
|
options.map((option) => /* @__PURE__ */ jsxs(
|
|
203
218
|
"button",
|
|
204
219
|
{
|
|
@@ -224,11 +239,13 @@ function QualityControl() {
|
|
|
224
239
|
}
|
|
225
240
|
function FullscreenControl() {
|
|
226
241
|
const isFullscreen = useMediaState("fullscreen");
|
|
227
|
-
|
|
242
|
+
const l = useVideoLabels();
|
|
243
|
+
return /* @__PURE__ */ jsx(ControlTooltip, { label: isFullscreen ? l.fullscreenExit : l.fullscreen, children: /* @__PURE__ */ jsx(FullscreenButton, { className: controlBtnClass, children: isFullscreen ? /* @__PURE__ */ jsx(CycleIcon, { icon: Minimize, size: "sm", decorative: true, className: "text-white" }) : /* @__PURE__ */ jsx(CycleIcon, { icon: Maximize, size: "sm", decorative: true, className: "text-white" }) }) });
|
|
228
244
|
}
|
|
229
245
|
function LiveIndicator() {
|
|
230
246
|
const isLive = useMediaState("live");
|
|
231
247
|
const isLiveEdge = useMediaState("liveEdge");
|
|
248
|
+
const l = useVideoLabels();
|
|
232
249
|
if (!isLive) return null;
|
|
233
250
|
return /* @__PURE__ */ jsxs(
|
|
234
251
|
LiveButton,
|
|
@@ -247,7 +264,7 @@ function LiveIndicator() {
|
|
|
247
264
|
)
|
|
248
265
|
}
|
|
249
266
|
),
|
|
250
|
-
|
|
267
|
+
l.live
|
|
251
268
|
]
|
|
252
269
|
}
|
|
253
270
|
);
|
|
@@ -351,10 +368,20 @@ var VideoPlayer = React.forwardRef(
|
|
|
351
368
|
muted = false,
|
|
352
369
|
loop = false,
|
|
353
370
|
startTime,
|
|
371
|
+
locale = "pt-BR",
|
|
372
|
+
labels,
|
|
354
373
|
onTimeUpdate,
|
|
355
374
|
onEnded,
|
|
356
375
|
className
|
|
357
376
|
}, ref) {
|
|
377
|
+
const resolvedLabels = React.useMemo(
|
|
378
|
+
() => resolveVideoLabels(locale, labels),
|
|
379
|
+
[locale, labels]
|
|
380
|
+
);
|
|
381
|
+
const vidstackTranslations = React.useMemo(
|
|
382
|
+
() => resolveVidstackTranslations(locale, labels),
|
|
383
|
+
[locale, labels]
|
|
384
|
+
);
|
|
358
385
|
const player = React.useRef(null);
|
|
359
386
|
React.useImperativeHandle(ref, () => ({
|
|
360
387
|
play() {
|
|
@@ -433,7 +460,7 @@ var VideoPlayer = React.forwardRef(
|
|
|
433
460
|
React.useEffect(() => {
|
|
434
461
|
return () => clearTimeout(feedbackTimeout.current);
|
|
435
462
|
}, []);
|
|
436
|
-
return /* @__PURE__ */ jsxs(
|
|
463
|
+
return /* @__PURE__ */ jsx(VideoLabelsContext.Provider, { value: resolvedLabels, children: /* @__PURE__ */ jsxs(
|
|
437
464
|
MediaPlayer,
|
|
438
465
|
__spreadProps(__spreadValues({
|
|
439
466
|
ref: player,
|
|
@@ -489,7 +516,8 @@ var VideoPlayer = React.forwardRef(
|
|
|
489
516
|
{
|
|
490
517
|
icons: defaultLayoutIcons,
|
|
491
518
|
thumbnails,
|
|
492
|
-
colorScheme: "dark"
|
|
519
|
+
colorScheme: "dark",
|
|
520
|
+
translations: vidstackTranslations
|
|
493
521
|
}
|
|
494
522
|
),
|
|
495
523
|
isDesktop && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -521,10 +549,10 @@ var VideoPlayer = React.forwardRef(
|
|
|
521
549
|
] })
|
|
522
550
|
]
|
|
523
551
|
})
|
|
524
|
-
);
|
|
552
|
+
) });
|
|
525
553
|
}
|
|
526
554
|
);
|
|
527
555
|
|
|
528
556
|
export { VideoPlayer };
|
|
529
|
-
//# sourceMappingURL=chunk-
|
|
530
|
-
//# sourceMappingURL=chunk-
|
|
557
|
+
//# sourceMappingURL=chunk-V3CBOIGK.js.map
|
|
558
|
+
//# sourceMappingURL=chunk-V3CBOIGK.js.map
|