@videojs/html 10.0.0-beta.29 → 10.0.0-beta.30

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 (667) hide show
  1. package/cdn/{ar-BgO-vdw6.js → ar-BbHGxPgW.js} +2 -2
  2. package/cdn/{ar-BgO-vdw6.js.map → ar-BbHGxPgW.js.map} +1 -1
  3. package/cdn/{ar-DGKbeOEU.js → ar-DsPINVvV.js} +2 -2
  4. package/cdn/{ar-DGKbeOEU.js.map → ar-DsPINVvV.js.map} +1 -1
  5. package/cdn/audio-headless.dev.js +1 -1
  6. package/cdn/audio-headless.js +1 -1
  7. package/cdn/audio-minimal-ui.dev.js +1 -1
  8. package/cdn/audio-minimal-ui.js +1 -1
  9. package/cdn/audio-minimal.dev.js +4 -4
  10. package/cdn/audio-minimal.dev.js.map +1 -1
  11. package/cdn/audio-minimal.js +1 -1
  12. package/cdn/audio-minimal.js.map +1 -1
  13. package/cdn/audio-ui.dev.js +1 -1
  14. package/cdn/audio-ui.js +1 -1
  15. package/cdn/audio.dev.js +4 -4
  16. package/cdn/audio.dev.js.map +1 -1
  17. package/cdn/audio.js +1 -1
  18. package/cdn/audio.js.map +1 -1
  19. package/cdn/{az-BXA58gAV.js → az-BNG9I9VB.js} +2 -2
  20. package/cdn/{az-BXA58gAV.js.map → az-BNG9I9VB.js.map} +1 -1
  21. package/cdn/{az-BT93Xmvh.js → az-q6l4N3j1.js} +2 -2
  22. package/cdn/{az-BT93Xmvh.js.map → az-q6l4N3j1.js.map} +1 -1
  23. package/cdn/background.dev.js +1 -1
  24. package/cdn/background.js +1 -1
  25. package/cdn/{bg-CNMY77ir.js → bg-BdKU1ynW.js} +2 -2
  26. package/cdn/{bg-CNMY77ir.js.map → bg-BdKU1ynW.js.map} +1 -1
  27. package/cdn/{bg-B3I4SlRq.js → bg-DCWtl1c4.js} +2 -2
  28. package/cdn/{bg-B3I4SlRq.js.map → bg-DCWtl1c4.js.map} +1 -1
  29. package/cdn/{bn-KcCmQhYd.js → bn-BbmORCrv.js} +2 -2
  30. package/cdn/{bn-KcCmQhYd.js.map → bn-BbmORCrv.js.map} +1 -1
  31. package/cdn/{bn-CcLIScl6.js → bn-DZmQ9OJ-.js} +2 -2
  32. package/cdn/{bn-CcLIScl6.js.map → bn-DZmQ9OJ-.js.map} +1 -1
  33. package/cdn/{bs-BGd6Lc0X.js → bs-BvptjSqN.js} +2 -2
  34. package/cdn/{bs-BGd6Lc0X.js.map → bs-BvptjSqN.js.map} +1 -1
  35. package/cdn/{bs-CS5F7Fa6.js → bs-Cw5PmwUl.js} +2 -2
  36. package/cdn/{bs-CS5F7Fa6.js.map → bs-Cw5PmwUl.js.map} +1 -1
  37. package/cdn/{ca-BIdQJZV-.js → ca-Cn5dI2Qs.js} +2 -2
  38. package/cdn/{ca-BIdQJZV-.js.map → ca-Cn5dI2Qs.js.map} +1 -1
  39. package/cdn/{ca-tFUfQ2mI.js → ca-CoCZNriH.js} +2 -2
  40. package/cdn/{ca-tFUfQ2mI.js.map → ca-CoCZNriH.js.map} +1 -1
  41. package/cdn/compounds-CHlzbAKu.js +8 -0
  42. package/cdn/compounds-CHlzbAKu.js.map +1 -0
  43. package/cdn/{compounds-C73u1MeO.js → compounds-D1FPw7jg.js} +99 -109
  44. package/cdn/compounds-D1FPw7jg.js.map +1 -0
  45. package/cdn/{create-player-Db1CIvlK.js → create-player-5UrHNqBI.js} +704 -704
  46. package/cdn/create-player-5UrHNqBI.js.map +1 -0
  47. package/cdn/create-player-LjvbIxIq.js +2 -0
  48. package/cdn/create-player-LjvbIxIq.js.map +1 -0
  49. package/cdn/{cs-B9lsmY_k.js → cs-BV3Sx3fM.js} +2 -2
  50. package/cdn/{cs-B9lsmY_k.js.map → cs-BV3Sx3fM.js.map} +1 -1
  51. package/cdn/{cs-CGi94LND.js → cs-D5U7GOvT.js} +2 -2
  52. package/cdn/{cs-CGi94LND.js.map → cs-D5U7GOvT.js.map} +1 -1
  53. package/cdn/{cy-m5eMZq7d.js → cy-C1ARfOdw.js} +2 -2
  54. package/cdn/{cy-m5eMZq7d.js.map → cy-C1ARfOdw.js.map} +1 -1
  55. package/cdn/{cy-DW6qAdUj.js → cy-DudRluPj.js} +2 -2
  56. package/cdn/{cy-DW6qAdUj.js.map → cy-DudRluPj.js.map} +1 -1
  57. package/cdn/{da-B5RntG8L.js → da-B7ZwuW3M.js} +2 -2
  58. package/cdn/{da-B5RntG8L.js.map → da-B7ZwuW3M.js.map} +1 -1
  59. package/cdn/{da-BW7obU8g.js → da-II10K6Ey.js} +2 -2
  60. package/cdn/{da-BW7obU8g.js.map → da-II10K6Ey.js.map} +1 -1
  61. package/cdn/{de-D3KzJ5Tz.js → de-B6OPMaJ5.js} +2 -2
  62. package/cdn/{de-D3KzJ5Tz.js.map → de-B6OPMaJ5.js.map} +1 -1
  63. package/cdn/{de-B1BbfHoj.js → de-Dp0rNs6I.js} +2 -2
  64. package/cdn/{de-B1BbfHoj.js.map → de-Dp0rNs6I.js.map} +1 -1
  65. package/cdn/device-pixel-ratio-BuD3pqk8.js +2 -0
  66. package/cdn/device-pixel-ratio-BuD3pqk8.js.map +1 -0
  67. package/cdn/device-pixel-ratio-mmUkCbE0.js +48 -0
  68. package/cdn/device-pixel-ratio-mmUkCbE0.js.map +1 -0
  69. package/cdn/{el-DpHi5eUV.js → el-EOboxCMK.js} +2 -2
  70. package/cdn/{el-DpHi5eUV.js.map → el-EOboxCMK.js.map} +1 -1
  71. package/cdn/{el-B0opiKbz.js → el-KnLx85RQ.js} +2 -2
  72. package/cdn/{el-B0opiKbz.js.map → el-KnLx85RQ.js.map} +1 -1
  73. package/cdn/{error-surface-D0bo71gD.js → error-surface-BOIu7qNS.js} +30 -13
  74. package/cdn/error-surface-BOIu7qNS.js.map +1 -0
  75. package/cdn/{error-surface-BID4D3DW.js → error-surface-CK9nYgD5.js} +2 -2
  76. package/cdn/error-surface-CK9nYgD5.js.map +1 -0
  77. package/cdn/{es-DPmLLGjd.js → es--93P_KGd.js} +2 -2
  78. package/cdn/{es-DPmLLGjd.js.map → es--93P_KGd.js.map} +1 -1
  79. package/cdn/{es-R4DSKG7w.js → es-COk6VYCt.js} +2 -2
  80. package/cdn/{es-R4DSKG7w.js.map → es-COk6VYCt.js.map} +1 -1
  81. package/cdn/{et-DQHjBg68.js → et-B_7oInYP.js} +2 -2
  82. package/cdn/{et-DQHjBg68.js.map → et-B_7oInYP.js.map} +1 -1
  83. package/cdn/{et-Ba6ZgMTe.js → et-aUy-aqQn.js} +2 -2
  84. package/cdn/{et-Ba6ZgMTe.js.map → et-aUy-aqQn.js.map} +1 -1
  85. package/cdn/{eu-CBUcm8xq.js → eu-B6ITLPO5.js} +2 -2
  86. package/cdn/{eu-CBUcm8xq.js.map → eu-B6ITLPO5.js.map} +1 -1
  87. package/cdn/{eu-DXctohCN.js → eu-BG9wftF5.js} +2 -2
  88. package/cdn/{eu-DXctohCN.js.map → eu-BG9wftF5.js.map} +1 -1
  89. package/cdn/{fa-BSekhYli.js → fa-Dh0ufSh-.js} +2 -2
  90. package/cdn/{fa-BSekhYli.js.map → fa-Dh0ufSh-.js.map} +1 -1
  91. package/cdn/{fa-DVErbQrK.js → fa-Vvr1px4j.js} +2 -2
  92. package/cdn/{fa-DVErbQrK.js.map → fa-Vvr1px4j.js.map} +1 -1
  93. package/cdn/{fi-CvnyRW00.js → fi-BG_ciEXf.js} +2 -2
  94. package/cdn/{fi-CvnyRW00.js.map → fi-BG_ciEXf.js.map} +1 -1
  95. package/cdn/{fi-CFpiNsK2.js → fi-XtLm7xkM.js} +2 -2
  96. package/cdn/{fi-CFpiNsK2.js.map → fi-XtLm7xkM.js.map} +1 -1
  97. package/cdn/{fr-V1tRQlCS.js → fr-BXWr8Jqu.js} +2 -2
  98. package/cdn/{fr-V1tRQlCS.js.map → fr-BXWr8Jqu.js.map} +1 -1
  99. package/cdn/{fr-DFpP-osm.js → fr-CHcVddjH.js} +2 -2
  100. package/cdn/{fr-DFpP-osm.js.map → fr-CHcVddjH.js.map} +1 -1
  101. package/cdn/{gd-BSg8cDZO.js → gd-4GF6aH0c.js} +2 -2
  102. package/cdn/{gd-BSg8cDZO.js.map → gd-4GF6aH0c.js.map} +1 -1
  103. package/cdn/{gd-qpj49Ajf.js → gd-DjfDHZSD.js} +2 -2
  104. package/cdn/{gd-qpj49Ajf.js.map → gd-DjfDHZSD.js.map} +1 -1
  105. package/cdn/{gesture-element-CeRy1IVs.js → gesture-element-BbNy1Pjt.js} +2 -2
  106. package/cdn/{gesture-element-CeRy1IVs.js.map → gesture-element-BbNy1Pjt.js.map} +1 -1
  107. package/cdn/{gesture-element-DB67OYCE.js → gesture-element-KdpjbbBD.js} +3 -3
  108. package/cdn/{gesture-element-DB67OYCE.js.map → gesture-element-KdpjbbBD.js.map} +1 -1
  109. package/cdn/{gl-BkUKK3Id.js → gl-CMgj66_6.js} +2 -2
  110. package/cdn/{gl-BkUKK3Id.js.map → gl-CMgj66_6.js.map} +1 -1
  111. package/cdn/{gl-9SEblv-S.js → gl-D9ioIzwX.js} +2 -2
  112. package/cdn/{gl-9SEblv-S.js.map → gl-D9ioIzwX.js.map} +1 -1
  113. package/cdn/{he-1PXxurjR.js → he-CfWrcfG4.js} +2 -2
  114. package/cdn/{he-1PXxurjR.js.map → he-CfWrcfG4.js.map} +1 -1
  115. package/cdn/{he-DA_NFjk3.js → he-DfwOOgbT.js} +2 -2
  116. package/cdn/{he-DA_NFjk3.js.map → he-DfwOOgbT.js.map} +1 -1
  117. package/cdn/{hi-u7gnYTbQ.js → hi-BZ3n5dDB.js} +2 -2
  118. package/cdn/{hi-u7gnYTbQ.js.map → hi-BZ3n5dDB.js.map} +1 -1
  119. package/cdn/{hi-qm1t0A8G.js → hi-D3c9qx7l.js} +2 -2
  120. package/cdn/{hi-qm1t0A8G.js.map → hi-D3c9qx7l.js.map} +1 -1
  121. package/cdn/{hr-BlnRGxrs.js → hr-DEA0U32S.js} +2 -2
  122. package/cdn/{hr-BlnRGxrs.js.map → hr-DEA0U32S.js.map} +1 -1
  123. package/cdn/{hr-YlMHxjnx.js → hr-WZJQxYNC.js} +2 -2
  124. package/cdn/{hr-YlMHxjnx.js.map → hr-WZJQxYNC.js.map} +1 -1
  125. package/cdn/{hu-Cpl4civp.js → hu-Ci9TDNn-.js} +2 -2
  126. package/cdn/{hu-Cpl4civp.js.map → hu-Ci9TDNn-.js.map} +1 -1
  127. package/cdn/{hu-CfmcttWR.js → hu-XOjo5JlM.js} +2 -2
  128. package/cdn/{hu-CfmcttWR.js.map → hu-XOjo5JlM.js.map} +1 -1
  129. package/cdn/{i18n-D0nhPa0m.js → i18n-DeI9j-ko.js} +2 -2
  130. package/cdn/{i18n-D0nhPa0m.js.map → i18n-DeI9j-ko.js.map} +1 -1
  131. package/cdn/i18n-R3TQ8P2f.js +2 -0
  132. package/cdn/{i18n-CpBDXf6M.js.map → i18n-R3TQ8P2f.js.map} +1 -1
  133. package/cdn/i18n.dev.js +53 -53
  134. package/cdn/i18n.js +1 -1
  135. package/cdn/{id-COi2HloV.js → id-D2Z0jj2m.js} +2 -2
  136. package/cdn/{id-COi2HloV.js.map → id-D2Z0jj2m.js.map} +1 -1
  137. package/cdn/{id-Be_i6jhO.js → id-D9XC3sJi.js} +2 -2
  138. package/cdn/{id-Be_i6jhO.js.map → id-D9XC3sJi.js.map} +1 -1
  139. package/cdn/{it-B18weK94.js → it-CDVRQsJC.js} +2 -2
  140. package/cdn/{it-B18weK94.js.map → it-CDVRQsJC.js.map} +1 -1
  141. package/cdn/{it-DKKYDPD1.js → it-tbmwIgns.js} +2 -2
  142. package/cdn/{it-DKKYDPD1.js.map → it-tbmwIgns.js.map} +1 -1
  143. package/cdn/{ja-CeZwzavz.js → ja-Di4sbE9W.js} +2 -2
  144. package/cdn/{ja-CeZwzavz.js.map → ja-Di4sbE9W.js.map} +1 -1
  145. package/cdn/{ja-Bk6dXsfM.js → ja-DuWgmes7.js} +2 -2
  146. package/cdn/{ja-Bk6dXsfM.js.map → ja-DuWgmes7.js.map} +1 -1
  147. package/cdn/{ko-DpALhNiw.js → ko-BX5hcvm_.js} +2 -2
  148. package/cdn/{ko-DpALhNiw.js.map → ko-BX5hcvm_.js.map} +1 -1
  149. package/cdn/{ko-DzP46eEm.js → ko-CvalpIGs.js} +2 -2
  150. package/cdn/{ko-DzP46eEm.js.map → ko-CvalpIGs.js.map} +1 -1
  151. package/cdn/{live-button-element-Co8z2LkI.js → live-button-element-C-WypudK.js} +2 -2
  152. package/cdn/{live-button-element-Co8z2LkI.js.map → live-button-element-C-WypudK.js.map} +1 -1
  153. package/cdn/{live-button-element-zE-8uoR2.js → live-button-element-CylfQD0v.js} +3 -3
  154. package/cdn/{live-button-element-zE-8uoR2.js.map → live-button-element-CylfQD0v.js.map} +1 -1
  155. package/cdn/live-video-minimal.dev.js +7 -7
  156. package/cdn/live-video-minimal.dev.js.map +1 -1
  157. package/cdn/live-video-minimal.js +1 -1
  158. package/cdn/live-video-minimal.js.map +1 -1
  159. package/cdn/live-video.dev.js +8 -8
  160. package/cdn/live-video.dev.js.map +1 -1
  161. package/cdn/live-video.js +1 -1
  162. package/cdn/live-video.js.map +1 -1
  163. package/cdn/locales/ar.dev.js +1 -1
  164. package/cdn/locales/ar.js +1 -1
  165. package/cdn/locales/az.dev.js +1 -1
  166. package/cdn/locales/az.js +1 -1
  167. package/cdn/locales/bg.dev.js +1 -1
  168. package/cdn/locales/bg.js +1 -1
  169. package/cdn/locales/bn.dev.js +1 -1
  170. package/cdn/locales/bn.js +1 -1
  171. package/cdn/locales/bs.dev.js +1 -1
  172. package/cdn/locales/bs.js +1 -1
  173. package/cdn/locales/ca.dev.js +1 -1
  174. package/cdn/locales/ca.js +1 -1
  175. package/cdn/locales/cs.dev.js +1 -1
  176. package/cdn/locales/cs.js +1 -1
  177. package/cdn/locales/cy.dev.js +1 -1
  178. package/cdn/locales/cy.js +1 -1
  179. package/cdn/locales/da.dev.js +1 -1
  180. package/cdn/locales/da.js +1 -1
  181. package/cdn/locales/de.dev.js +1 -1
  182. package/cdn/locales/de.js +1 -1
  183. package/cdn/locales/el.dev.js +1 -1
  184. package/cdn/locales/el.js +1 -1
  185. package/cdn/locales/es.dev.js +1 -1
  186. package/cdn/locales/es.js +1 -1
  187. package/cdn/locales/et.dev.js +1 -1
  188. package/cdn/locales/et.js +1 -1
  189. package/cdn/locales/eu.dev.js +1 -1
  190. package/cdn/locales/eu.js +1 -1
  191. package/cdn/locales/fa.dev.js +1 -1
  192. package/cdn/locales/fa.js +1 -1
  193. package/cdn/locales/fi.dev.js +1 -1
  194. package/cdn/locales/fi.js +1 -1
  195. package/cdn/locales/fr.dev.js +1 -1
  196. package/cdn/locales/fr.js +1 -1
  197. package/cdn/locales/gd.dev.js +1 -1
  198. package/cdn/locales/gd.js +1 -1
  199. package/cdn/locales/gl.dev.js +1 -1
  200. package/cdn/locales/gl.js +1 -1
  201. package/cdn/locales/he.dev.js +1 -1
  202. package/cdn/locales/he.js +1 -1
  203. package/cdn/locales/hi.dev.js +1 -1
  204. package/cdn/locales/hi.js +1 -1
  205. package/cdn/locales/hr.dev.js +1 -1
  206. package/cdn/locales/hr.js +1 -1
  207. package/cdn/locales/hu.dev.js +1 -1
  208. package/cdn/locales/hu.js +1 -1
  209. package/cdn/locales/id.dev.js +1 -1
  210. package/cdn/locales/id.js +1 -1
  211. package/cdn/locales/it.dev.js +1 -1
  212. package/cdn/locales/it.js +1 -1
  213. package/cdn/locales/ja.dev.js +1 -1
  214. package/cdn/locales/ja.js +1 -1
  215. package/cdn/locales/ko.dev.js +1 -1
  216. package/cdn/locales/ko.js +1 -1
  217. package/cdn/locales/lt.dev.js +1 -1
  218. package/cdn/locales/lt.js +1 -1
  219. package/cdn/locales/lv.dev.js +1 -1
  220. package/cdn/locales/lv.js +1 -1
  221. package/cdn/locales/mr.dev.js +1 -1
  222. package/cdn/locales/mr.js +1 -1
  223. package/cdn/locales/nb.dev.js +1 -1
  224. package/cdn/locales/nb.js +1 -1
  225. package/cdn/locales/ne.dev.js +1 -1
  226. package/cdn/locales/ne.js +1 -1
  227. package/cdn/locales/nl.dev.js +1 -1
  228. package/cdn/locales/nl.js +1 -1
  229. package/cdn/locales/nn.dev.js +1 -1
  230. package/cdn/locales/nn.js +1 -1
  231. package/cdn/locales/oc.dev.js +1 -1
  232. package/cdn/locales/oc.js +1 -1
  233. package/cdn/locales/pl.dev.js +1 -1
  234. package/cdn/locales/pl.js +1 -1
  235. package/cdn/locales/pt-BR.dev.js +1 -1
  236. package/cdn/locales/pt-BR.js +1 -1
  237. package/cdn/locales/pt-PT.dev.js +1 -1
  238. package/cdn/locales/pt-PT.js +1 -1
  239. package/cdn/locales/pt.dev.js +1 -1
  240. package/cdn/locales/pt.js +1 -1
  241. package/cdn/locales/ro.dev.js +1 -1
  242. package/cdn/locales/ro.js +1 -1
  243. package/cdn/locales/ru.dev.js +1 -1
  244. package/cdn/locales/ru.js +1 -1
  245. package/cdn/locales/sk.dev.js +1 -1
  246. package/cdn/locales/sk.js +1 -1
  247. package/cdn/locales/sl.dev.js +1 -1
  248. package/cdn/locales/sl.js +1 -1
  249. package/cdn/locales/sr.dev.js +1 -1
  250. package/cdn/locales/sr.js +1 -1
  251. package/cdn/locales/sv.dev.js +1 -1
  252. package/cdn/locales/sv.js +1 -1
  253. package/cdn/locales/te.dev.js +1 -1
  254. package/cdn/locales/te.js +1 -1
  255. package/cdn/locales/th.dev.js +1 -1
  256. package/cdn/locales/th.js +1 -1
  257. package/cdn/locales/tr.dev.js +1 -1
  258. package/cdn/locales/tr.js +1 -1
  259. package/cdn/locales/uk.dev.js +1 -1
  260. package/cdn/locales/uk.js +1 -1
  261. package/cdn/locales/vi.dev.js +1 -1
  262. package/cdn/locales/vi.js +1 -1
  263. package/cdn/locales/zh-CN.dev.js +1 -1
  264. package/cdn/locales/zh-CN.js +1 -1
  265. package/cdn/locales/zh-TW.dev.js +1 -1
  266. package/cdn/locales/zh-TW.js +1 -1
  267. package/cdn/locales/zh.dev.js +1 -1
  268. package/cdn/locales/zh.js +1 -1
  269. package/cdn/{lt-CJC2CVhF.js → lt-DLXeAqcs.js} +2 -2
  270. package/cdn/{lt-CJC2CVhF.js.map → lt-DLXeAqcs.js.map} +1 -1
  271. package/cdn/{lt-y_SCQZXc.js → lt-ZQzwrnWQ.js} +2 -2
  272. package/cdn/{lt-y_SCQZXc.js.map → lt-ZQzwrnWQ.js.map} +1 -1
  273. package/cdn/{lv-E4LvfHSK.js → lv-CsVQVy3v.js} +2 -2
  274. package/cdn/{lv-E4LvfHSK.js.map → lv-CsVQVy3v.js.map} +1 -1
  275. package/cdn/{lv-CfdIbjKR.js → lv-RRA9zY_N.js} +2 -2
  276. package/cdn/{lv-CfdIbjKR.js.map → lv-RRA9zY_N.js.map} +1 -1
  277. package/cdn/media/cloudflare-video.dev.js +2 -2
  278. package/cdn/media/cloudflare-video.js +1 -1
  279. package/cdn/media/hls-audio.dev.js +1 -1
  280. package/cdn/media/hls-audio.js +1 -1
  281. package/cdn/media/hls-background-video.dev.js +1 -1
  282. package/cdn/media/hls-background-video.js +1 -1
  283. package/cdn/media/hls-video.dev.js +1 -1
  284. package/cdn/media/hls-video.js +1 -1
  285. package/cdn/media/mux-audio/spf.dev.js +1 -1
  286. package/cdn/media/mux-audio/spf.js +1 -1
  287. package/cdn/media/mux-background-video.dev.js +1 -1
  288. package/cdn/media/mux-background-video.js +1 -1
  289. package/cdn/media/mux-data.dev.js +1 -1
  290. package/cdn/media/mux-data.dev.js.map +1 -1
  291. package/cdn/media/mux-data.js +1 -1
  292. package/cdn/media/mux-data.js.map +1 -1
  293. package/cdn/media/mux-video/spf.dev.js +1 -1
  294. package/cdn/media/mux-video/spf.js +1 -1
  295. package/cdn/media/shaka-video.dev.d.ts +1 -0
  296. package/cdn/media/shaka-video.dev.js +35132 -0
  297. package/cdn/media/shaka-video.dev.js.map +1 -0
  298. package/cdn/media/shaka-video.js +55 -0
  299. package/cdn/media/shaka-video.js.map +1 -0
  300. package/cdn/media/spotify-audio.dev.js +2 -2
  301. package/cdn/media/spotify-audio.js +1 -1
  302. package/cdn/media/tiktok-video.dev.js +2 -2
  303. package/cdn/media/tiktok-video.js +1 -1
  304. package/cdn/media/twitch-video.dev.js +1 -1
  305. package/cdn/media/twitch-video.js +1 -1
  306. package/cdn/media/vimeo-video.dev.js +2 -2
  307. package/cdn/media/vimeo-video.js +2 -2
  308. package/cdn/media/youtube-video.dev.js +2 -2
  309. package/cdn/media/youtube-video.js +1 -1
  310. package/cdn/{media-mYKOAsk3.js → media-B4uT13xV.js} +13 -29
  311. package/cdn/media-B4uT13xV.js.map +1 -0
  312. package/cdn/{media-DI6DvYm3.js → media-B6LoDnMy.js} +57 -3
  313. package/cdn/media-B6LoDnMy.js.map +1 -0
  314. package/cdn/media-D6Xer97u.js +2 -0
  315. package/cdn/media-D6Xer97u.js.map +1 -0
  316. package/cdn/media-DdApyCAP.js +2 -0
  317. package/cdn/media-DdApyCAP.js.map +1 -0
  318. package/cdn/{media-D4tG62L5.js → media-YTtOjoEw.js} +2 -2
  319. package/cdn/{media-D4tG62L5.js.map → media-YTtOjoEw.js.map} +1 -1
  320. package/cdn/{media-BI8caj07.js → media-aZ7x4gGL.js} +3 -3
  321. package/cdn/{media-BI8caj07.js.map → media-aZ7x4gGL.js.map} +1 -1
  322. package/cdn/minimal-ui-D3XCtSx_.js +2 -0
  323. package/cdn/{minimal-ui-BXrq3z4U.js.map → minimal-ui-D3XCtSx_.js.map} +1 -1
  324. package/cdn/{minimal-ui-BCIESK8f.js → minimal-ui-KUzZkG_3.js} +8 -8
  325. package/cdn/{minimal-ui-BCIESK8f.js.map → minimal-ui-KUzZkG_3.js.map} +1 -1
  326. package/cdn/{minimal-ui-DEalpMk6.js → minimal-ui-ajeAXABk.js} +4 -4
  327. package/cdn/{minimal-ui-DEalpMk6.js.map → minimal-ui-ajeAXABk.js.map} +1 -1
  328. package/cdn/{minimal-ui-vY3QgohH.js → minimal-ui-p9QCZfCz.js} +2 -2
  329. package/cdn/{minimal-ui-vY3QgohH.js.map → minimal-ui-p9QCZfCz.js.map} +1 -1
  330. package/cdn/{mr-C4OijKV_.js → mr-CZ7oMzua.js} +2 -2
  331. package/cdn/{mr-C4OijKV_.js.map → mr-CZ7oMzua.js.map} +1 -1
  332. package/cdn/{mr-DmbgkSem.js → mr-CgFYVcpx.js} +2 -2
  333. package/cdn/{mr-DmbgkSem.js.map → mr-CgFYVcpx.js.map} +1 -1
  334. package/cdn/{nb-Bx5aKqbD.js → nb-DWtHJLYf.js} +2 -2
  335. package/cdn/{nb-Bx5aKqbD.js.map → nb-DWtHJLYf.js.map} +1 -1
  336. package/cdn/{nb-DQ3Nq1ZC.js → nb-ahqFuIy4.js} +2 -2
  337. package/cdn/{nb-DQ3Nq1ZC.js.map → nb-ahqFuIy4.js.map} +1 -1
  338. package/cdn/{ne-DTL8Y04V.js → ne-CFkutVHH.js} +2 -2
  339. package/cdn/{ne-DTL8Y04V.js.map → ne-CFkutVHH.js.map} +1 -1
  340. package/cdn/{ne-BM_WgrGC.js → ne-DQx0S7DC.js} +2 -2
  341. package/cdn/{ne-BM_WgrGC.js.map → ne-DQx0S7DC.js.map} +1 -1
  342. package/cdn/{nl-C7CWKQe5.js → nl-BbWS-uoT.js} +2 -2
  343. package/cdn/{nl-C7CWKQe5.js.map → nl-BbWS-uoT.js.map} +1 -1
  344. package/cdn/{nl-DMt-nkiN.js → nl-V4DJd2nd.js} +2 -2
  345. package/cdn/{nl-DMt-nkiN.js.map → nl-V4DJd2nd.js.map} +1 -1
  346. package/cdn/{nn-BOoGZjkf.js → nn-BoY6X0bu.js} +2 -2
  347. package/cdn/{nn-BOoGZjkf.js.map → nn-BoY6X0bu.js.map} +1 -1
  348. package/cdn/{nn-CT846E14.js → nn-Bp2EWBHZ.js} +2 -2
  349. package/cdn/{nn-CT846E14.js.map → nn-Bp2EWBHZ.js.map} +1 -1
  350. package/cdn/observe-elements-B4q3zaDw.js +79 -0
  351. package/cdn/observe-elements-B4q3zaDw.js.map +1 -0
  352. package/cdn/observe-elements-BivD4tHs.js +2 -0
  353. package/cdn/observe-elements-BivD4tHs.js.map +1 -0
  354. package/cdn/{oc-DQgnGeb2.js → oc-BJrdQkma.js} +2 -2
  355. package/cdn/{oc-DQgnGeb2.js.map → oc-BJrdQkma.js.map} +1 -1
  356. package/cdn/{oc-ClJwr9d0.js → oc-Dto6NU-U.js} +2 -2
  357. package/cdn/{oc-ClJwr9d0.js.map → oc-Dto6NU-U.js.map} +1 -1
  358. package/cdn/{pl-B7SFuF8C.js → pl-BmUKjVFU.js} +2 -2
  359. package/cdn/{pl-B7SFuF8C.js.map → pl-BmUKjVFU.js.map} +1 -1
  360. package/cdn/{pl-DWVOOhfp.js → pl-HlPnZjYT.js} +2 -2
  361. package/cdn/{pl-DWVOOhfp.js.map → pl-HlPnZjYT.js.map} +1 -1
  362. package/cdn/{player-B3GlPF90.js → player-B5zkgqwT.js} +2 -2
  363. package/cdn/{player-B3GlPF90.js.map → player-B5zkgqwT.js.map} +1 -1
  364. package/cdn/{player-DPDmTRvg.js → player-BXQMSpgR.js} +2 -2
  365. package/cdn/{player-DPDmTRvg.js.map → player-BXQMSpgR.js.map} +1 -1
  366. package/cdn/{player-CtTC7qa5.js → player-BuxifKSM.js} +2 -2
  367. package/cdn/{player-CtTC7qa5.js.map → player-BuxifKSM.js.map} +1 -1
  368. package/cdn/{player-DrDd7LJi.js → player-CngT-cVQ.js} +2 -2
  369. package/cdn/{player-DrDd7LJi.js.map → player-CngT-cVQ.js.map} +1 -1
  370. package/cdn/{player-L5UpZmT4.js → player-DMP2pc3L.js} +2 -2
  371. package/cdn/{player-L5UpZmT4.js.map → player-DMP2pc3L.js.map} +1 -1
  372. package/cdn/{player-DKkph8UM.js → player-POHYt5tr.js} +2 -2
  373. package/cdn/{player-DKkph8UM.js.map → player-POHYt5tr.js.map} +1 -1
  374. package/cdn/{poster-element-B5tdJ2ub.js → poster-element-CuCEBVr3.js} +3 -11
  375. package/cdn/poster-element-CuCEBVr3.js.map +1 -0
  376. package/cdn/{poster-element-B8QwXSU_.js → poster-element-Djlm5fwC.js} +2 -2
  377. package/cdn/{poster-element-B8QwXSU_.js.map → poster-element-Djlm5fwC.js.map} +1 -1
  378. package/cdn/{pt-BR-Dx0zZKM6.js → pt-BR-Cfv1ox9K.js} +2 -2
  379. package/cdn/{pt-BR-Dx0zZKM6.js.map → pt-BR-Cfv1ox9K.js.map} +1 -1
  380. package/cdn/{pt-BR-BweixWSY.js → pt-BR-j4XWQBdJ.js} +2 -2
  381. package/cdn/{pt-BR-BweixWSY.js.map → pt-BR-j4XWQBdJ.js.map} +1 -1
  382. package/cdn/{pt-C0Z9dXhV.js → pt-BUBSLaBp.js} +3 -3
  383. package/cdn/{pt-C0Z9dXhV.js.map → pt-BUBSLaBp.js.map} +1 -1
  384. package/cdn/{pt-PT-Di4o8ntw.js → pt-PT-DQ0otVWH.js} +2 -2
  385. package/cdn/{pt-PT-Di4o8ntw.js.map → pt-PT-DQ0otVWH.js.map} +1 -1
  386. package/cdn/{pt-PT-DlHt57Eg.js → pt-PT-DdJVXfMB.js} +2 -2
  387. package/cdn/{pt-PT-DlHt57Eg.js.map → pt-PT-DdJVXfMB.js.map} +1 -1
  388. package/cdn/pt-akbpk7gG.js +2 -0
  389. package/cdn/{pt-ohZp6iM5.js.map → pt-akbpk7gG.js.map} +1 -1
  390. package/cdn/relocation-pipelines-CBzRuD_s.js +2 -0
  391. package/cdn/relocation-pipelines-CBzRuD_s.js.map +1 -0
  392. package/cdn/{relocation-pipelines-Dh8CcgHw.js → relocation-pipelines-R2UVEy5p.js} +38 -2
  393. package/cdn/relocation-pipelines-R2UVEy5p.js.map +1 -0
  394. package/cdn/resolution-C4bCDOw4.js +2 -0
  395. package/cdn/resolution-C4bCDOw4.js.map +1 -0
  396. package/cdn/resolution-DPr_vTWF.js +29 -0
  397. package/cdn/resolution-DPr_vTWF.js.map +1 -0
  398. package/cdn/{ro-BB4KBp_W.js → ro-BiexogxI.js} +2 -2
  399. package/cdn/{ro-BB4KBp_W.js.map → ro-BiexogxI.js.map} +1 -1
  400. package/cdn/{ro-BU9kKrWV.js → ro-X-mft-iF.js} +2 -2
  401. package/cdn/{ro-BU9kKrWV.js.map → ro-X-mft-iF.js.map} +1 -1
  402. package/cdn/rolldown-runtime-KW3qVizi.js +42 -0
  403. package/cdn/rolldown-runtime-QTnfLwEv.js +1 -0
  404. package/cdn/{ru-CajU7FT2.js → ru-15_5g81L.js} +2 -2
  405. package/cdn/{ru-CajU7FT2.js.map → ru-15_5g81L.js.map} +1 -1
  406. package/cdn/{ru-BrWt8VXI.js → ru-GHEfsz_c.js} +2 -2
  407. package/cdn/{ru-BrWt8VXI.js.map → ru-GHEfsz_c.js.map} +1 -1
  408. package/cdn/{seek-button-element-5co-k0Dx.js → seek-button-element-BD2caCd5.js} +3 -3
  409. package/cdn/{seek-button-element-5co-k0Dx.js.map → seek-button-element-BD2caCd5.js.map} +1 -1
  410. package/cdn/{seek-button-element-B8TkILg-.js → seek-button-element-CgaXVFPS.js} +2 -2
  411. package/cdn/{seek-button-element-B8TkILg-.js.map → seek-button-element-CgaXVFPS.js.map} +1 -1
  412. package/cdn/{sk-DOZafohX.js → sk-BEvGx8AE.js} +2 -2
  413. package/cdn/{sk-DOZafohX.js.map → sk-BEvGx8AE.js.map} +1 -1
  414. package/cdn/{sk-XGkesNm5.js → sk-CbZOx0Xf.js} +2 -2
  415. package/cdn/{sk-XGkesNm5.js.map → sk-CbZOx0Xf.js.map} +1 -1
  416. package/cdn/{skin-element-DrkI8xuM.js → skin-element-DE8OodF5.js} +2 -2
  417. package/cdn/skin-element-DE8OodF5.js.map +1 -0
  418. package/cdn/{skin-element-DvX6Bxsv.js → skin-element-PDwjO4v0.js} +2 -10
  419. package/cdn/{skin-element-DvX6Bxsv.js.map → skin-element-PDwjO4v0.js.map} +1 -1
  420. package/cdn/{sl-CHuwx211.js → sl-BqYDAX6g.js} +2 -2
  421. package/cdn/{sl-CHuwx211.js.map → sl-BqYDAX6g.js.map} +1 -1
  422. package/cdn/{sl-CuZgo3JI.js → sl-D7uEXtkn.js} +2 -2
  423. package/cdn/{sl-CuZgo3JI.js.map → sl-D7uEXtkn.js.map} +1 -1
  424. package/cdn/{sr-BsZrd40u.js → sr-CBBykxkN.js} +2 -2
  425. package/cdn/{sr-BsZrd40u.js.map → sr-CBBykxkN.js.map} +1 -1
  426. package/cdn/{sr-CzT_52m8.js → sr-D10ir4DL.js} +2 -2
  427. package/cdn/{sr-CzT_52m8.js.map → sr-D10ir4DL.js.map} +1 -1
  428. package/cdn/{sv-CsISpTMM.js → sv-BGcohnZb.js} +2 -2
  429. package/cdn/{sv-CsISpTMM.js.map → sv-BGcohnZb.js.map} +1 -1
  430. package/cdn/{sv-hxsarb6k.js → sv-he8gk9up.js} +2 -2
  431. package/cdn/{sv-hxsarb6k.js.map → sv-he8gk9up.js.map} +1 -1
  432. package/cdn/{te-DUaUnw1d.js → te-DhEDBJ0Q.js} +2 -2
  433. package/cdn/{te-DUaUnw1d.js.map → te-DhEDBJ0Q.js.map} +1 -1
  434. package/cdn/{te-CG0NRKuG.js → te-Dw2hLtHG.js} +2 -2
  435. package/cdn/{te-CG0NRKuG.js.map → te-Dw2hLtHG.js.map} +1 -1
  436. package/cdn/{text-element-BoY6AhMn.js → text-element-BJyj7nLo.js} +2 -2
  437. package/cdn/{text-element-BoY6AhMn.js.map → text-element-BJyj7nLo.js.map} +1 -1
  438. package/cdn/{text-element-cg6l21cd.js → text-element-dyiwucQB.js} +2 -2
  439. package/cdn/{text-element-cg6l21cd.js.map → text-element-dyiwucQB.js.map} +1 -1
  440. package/cdn/{th-BYS5ZpYb.js → th-B3iYzmd5.js} +2 -2
  441. package/cdn/{th-BYS5ZpYb.js.map → th-B3iYzmd5.js.map} +1 -1
  442. package/cdn/{th-Bx_CvtvC.js → th-BMZDRGQ7.js} +2 -2
  443. package/cdn/{th-Bx_CvtvC.js.map → th-BMZDRGQ7.js.map} +1 -1
  444. package/cdn/{time-slider-chapters-element-CznFQWFm.js → time-slider-chapters-element-BTMqnBhM.js} +3 -3
  445. package/cdn/{time-slider-chapters-element-CznFQWFm.js.map → time-slider-chapters-element-BTMqnBhM.js.map} +1 -1
  446. package/cdn/{time-slider-chapters-element-BfLjdnU4.js → time-slider-chapters-element-b6oeaZtJ.js} +2 -2
  447. package/cdn/{time-slider-chapters-element-BfLjdnU4.js.map → time-slider-chapters-element-b6oeaZtJ.js.map} +1 -1
  448. package/cdn/{tr-5Cegmhcj.js → tr-BJOEOizJ.js} +2 -2
  449. package/cdn/{tr-5Cegmhcj.js.map → tr-BJOEOizJ.js.map} +1 -1
  450. package/cdn/{tr-BV5YcpOy.js → tr-CdLz59Rt.js} +2 -2
  451. package/cdn/{tr-BV5YcpOy.js.map → tr-CdLz59Rt.js.map} +1 -1
  452. package/cdn/{ui-BwzqkJNK.js → ui-BsUcH4YJ.js} +7 -7
  453. package/cdn/{ui-BwzqkJNK.js.map → ui-BsUcH4YJ.js.map} +1 -1
  454. package/cdn/{ui-fnKp94a7.js → ui-CtONjPC2.js} +9 -9
  455. package/cdn/{ui-fnKp94a7.js.map → ui-CtONjPC2.js.map} +1 -1
  456. package/cdn/ui-CxftD4RF.js +2 -0
  457. package/cdn/{ui-DayfItun.js.map → ui-CxftD4RF.js.map} +1 -1
  458. package/cdn/ui-DLvwCbsU.js +2 -0
  459. package/cdn/{ui-PSnD-pv8.js.map → ui-DLvwCbsU.js.map} +1 -1
  460. package/cdn/{uk-DsHkf0ZB.js → uk-BTa1prcg.js} +2 -2
  461. package/cdn/{uk-DsHkf0ZB.js.map → uk-BTa1prcg.js.map} +1 -1
  462. package/cdn/{uk-D2WGhYFz.js → uk-BW53WsQa.js} +2 -2
  463. package/cdn/{uk-D2WGhYFz.js.map → uk-BW53WsQa.js.map} +1 -1
  464. package/cdn/{vi-DBLOO1G4.js → vi-CGDf02ms.js} +2 -2
  465. package/cdn/{vi-DBLOO1G4.js.map → vi-CGDf02ms.js.map} +1 -1
  466. package/cdn/{vi-CORn5e7t.js → vi-CcOG_Tlw.js} +2 -2
  467. package/cdn/{vi-CORn5e7t.js.map → vi-CcOG_Tlw.js.map} +1 -1
  468. package/cdn/video-headless.dev.js +1 -1
  469. package/cdn/video-headless.js +1 -1
  470. package/cdn/video-minimal-ui.dev.js +1 -1
  471. package/cdn/video-minimal-ui.js +1 -1
  472. package/cdn/video-minimal.dev.js +4 -4
  473. package/cdn/video-minimal.dev.js.map +1 -1
  474. package/cdn/video-minimal.js +1 -1
  475. package/cdn/video-minimal.js.map +1 -1
  476. package/cdn/video-ui.dev.js +1 -1
  477. package/cdn/video-ui.js +1 -1
  478. package/cdn/video.dev.js +5 -5
  479. package/cdn/video.dev.js.map +1 -1
  480. package/cdn/video.js +1 -1
  481. package/cdn/video.js.map +1 -1
  482. package/cdn/{zh-R2vnxJiQ.js → zh-34ObMhvt.js} +3 -3
  483. package/cdn/{zh-R2vnxJiQ.js.map → zh-34ObMhvt.js.map} +1 -1
  484. package/cdn/{zh-CN-Cga4L1h3.js → zh-CN-C_IU0JUw.js} +2 -2
  485. package/cdn/{zh-CN-Cga4L1h3.js.map → zh-CN-C_IU0JUw.js.map} +1 -1
  486. package/cdn/{zh-CN-xq6taoBE.js → zh-CN-rZeJec8v.js} +2 -2
  487. package/cdn/{zh-CN-xq6taoBE.js.map → zh-CN-rZeJec8v.js.map} +1 -1
  488. package/cdn/zh-Cf3NSZs8.js +2 -0
  489. package/cdn/{zh-CtBcRYRs.js.map → zh-Cf3NSZs8.js.map} +1 -1
  490. package/cdn/{zh-TW-DWI1-WUt.js → zh-TW-5fFrgVzt.js} +2 -2
  491. package/cdn/{zh-TW-DWI1-WUt.js.map → zh-TW-5fFrgVzt.js.map} +1 -1
  492. package/cdn/{zh-TW-Dca2WbyD.js → zh-TW-BvuhCu_U.js} +2 -2
  493. package/cdn/{zh-TW-Dca2WbyD.js.map → zh-TW-BvuhCu_U.js.map} +1 -1
  494. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  495. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  496. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  497. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  498. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  499. package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  500. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  501. package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  502. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  503. package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  504. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  505. package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  506. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  507. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  508. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  509. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  510. package/dist/default/define/audio/minimal-skin.css +1 -3
  511. package/dist/default/define/audio/skin.css +1 -3
  512. package/dist/default/define/live-audio/minimal-skin.css +1 -3
  513. package/dist/default/define/live-audio/skin.css +1 -3
  514. package/dist/default/define/live-video/minimal-skin.css +2 -31
  515. package/dist/default/define/live-video/skin.css +2 -33
  516. package/dist/default/define/media/shaka-video.js +13 -0
  517. package/dist/default/define/media/shaka-video.js.map +1 -0
  518. package/dist/default/define/skin-element.js +0 -8
  519. package/dist/default/define/skin-element.js.map +1 -1
  520. package/dist/default/define/ui/title.js +7 -0
  521. package/dist/default/define/ui/title.js.map +1 -0
  522. package/dist/default/define/video/minimal-skin.css +2 -31
  523. package/dist/default/define/video/skin.css +2 -33
  524. package/dist/default/index.js +2 -1
  525. package/dist/default/media/shaka-video/media.js +9 -0
  526. package/dist/default/media/shaka-video/media.js.map +1 -0
  527. package/dist/default/skins/dist/default/default/tailwind/components/button.js +1 -1
  528. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  529. package/dist/default/skins/dist/default/default/tailwind/components/menu.js +2 -2
  530. package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  531. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +1 -7
  532. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  533. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +1 -10
  534. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  535. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +1 -1
  536. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  537. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +2 -2
  538. package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  539. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +1 -7
  540. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  541. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -10
  542. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  543. package/dist/default/ui/poster/poster-element.js +0 -8
  544. package/dist/default/ui/poster/poster-element.js.map +1 -1
  545. package/dist/default/ui/thumbnail/thumbnail-element.js +22 -7
  546. package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -1
  547. package/dist/default/ui/time/time-element.js +2 -3
  548. package/dist/default/ui/time/time-element.js.map +1 -1
  549. package/dist/default/ui/title/title-element.js +37 -0
  550. package/dist/default/ui/title/title-element.js.map +1 -0
  551. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  552. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  553. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  554. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  555. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
  556. package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
  557. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
  558. package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
  559. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
  560. package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
  561. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +1 -1
  562. package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
  563. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  564. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  565. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  566. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  567. package/dist/dev/define/audio/minimal-skin.css +1 -3
  568. package/dist/dev/define/audio/skin.css +1 -3
  569. package/dist/dev/define/live-audio/minimal-skin.css +1 -3
  570. package/dist/dev/define/live-audio/skin.css +1 -3
  571. package/dist/dev/define/live-video/minimal-skin.css +2 -31
  572. package/dist/dev/define/live-video/skin.css +2 -33
  573. package/dist/dev/define/media/shaka-video.d.ts +14 -0
  574. package/dist/dev/define/media/shaka-video.d.ts.map +1 -0
  575. package/dist/dev/define/media/shaka-video.js +13 -0
  576. package/dist/dev/define/media/shaka-video.js.map +1 -0
  577. package/dist/dev/define/skin-element.d.ts +0 -2
  578. package/dist/dev/define/skin-element.d.ts.map +1 -1
  579. package/dist/dev/define/skin-element.js +0 -8
  580. package/dist/dev/define/skin-element.js.map +1 -1
  581. package/dist/dev/define/ui/title.d.ts +8 -0
  582. package/dist/dev/define/ui/title.d.ts.map +1 -0
  583. package/dist/dev/define/ui/title.js +7 -0
  584. package/dist/dev/define/ui/title.js.map +1 -0
  585. package/dist/dev/define/video/minimal-skin.css +2 -31
  586. package/dist/dev/define/video/skin.css +2 -33
  587. package/dist/dev/index.d.ts +3 -2
  588. package/dist/dev/index.js +2 -1
  589. package/dist/dev/media/shaka-video/index.d.ts +2 -0
  590. package/dist/dev/media/shaka-video/media.d.ts +19 -0
  591. package/dist/dev/media/shaka-video/media.d.ts.map +1 -0
  592. package/dist/dev/media/shaka-video/media.js +9 -0
  593. package/dist/dev/media/shaka-video/media.js.map +1 -0
  594. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js +1 -1
  595. package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  596. package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js +2 -2
  597. package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
  598. package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js +1 -7
  599. package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
  600. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js +1 -10
  601. package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  602. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button.js +1 -1
  603. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  604. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js +2 -2
  605. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
  606. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js +1 -7
  607. package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
  608. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -10
  609. package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  610. package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -0
  611. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
  612. package/dist/dev/ui/poster/poster-element.d.ts +0 -2
  613. package/dist/dev/ui/poster/poster-element.d.ts.map +1 -1
  614. package/dist/dev/ui/poster/poster-element.js +0 -8
  615. package/dist/dev/ui/poster/poster-element.js.map +1 -1
  616. package/dist/dev/ui/thumbnail/thumbnail-element.d.ts.map +1 -1
  617. package/dist/dev/ui/thumbnail/thumbnail-element.js +22 -7
  618. package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -1
  619. package/dist/dev/ui/time/time-element.d.ts.map +1 -1
  620. package/dist/dev/ui/time/time-element.js +2 -3
  621. package/dist/dev/ui/time/time-element.js.map +1 -1
  622. package/dist/dev/ui/title/title-element.d.ts +18 -0
  623. package/dist/dev/ui/title/title-element.d.ts.map +1 -0
  624. package/dist/dev/ui/title/title-element.js +38 -0
  625. package/dist/dev/ui/title/title-element.js.map +1 -0
  626. package/docs/README.md +1 -1
  627. package/docs/concepts/presets.md +4 -4
  628. package/docs/concepts/skins.md +6 -37
  629. package/docs/how-to/add-a-poster-placeholder.md +52 -0
  630. package/docs/how-to/customize-skins.md +6 -70
  631. package/docs/how-to/migrate-from-mux-player.md +12 -6
  632. package/docs/llms.txt +3 -0
  633. package/docs/reference/feature-fullscreen.md +7 -8
  634. package/docs/reference/feature-metadata.md +141 -0
  635. package/docs/reference/feature-orientation-lock.md +99 -7
  636. package/docs/reference/feature-text-tracks.md +10 -0
  637. package/docs/reference/menu.md +0 -1
  638. package/docs/reference/thumbnail.md +4 -0
  639. package/docs/reference/title.md +211 -0
  640. package/package.json +9 -9
  641. package/cdn/compounds-C4YYLyL2.js +0 -8
  642. package/cdn/compounds-C4YYLyL2.js.map +0 -1
  643. package/cdn/compounds-C73u1MeO.js.map +0 -1
  644. package/cdn/create-player-BU8LDJDL.js +0 -2
  645. package/cdn/create-player-BU8LDJDL.js.map +0 -1
  646. package/cdn/create-player-Db1CIvlK.js.map +0 -1
  647. package/cdn/error-surface-BID4D3DW.js.map +0 -1
  648. package/cdn/error-surface-D0bo71gD.js.map +0 -1
  649. package/cdn/i18n-CpBDXf6M.js +0 -2
  650. package/cdn/media-CQxFuDcv.js +0 -2
  651. package/cdn/media-CQxFuDcv.js.map +0 -1
  652. package/cdn/media-DI6DvYm3.js.map +0 -1
  653. package/cdn/media-mYKOAsk3.js.map +0 -1
  654. package/cdn/media-zReLnePj.js +0 -2
  655. package/cdn/media-zReLnePj.js.map +0 -1
  656. package/cdn/minimal-ui-BXrq3z4U.js +0 -2
  657. package/cdn/poster-element-B5tdJ2ub.js.map +0 -1
  658. package/cdn/pt-ohZp6iM5.js +0 -2
  659. package/cdn/relocation-pipelines-Dh8CcgHw.js.map +0 -1
  660. package/cdn/relocation-pipelines-DunE4gcV.js +0 -2
  661. package/cdn/relocation-pipelines-DunE4gcV.js.map +0 -1
  662. package/cdn/rolldown-runtime-DK3Fl9T5.js +0 -1
  663. package/cdn/rolldown-runtime-w6R9maHv.js +0 -18
  664. package/cdn/skin-element-DrkI8xuM.js.map +0 -1
  665. package/cdn/ui-DayfItun.js +0 -2
  666. package/cdn/ui-PSnD-pv8.js +0 -2
  667. package/cdn/zh-CtBcRYRs.js +0 -2
@@ -928,7 +928,7 @@ media-container {
928
928
  @media (prefers-reduced-motion: reduce) {
929
929
  .media-default-skin .media-button {
930
930
  scale: 1;
931
- transition-property: background-color, color, outline-offset;
931
+ transition-property: background-color, color;
932
932
  will-change: auto;
933
933
  }
934
934
  }
@@ -973,8 +973,7 @@ media-container {
973
973
  transition: opacity 0.25s;
974
974
  }
975
975
  .media-default-skin media-poster:not([data-visible]),
976
- .media-default-skin > img:not([data-visible]),
977
- .media-default-skin > img[data-visible]:not([data-loaded]) {
976
+ .media-default-skin > img:not([data-visible]) {
978
977
  opacity: 0;
979
978
  }
980
979
  .media-default-skin media-poster ::slotted(img),
@@ -993,30 +992,6 @@ media-container {
993
992
  border-radius: inherit;
994
993
  }
995
994
 
996
- /* Blurred placeholder: HTML path targets media-poster::before, React path targets the skin container::before */
997
- .media-default-skin media-poster::before,
998
- .media-default-skin::before {
999
- position: absolute;
1000
- inset: 0;
1001
- pointer-events: none;
1002
- content: "";
1003
- background-image: var(--media-poster-placeholder, none);
1004
- background-repeat: no-repeat;
1005
- background-position: var(--media-object-position, center);
1006
- background-size: var(--media-object-fit, contain);
1007
- filter: blur(var(--media-poster-placeholder-blur, 20px));
1008
- }
1009
-
1010
- /* React path: hidden by default, transitions in while poster loads */
1011
- .media-default-skin::before {
1012
- opacity: 0;
1013
- transition: opacity 0.25s;
1014
- }
1015
- /* Show placeholder while the poster is visible but not yet loaded */
1016
- .media-default-skin:has(img[data-visible]:not([data-loaded]))::before {
1017
- opacity: 1;
1018
- }
1019
-
1020
995
  .media-default-skin:fullscreen media-poster ::slotted(img),
1021
996
  .media-default-skin:fullscreen media-poster img,
1022
997
  .media-default-skin:fullscreen > img {
@@ -1621,7 +1596,6 @@ media-container {
1621
1596
  transition-timing-function: ease-out;
1622
1597
  transition-duration: var(--menu-transition-duration);
1623
1598
  transition-property: translate, filter;
1624
- will-change: translate, filter;
1625
1599
 
1626
1600
  &:where([data-starting-style], [data-ending-style]) {
1627
1601
  overflow: hidden;
@@ -1805,7 +1779,6 @@ media-container {
1805
1779
  transition:
1806
1780
  translate var(--menu-transition-duration) ease-out,
1807
1781
  filter var(--menu-transition-duration) ease-out;
1808
- will-change: translate, filter;
1809
1782
  }
1810
1783
 
1811
1784
  &[data-submenu-expanded="true"] > :not([data-submenu]) {
@@ -2359,12 +2332,10 @@ media-container {
2359
2332
 
2360
2333
  @media (pointer: fine) {
2361
2334
  transition-property: filter, opacity, scale, translate;
2362
- will-change: filter, opacity, scale, translate;
2363
2335
  }
2364
2336
 
2365
2337
  @media (pointer: coarse) {
2366
2338
  transition-property: opacity, scale, translate;
2367
- will-change: opacity, scale, translate;
2368
2339
  }
2369
2340
  }
2370
2341
 
@@ -2449,12 +2420,10 @@ media-container {
2449
2420
 
2450
2421
  @media (pointer: fine) {
2451
2422
  transition-property: filter, opacity, scale, translate;
2452
- will-change: filter, opacity, scale, translate;
2453
2423
  }
2454
2424
 
2455
2425
  @media (pointer: coarse) {
2456
2426
  transition-property: opacity, scale, translate;
2457
- will-change: opacity, scale, translate;
2458
2427
  }
2459
2428
 
2460
2429
  @container media-root (width > 42rem) {
@@ -3072,7 +3041,7 @@ media-container {
3072
3041
  @media (prefers-reduced-motion: reduce) {
3073
3042
  .media-default-skin .media-button {
3074
3043
  scale: 1;
3075
- transition-property: background-color, color, outline-offset;
3044
+ transition-property: background-color, color;
3076
3045
  will-change: auto;
3077
3046
  }
3078
3047
  }
@@ -3644,7 +3613,6 @@ media-container {
3644
3613
  transition-timing-function: ease-out;
3645
3614
  transition-duration: var(--menu-transition-duration);
3646
3615
  transition-property: translate, filter;
3647
- will-change: translate, filter;
3648
3616
 
3649
3617
  &:where([data-starting-style], [data-ending-style]) {
3650
3618
  overflow: hidden;
@@ -3828,7 +3796,6 @@ media-container {
3828
3796
  transition:
3829
3797
  translate var(--menu-transition-duration) ease-out,
3830
3798
  filter var(--menu-transition-duration) ease-out;
3831
- will-change: translate, filter;
3832
3799
  }
3833
3800
 
3834
3801
  &[data-submenu-expanded="true"] > :not([data-submenu]) {
@@ -4860,7 +4827,7 @@ media-container {
4860
4827
  @media (prefers-reduced-motion: reduce) {
4861
4828
  .media-minimal-skin .media-button {
4862
4829
  scale: 1;
4863
- transition-property: background-color, outline-offset;
4830
+ transition-property: background-color;
4864
4831
  will-change: auto;
4865
4832
  }
4866
4833
  }
@@ -4905,8 +4872,7 @@ media-container {
4905
4872
  transition: opacity 0.25s;
4906
4873
  }
4907
4874
  .media-minimal-skin media-poster:not([data-visible]),
4908
- .media-minimal-skin > img:not([data-visible]),
4909
- .media-minimal-skin > img[data-visible]:not([data-loaded]) {
4875
+ .media-minimal-skin > img:not([data-visible]) {
4910
4876
  opacity: 0;
4911
4877
  }
4912
4878
  .media-minimal-skin media-poster ::slotted(img),
@@ -4925,30 +4891,6 @@ media-container {
4925
4891
  border-radius: inherit;
4926
4892
  }
4927
4893
 
4928
- /* Blurred placeholder: HTML path targets media-poster::before, React path targets the skin container::before */
4929
- .media-minimal-skin media-poster::before,
4930
- .media-minimal-skin::before {
4931
- position: absolute;
4932
- inset: 0;
4933
- pointer-events: none;
4934
- content: "";
4935
- background-image: var(--media-poster-placeholder, none);
4936
- background-repeat: no-repeat;
4937
- background-position: var(--media-object-position, center);
4938
- background-size: var(--media-object-fit, contain);
4939
- filter: blur(var(--media-poster-placeholder-blur, 20px));
4940
- }
4941
-
4942
- /* React path: hidden by default, transitions in while poster loads */
4943
- .media-minimal-skin::before {
4944
- opacity: 0;
4945
- transition: opacity 0.25s;
4946
- }
4947
- /* Show placeholder while the poster is visible but not yet loaded */
4948
- .media-minimal-skin:has(img[data-visible]:not([data-loaded]))::before {
4949
- opacity: 1;
4950
- }
4951
-
4952
4894
  .media-minimal-skin:fullscreen media-poster ::slotted(img),
4953
4895
  .media-minimal-skin:fullscreen media-poster img,
4954
4896
  .media-minimal-skin:fullscreen > img {
@@ -5555,7 +5497,6 @@ media-container {
5555
5497
  transition-timing-function: ease-out;
5556
5498
  transition-duration: var(--menu-transition-duration);
5557
5499
  transition-property: translate, filter;
5558
- will-change: translate, filter;
5559
5500
 
5560
5501
  &:where([data-starting-style], [data-ending-style]) {
5561
5502
  overflow: hidden;
@@ -5734,7 +5675,6 @@ media-container {
5734
5675
  transition:
5735
5676
  translate var(--menu-transition-duration) ease-out,
5736
5677
  filter var(--menu-transition-duration) ease-out;
5737
- will-change: translate, filter;
5738
5678
  }
5739
5679
 
5740
5680
  &[data-submenu-expanded="true"] > :not([data-submenu]) {
@@ -6290,12 +6230,10 @@ media-container {
6290
6230
 
6291
6231
  @media (pointer: fine) {
6292
6232
  transition-property: translate, filter, opacity;
6293
- will-change: translate, filter, opacity;
6294
6233
  }
6295
6234
 
6296
6235
  @media (pointer: coarse) {
6297
6236
  transition-property: translate, opacity;
6298
- will-change: translate, opacity;
6299
6237
  }
6300
6238
 
6301
6239
  &:not([data-visible]) {
@@ -7021,7 +6959,7 @@ media-container {
7021
6959
  @media (prefers-reduced-motion: reduce) {
7022
6960
  .media-minimal-skin .media-button {
7023
6961
  scale: 1;
7024
- transition-property: background-color, outline-offset;
6962
+ transition-property: background-color;
7025
6963
  will-change: auto;
7026
6964
  }
7027
6965
  }
@@ -7592,7 +7530,6 @@ media-container {
7592
7530
  transition-timing-function: ease-out;
7593
7531
  transition-duration: var(--menu-transition-duration);
7594
7532
  transition-property: translate, filter;
7595
- will-change: translate, filter;
7596
7533
 
7597
7534
  &:where([data-starting-style], [data-ending-style]) {
7598
7535
  overflow: hidden;
@@ -7771,7 +7708,6 @@ media-container {
7771
7708
  transition:
7772
7709
  translate var(--menu-transition-duration) ease-out,
7773
7710
  filter var(--menu-transition-duration) ease-out;
7774
- will-change: translate, filter;
7775
7711
  }
7776
7712
 
7777
7713
  &[data-submenu-expanded="true"] > :not([data-submenu]) {
@@ -237,15 +237,21 @@ The poster is a skin concern. Build an `image.mux.com` URL and hand it over:
237
237
  html
238
238
 
239
239
  ```
240
- <video-skin placeholdersrc="data:image/webp;base64,…">
241
- <mux-video src="https://stream.mux.com/EcHgOK9coz5K….m3u8"></mux-video>
242
- <img slot="poster" src="https://image.mux.com/EcHgOK9coz5K…/thumbnail.webp?time=2" alt="" />
243
- </video-skin>
240
+ <video-player poster="https://image.mux.com/EcHgOK9coz5K…/thumbnail.webp?time=2">
241
+ <video-skin>
242
+ <mux-video src="https://stream.mux.com/EcHgOK9coz5K….m3u8"></mux-video>
243
+ <img
244
+ slot="poster"
245
+ alt=""
246
+ style="background: url('data:image/webp;base64,…') center / contain no-repeat"
247
+ />
248
+ </video-skin>
249
+ </video-player>
244
250
  ```
245
251
 
246
- The poster is a slotted `img` rather than an attribute, which gives the skin control over how it appears. `placeholdersrc` is the blurred stand-in shown while the real poster loads, Mux Player’s `placeholder`.
252
+ The player supplies the real poster. The slotted image supplies Mux Player’s `placeholder` as its background while that poster loads.
247
253
 
248
- Mux serves the poster from its `thumbnail` endpoint, so every Mux Player poster attribute becomes a query parameter you append: `thumbnail-time` is `?time=`, and the size, crop, rotation, and format options work the same way. See the [Poster](../reference/poster.md) reference for the component itself.
254
+ Mux serves the poster from its `thumbnail` endpoint, so every Mux Player poster attribute becomes a query parameter you append: `thumbnail-time` is `?time=`, and the size, crop, rotation, and format options work the same way. See [Add a poster placeholder](./add-a-poster-placeholder.md) for more examples or the [Poster](../reference/poster.md) reference for the component itself.
249
255
 
250
256
  ## Customize your player
251
257
 
package/docs/llms.txt CHANGED
@@ -40,6 +40,7 @@ Understanding-oriented pages that explain how and why things work. Read these to
40
40
  Task-oriented guides with step-by-step instructions to achieve a specific outcome by applying one or more concepts. Each guide may assume you already understand the relevant concepts.
41
41
 
42
42
  - [Customize skins](./how-to/customize-skins.md): Learn how to customize Video.js v10 skins by copying and modifying them
43
+ - [Add a poster placeholder](./how-to/add-a-poster-placeholder.md): Show a lightweight placeholder while the poster image loads
43
44
  - [Build your own UI component](./how-to/build-your-own-component.md): Create custom player controls that read state, dispatch actions, and stay accessible.
44
45
  - [Self-host the player](./how-to/self-host-the-player.md): Serve the Video.js HTML player from your own origin for offline, air-gapped, or restricted-network deployments
45
46
  ### Internationalization
@@ -84,6 +85,7 @@ API Reference for UI components for building media player interfaces.
84
85
  - [media-thumbnail](./reference/thumbnail.md): Time-based thumbnail preview component for timeline scrubbing and hover previews
85
86
  - [media-time](./reference/time.md): Time display components for showing current time, duration, and remaining time in a video player
86
87
  - [media-time-slider](./reference/time-slider.md): A slider component for seeking through media playback time
88
+ - [media-title](./reference/title.md): Displays the resolved content title for the current media
87
89
  - [media-tooltip](./reference/tooltip.md): A tooltip component for displaying contextual labels on hover and focus
88
90
  - [media-volume-slider](./reference/volume-slider.md): A slider component for controlling media playback volume
89
91
 
@@ -110,6 +112,7 @@ API reference for the feature modules passed to createPlayer, which provide play
110
112
  - [Error](./reference/feature-error.md): Media error state and actions for the player store
111
113
  - [Fullscreen](./reference/feature-fullscreen.md): Fullscreen state and actions for the player store
112
114
  - [Live](./reference/feature-live.md): Live edge state for the player store
115
+ - [Metadata](./reference/feature-metadata.md): Resolved title and poster values for the player store
113
116
  - [Orientation lock](./reference/feature-orientation-lock.md): Screen orientation locking while fullscreen is active
114
117
  - [Picture-in-picture](./reference/feature-pip.md): Picture-in-picture state and actions for the player store
115
118
  - [Playback](./reference/feature-playback.md): Play/pause state and actions for the player store
@@ -93,15 +93,14 @@ class FullscreenButton extends MediaElement {
93
93
 
94
94
  Add [`features.orientationLock`](./feature-orientation-lock.md) to lock screen orientation while fullscreen is active. Unsupported browsers and rejected lock requests are ignored, so iOS Safari continues to use its normal fullscreen behavior.
95
95
 
96
- By default, the feature locks to `landscape`. Pass a Screen Orientation API type to customize it:
96
+ The feature locks to `landscape` unless the provider sets another Screen Orientation API type.
97
97
 
98
- ts
98
+ html
99
99
 
100
100
  ```
101
- import { createPlayer, features } from '@videojs/react';
102
- import { videoFeatures } from '@videojs/react/video';
101
+ <my-player orientation-lock-type="portrait">
102
+ <video src="/video.mp4"></video>
103
+ </my-player>
104
+ ```
103
105
 
104
- const { Player } = createPlayer({
105
- features: [...videoFeatures, features.orientationLock({ type: 'portrait' })],
106
- });
107
- ```
106
+ See [Orientation lock](./feature-orientation-lock.md) for the player setup.
@@ -0,0 +1,141 @@
1
+ # Metadata
2
+
3
+ Resolved title and poster values for the player store
4
+
5
+ Resolves what is playing into two values your UI can render: `title` and `poster`.
6
+
7
+ `title` and `poster` each resolve independently through the same two tiers: the value you set, then the value the media reports. The first tier that holds a value wins; when neither does, the resolved value is an empty string. Because the tiers stay separate, clearing the value you set reveals the media’s, and a source that reports a poster but no title contributes to one while leaving the other empty.
8
+
9
+ An empty string counts as a value and stops the chain: set `title` to `''` and the resolved title is `''`. Pass `null` to clear your value.
10
+
11
+ The metadata feature is included by the `videoFeatures`, `audioFeatures`, `liveVideoFeatures`, and `liveAudioFeatures` [presets](../concepts/presets.md); apps that build a custom preset can compose it in directly.
12
+
13
+ ## API Reference
14
+
15
+ ### Configuration
16
+
17
+ Attributes and matching properties the player element accepts. They exist only while this feature is selected.
18
+
19
+ Prop
20
+
21
+ Type
22
+
23
+ Default
24
+
25
+ Details
26
+
27
+ `contentTitle`
28
+
29
+ `undefined | null | string`
30
+
31
+ `—`
32
+
33
+
34
+
35
+ Attribute
36
+
37
+ `content-title`
38
+
39
+ Description
40
+
41
+ The title to display. Takes precedence over the title the media carries.
42
+
43
+ `poster`
44
+
45
+ `undefined | null | string`
46
+
47
+ `—`
48
+
49
+
50
+
51
+ Attribute
52
+
53
+ `poster`
54
+
55
+ Description
56
+
57
+ The poster to display. Takes precedence over the poster the media carries.
58
+
59
+ ### State
60
+
61
+ Property
62
+
63
+ Type
64
+
65
+ Details
66
+
67
+ `title`
68
+
69
+ `string`
70
+
71
+
72
+
73
+ Description
74
+
75
+ The resolved content title. Set it through the player, not through the store.
76
+
77
+ `poster`
78
+
79
+ `string`
80
+
81
+
82
+
83
+ Description
84
+
85
+ The resolved poster URL, independent of the media element's own `poster`. Set it through the player, not through the store.
86
+
87
+ ### Selector
88
+
89
+ Pass `selectMetadata` to [`PlayerController`](./player-controller.md) to subscribe to metadata state. Returns `undefined` if the metadata feature is not configured.
90
+
91
+ content-title.ts
92
+
93
+ ```
94
+ import { createPlayer, MediaElement, selectMetadata } from '@videojs/html';
95
+ import { videoFeatures } from '@videojs/html/video';
96
+
97
+ const { PlayerController, context } = createPlayer({ features: videoFeatures });
98
+
99
+ class ContentTitle extends MediaElement {
100
+ readonly #metadata = new PlayerController(this, context, selectMetadata);
101
+ }
102
+ ```
103
+
104
+ ### Player inputs
105
+
106
+ The store publishes the resolved values and takes no writes. A player input is the only way to set one.
107
+
108
+ Every input is an attribute on [`<video-player>`](./player-provider.md), each with a matching property. A player built without the metadata feature observes none of them.
109
+
110
+ `title` already means the tooltip on an HTML element, so the title input goes by `content-title` in markup, and by `contentTitle` as a property. The other inputs use their own names.
111
+
112
+ html
113
+
114
+ ```
115
+ <video-player content-title="The Pilot" poster="/episode-art.jpg">
116
+ <media-container>
117
+ <video src="episode.mp4"></video>
118
+ </media-container>
119
+ </video-player>
120
+ ```
121
+
122
+ Removing an attribute clears your value, so it falls through to what the media reports.
123
+
124
+ title-controls.ts
125
+
126
+ ```
127
+ const player = document.querySelector('video-player');
128
+
129
+ player?.setAttribute('content-title', 'The Pilot');
130
+ player?.removeAttribute('content-title'); // falls back to the media
131
+ ```
132
+
133
+ The flow between an attribute and its property runs one way: an attribute change writes the property, but setting the property leaves the attribute alone. Read the property for the current value.
134
+
135
+ ### Media-reported values
136
+
137
+ The media tier comes from media that reports content data and announces changes to it, and it covers `title` and `poster`. A media reports only the keys it can vouch for, so either may be absent while the other arrives. A key that never arrives means that tier never contributes, and the resolved value is whatever you set. Detaching the media clears its values; the values you set survive and apply to the next source.
138
+
139
+ `poster` is the feature’s own resolved value, not the media element’s `poster` attribute. Setting one does not set the other.
140
+
141
+ A low-resolution stand-in to show while the poster loads is not part of this feature. The [poster](./poster.md) renders an `<img>` you control, so give it a `background-image` and that shows until the poster itself paints over it.
@@ -6,30 +6,122 @@ Locks screen orientation while fullscreen is active. Add it explicitly to a feat
6
6
 
7
7
  ## API Reference
8
8
 
9
+ ### Configuration
10
+
11
+ Attributes and matching properties the player element accepts. They exist only while this feature is selected.
12
+
13
+ Prop
14
+
15
+ Type
16
+
17
+ Default
18
+
19
+ Details
20
+
21
+ `orientationLockType`
22
+
23
+ `undefined | null | 'any' | 'landscape' | 'landscape-primary' | 'landscape-secondary' | 'natural' | 'portrait' | 'portrait-primary' | 'portrait-secondary'`
24
+
25
+ `'landscape'`
26
+
27
+
28
+
29
+ Attribute
30
+
31
+ `orientation-lock-type`
32
+
33
+ Description
34
+
35
+ Screen orientation type to lock while fullscreen is active.
36
+
37
+ ### State
38
+
39
+ Property
40
+
41
+ Type
42
+
43
+ Details
44
+
45
+ `orientationLockType`
46
+
47
+ `'any' | 'landscape' | 'landscape-primary' | 'landscape-secondary' | 'natural' | 'portrait' | 'portrait-primary' | 'portrait-secondary'`
48
+
49
+
50
+
51
+ Description
52
+
53
+ Screen orientation type locked while fullscreen is active.
54
+
55
+ ### Actions
56
+
57
+ Action
58
+
59
+ Type
60
+
61
+ Details
62
+
63
+ `setOrientationLockType`
64
+
65
+ `(value: undefined | null | 'any' | 'landscape' | 'landscape-primary' | 'landscape-secondary' | 'natural' | 'portrait' | 'portrait-primary' | 'portrait-secondary') => void`
66
+
67
+
68
+
69
+ Description
70
+
71
+ Sets the locked orientation type. Absent input — nullish, or the empty string a valueless HTML attribute produces — restores the default.
72
+
9
73
  ### Usage
10
74
 
11
- By default, the feature locks to `landscape`. Pass a Screen Orientation API type to customize it.
75
+ Selecting the feature adds it to the player.
12
76
 
13
77
  player.ts
14
78
 
15
79
  ```
16
- import { createPlayer, features } from '@videojs/html';
80
+ import { createPlayer, features, MediaElement } from '@videojs/html';
17
81
  import { videoFeatures } from '@videojs/html/video';
18
82
 
19
- export const { ProviderMixin } = createPlayer({
83
+ const { ProviderMixin } = createPlayer({
20
84
  features: [...videoFeatures, features.orientationLock],
21
85
  });
86
+
87
+ class MyPlayer extends ProviderMixin(MediaElement) {}
88
+
89
+ customElements.define('my-player', MyPlayer);
22
90
  ```
23
91
 
24
- portrait-player.ts
92
+ ### Orientation type
93
+
94
+ The feature locks to `landscape` unless the provider sets another Screen Orientation API type. The value can change while the player is running; if the screen is already locked, it re-locks to the new type.
25
95
 
96
+ html
97
+
98
+ ```
99
+ <my-player orientation-lock-type="portrait">
100
+ <video src="/video.mp4"></video>
101
+ </my-player>
26
102
  ```
27
- import { createPlayer, features } from '@videojs/html';
103
+
104
+ The attribute only exists on a player that selected the feature. Setting it on an element built from `videoFeatures` alone does nothing.
105
+
106
+ Clearing the value restores `landscape`.
107
+
108
+ ### Selector
109
+
110
+ Pass `selectOrientationLock` to [`PlayerController`](./player-controller.md) to subscribe to the lock state. Returns `undefined` if the orientation lock feature is not configured.
111
+
112
+ orientation-toggle.ts
113
+
114
+ ```
115
+ import { createPlayer, features, MediaElement, selectOrientationLock } from '@videojs/html';
28
116
  import { videoFeatures } from '@videojs/html/video';
29
117
 
30
- export const { ProviderMixin } = createPlayer({
31
- features: [...videoFeatures, features.orientationLock({ type: 'portrait' })],
118
+ const { PlayerController, context } = createPlayer({
119
+ features: [...videoFeatures, features.orientationLock],
32
120
  });
121
+
122
+ class OrientationToggle extends MediaElement {
123
+ readonly #lock = new PlayerController(this, context, selectOrientationLock);
124
+ }
33
125
  ```
34
126
 
35
127
  Unsupported browsers and rejected lock requests are ignored.
@@ -46,6 +46,16 @@ Description
46
46
 
47
47
  The `<track>` element's `src` for resolving relative cue text URLs.
48
48
 
49
+ `thumbnailTrackCrossOrigin`
50
+
51
+ `null | 'anonymous' | 'use-credentials'`
52
+
53
+
54
+
55
+ Description
56
+
57
+ The media element's CORS mode, mapped through the CORS-settings-attribute rules, or `null` when it is not in CORS mode. Thumbnail UI fetches the sprite sheets the cues point at with this mode, since a cross-origin `<track>` only loads at all when the media element is CORS-enabled.
58
+
49
59
  `textTrackList`
50
60
 
51
61
  `MediaTextTrack<TextTrackKind>[]`
@@ -309,7 +309,6 @@ index.ts
309
309
  transition-timing-function: ease-in-out;
310
310
  transition-duration: var(--menu-transition-duration);
311
311
  transition-property: translate, filter;
312
- will-change: translate;
313
312
  }
314
313
 
315
314
  .menu[data-submenu-expanded="true"] > :not([data-submenu]) {
@@ -257,6 +257,10 @@ Description
257
257
 
258
258
  CORS setting forwarded to the inner `<img>`.
259
259
 
260
+ Left unset, this follows the media element: a cross-origin thumbnail `<track>` only loads when the media is CORS-enabled, so the sprite sheets its cues point at are fetched with that same mode. Pass `null` to opt out and fetch them without CORS. Thumbnails supplied directly never inherit, since they need not be related to the media element at all.
261
+
262
+ `''` is a value like any other, read as Anonymous by the CORS-settings attribute rules — it does not opt out.
263
+
260
264
  Type
261
265
 
262
266
  `'anonymous' | 'use-credentials' | '' | null`