@fluencypassdevs/cycle 1.13.0 → 1.15.1

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 (251) hide show
  1. package/bin/mcp.mjs +199 -0
  2. package/dist/{chunk-YINJ5YZ5.js → chunk-2NMEKWO5.js} +2 -2
  3. package/dist/{chunk-YINJ5YZ5.js.map → chunk-2NMEKWO5.js.map} +1 -1
  4. package/dist/{chunk-5I4PGGLN.js → chunk-3TSOMZJO.js} +4 -4
  5. package/dist/{chunk-5I4PGGLN.js.map → chunk-3TSOMZJO.js.map} +1 -1
  6. package/dist/{chunk-L32AMI4K.js → chunk-3VAYZAEF.js} +8 -8
  7. package/dist/{chunk-L32AMI4K.js.map → chunk-3VAYZAEF.js.map} +1 -1
  8. package/dist/{chunk-EF6FQT4Y.js → chunk-46SWH3RS.js} +4 -4
  9. package/dist/{chunk-EF6FQT4Y.js.map → chunk-46SWH3RS.js.map} +1 -1
  10. package/dist/{chunk-YJ4U7ISM.js → chunk-5Z3ZM7PS.js} +4 -4
  11. package/dist/{chunk-YJ4U7ISM.js.map → chunk-5Z3ZM7PS.js.map} +1 -1
  12. package/dist/{chunk-5BNTQSCS.js → chunk-6ANVMIR5.js} +4 -4
  13. package/dist/{chunk-5BNTQSCS.js.map → chunk-6ANVMIR5.js.map} +1 -1
  14. package/dist/{chunk-QZVQPUVT.js → chunk-6RHG4VOA.js} +4 -4
  15. package/dist/{chunk-QZVQPUVT.js.map → chunk-6RHG4VOA.js.map} +1 -1
  16. package/dist/{chunk-JMNMW54C.js → chunk-7AACZB3Q.js} +4 -4
  17. package/dist/{chunk-JMNMW54C.js.map → chunk-7AACZB3Q.js.map} +1 -1
  18. package/dist/{chunk-JGUDRAWA.js → chunk-AIBZJWUG.js} +8 -8
  19. package/dist/{chunk-JGUDRAWA.js.map → chunk-AIBZJWUG.js.map} +1 -1
  20. package/dist/{chunk-MTKKVYNS.js → chunk-AUCSNGST.js} +4 -4
  21. package/dist/{chunk-MTKKVYNS.js.map → chunk-AUCSNGST.js.map} +1 -1
  22. package/dist/{chunk-SZUWVHP4.js → chunk-C2P3ZSEY.js} +4 -4
  23. package/dist/{chunk-SZUWVHP4.js.map → chunk-C2P3ZSEY.js.map} +1 -1
  24. package/dist/{chunk-NOMLQHZS.js → chunk-C5JGLWV6.js} +4 -4
  25. package/dist/{chunk-NOMLQHZS.js.map → chunk-C5JGLWV6.js.map} +1 -1
  26. package/dist/{chunk-HZJRM5EK.js → chunk-C6YZNBOO.js} +5 -5
  27. package/dist/{chunk-HZJRM5EK.js.map → chunk-C6YZNBOO.js.map} +1 -1
  28. package/dist/{chunk-3EFI7PYC.js → chunk-CBBCTX3A.js} +5 -5
  29. package/dist/{chunk-3EFI7PYC.js.map → chunk-CBBCTX3A.js.map} +1 -1
  30. package/dist/{chunk-7NFHHOAE.js → chunk-CMOTOQK7.js} +4 -4
  31. package/dist/{chunk-7NFHHOAE.js.map → chunk-CMOTOQK7.js.map} +1 -1
  32. package/dist/chunk-DO4M3OVV.js +49 -0
  33. package/dist/chunk-DO4M3OVV.js.map +1 -0
  34. package/dist/{chunk-DCNZ2DRR.js → chunk-E3E64CT4.js} +6 -6
  35. package/dist/{chunk-DCNZ2DRR.js.map → chunk-E3E64CT4.js.map} +1 -1
  36. package/dist/{chunk-MSLQRGSP.js → chunk-E6WZOLWX.js} +4 -4
  37. package/dist/{chunk-MSLQRGSP.js.map → chunk-E6WZOLWX.js.map} +1 -1
  38. package/dist/{chunk-C6BQAAHX.js → chunk-EFT7BHN7.js} +3 -3
  39. package/dist/{chunk-C6BQAAHX.js.map → chunk-EFT7BHN7.js.map} +1 -1
  40. package/dist/{chunk-CIM6KJH5.js → chunk-EMX27A3U.js} +4 -4
  41. package/dist/{chunk-CIM6KJH5.js.map → chunk-EMX27A3U.js.map} +1 -1
  42. package/dist/{chunk-ELZCZ6ZH.js → chunk-EZVWNHDF.js} +5 -5
  43. package/dist/{chunk-ELZCZ6ZH.js.map → chunk-EZVWNHDF.js.map} +1 -1
  44. package/dist/chunk-FTR4NEFA.js +26 -0
  45. package/dist/chunk-FTR4NEFA.js.map +1 -0
  46. package/dist/chunk-GR65GV2N.js +29 -0
  47. package/dist/chunk-GR65GV2N.js.map +1 -0
  48. package/dist/{chunk-I5A3CME4.js → chunk-H6VG367Y.js} +4 -4
  49. package/dist/{chunk-I5A3CME4.js.map → chunk-H6VG367Y.js.map} +1 -1
  50. package/dist/{chunk-A3Z5GGAI.js → chunk-HBFS7W6V.js} +4 -4
  51. package/dist/{chunk-A3Z5GGAI.js.map → chunk-HBFS7W6V.js.map} +1 -1
  52. package/dist/{chunk-5NKTYXWQ.js → chunk-HCSVANPX.js} +5 -5
  53. package/dist/{chunk-5NKTYXWQ.js.map → chunk-HCSVANPX.js.map} +1 -1
  54. package/dist/{chunk-QANROH2K.js → chunk-HIAYFCBX.js} +4 -4
  55. package/dist/{chunk-QANROH2K.js.map → chunk-HIAYFCBX.js.map} +1 -1
  56. package/dist/chunk-HXFGULDU.js +55 -0
  57. package/dist/chunk-HXFGULDU.js.map +1 -0
  58. package/dist/{chunk-726XFHED.js → chunk-HZOLDTOT.js} +4 -4
  59. package/dist/{chunk-726XFHED.js.map → chunk-HZOLDTOT.js.map} +1 -1
  60. package/dist/{chunk-74WKJRW7.js → chunk-I4DM7SVV.js} +4 -4
  61. package/dist/{chunk-74WKJRW7.js.map → chunk-I4DM7SVV.js.map} +1 -1
  62. package/dist/{chunk-V7M2NHUO.js → chunk-IGFCIAF3.js} +3 -3
  63. package/dist/{chunk-V7M2NHUO.js.map → chunk-IGFCIAF3.js.map} +1 -1
  64. package/dist/{chunk-NYJMA2T7.js → chunk-ILYZQBBN.js} +4 -4
  65. package/dist/{chunk-NYJMA2T7.js.map → chunk-ILYZQBBN.js.map} +1 -1
  66. package/dist/{chunk-X4IBONFB.js → chunk-J3DGYZGK.js} +4 -4
  67. package/dist/{chunk-X4IBONFB.js.map → chunk-J3DGYZGK.js.map} +1 -1
  68. package/dist/{chunk-6OYSTCGP.js → chunk-JDGM46MB.js} +4 -4
  69. package/dist/{chunk-6OYSTCGP.js.map → chunk-JDGM46MB.js.map} +1 -1
  70. package/dist/{chunk-66CU7J2I.js → chunk-JDPJQSZV.js} +4 -4
  71. package/dist/{chunk-66CU7J2I.js.map → chunk-JDPJQSZV.js.map} +1 -1
  72. package/dist/{chunk-CWMXYPWK.js → chunk-JGZGZIGR.js} +4 -4
  73. package/dist/{chunk-CWMXYPWK.js.map → chunk-JGZGZIGR.js.map} +1 -1
  74. package/dist/{chunk-JRJBKPXW.js → chunk-JUVL7GN2.js} +4 -4
  75. package/dist/{chunk-JRJBKPXW.js.map → chunk-JUVL7GN2.js.map} +1 -1
  76. package/dist/chunk-K2XIXOMO.js +24 -0
  77. package/dist/chunk-K2XIXOMO.js.map +1 -0
  78. package/dist/{chunk-2MXR6RRJ.js → chunk-KCEFPJZT.js} +4 -4
  79. package/dist/{chunk-2MXR6RRJ.js.map → chunk-KCEFPJZT.js.map} +1 -1
  80. package/dist/{chunk-L2DJS6PG.js → chunk-KRENXLKC.js} +6 -6
  81. package/dist/{chunk-L2DJS6PG.js.map → chunk-KRENXLKC.js.map} +1 -1
  82. package/dist/{chunk-2EKU7RP4.js → chunk-KSALAAWD.js} +4 -4
  83. package/dist/{chunk-2EKU7RP4.js.map → chunk-KSALAAWD.js.map} +1 -1
  84. package/dist/{chunk-JJETOZMI.js → chunk-LBMPZDD5.js} +4 -4
  85. package/dist/{chunk-JJETOZMI.js.map → chunk-LBMPZDD5.js.map} +1 -1
  86. package/dist/{chunk-W4GSXVJ2.js → chunk-LC55JPI4.js} +4 -4
  87. package/dist/{chunk-W4GSXVJ2.js.map → chunk-LC55JPI4.js.map} +1 -1
  88. package/dist/{chunk-CG7NXMBC.js → chunk-M3U2TKWS.js} +8 -8
  89. package/dist/{chunk-CG7NXMBC.js.map → chunk-M3U2TKWS.js.map} +1 -1
  90. package/dist/{chunk-UEJLA7Q6.js → chunk-M56K3ZKY.js} +4 -4
  91. package/dist/{chunk-UEJLA7Q6.js.map → chunk-M56K3ZKY.js.map} +1 -1
  92. package/dist/{chunk-D4UH2HJQ.js → chunk-MJKZELI3.js} +7 -7
  93. package/dist/{chunk-D4UH2HJQ.js.map → chunk-MJKZELI3.js.map} +1 -1
  94. package/dist/{chunk-5XNYJECW.js → chunk-NE5CT5LH.js} +5 -5
  95. package/dist/{chunk-5XNYJECW.js.map → chunk-NE5CT5LH.js.map} +1 -1
  96. package/dist/chunk-OHRYR7PN.js +37 -0
  97. package/dist/chunk-OHRYR7PN.js.map +1 -0
  98. package/dist/{chunk-NVA4ZJOS.js → chunk-QM54AVC7.js} +4 -4
  99. package/dist/{chunk-NVA4ZJOS.js.map → chunk-QM54AVC7.js.map} +1 -1
  100. package/dist/{chunk-TYCPXAXF.js → chunk-QTH4LSO6.js} +3 -2
  101. package/dist/chunk-QTH4LSO6.js.map +1 -0
  102. package/dist/{chunk-ZTANTDKS.js → chunk-RXCQLSWL.js} +4 -4
  103. package/dist/{chunk-ZTANTDKS.js.map → chunk-RXCQLSWL.js.map} +1 -1
  104. package/dist/{chunk-IGMII4BK.js → chunk-SCZXIVL5.js} +4 -4
  105. package/dist/{chunk-IGMII4BK.js.map → chunk-SCZXIVL5.js.map} +1 -1
  106. package/dist/chunk-SDPIL7HA.js +65 -0
  107. package/dist/chunk-SDPIL7HA.js.map +1 -0
  108. package/dist/chunk-SIEPZ5LD.js +29 -0
  109. package/dist/chunk-SIEPZ5LD.js.map +1 -0
  110. package/dist/{chunk-V3CBOIGK.js → chunk-SXCNJQ7S.js} +6 -6
  111. package/dist/{chunk-V3CBOIGK.js.map → chunk-SXCNJQ7S.js.map} +1 -1
  112. package/dist/{chunk-7ZXAU2CD.js → chunk-T5AHJXEY.js} +5 -5
  113. package/dist/{chunk-7ZXAU2CD.js.map → chunk-T5AHJXEY.js.map} +1 -1
  114. package/dist/chunk-T7EIAVSF.js +18 -0
  115. package/dist/chunk-T7EIAVSF.js.map +1 -0
  116. package/dist/{chunk-F2Q3E2ZM.js → chunk-TBLO2A4C.js} +4 -4
  117. package/dist/{chunk-F2Q3E2ZM.js.map → chunk-TBLO2A4C.js.map} +1 -1
  118. package/dist/chunk-U27GHP5Z.js +24 -0
  119. package/dist/chunk-U27GHP5Z.js.map +1 -0
  120. package/dist/chunk-U2SCIVKI.js +27 -0
  121. package/dist/chunk-U2SCIVKI.js.map +1 -0
  122. package/dist/{chunk-AL2ALTBH.js → chunk-WL6J5ZVH.js} +4 -4
  123. package/dist/{chunk-AL2ALTBH.js.map → chunk-WL6J5ZVH.js.map} +1 -1
  124. package/dist/{chunk-5LZHXNBV.js → chunk-WMOGNJWP.js} +3 -3
  125. package/dist/{chunk-5LZHXNBV.js.map → chunk-WMOGNJWP.js.map} +1 -1
  126. package/dist/chunk-WUK6APAX.js +57 -0
  127. package/dist/chunk-WUK6APAX.js.map +1 -0
  128. package/dist/chunk-XDJ2E6KQ.js +33 -0
  129. package/dist/chunk-XDJ2E6KQ.js.map +1 -0
  130. package/dist/{chunk-F2XA2Z75.js → chunk-XMZVSCCY.js} +7 -7
  131. package/dist/{chunk-F2XA2Z75.js.map → chunk-XMZVSCCY.js.map} +1 -1
  132. package/dist/chunk-XXTQV27H.js +77 -0
  133. package/dist/chunk-XXTQV27H.js.map +1 -0
  134. package/dist/{chunk-3LXU5C35.js → chunk-Y33BGBHR.js} +4 -4
  135. package/dist/{chunk-3LXU5C35.js.map → chunk-Y33BGBHR.js.map} +1 -1
  136. package/dist/{chunk-JPEDYOV7.js → chunk-YW7VSQJE.js} +4 -4
  137. package/dist/{chunk-JPEDYOV7.js.map → chunk-YW7VSQJE.js.map} +1 -1
  138. package/dist/{chunk-PY2BIZNB.js → chunk-ZJRXBOM2.js} +4 -4
  139. package/dist/{chunk-PY2BIZNB.js.map → chunk-ZJRXBOM2.js.map} +1 -1
  140. package/dist/composites/chat-thread.js +14 -13
  141. package/dist/hooks/use-intersection.d.ts +34 -0
  142. package/dist/hooks/use-intersection.js +5 -0
  143. package/dist/hooks/use-intersection.js.map +1 -0
  144. package/dist/hooks/use-reduced-motion.d.ts +11 -0
  145. package/dist/hooks/use-reduced-motion.js +5 -0
  146. package/dist/hooks/use-reduced-motion.js.map +1 -0
  147. package/dist/icons/index.js +4 -3
  148. package/dist/icons/lucide.js +1 -0
  149. package/dist/index.js +56 -55
  150. package/dist/layout/container.js +4 -3
  151. package/dist/layout/grid.js +4 -3
  152. package/dist/layout/stack.js +4 -3
  153. package/dist/lib/utils.js +3 -2
  154. package/dist/logos/fluencypass.js +4 -3
  155. package/dist/logos/product.js +5 -4
  156. package/dist/marketing/effects/card-dark-glow.d.ts +30 -0
  157. package/dist/marketing/effects/card-dark-glow.js +6 -0
  158. package/dist/marketing/effects/card-dark-glow.js.map +1 -0
  159. package/dist/marketing/effects/circle-glow.d.ts +26 -0
  160. package/dist/marketing/effects/circle-glow.js +6 -0
  161. package/dist/marketing/effects/circle-glow.js.map +1 -0
  162. package/dist/marketing/effects/index.d.ts +4 -0
  163. package/dist/marketing/effects/index.js +8 -0
  164. package/dist/marketing/effects/index.js.map +1 -0
  165. package/dist/marketing/effects/marquee.d.ts +30 -0
  166. package/dist/marketing/effects/marquee.js +6 -0
  167. package/dist/marketing/effects/marquee.js.map +1 -0
  168. package/dist/marketing/layout/index.d.ts +2 -0
  169. package/dist/marketing/layout/index.js +6 -0
  170. package/dist/marketing/layout/index.js.map +1 -0
  171. package/dist/marketing/layout/section.d.ts +36 -0
  172. package/dist/marketing/layout/section.js +6 -0
  173. package/dist/marketing/layout/section.js.map +1 -0
  174. package/dist/marketing/motion/animated-number.d.ts +35 -0
  175. package/dist/marketing/motion/animated-number.js +8 -0
  176. package/dist/marketing/motion/animated-number.js.map +1 -0
  177. package/dist/marketing/motion/index.d.ts +6 -0
  178. package/dist/marketing/motion/index.js +11 -0
  179. package/dist/marketing/motion/index.js.map +1 -0
  180. package/dist/marketing/motion/reveal-on-scroll.d.ts +27 -0
  181. package/dist/marketing/motion/reveal-on-scroll.js +8 -0
  182. package/dist/marketing/motion/reveal-on-scroll.js.map +1 -0
  183. package/dist/marketing/motion/smooth-anchor.d.ts +31 -0
  184. package/dist/marketing/motion/smooth-anchor.js +5 -0
  185. package/dist/marketing/motion/smooth-anchor.js.map +1 -0
  186. package/dist/marketing/motion/stagger-reveal.d.ts +30 -0
  187. package/dist/marketing/motion/stagger-reveal.js +8 -0
  188. package/dist/marketing/motion/stagger-reveal.js.map +1 -0
  189. package/dist/marketing/typography/hero-heading.d.ts +25 -0
  190. package/dist/marketing/typography/hero-heading.js +6 -0
  191. package/dist/marketing/typography/hero-heading.js.map +1 -0
  192. package/dist/marketing/typography/index.d.ts +5 -0
  193. package/dist/marketing/typography/index.js +9 -0
  194. package/dist/marketing/typography/index.js.map +1 -0
  195. package/dist/marketing/typography/section-eyebrow.d.ts +21 -0
  196. package/dist/marketing/typography/section-eyebrow.js +6 -0
  197. package/dist/marketing/typography/section-eyebrow.js.map +1 -0
  198. package/dist/marketing/typography/section-heading.d.ts +37 -0
  199. package/dist/marketing/typography/section-heading.js +6 -0
  200. package/dist/marketing/typography/section-heading.js.map +1 -0
  201. package/dist/marketing/typography/section-subtitle.d.ts +19 -0
  202. package/dist/marketing/typography/section-subtitle.js +6 -0
  203. package/dist/marketing/typography/section-subtitle.js.map +1 -0
  204. package/dist/styles/tokens.css +192 -0
  205. package/dist/ui/accordion.js +4 -3
  206. package/dist/ui/alert-dialog.js +5 -4
  207. package/dist/ui/alert.js +6 -5
  208. package/dist/ui/audio-player.js +7 -6
  209. package/dist/ui/avatar.js +4 -3
  210. package/dist/ui/badge.js +4 -3
  211. package/dist/ui/button.js +4 -3
  212. package/dist/ui/chat-bubble.js +5 -4
  213. package/dist/ui/chat-message.js +10 -9
  214. package/dist/ui/chat-panel.js +9 -8
  215. package/dist/ui/checkbox.js +4 -3
  216. package/dist/ui/circular-progress.js +4 -3
  217. package/dist/ui/dialog.js +5 -4
  218. package/dist/ui/drawer.js +4 -3
  219. package/dist/ui/dropdown-menu.js +4 -3
  220. package/dist/ui/editor.js +8 -7
  221. package/dist/ui/empty.js +4 -3
  222. package/dist/ui/fab.js +4 -3
  223. package/dist/ui/file-card.js +4 -3
  224. package/dist/ui/input.js +4 -3
  225. package/dist/ui/label.js +4 -3
  226. package/dist/ui/like-dislike.js +8 -7
  227. package/dist/ui/live-waiting.js +7 -6
  228. package/dist/ui/message-bar.js +4 -3
  229. package/dist/ui/message-rating.js +4 -3
  230. package/dist/ui/player-i18n.js +3 -2
  231. package/dist/ui/popover.js +4 -3
  232. package/dist/ui/progress-dot.js +4 -3
  233. package/dist/ui/progress-stage.js +4 -3
  234. package/dist/ui/progress.js +4 -3
  235. package/dist/ui/radio-group.js +4 -3
  236. package/dist/ui/resizable.js +4 -3
  237. package/dist/ui/scroll-area.js +4 -3
  238. package/dist/ui/select.js +4 -3
  239. package/dist/ui/sheet.js +4 -3
  240. package/dist/ui/skeleton.js +4 -3
  241. package/dist/ui/slider.js +4 -3
  242. package/dist/ui/sonner.js +6 -5
  243. package/dist/ui/spinner.js +6 -5
  244. package/dist/ui/switch.js +4 -3
  245. package/dist/ui/tabs.js +4 -3
  246. package/dist/ui/textarea.js +4 -3
  247. package/dist/ui/toggle.js +4 -3
  248. package/dist/ui/tooltip.js +4 -3
  249. package/dist/ui/video-player.js +7 -6
  250. package/package.json +38 -2
  251. package/dist/chunk-TYCPXAXF.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/fab.tsx"],"names":[],"mappings":";;;;;;AAQA,IAAM,WAAA,GAAc,GAAA;AAAA,EAClB,+VAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,mEAAA;AAAA,QACJ,OAAA,EAAS,mEAAA;AAAA,QACT,EAAA,EAAI;AAAA,OACN;AAAA,MACA,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,wDAAA;AAAA,QACT,SAAA,EAAW,8DAAA;AAAA,QACX,OAAA,EAAS;AAAA;AACX,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM,SAAA;AAAA,MACN,OAAA,EAAS;AAAA;AACX;AAEJ;AAEA,IAAM,mBAAA,GAAsB,GAAA;AAAA,EAC1B,8BAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,+EAAA;AAAA,QACJ,OAAA,EAAS,+EAAA;AAAA,QACT,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAaA,IAAM,eAAA,GAAkB;AAAA,EACtB,cAAA,EAAgB,6BAAA;AAAA,EAChB,aAAA,EAAe,4BAAA;AAAA,EACf,eAAA,EAAiB,+CAAA;AAAA,EACjB,IAAA,EAAM;AACR,CAAA;AAEA,SAAS,IAAI,EAAA,EAQA;AARA,EAAA,IAAA,EAAA,GAAA,EAAA,EACX;AAAA,IAAA,SAAA;AAAA,IACA,IAAA,GAAO,SAAA;AAAA,IACP,OAAA,GAAU,SAAA;AAAA,IACV,OAAA,GAAU,KAAA;AAAA,IACV,QAAA,GAAW,KAAA;AAAA,IACX,QAAA,GAAW;AAAA,GAtEb,GAgEa,EAAA,EAOR,KAAA,GAAA,SAAA,CAPQ,EAAA,EAOR;AAAA,IANH,WAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,MAAM,IAAA,GAAO,OAAA,GAAU,IAAA,CAAK,IAAA,GAAO,QAAA;AAEnC,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,KAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,WAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAW,EAAA;AAAA;AAAA,QAET,wSAAA;AAAA;AAAA,QAEA,YAAY,SAAA,IAAa,wDAAA;AAAA,QACzB,YAAY,WAAA,IAAe,8DAAA;AAAA,QAC3B,YAAY,SAAA,IAAa,iGAAA;AAAA;AAAA,QAEzB,QAAA,GAAW,oBAAoB,EAAE,IAAA,EAAM,CAAA,GAAI,WAAA,CAAY,EAAE,IAAA,EAAM,CAAA;AAAA;AAAA,QAE/D,eAAA,CAAgB,8BAAY,cAAc,CAAA;AAAA,QAC1C;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAEJ","file":"chunk-7NFHHOAE.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst fabVariants = cva(\n \"inline-flex shrink-0 items-center justify-center rounded-full whitespace-nowrap transition-all outline-none cursor-pointer shadow-lg hover:shadow-xl focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90\",\n {\n variants: {\n size: {\n sm: \"size-10 [&_svg:not([class*='size-'])]:size-4 [&_svg]:stroke-[1.5]\",\n default: \"size-12 [&_svg:not([class*='size-'])]:size-5 [&_svg]:stroke-[1.5]\",\n lg: \"size-14 [&_svg:not([class*='size-'])]:size-6 [&_svg]:stroke-[1.5]\",\n },\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n outline: \"border border-border bg-background text-foreground hover:bg-accent hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n }\n)\n\nconst fabExtendedVariants = cva(\n \"rounded-full gap-2 button-md\",\n {\n variants: {\n size: {\n sm: \"h-10 px-4 button-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:stroke-[1.5]\",\n default: \"h-12 px-5 button-md [&_svg:not([class*='size-'])]:size-5 [&_svg]:stroke-[1.5]\",\n lg: \"h-14 px-6 button-lg [&_svg:not([class*='size-'])]:size-6 [&_svg]:stroke-[1.5]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nexport interface FabProps\n extends React.ComponentProps<\"button\">,\n VariantProps<typeof fabVariants> {\n /** Render as child element (Slot) */\n asChild?: boolean\n /** Extended mode: pill shape with icon + label. Pass a string or ReactNode for the label. */\n extended?: boolean\n /** Position preset. \"none\" disables fixed positioning. Default: \"bottom-right\" */\n position?: \"bottom-right\" | \"bottom-left\" | \"bottom-center\" | \"none\"\n}\n\nconst positionClasses = {\n \"bottom-right\": \"fixed bottom-6 right-6 z-50\",\n \"bottom-left\": \"fixed bottom-6 left-6 z-50\",\n \"bottom-center\": \"fixed bottom-6 left-1/2 -translate-x-1/2 z-50\",\n none: \"\",\n} as const\n\nfunction Fab({\n className,\n size = \"default\",\n variant = \"default\",\n asChild = false,\n extended = false,\n position = \"bottom-right\",\n ...props\n}: FabProps) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"fab\"\n data-variant={variant}\n data-size={size}\n className={cn(\n // Base styles shared between icon and extended\n \"inline-flex shrink-0 items-center justify-center rounded-full whitespace-nowrap transition-all outline-none cursor-pointer shadow-lg hover:shadow-xl focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n // Variant colors\n variant === \"default\" && \"bg-primary text-primary-foreground hover:bg-primary/90\",\n variant === \"secondary\" && \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n variant === \"outline\" && \"border border-border bg-background text-foreground hover:bg-accent hover:text-accent-foreground\",\n // Size: icon-only (square) vs extended (pill)\n extended ? fabExtendedVariants({ size }) : fabVariants({ size }),\n // Position\n positionClasses[position ?? \"bottom-right\"],\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Fab, fabVariants }\n"]}
1
+ {"version":3,"sources":["../src/components/ui/fab.tsx"],"names":[],"mappings":";;;;;;AAQA,IAAM,WAAA,GAAc,GAAA;AAAA,EAClB,+VAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,mEAAA;AAAA,QACJ,OAAA,EAAS,mEAAA;AAAA,QACT,EAAA,EAAI;AAAA,OACN;AAAA,MACA,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,wDAAA;AAAA,QACT,SAAA,EAAW,8DAAA;AAAA,QACX,OAAA,EAAS;AAAA;AACX,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM,SAAA;AAAA,MACN,OAAA,EAAS;AAAA;AACX;AAEJ;AAEA,IAAM,mBAAA,GAAsB,GAAA;AAAA,EAC1B,8BAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,+EAAA;AAAA,QACJ,OAAA,EAAS,+EAAA;AAAA,QACT,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAaA,IAAM,eAAA,GAAkB;AAAA,EACtB,cAAA,EAAgB,6BAAA;AAAA,EAChB,aAAA,EAAe,4BAAA;AAAA,EACf,eAAA,EAAiB,+CAAA;AAAA,EACjB,IAAA,EAAM;AACR,CAAA;AAEA,SAAS,IAAI,EAAA,EAQA;AARA,EAAA,IAAA,EAAA,GAAA,EAAA,EACX;AAAA,IAAA,SAAA;AAAA,IACA,IAAA,GAAO,SAAA;AAAA,IACP,OAAA,GAAU,SAAA;AAAA,IACV,OAAA,GAAU,KAAA;AAAA,IACV,QAAA,GAAW,KAAA;AAAA,IACX,QAAA,GAAW;AAAA,GAtEb,GAgEa,EAAA,EAOR,KAAA,GAAA,SAAA,CAPQ,EAAA,EAOR;AAAA,IANH,WAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,MAAM,IAAA,GAAO,OAAA,GAAU,IAAA,CAAK,IAAA,GAAO,QAAA;AAEnC,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,KAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,WAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAW,EAAA;AAAA;AAAA,QAET,wSAAA;AAAA;AAAA,QAEA,YAAY,SAAA,IAAa,wDAAA;AAAA,QACzB,YAAY,WAAA,IAAe,8DAAA;AAAA,QAC3B,YAAY,SAAA,IAAa,iGAAA;AAAA;AAAA,QAEzB,QAAA,GAAW,oBAAoB,EAAE,IAAA,EAAM,CAAA,GAAI,WAAA,CAAY,EAAE,IAAA,EAAM,CAAA;AAAA;AAAA,QAE/D,eAAA,CAAgB,8BAAY,cAAc,CAAA;AAAA,QAC1C;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAEJ","file":"chunk-CMOTOQK7.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst fabVariants = cva(\n \"inline-flex shrink-0 items-center justify-center rounded-full whitespace-nowrap transition-all outline-none cursor-pointer shadow-lg hover:shadow-xl focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90\",\n {\n variants: {\n size: {\n sm: \"size-10 [&_svg:not([class*='size-'])]:size-4 [&_svg]:stroke-[1.5]\",\n default: \"size-12 [&_svg:not([class*='size-'])]:size-5 [&_svg]:stroke-[1.5]\",\n lg: \"size-14 [&_svg:not([class*='size-'])]:size-6 [&_svg]:stroke-[1.5]\",\n },\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n outline: \"border border-border bg-background text-foreground hover:bg-accent hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n }\n)\n\nconst fabExtendedVariants = cva(\n \"rounded-full gap-2 button-md\",\n {\n variants: {\n size: {\n sm: \"h-10 px-4 button-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:stroke-[1.5]\",\n default: \"h-12 px-5 button-md [&_svg:not([class*='size-'])]:size-5 [&_svg]:stroke-[1.5]\",\n lg: \"h-14 px-6 button-lg [&_svg:not([class*='size-'])]:size-6 [&_svg]:stroke-[1.5]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nexport interface FabProps\n extends React.ComponentProps<\"button\">,\n VariantProps<typeof fabVariants> {\n /** Render as child element (Slot) */\n asChild?: boolean\n /** Extended mode: pill shape with icon + label. Pass a string or ReactNode for the label. */\n extended?: boolean\n /** Position preset. \"none\" disables fixed positioning. Default: \"bottom-right\" */\n position?: \"bottom-right\" | \"bottom-left\" | \"bottom-center\" | \"none\"\n}\n\nconst positionClasses = {\n \"bottom-right\": \"fixed bottom-6 right-6 z-50\",\n \"bottom-left\": \"fixed bottom-6 left-6 z-50\",\n \"bottom-center\": \"fixed bottom-6 left-1/2 -translate-x-1/2 z-50\",\n none: \"\",\n} as const\n\nfunction Fab({\n className,\n size = \"default\",\n variant = \"default\",\n asChild = false,\n extended = false,\n position = \"bottom-right\",\n ...props\n}: FabProps) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"fab\"\n data-variant={variant}\n data-size={size}\n className={cn(\n // Base styles shared between icon and extended\n \"inline-flex shrink-0 items-center justify-center rounded-full whitespace-nowrap transition-all outline-none cursor-pointer shadow-lg hover:shadow-xl focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n // Variant colors\n variant === \"default\" && \"bg-primary text-primary-foreground hover:bg-primary/90\",\n variant === \"secondary\" && \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n variant === \"outline\" && \"border border-border bg-background text-foreground hover:bg-accent hover:text-accent-foreground\",\n // Size: icon-only (square) vs extended (pill)\n extended ? fabExtendedVariants({ size }) : fabVariants({ size }),\n // Position\n positionClasses[position ?? \"bottom-right\"],\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Fab, fabVariants }\n"]}
@@ -0,0 +1,49 @@
1
+ import { useReducedMotion } from './chunk-T7EIAVSF.js';
2
+ import { useIntersection } from './chunk-OHRYR7PN.js';
3
+ import { cn } from './chunk-QTH4LSO6.js';
4
+ import { __objRest, __spreadProps, __spreadValues } from './chunk-2NMEKWO5.js';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ function RevealOnScroll(_a) {
8
+ var _b = _a, {
9
+ as = "div",
10
+ delay = 0,
11
+ threshold = 0.15,
12
+ rootMargin = "0px 0px -10% 0px",
13
+ repeat = false,
14
+ className,
15
+ style,
16
+ children
17
+ } = _b, props = __objRest(_b, [
18
+ "as",
19
+ "delay",
20
+ "threshold",
21
+ "rootMargin",
22
+ "repeat",
23
+ "className",
24
+ "style",
25
+ "children"
26
+ ]);
27
+ const reduced = useReducedMotion();
28
+ const { ref, isVisible } = useIntersection({
29
+ threshold,
30
+ rootMargin,
31
+ once: !repeat,
32
+ startVisible: reduced
33
+ });
34
+ const Tag = as;
35
+ return /* @__PURE__ */ jsx(
36
+ Tag,
37
+ __spreadProps(__spreadValues({
38
+ ref,
39
+ className: cn("cycle-reveal", isVisible && "is-visible", className),
40
+ style: delay && !reduced ? __spreadValues({ transitionDelay: `${delay}ms` }, style) : style
41
+ }, props), {
42
+ children
43
+ })
44
+ );
45
+ }
46
+
47
+ export { RevealOnScroll };
48
+ //# sourceMappingURL=chunk-DO4M3OVV.js.map
49
+ //# sourceMappingURL=chunk-DO4M3OVV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/marketing/motion/reveal-on-scroll.tsx"],"names":[],"mappings":";;;;;;AA+BA,SAAS,eAAe,EAAA,EAUA;AAVA,EAAA,IAAA,EAAA,GAAA,EAAA,EACtB;AAAA,IAAA,EAAA,GAAK,KAAA;AAAA,IACL,KAAA,GAAQ,CAAA;AAAA,IACR,SAAA,GAAY,IAAA;AAAA,IACZ,UAAA,GAAa,kBAAA;AAAA,IACb,MAAA,GAAS,KAAA;AAAA,IACT,SAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GAvCF,GA+BwB,EAAA,EASnB,KAAA,GAAA,SAAA,CATmB,EAAA,EASnB;AAAA,IARH,IAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,MAAM,UAAU,gBAAA,EAAiB;AACjC,EAAA,MAAM,EAAE,GAAA,EAAK,SAAA,EAAU,GAAI,eAAA,CAA6B;AAAA,IACtD,SAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAM,CAAC,MAAA;AAAA,IACP,YAAA,EAAc;AAAA,GACf,CAAA;AAED,EAAA,MAAM,GAAA,GAAM,EAAA;AACZ,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,cAAA,EAAgB,SAAA,IAAa,cAAc,SAAS,CAAA;AAAA,MAClE,KAAA,EAAO,SAAS,CAAC,OAAA,GAAU,iBAAE,eAAA,EAAiB,CAAA,EAAG,KAAK,CAAA,EAAA,CAAA,EAAA,EAAS,KAAA,CAAA,GAAU;AAAA,KAAA,EACrE,KAAA,CAAA,EAJL;AAAA,MAME;AAAA,KAAA;AAAA,GACH;AAEJ","file":"chunk-DO4M3OVV.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { useIntersection } from \"@/hooks/use-intersection\"\nimport { useReducedMotion } from \"@/hooks/use-reduced-motion\"\n\ntype AsTag = \"div\" | \"section\" | \"article\" | \"header\" | \"footer\" | \"main\" | \"aside\"\n\nexport interface RevealOnScrollProps extends React.HTMLAttributes<HTMLElement> {\n /** Tag HTML renderizada. Default `\"div\"`. */\n as?: AsTag\n /** Delay extra em ms antes de iniciar a animacao. Default `0`. */\n delay?: number\n /** Fracao do elemento que precisa estar visivel pra disparar. Default `0.15`. */\n threshold?: number\n /** Margin do viewport (CSS shorthand). Default `\"0px 0px -10% 0px\"`. */\n rootMargin?: string\n /** Repetir a animacao toda vez que reentrar no viewport. Default `false`. */\n repeat?: boolean\n}\n\n/**\n * Envelopa qualquer conteudo e aplica fade-up suave quando o elemento entra\n * no viewport. Usa a utility `.cycle-reveal` definida em `globals.css` (que\n * faz `opacity 0 → 1` e `translateY(8px → 0)` com `--duration-reveal`).\n *\n * Acessibilidade: respeita `prefers-reduced-motion` — quando habilitado,\n * o conteudo fica imediatamente visivel sem transicao.\n */\nfunction RevealOnScroll({\n as = \"div\",\n delay = 0,\n threshold = 0.15,\n rootMargin = \"0px 0px -10% 0px\",\n repeat = false,\n className,\n style,\n children,\n ...props\n}: RevealOnScrollProps) {\n const reduced = useReducedMotion()\n const { ref, isVisible } = useIntersection<HTMLElement>({\n threshold,\n rootMargin,\n once: !repeat,\n startVisible: reduced,\n })\n\n const Tag = as as React.ElementType\n return (\n <Tag\n ref={ref}\n className={cn(\"cycle-reveal\", isVisible && \"is-visible\", className)}\n style={delay && !reduced ? { transitionDelay: `${delay}ms`, ...style } : style}\n {...props}\n >\n {children}\n </Tag>\n )\n}\n\nexport { RevealOnScroll }\n"]}
@@ -1,7 +1,7 @@
1
- import { resolveAudioSpeedNormal } from './chunk-C6BQAAHX.js';
2
- import { CycleIcon } from './chunk-V7M2NHUO.js';
3
- import { cn } from './chunk-TYCPXAXF.js';
4
- import { __spreadValues, __spreadProps } from './chunk-YINJ5YZ5.js';
1
+ import { resolveAudioSpeedNormal } from './chunk-EFT7BHN7.js';
2
+ import { CycleIcon } from './chunk-IGFCIAF3.js';
3
+ import { cn } from './chunk-QTH4LSO6.js';
4
+ import { __spreadValues, __spreadProps } from './chunk-2NMEKWO5.js';
5
5
  import * as React from 'react';
6
6
  import { MediaPlayer, MediaProvider, Time, TimeSlider, SeekButton, useMediaState, PlayButton, useMediaRemote, MuteButton, VolumeSlider } from '@vidstack/react';
7
7
  import '@vidstack/react/player/styles/base.css';
@@ -257,5 +257,5 @@ var AudioPlayer = React.forwardRef(
257
257
  );
258
258
 
259
259
  export { AudioPlayer };
260
- //# sourceMappingURL=chunk-DCNZ2DRR.js.map
261
- //# sourceMappingURL=chunk-DCNZ2DRR.js.map
260
+ //# sourceMappingURL=chunk-E3E64CT4.js.map
261
+ //# sourceMappingURL=chunk-E3E64CT4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/audio-player.tsx"],"names":["AudioPlayer"],"mappings":"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","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
+ {"version":3,"sources":["../src/components/ui/audio-player.tsx"],"names":["AudioPlayer"],"mappings":"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","file":"chunk-E3E64CT4.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,5 +1,5 @@
1
- import { cn } from './chunk-TYCPXAXF.js';
2
- import { __objRest, __spreadValues } from './chunk-YINJ5YZ5.js';
1
+ import { cn } from './chunk-QTH4LSO6.js';
2
+ import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
3
3
  import { Avatar as Avatar$1 } from 'radix-ui';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -109,5 +109,5 @@ function AvatarGroupCount(_a) {
109
109
  }
110
110
 
111
111
  export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage };
112
- //# sourceMappingURL=chunk-MSLQRGSP.js.map
113
- //# sourceMappingURL=chunk-MSLQRGSP.js.map
112
+ //# sourceMappingURL=chunk-E6WZOLWX.js.map
113
+ //# sourceMappingURL=chunk-E6WZOLWX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/avatar.tsx"],"names":["AvatarPrimitive"],"mappings":"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","file":"chunk-MSLQRGSP.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Avatar as AvatarPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Avatar({\n className,\n size = \"default\",\n theme,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: \"default\" | \"sm\" | \"lg\"\n /** Apply a color theme (.theme-*) — colors the fallback bg/text via primary tokens */\n theme?: string\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n data-themed={theme ? \"\" : undefined}\n className={cn(\n \"group/avatar relative flex size-8 shrink-0 rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6\",\n theme,\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full rounded-full\", className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center overflow-hidden rounded-full bg-muted text-sm text-muted-foreground\",\n \"group-data-[size=sm]/avatar:text-xs\",\n \"group-data-[themed]/avatar:bg-primary group-data-[themed]/avatar:text-primary-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full ring-2 ring-background select-none\",\n \"bg-primary text-primary-foreground\",\n \"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroupCount({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n \"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarBadge,\n AvatarGroup,\n AvatarGroupCount,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/ui/avatar.tsx"],"names":["AvatarPrimitive"],"mappings":"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","file":"chunk-E6WZOLWX.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Avatar as AvatarPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Avatar({\n className,\n size = \"default\",\n theme,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: \"default\" | \"sm\" | \"lg\"\n /** Apply a color theme (.theme-*) — colors the fallback bg/text via primary tokens */\n theme?: string\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n data-themed={theme ? \"\" : undefined}\n className={cn(\n \"group/avatar relative flex size-8 shrink-0 rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6\",\n theme,\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full rounded-full\", className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center overflow-hidden rounded-full bg-muted text-sm text-muted-foreground\",\n \"group-data-[size=sm]/avatar:text-xs\",\n \"group-data-[themed]/avatar:bg-primary group-data-[themed]/avatar:text-primary-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full ring-2 ring-background select-none\",\n \"bg-primary text-primary-foreground\",\n \"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroupCount({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n \"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarBadge,\n AvatarGroup,\n AvatarGroupCount,\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __spreadValues } from './chunk-YINJ5YZ5.js';
1
+ import { __spreadValues } from './chunk-2NMEKWO5.js';
2
2
 
3
3
  // src/components/ui/player-i18n.ts
4
4
  var ptBR = {
@@ -869,5 +869,5 @@ function resolveAudioSpeedNormal(locale, override) {
869
869
  }
870
870
 
871
871
  export { playerLocales, resolveAudioSpeedNormal, resolveVideoLabels, resolveVidstackTranslations };
872
- //# sourceMappingURL=chunk-C6BQAAHX.js.map
873
- //# sourceMappingURL=chunk-C6BQAAHX.js.map
872
+ //# sourceMappingURL=chunk-EFT7BHN7.js.map
873
+ //# sourceMappingURL=chunk-EFT7BHN7.js.map
@@ -1 +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
+ {"version":3,"sources":["../src/components/ui/player-i18n.ts"],"names":[],"mappings":"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","file":"chunk-EFT7BHN7.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,5 +1,5 @@
1
- import { cn } from './chunk-TYCPXAXF.js';
2
- import { __objRest, __spreadValues } from './chunk-YINJ5YZ5.js';
1
+ import { cn } from './chunk-QTH4LSO6.js';
2
+ import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { Toggle as Toggle$1 } from 'radix-ui';
5
5
  import { jsx } from 'react/jsx-runtime';
@@ -55,5 +55,5 @@ function Toggle(_a) {
55
55
  }
56
56
 
57
57
  export { Toggle, toggleVariants };
58
- //# sourceMappingURL=chunk-CIM6KJH5.js.map
59
- //# sourceMappingURL=chunk-CIM6KJH5.js.map
58
+ //# sourceMappingURL=chunk-EMX27A3U.js.map
59
+ //# sourceMappingURL=chunk-EMX27A3U.js.map