@videojs/html 10.0.0-alpha.3 → 10.0.0-alpha.5

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 (453) hide show
  1. package/dist/default/define/audio/minimal-skin.css +11 -0
  2. package/dist/default/define/audio/minimal-skin.js +26 -0
  3. package/dist/default/define/audio/minimal-skin.js.map +1 -0
  4. package/dist/default/define/audio/player.js +8 -4
  5. package/dist/default/define/audio/player.js.map +1 -1
  6. package/dist/default/define/audio/skin.css +12 -0
  7. package/dist/default/define/audio/skin.js +26 -0
  8. package/dist/default/define/audio/skin.js.map +1 -0
  9. package/dist/default/define/background/player.js +8 -4
  10. package/dist/default/define/background/player.js.map +1 -1
  11. package/dist/default/define/background/skin.css +27 -0
  12. package/dist/default/define/background/skin.js +35 -0
  13. package/dist/default/define/background/skin.js.map +1 -0
  14. package/dist/default/define/background/video.js +3 -0
  15. package/dist/default/define/media/background-video.js +2 -1
  16. package/dist/default/define/media/background-video.js.map +1 -1
  17. package/dist/default/define/media/container.js +8 -0
  18. package/dist/default/define/media/container.js.map +1 -0
  19. package/dist/default/define/media/hls-video.js +2 -1
  20. package/dist/default/define/media/hls-video.js.map +1 -1
  21. package/dist/default/define/safe-define.js +9 -0
  22. package/dist/default/define/safe-define.js.map +1 -0
  23. package/dist/default/define/skin-mixin.js +35 -0
  24. package/dist/default/define/skin-mixin.js.map +1 -0
  25. package/dist/default/define/ui/buffering-indicator.js +2 -1
  26. package/dist/default/define/ui/buffering-indicator.js.map +1 -1
  27. package/dist/default/define/ui/controls-group.js +8 -0
  28. package/dist/default/define/ui/controls-group.js.map +1 -0
  29. package/dist/default/define/ui/controls.js +3 -2
  30. package/dist/default/define/ui/controls.js.map +1 -1
  31. package/dist/default/define/ui/fullscreen-button.js +2 -1
  32. package/dist/default/define/ui/fullscreen-button.js.map +1 -1
  33. package/dist/default/define/ui/mute-button.js +2 -1
  34. package/dist/default/define/ui/mute-button.js.map +1 -1
  35. package/dist/default/define/ui/pip-button.js +2 -1
  36. package/dist/default/define/ui/pip-button.js.map +1 -1
  37. package/dist/default/define/ui/play-button.js +2 -1
  38. package/dist/default/define/ui/play-button.js.map +1 -1
  39. package/dist/default/define/ui/playback-rate-button.js +8 -0
  40. package/dist/default/define/ui/playback-rate-button.js.map +1 -0
  41. package/dist/default/define/ui/popover.js +8 -0
  42. package/dist/default/define/ui/popover.js.map +1 -0
  43. package/dist/default/define/ui/poster.js +2 -1
  44. package/dist/default/define/ui/poster.js.map +1 -1
  45. package/dist/default/define/ui/seek-button.js +2 -1
  46. package/dist/default/define/ui/seek-button.js.map +1 -1
  47. package/dist/default/define/ui/slider-buffer.js +8 -0
  48. package/dist/default/define/ui/slider-buffer.js.map +1 -0
  49. package/dist/default/define/ui/slider-fill.js +8 -0
  50. package/dist/default/define/ui/slider-fill.js.map +1 -0
  51. package/dist/default/define/ui/slider-thumb.js +8 -0
  52. package/dist/default/define/ui/slider-thumb.js.map +1 -0
  53. package/dist/default/define/ui/slider-track.js +8 -0
  54. package/dist/default/define/ui/slider-track.js.map +1 -0
  55. package/dist/default/define/ui/slider-value.js +8 -0
  56. package/dist/default/define/ui/slider-value.js.map +1 -0
  57. package/dist/default/define/ui/slider.js +16 -0
  58. package/dist/default/define/ui/slider.js.map +1 -0
  59. package/dist/default/define/ui/thumbnail.js +8 -0
  60. package/dist/default/define/ui/thumbnail.js.map +1 -0
  61. package/dist/default/define/ui/time-group.js +8 -0
  62. package/dist/default/define/ui/time-group.js.map +1 -0
  63. package/dist/default/define/ui/time-separator.js +8 -0
  64. package/dist/default/define/ui/time-separator.js.map +1 -0
  65. package/dist/default/define/ui/time-slider.js +18 -0
  66. package/dist/default/define/ui/time-slider.js.map +1 -0
  67. package/dist/default/define/ui/time.js +4 -3
  68. package/dist/default/define/ui/time.js.map +1 -1
  69. package/dist/default/define/ui/volume-slider.js +16 -0
  70. package/dist/default/define/ui/volume-slider.js.map +1 -0
  71. package/dist/default/define/video/minimal-skin.css +762 -0
  72. package/dist/default/define/video/minimal-skin.js +131 -0
  73. package/dist/default/define/video/minimal-skin.js.map +1 -0
  74. package/dist/default/define/video/minimal-skin.tailwind.js +134 -0
  75. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -0
  76. package/dist/default/define/video/player.js +8 -4
  77. package/dist/default/define/video/player.js.map +1 -1
  78. package/dist/default/define/video/skin.css +763 -0
  79. package/dist/default/define/video/skin.js +125 -0
  80. package/dist/default/define/video/skin.js.map +1 -0
  81. package/dist/default/define/video/skin.tailwind.js +127 -0
  82. package/dist/default/define/video/skin.tailwind.js.map +1 -0
  83. package/dist/default/icons/dist/render/default/index.js +27 -0
  84. package/dist/default/icons/dist/render/default/index.js.map +1 -0
  85. package/dist/default/icons/dist/render/minimal/index.js +27 -0
  86. package/dist/default/icons/dist/render/minimal/index.js.map +1 -0
  87. package/dist/default/index.js +17 -3
  88. package/dist/default/media/background-video/index.js +14 -8
  89. package/dist/default/media/background-video/index.js.map +1 -1
  90. package/dist/default/media/container-element.js +15 -0
  91. package/dist/default/media/container-element.js.map +1 -0
  92. package/dist/default/player/create-player.js +0 -5
  93. package/dist/default/player/create-player.js.map +1 -1
  94. package/dist/default/player/player-controller.js +3 -0
  95. package/dist/default/player/player-controller.js.map +1 -1
  96. package/dist/default/presets/audio.js +5 -0
  97. package/dist/default/presets/background.js +3 -0
  98. package/dist/default/presets/video.js +7 -0
  99. package/dist/default/skins/dist/default/video/default.tailwind.js +90 -0
  100. package/dist/default/skins/dist/default/video/default.tailwind.js.map +1 -0
  101. package/dist/default/skins/dist/default/video/minimal.tailwind.js +86 -0
  102. package/dist/default/skins/dist/default/video/minimal.tailwind.js.map +1 -0
  103. package/dist/default/store/container-mixin.js +14 -7
  104. package/dist/default/store/container-mixin.js.map +1 -1
  105. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  106. package/dist/default/ui/context-part-element.js +28 -0
  107. package/dist/default/ui/context-part-element.js.map +1 -0
  108. package/dist/default/ui/controls/context.js +9 -0
  109. package/dist/default/ui/controls/context.js.map +1 -0
  110. package/dist/default/ui/controls/controls-element.js +15 -6
  111. package/dist/default/ui/controls/controls-element.js.map +1 -1
  112. package/dist/default/ui/controls/controls-group-element.js +11 -2
  113. package/dist/default/ui/controls/controls-group-element.js.map +1 -1
  114. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +8 -39
  115. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  116. package/dist/default/ui/media-button-element.js +50 -0
  117. package/dist/default/ui/media-button-element.js.map +1 -0
  118. package/dist/default/ui/media-ui-element.js +22 -0
  119. package/dist/default/ui/media-ui-element.js.map +1 -0
  120. package/dist/default/ui/mute-button/mute-button-element.js +8 -39
  121. package/dist/default/ui/mute-button/mute-button-element.js.map +1 -1
  122. package/dist/default/ui/pip-button/pip-button-element.js +8 -39
  123. package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
  124. package/dist/default/ui/play-button/play-button-element.js +8 -39
  125. package/dist/default/ui/play-button/play-button-element.js.map +1 -1
  126. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +25 -0
  127. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +1 -0
  128. package/dist/default/ui/popover/popover-element.js +163 -0
  129. package/dist/default/ui/popover/popover-element.js.map +1 -0
  130. package/dist/default/ui/poster/poster-element.js +9 -14
  131. package/dist/default/ui/poster/poster-element.js.map +1 -1
  132. package/dist/default/ui/seek-button/seek-button-element.js +10 -36
  133. package/dist/default/ui/seek-button/seek-button-element.js.map +1 -1
  134. package/dist/default/ui/slider/context.js +9 -0
  135. package/dist/default/ui/slider/context.js.map +1 -0
  136. package/dist/default/ui/slider/slider-buffer-element.js +21 -0
  137. package/dist/default/ui/slider/slider-buffer-element.js.map +1 -0
  138. package/dist/default/ui/slider/slider-element.js +117 -0
  139. package/dist/default/ui/slider/slider-element.js.map +1 -0
  140. package/dist/default/ui/slider/slider-fill-element.js +21 -0
  141. package/dist/default/ui/slider/slider-fill-element.js.map +1 -0
  142. package/dist/default/ui/slider/slider-thumb-element.js +43 -0
  143. package/dist/default/ui/slider/slider-thumb-element.js.map +1 -0
  144. package/dist/default/ui/slider/slider-track-element.js +21 -0
  145. package/dist/default/ui/slider/slider-track-element.js.map +1 -0
  146. package/dist/default/ui/slider/slider-value-element.js +38 -0
  147. package/dist/default/ui/slider/slider-value-element.js.map +1 -0
  148. package/dist/default/ui/thumbnail/thumbnail-element.js +136 -0
  149. package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -0
  150. package/dist/default/ui/time/time-element.js +8 -16
  151. package/dist/default/ui/time/time-element.js.map +1 -1
  152. package/dist/default/ui/time-slider/time-slider-element.js +128 -0
  153. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -0
  154. package/dist/default/ui/volume-slider/volume-slider-element.js +117 -0
  155. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -0
  156. package/dist/dev/define/audio/minimal-skin.css +11 -0
  157. package/dist/dev/define/audio/minimal-skin.d.ts +17 -0
  158. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -0
  159. package/dist/dev/define/audio/minimal-skin.js +26 -0
  160. package/dist/dev/define/audio/minimal-skin.js.map +1 -0
  161. package/dist/dev/define/audio/player.d.ts +4 -3
  162. package/dist/dev/define/audio/player.d.ts.map +1 -1
  163. package/dist/dev/define/audio/player.js +8 -4
  164. package/dist/dev/define/audio/player.js.map +1 -1
  165. package/dist/dev/define/audio/skin.css +12 -0
  166. package/dist/dev/define/audio/skin.d.ts +17 -1
  167. package/dist/dev/define/audio/skin.d.ts.map +1 -0
  168. package/dist/dev/define/audio/skin.js +26 -0
  169. package/dist/dev/define/audio/skin.js.map +1 -0
  170. package/dist/dev/define/background/player.d.ts +4 -3
  171. package/dist/dev/define/background/player.d.ts.map +1 -1
  172. package/dist/dev/define/background/player.js +8 -4
  173. package/dist/dev/define/background/player.js.map +1 -1
  174. package/dist/dev/define/background/skin.css +27 -0
  175. package/dist/dev/define/background/skin.d.ts +20 -1
  176. package/dist/dev/define/background/skin.d.ts.map +1 -0
  177. package/dist/dev/define/background/skin.js +35 -0
  178. package/dist/dev/define/background/skin.js.map +1 -0
  179. package/dist/dev/define/background/video.d.ts +2 -0
  180. package/dist/dev/define/background/video.js +3 -0
  181. package/dist/dev/define/media/background-video.d.ts.map +1 -1
  182. package/dist/dev/define/media/background-video.js +2 -1
  183. package/dist/dev/define/media/background-video.js.map +1 -1
  184. package/dist/dev/define/media/container.d.ts +9 -0
  185. package/dist/dev/define/media/container.d.ts.map +1 -0
  186. package/dist/dev/define/media/container.js +8 -0
  187. package/dist/dev/define/media/container.js.map +1 -0
  188. package/dist/dev/define/media/hls-video.d.ts.map +1 -1
  189. package/dist/dev/define/media/hls-video.js +2 -1
  190. package/dist/dev/define/media/hls-video.js.map +1 -1
  191. package/dist/dev/define/safe-define.d.ts +9 -0
  192. package/dist/dev/define/safe-define.d.ts.map +1 -0
  193. package/dist/dev/define/safe-define.js +9 -0
  194. package/dist/dev/define/safe-define.js.map +1 -0
  195. package/dist/dev/define/skin-mixin.d.ts +13 -0
  196. package/dist/dev/define/skin-mixin.d.ts.map +1 -0
  197. package/dist/dev/define/skin-mixin.js +35 -0
  198. package/dist/dev/define/skin-mixin.js.map +1 -0
  199. package/dist/dev/define/ui/buffering-indicator.d.ts.map +1 -1
  200. package/dist/dev/define/ui/buffering-indicator.js +2 -1
  201. package/dist/dev/define/ui/buffering-indicator.js.map +1 -1
  202. package/dist/dev/define/ui/controls-group.d.ts +9 -0
  203. package/dist/dev/define/ui/controls-group.d.ts.map +1 -0
  204. package/dist/dev/define/ui/controls-group.js +8 -0
  205. package/dist/dev/define/ui/controls-group.js.map +1 -0
  206. package/dist/dev/define/ui/controls.d.ts +0 -2
  207. package/dist/dev/define/ui/controls.d.ts.map +1 -1
  208. package/dist/dev/define/ui/controls.js +3 -2
  209. package/dist/dev/define/ui/controls.js.map +1 -1
  210. package/dist/dev/define/ui/fullscreen-button.d.ts.map +1 -1
  211. package/dist/dev/define/ui/fullscreen-button.js +2 -1
  212. package/dist/dev/define/ui/fullscreen-button.js.map +1 -1
  213. package/dist/dev/define/ui/mute-button.d.ts.map +1 -1
  214. package/dist/dev/define/ui/mute-button.js +2 -1
  215. package/dist/dev/define/ui/mute-button.js.map +1 -1
  216. package/dist/dev/define/ui/pip-button.d.ts.map +1 -1
  217. package/dist/dev/define/ui/pip-button.js +2 -1
  218. package/dist/dev/define/ui/pip-button.js.map +1 -1
  219. package/dist/dev/define/ui/play-button.d.ts.map +1 -1
  220. package/dist/dev/define/ui/play-button.js +2 -1
  221. package/dist/dev/define/ui/play-button.js.map +1 -1
  222. package/dist/dev/define/ui/playback-rate-button.d.ts +9 -0
  223. package/dist/dev/define/ui/playback-rate-button.d.ts.map +1 -0
  224. package/dist/dev/define/ui/playback-rate-button.js +8 -0
  225. package/dist/dev/define/ui/playback-rate-button.js.map +1 -0
  226. package/dist/dev/define/ui/popover.d.ts +9 -0
  227. package/dist/dev/define/ui/popover.d.ts.map +1 -0
  228. package/dist/dev/define/ui/popover.js +8 -0
  229. package/dist/dev/define/ui/popover.js.map +1 -0
  230. package/dist/dev/define/ui/poster.d.ts.map +1 -1
  231. package/dist/dev/define/ui/poster.js +2 -1
  232. package/dist/dev/define/ui/poster.js.map +1 -1
  233. package/dist/dev/define/ui/seek-button.d.ts.map +1 -1
  234. package/dist/dev/define/ui/seek-button.js +2 -1
  235. package/dist/dev/define/ui/seek-button.js.map +1 -1
  236. package/dist/dev/define/ui/slider-buffer.d.ts +9 -0
  237. package/dist/dev/define/ui/slider-buffer.d.ts.map +1 -0
  238. package/dist/dev/define/ui/slider-buffer.js +8 -0
  239. package/dist/dev/define/ui/slider-buffer.js.map +1 -0
  240. package/dist/dev/define/ui/slider-fill.d.ts +9 -0
  241. package/dist/dev/define/ui/slider-fill.d.ts.map +1 -0
  242. package/dist/dev/define/ui/slider-fill.js +8 -0
  243. package/dist/dev/define/ui/slider-fill.js.map +1 -0
  244. package/dist/dev/define/ui/slider-thumb.d.ts +9 -0
  245. package/dist/dev/define/ui/slider-thumb.d.ts.map +1 -0
  246. package/dist/dev/define/ui/slider-thumb.js +8 -0
  247. package/dist/dev/define/ui/slider-thumb.js.map +1 -0
  248. package/dist/dev/define/ui/slider-track.d.ts +9 -0
  249. package/dist/dev/define/ui/slider-track.d.ts.map +1 -0
  250. package/dist/dev/define/ui/slider-track.js +8 -0
  251. package/dist/dev/define/ui/slider-track.js.map +1 -0
  252. package/dist/dev/define/ui/slider-value.d.ts +9 -0
  253. package/dist/dev/define/ui/slider-value.d.ts.map +1 -0
  254. package/dist/dev/define/ui/slider-value.js +8 -0
  255. package/dist/dev/define/ui/slider-value.js.map +1 -0
  256. package/dist/dev/define/ui/slider.d.ts +9 -0
  257. package/dist/dev/define/ui/slider.d.ts.map +1 -0
  258. package/dist/dev/define/ui/slider.js +16 -0
  259. package/dist/dev/define/ui/slider.js.map +1 -0
  260. package/dist/dev/define/ui/thumbnail.d.ts +9 -0
  261. package/dist/dev/define/ui/thumbnail.d.ts.map +1 -0
  262. package/dist/dev/define/ui/thumbnail.js +8 -0
  263. package/dist/dev/define/ui/thumbnail.js.map +1 -0
  264. package/dist/dev/define/ui/time-group.d.ts +9 -0
  265. package/dist/dev/define/ui/time-group.d.ts.map +1 -0
  266. package/dist/dev/define/ui/time-group.js +8 -0
  267. package/dist/dev/define/ui/time-group.js.map +1 -0
  268. package/dist/dev/define/ui/time-separator.d.ts +9 -0
  269. package/dist/dev/define/ui/time-separator.d.ts.map +1 -0
  270. package/dist/dev/define/ui/time-separator.js +8 -0
  271. package/dist/dev/define/ui/time-separator.js.map +1 -0
  272. package/dist/dev/define/ui/time-slider.d.ts +9 -0
  273. package/dist/dev/define/ui/time-slider.d.ts.map +1 -0
  274. package/dist/dev/define/ui/time-slider.js +18 -0
  275. package/dist/dev/define/ui/time-slider.js.map +1 -0
  276. package/dist/dev/define/ui/time.d.ts +0 -4
  277. package/dist/dev/define/ui/time.d.ts.map +1 -1
  278. package/dist/dev/define/ui/time.js +4 -3
  279. package/dist/dev/define/ui/time.js.map +1 -1
  280. package/dist/dev/define/ui/volume-slider.d.ts +9 -0
  281. package/dist/dev/define/ui/volume-slider.d.ts.map +1 -0
  282. package/dist/dev/define/ui/volume-slider.js +16 -0
  283. package/dist/dev/define/ui/volume-slider.js.map +1 -0
  284. package/dist/dev/define/video/minimal-skin.css +762 -0
  285. package/dist/dev/define/video/minimal-skin.d.ts +30 -0
  286. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -0
  287. package/dist/dev/define/video/minimal-skin.js +131 -0
  288. package/dist/dev/define/video/minimal-skin.js.map +1 -0
  289. package/dist/dev/define/video/minimal-skin.tailwind.d.ts +30 -0
  290. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -0
  291. package/dist/dev/define/video/minimal-skin.tailwind.js +134 -0
  292. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -0
  293. package/dist/dev/define/video/player.d.ts +4 -3
  294. package/dist/dev/define/video/player.d.ts.map +1 -1
  295. package/dist/dev/define/video/player.js +8 -4
  296. package/dist/dev/define/video/player.js.map +1 -1
  297. package/dist/dev/define/video/skin.css +763 -0
  298. package/dist/dev/define/video/skin.d.ts +30 -1
  299. package/dist/dev/define/video/skin.d.ts.map +1 -0
  300. package/dist/dev/define/video/skin.js +125 -0
  301. package/dist/dev/define/video/skin.js.map +1 -0
  302. package/dist/dev/define/video/skin.tailwind.d.ts +30 -0
  303. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -0
  304. package/dist/dev/define/video/skin.tailwind.js +127 -0
  305. package/dist/dev/define/video/skin.tailwind.js.map +1 -0
  306. package/dist/dev/icons/dist/render/default/index.js +27 -0
  307. package/dist/dev/icons/dist/render/default/index.js.map +1 -0
  308. package/dist/dev/icons/dist/render/minimal/index.js +27 -0
  309. package/dist/dev/icons/dist/render/minimal/index.js.map +1 -0
  310. package/dist/dev/index.d.ts +19 -4
  311. package/dist/dev/index.js +17 -3
  312. package/dist/dev/media/background-video/index.d.ts +4 -4
  313. package/dist/dev/media/background-video/index.d.ts.map +1 -1
  314. package/dist/dev/media/background-video/index.js +14 -8
  315. package/dist/dev/media/background-video/index.js.map +1 -1
  316. package/dist/dev/media/container-element.d.ts +13 -0
  317. package/dist/dev/media/container-element.d.ts.map +1 -0
  318. package/dist/dev/media/container-element.js +15 -0
  319. package/dist/dev/media/container-element.js.map +1 -0
  320. package/dist/dev/player/create-player.d.ts +6 -14
  321. package/dist/dev/player/create-player.d.ts.map +1 -1
  322. package/dist/dev/player/create-player.js +0 -5
  323. package/dist/dev/player/create-player.js.map +1 -1
  324. package/dist/dev/player/player-controller.d.ts +1 -0
  325. package/dist/dev/player/player-controller.d.ts.map +1 -1
  326. package/dist/dev/player/player-controller.js +3 -0
  327. package/dist/dev/player/player-controller.js.map +1 -1
  328. package/dist/dev/presets/audio.d.ts +4 -0
  329. package/dist/dev/presets/audio.js +5 -0
  330. package/dist/dev/presets/background.d.ts +2 -0
  331. package/dist/dev/presets/background.js +3 -0
  332. package/dist/dev/presets/video.d.ts +6 -0
  333. package/dist/dev/presets/video.js +7 -0
  334. package/dist/dev/skins/dist/default/video/default.tailwind.js +90 -0
  335. package/dist/dev/skins/dist/default/video/default.tailwind.js.map +1 -0
  336. package/dist/dev/skins/dist/default/video/minimal.tailwind.js +86 -0
  337. package/dist/dev/skins/dist/default/video/minimal.tailwind.js.map +1 -0
  338. package/dist/dev/store/container-mixin.d.ts +1 -1
  339. package/dist/dev/store/container-mixin.js +14 -7
  340. package/dist/dev/store/container-mixin.js.map +1 -1
  341. package/dist/dev/store/provider-mixin.d.ts +1 -1
  342. package/dist/dev/store/types.d.ts +1 -3
  343. package/dist/dev/store/types.d.ts.map +1 -1
  344. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +2 -2
  345. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  346. package/dist/dev/ui/context-part-element.d.ts +32 -0
  347. package/dist/dev/ui/context-part-element.d.ts.map +1 -0
  348. package/dist/dev/ui/context-part-element.js +28 -0
  349. package/dist/dev/ui/context-part-element.js.map +1 -0
  350. package/dist/dev/ui/controls/context.d.ts +10 -0
  351. package/dist/dev/ui/controls/context.d.ts.map +1 -0
  352. package/dist/dev/ui/controls/context.js +9 -0
  353. package/dist/dev/ui/controls/context.js.map +1 -0
  354. package/dist/dev/ui/controls/controls-element.d.ts +1 -1
  355. package/dist/dev/ui/controls/controls-element.d.ts.map +1 -1
  356. package/dist/dev/ui/controls/controls-element.js +17 -8
  357. package/dist/dev/ui/controls/controls-element.js.map +1 -1
  358. package/dist/dev/ui/controls/controls-group-element.d.ts +8 -2
  359. package/dist/dev/ui/controls/controls-group-element.d.ts.map +1 -1
  360. package/dist/dev/ui/controls/controls-group-element.js +11 -2
  361. package/dist/dev/ui/controls/controls-group-element.js.map +1 -1
  362. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +11 -18
  363. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
  364. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +8 -40
  365. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  366. package/dist/dev/ui/media-button-element.d.ts +24 -0
  367. package/dist/dev/ui/media-button-element.d.ts.map +1 -0
  368. package/dist/dev/ui/media-button-element.js +51 -0
  369. package/dist/dev/ui/media-button-element.js.map +1 -0
  370. package/dist/dev/ui/media-ui-element.d.ts +17 -0
  371. package/dist/dev/ui/media-ui-element.d.ts.map +1 -0
  372. package/dist/dev/ui/media-ui-element.js +23 -0
  373. package/dist/dev/ui/media-ui-element.js.map +1 -0
  374. package/dist/dev/ui/mute-button/mute-button-element.d.ts +11 -18
  375. package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
  376. package/dist/dev/ui/mute-button/mute-button-element.js +8 -40
  377. package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -1
  378. package/dist/dev/ui/pip-button/pip-button-element.d.ts +11 -18
  379. package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
  380. package/dist/dev/ui/pip-button/pip-button-element.js +8 -40
  381. package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
  382. package/dist/dev/ui/play-button/play-button-element.d.ts +12 -18
  383. package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
  384. package/dist/dev/ui/play-button/play-button-element.js +8 -40
  385. package/dist/dev/ui/play-button/play-button-element.js.map +1 -1
  386. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts +18 -0
  387. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts.map +1 -0
  388. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +25 -0
  389. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +1 -0
  390. package/dist/dev/ui/popover/popover-element.d.ts +65 -0
  391. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -0
  392. package/dist/dev/ui/popover/popover-element.js +163 -0
  393. package/dist/dev/ui/popover/popover-element.js.map +1 -0
  394. package/dist/dev/ui/poster/poster-element.d.ts +11 -6
  395. package/dist/dev/ui/poster/poster-element.d.ts.map +1 -1
  396. package/dist/dev/ui/poster/poster-element.js +9 -15
  397. package/dist/dev/ui/poster/poster-element.js.map +1 -1
  398. package/dist/dev/ui/seek-button/seek-button-element.d.ts +14 -22
  399. package/dist/dev/ui/seek-button/seek-button-element.d.ts.map +1 -1
  400. package/dist/dev/ui/seek-button/seek-button-element.js +10 -37
  401. package/dist/dev/ui/seek-button/seek-button-element.js.map +1 -1
  402. package/dist/dev/ui/slider/context.d.ts +24 -0
  403. package/dist/dev/ui/slider/context.d.ts.map +1 -0
  404. package/dist/dev/ui/slider/context.js +9 -0
  405. package/dist/dev/ui/slider/context.js.map +1 -0
  406. package/dist/dev/ui/slider/slider-buffer-element.d.ts +15 -0
  407. package/dist/dev/ui/slider/slider-buffer-element.d.ts.map +1 -0
  408. package/dist/dev/ui/slider/slider-buffer-element.js +21 -0
  409. package/dist/dev/ui/slider/slider-buffer-element.js.map +1 -0
  410. package/dist/dev/ui/slider/slider-element.d.ts +56 -0
  411. package/dist/dev/ui/slider/slider-element.d.ts.map +1 -0
  412. package/dist/dev/ui/slider/slider-element.js +117 -0
  413. package/dist/dev/ui/slider/slider-element.js.map +1 -0
  414. package/dist/dev/ui/slider/slider-events.d.ts +18 -0
  415. package/dist/dev/ui/slider/slider-events.d.ts.map +1 -0
  416. package/dist/dev/ui/slider/slider-fill-element.d.ts +15 -0
  417. package/dist/dev/ui/slider/slider-fill-element.d.ts.map +1 -0
  418. package/dist/dev/ui/slider/slider-fill-element.js +21 -0
  419. package/dist/dev/ui/slider/slider-fill-element.js.map +1 -0
  420. package/dist/dev/ui/slider/slider-thumb-element.d.ts +14 -0
  421. package/dist/dev/ui/slider/slider-thumb-element.d.ts.map +1 -0
  422. package/dist/dev/ui/slider/slider-thumb-element.js +43 -0
  423. package/dist/dev/ui/slider/slider-thumb-element.js.map +1 -0
  424. package/dist/dev/ui/slider/slider-track-element.d.ts +15 -0
  425. package/dist/dev/ui/slider/slider-track-element.d.ts.map +1 -0
  426. package/dist/dev/ui/slider/slider-track-element.js +21 -0
  427. package/dist/dev/ui/slider/slider-track-element.js.map +1 -0
  428. package/dist/dev/ui/slider/slider-value-element.d.ts +19 -0
  429. package/dist/dev/ui/slider/slider-value-element.d.ts.map +1 -0
  430. package/dist/dev/ui/slider/slider-value-element.js +38 -0
  431. package/dist/dev/ui/slider/slider-value-element.js.map +1 -0
  432. package/dist/dev/ui/thumbnail/thumbnail-element.d.ts +42 -0
  433. package/dist/dev/ui/thumbnail/thumbnail-element.d.ts.map +1 -0
  434. package/dist/dev/ui/thumbnail/thumbnail-element.js +136 -0
  435. package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -0
  436. package/dist/dev/ui/time/time-element.d.ts.map +1 -1
  437. package/dist/dev/ui/time/time-element.js +10 -18
  438. package/dist/dev/ui/time/time-element.js.map +1 -1
  439. package/dist/dev/ui/time-slider/time-slider-element.d.ts +49 -0
  440. package/dist/dev/ui/time-slider/time-slider-element.d.ts.map +1 -0
  441. package/dist/dev/ui/time-slider/time-slider-element.js +129 -0
  442. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -0
  443. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +44 -0
  444. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -0
  445. package/dist/dev/ui/volume-slider/volume-slider-element.js +118 -0
  446. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -0
  447. package/package.json +31 -5
  448. package/dist/default/player/player-mixin.js +0 -23
  449. package/dist/default/player/player-mixin.js.map +0 -1
  450. package/dist/dev/player/player-mixin.d.ts +0 -20
  451. package/dist/dev/player/player-mixin.d.ts.map +0 -1
  452. package/dist/dev/player/player-mixin.js +0 -23
  453. package/dist/dev/player/player-mixin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fullscreen-button-element.js","names":["#core","#state","#disconnect"],"sources":["../../../../src/ui/fullscreen-button/fullscreen-button-element.ts"],"sourcesContent":["import { FullscreenButtonCore, FullscreenButtonDataAttrs } from '@videojs/core';\nimport {\n applyElementProps,\n applyStateDataAttrs,\n createButton,\n logMissingFeature,\n selectFullscreen,\n} from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class FullscreenButtonElement extends MediaElement {\n static readonly tagName = 'media-fullscreen-button';\n\n static override properties = {\n label: { type: String },\n disabled: { type: Boolean },\n } satisfies PropertyDeclarationMap<keyof FullscreenButtonCore.Props>;\n\n label = FullscreenButtonCore.defaultProps.label;\n disabled = FullscreenButtonCore.defaultProps.disabled;\n\n readonly #core = new FullscreenButtonCore();\n readonly #state = new PlayerController(this, playerContext, selectFullscreen);\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#disconnect = new AbortController();\n\n const buttonProps = createButton({\n onActivate: () => this.#core.toggle(this.#state.value!),\n isDisabled: () => this.disabled || !this.#state.value,\n });\n\n applyElementProps(this, buttonProps, this.#disconnect.signal);\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(FullscreenButtonElement.tagName, 'fullscreen');\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n this.#core.setProps(this);\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.#state.value;\n\n if (!media) return;\n\n const state = this.#core.getState(media);\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, FullscreenButtonDataAttrs);\n }\n}\n"],"mappings":";;;;;;;AAcA,IAAa,0BAAb,MAAa,gCAAgC,aAAa;;;eAQhD,qBAAqB,aAAa;kBAC/B,qBAAqB,aAAa;;;iBARnB;;;oBAEG;GAC3B,OAAO,EAAE,MAAM,QAAQ;GACvB,UAAU,EAAE,MAAM,SAAS;GAC5B;;CAKD,CAASA,OAAQ,IAAI,sBAAsB;CAC3C,CAASC,QAAS,IAAI,iBAAiB,MAAM,eAAe,iBAAiB;CAE7E,cAAsC;CAEtC,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AAEzB,QAAKC,aAAc,IAAI,iBAAiB;EAExC,MAAM,cAAc,aAAa;GAC/B,kBAAkB,MAAKF,KAAM,OAAO,MAAKC,MAAO,MAAO;GACvD,kBAAkB,KAAK,YAAY,CAAC,MAAKA,MAAO;GACjD,CAAC;AAEF,oBAAkB,MAAM,aAAa,MAAKC,WAAY,OAAO;AAE7D,MAAe,CAAC,MAAKD,MAAO,MAC1B,mBAAkB,wBAAwB,SAAS,aAAa;;CAIpE,AAAS,uBAA6B;AACpC,QAAM,sBAAsB;AAC5B,QAAKC,YAAa,OAAO;AACzB,QAAKA,aAAc;;CAGrB,AAAmB,WAAW,SAA+B;AAC3D,QAAM,WAAW,QAAQ;AACzB,QAAKF,KAAM,SAAS,KAAK;;CAG3B,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EAErB,MAAM,QAAQ,MAAKC,MAAO;AAE1B,MAAI,CAAC,MAAO;EAEZ,MAAM,QAAQ,MAAKD,KAAM,SAAS,MAAM;AACxC,oBAAkB,MAAM,MAAKA,KAAM,SAAS,MAAM,CAAC;AACnD,sBAAoB,MAAM,OAAO,0BAA0B"}
1
+ {"version":3,"file":"fullscreen-button-element.js","names":[],"sources":["../../../../src/ui/fullscreen-button/fullscreen-button-element.ts"],"sourcesContent":["import { FullscreenButtonCore, FullscreenButtonDataAttrs, type MediaFullscreenState } from '@videojs/core';\nimport { selectFullscreen } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class FullscreenButtonElement extends MediaButtonElement<FullscreenButtonCore> {\n static readonly tagName = 'media-fullscreen-button';\n\n protected readonly core = new FullscreenButtonCore();\n protected readonly stateAttrMap = FullscreenButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectFullscreen);\n\n protected activate(state: MediaFullscreenState): void {\n this.core.toggle(state);\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,0BAAb,cAA6C,mBAAyC;;;cAG1D,IAAI,sBAAsB;sBAClB;oBACF,IAAI,iBAAiB,MAAM,eAAe,iBAAiB;;;iBAJjE;;CAM1B,AAAU,SAAS,OAAmC;AACpD,OAAK,KAAK,OAAO,MAAM"}
@@ -0,0 +1,24 @@
1
+ import { MediaElement } from "./media-element.js";
2
+ import { PlayerController } from "../player/player-controller.js";
3
+ import { PropertyDeclarationMap, PropertyValues } from "@videojs/element";
4
+ import { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from "@videojs/core";
5
+
6
+ //#region src/ui/media-button-element.d.ts
7
+ /** Abstract base for HTML custom elements that render a media-control button. */
8
+ declare abstract class MediaButtonElement<Core extends MediaUIComponent> extends MediaElement {
9
+ #private;
10
+ static properties: PropertyDeclarationMap;
11
+ disabled: boolean;
12
+ label: string;
13
+ protected abstract readonly core: Core;
14
+ protected abstract readonly stateAttrMap: StateAttrMap<InferComponentState<Core>>;
15
+ protected abstract readonly mediaState: PlayerController<any, InferMediaState<Core> | undefined>;
16
+ protected abstract activate(state: InferMediaState<Core>): void;
17
+ connectedCallback(): void;
18
+ disconnectedCallback(): void;
19
+ protected willUpdate(changed: PropertyValues): void;
20
+ protected update(changed: PropertyValues): void;
21
+ }
22
+ //#endregion
23
+ export { MediaButtonElement };
24
+ //# sourceMappingURL=media-button-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-button-element.d.ts","names":[],"sources":["../../../src/ui/media-button-element.ts"],"mappings":";;;;;;;uBAQsB,kBAAA,cAAgC,gBAAA,UAA0B,YAAA;EAAA;SAC9D,UAAA,EAAY,sBAAA;EAK5B,QAAA;EACA,KAAA;EAAA,4BAE4B,IAAA,EAAM,IAAA;EAAA,4BACN,YAAA,EAAc,YAAA,CAAa,mBAAA,CAAoB,IAAA;EAAA,4BAC/C,UAAA,EAAY,gBAAA,MAAsB,eAAA,CAAgB,IAAA;EAAA,mBAE3D,QAAA,CAAS,KAAA,EAAO,eAAA,CAAgB,IAAA;EAI1C,iBAAA,CAAA;EAiBA,oBAAA,CAAA;EAAA,UAMU,UAAA,CAAW,OAAA,EAAS,cAAA;EAAA,UAKpB,MAAA,CAAO,OAAA,EAAS,cAAA;AAAA"}
@@ -0,0 +1,51 @@
1
+ import { MediaElement } from "./media-element.js";
2
+ import { applyElementProps, applyStateDataAttrs, createButton, logMissingFeature } from "@videojs/core/dom";
3
+
4
+ //#region src/ui/media-button-element.ts
5
+ /** Abstract base for HTML custom elements that render a media-control button. */
6
+ var MediaButtonElement = class extends MediaElement {
7
+ constructor(..._args) {
8
+ super(..._args);
9
+ this.disabled = false;
10
+ this.label = "";
11
+ }
12
+ static {
13
+ this.properties = {
14
+ label: { type: String },
15
+ disabled: { type: Boolean }
16
+ };
17
+ }
18
+ #disconnect = null;
19
+ connectedCallback() {
20
+ super.connectedCallback();
21
+ this.#disconnect = new AbortController();
22
+ const buttonProps = createButton({
23
+ onActivate: () => this.activate(this.mediaState.value),
24
+ isDisabled: () => this.disabled || !this.mediaState.value
25
+ });
26
+ applyElementProps(this, buttonProps, { signal: this.#disconnect.signal });
27
+ if (!this.mediaState.value && this.mediaState.displayName) logMissingFeature(this.localName, this.mediaState.displayName);
28
+ }
29
+ disconnectedCallback() {
30
+ super.disconnectedCallback();
31
+ this.#disconnect?.abort();
32
+ this.#disconnect = null;
33
+ }
34
+ willUpdate(changed) {
35
+ super.willUpdate(changed);
36
+ this.core.setProps?.(this);
37
+ }
38
+ update(changed) {
39
+ super.update(changed);
40
+ const media = this.mediaState.value;
41
+ if (!media) return;
42
+ this.core.setMedia(media);
43
+ const state = this.core.getState();
44
+ applyElementProps(this, this.core.getAttrs?.(state) ?? {});
45
+ applyStateDataAttrs(this, state, this.stateAttrMap);
46
+ }
47
+ };
48
+
49
+ //#endregion
50
+ export { MediaButtonElement };
51
+ //# sourceMappingURL=media-button-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-button-element.js","names":["#disconnect"],"sources":["../../../src/ui/media-button-element.ts"],"sourcesContent":["import type { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from '@videojs/core';\nimport { applyElementProps, applyStateDataAttrs, createButton, logMissingFeature } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport type { PlayerController } from '../player/player-controller';\nimport { MediaElement } from './media-element';\n\n/** Abstract base for HTML custom elements that render a media-control button. */\nexport abstract class MediaButtonElement<Core extends MediaUIComponent> extends MediaElement {\n static override properties: PropertyDeclarationMap = {\n label: { type: String },\n disabled: { type: Boolean },\n };\n\n disabled = false;\n label = '';\n\n protected abstract readonly core: Core;\n protected abstract readonly stateAttrMap: StateAttrMap<InferComponentState<Core>>;\n protected abstract readonly mediaState: PlayerController<any, InferMediaState<Core> | undefined>;\n\n protected abstract activate(state: InferMediaState<Core>): void;\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#disconnect = new AbortController();\n\n const buttonProps = createButton({\n onActivate: () => this.activate(this.mediaState.value!),\n isDisabled: () => this.disabled || !this.mediaState.value,\n });\n\n applyElementProps(this, buttonProps, { signal: this.#disconnect.signal });\n\n if (__DEV__ && !this.mediaState.value && this.mediaState.displayName) {\n logMissingFeature(this.localName, this.mediaState.displayName);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n this.core.setProps?.(this);\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n\n if (!media) return;\n\n this.core.setMedia(media);\n const state = this.core.getState();\n applyElementProps(this, this.core.getAttrs?.(state) ?? {});\n applyStateDataAttrs(this, state, this.stateAttrMap);\n }\n}\n"],"mappings":";;;;;AAQA,IAAsB,qBAAtB,cAAgF,aAAa;;;kBAMhF;eACH;;;oBAN6C;GACnD,OAAO,EAAE,MAAM,QAAQ;GACvB,UAAU,EAAE,MAAM,SAAS;GAC5B;;CAWD,cAAsC;CAEtC,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AAEzB,QAAKA,aAAc,IAAI,iBAAiB;EAExC,MAAM,cAAc,aAAa;GAC/B,kBAAkB,KAAK,SAAS,KAAK,WAAW,MAAO;GACvD,kBAAkB,KAAK,YAAY,CAAC,KAAK,WAAW;GACrD,CAAC;AAEF,oBAAkB,MAAM,aAAa,EAAE,QAAQ,MAAKA,WAAY,QAAQ,CAAC;AAEzE,MAAe,CAAC,KAAK,WAAW,SAAS,KAAK,WAAW,YACvD,mBAAkB,KAAK,WAAW,KAAK,WAAW,YAAY;;CAIlE,AAAS,uBAA6B;AACpC,QAAM,sBAAsB;AAC5B,QAAKA,YAAa,OAAO;AACzB,QAAKA,aAAc;;CAGrB,AAAmB,WAAW,SAA+B;AAC3D,QAAM,WAAW,QAAQ;AACzB,OAAK,KAAK,WAAW,KAAK;;CAG5B,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EAErB,MAAM,QAAQ,KAAK,WAAW;AAE9B,MAAI,CAAC,MAAO;AAEZ,OAAK,KAAK,SAAS,MAAM;EACzB,MAAM,QAAQ,KAAK,KAAK,UAAU;AAClC,oBAAkB,MAAM,KAAK,KAAK,WAAW,MAAM,IAAI,EAAE,CAAC;AAC1D,sBAAoB,MAAM,OAAO,KAAK,aAAa"}
@@ -0,0 +1,17 @@
1
+ import { MediaElement } from "./media-element.js";
2
+ import { PlayerController } from "../player/player-controller.js";
3
+ import { PropertyValues } from "@videojs/element";
4
+ import { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from "@videojs/core";
5
+
6
+ //#region src/ui/media-ui-element.d.ts
7
+ /** Abstract base for HTML custom elements that display media state with data attributes. */
8
+ declare abstract class MediaUIElement<Core extends MediaUIComponent> extends MediaElement {
9
+ protected abstract readonly core: Core;
10
+ protected abstract readonly stateAttrMap: StateAttrMap<InferComponentState<Core>>;
11
+ protected abstract readonly mediaState: PlayerController<any, InferMediaState<Core> | undefined>;
12
+ connectedCallback(): void;
13
+ protected update(changed: PropertyValues): void;
14
+ }
15
+ //#endregion
16
+ export { MediaUIElement };
17
+ //# sourceMappingURL=media-ui-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-ui-element.d.ts","names":[],"sources":["../../../src/ui/media-ui-element.ts"],"mappings":";;;;;;;uBAQsB,cAAA,cAA4B,gBAAA,UAA0B,YAAA;EAAA,4BAC9C,IAAA,EAAM,IAAA;EAAA,4BACN,YAAA,EAAc,YAAA,CAAa,mBAAA,CAAoB,IAAA;EAAA,4BAC/C,UAAA,EAAY,gBAAA,MAAsB,eAAA,CAAgB,IAAA;EAErE,iBAAA,CAAA;EAAA,UAQU,MAAA,CAAO,OAAA,EAAS,cAAA;AAAA"}
@@ -0,0 +1,23 @@
1
+ import { MediaElement } from "./media-element.js";
2
+ import { applyStateDataAttrs, logMissingFeature } from "@videojs/core/dom";
3
+
4
+ //#region src/ui/media-ui-element.ts
5
+ /** Abstract base for HTML custom elements that display media state with data attributes. */
6
+ var MediaUIElement = class extends MediaElement {
7
+ connectedCallback() {
8
+ super.connectedCallback();
9
+ if (!this.mediaState.value && this.mediaState.displayName) logMissingFeature(this.localName, this.mediaState.displayName);
10
+ }
11
+ update(changed) {
12
+ super.update(changed);
13
+ const media = this.mediaState.value;
14
+ if (!media) return;
15
+ this.core.setMedia(media);
16
+ const state = this.core.getState();
17
+ applyStateDataAttrs(this, state, this.stateAttrMap);
18
+ }
19
+ };
20
+
21
+ //#endregion
22
+ export { MediaUIElement };
23
+ //# sourceMappingURL=media-ui-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-ui-element.js","names":[],"sources":["../../../src/ui/media-ui-element.ts"],"sourcesContent":["import type { InferComponentState, InferMediaState, MediaUIComponent, StateAttrMap } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\n\nimport type { PlayerController } from '../player/player-controller';\nimport { MediaElement } from './media-element';\n\n/** Abstract base for HTML custom elements that display media state with data attributes. */\nexport abstract class MediaUIElement<Core extends MediaUIComponent> extends MediaElement {\n protected abstract readonly core: Core;\n protected abstract readonly stateAttrMap: StateAttrMap<InferComponentState<Core>>;\n protected abstract readonly mediaState: PlayerController<any, InferMediaState<Core> | undefined>;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.mediaState.value && this.mediaState.displayName) {\n logMissingFeature(this.localName, this.mediaState.displayName);\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.mediaState.value;\n\n if (!media) return;\n\n this.core.setMedia(media);\n const state = this.core.getState();\n applyStateDataAttrs(this, state, this.stateAttrMap);\n }\n}\n"],"mappings":";;;;;AAQA,IAAsB,iBAAtB,cAA4E,aAAa;CAKvF,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AAEzB,MAAe,CAAC,KAAK,WAAW,SAAS,KAAK,WAAW,YACvD,mBAAkB,KAAK,WAAW,KAAK,WAAW,YAAY;;CAIlE,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EAErB,MAAM,QAAQ,KAAK,WAAW;AAE9B,MAAI,CAAC,MAAO;AAEZ,OAAK,KAAK,SAAS,MAAM;EACzB,MAAM,QAAQ,KAAK,KAAK,UAAU;AAClC,sBAAoB,MAAM,OAAO,KAAK,aAAa"}
@@ -1,25 +1,18 @@
1
- import { MediaElement } from "../media-element.js";
2
- import { PropertyValues } from "@videojs/element";
3
- import * as _videojs_core0 from "@videojs/core";
1
+ import { PlayerController } from "../../player/player-controller.js";
2
+ import { MediaButtonElement } from "../media-button-element.js";
3
+ import * as _videojs_core_dom0 from "@videojs/core/dom";
4
+ import { MediaVolumeState, MuteButtonCore } from "@videojs/core";
4
5
 
5
6
  //#region src/ui/mute-button/mute-button-element.d.ts
6
- declare class MuteButtonElement extends MediaElement {
7
- #private;
7
+ declare class MuteButtonElement extends MediaButtonElement<MuteButtonCore> {
8
8
  static readonly tagName = "media-mute-button";
9
- static properties: {
10
- label: {
11
- type: StringConstructor;
12
- };
13
- disabled: {
14
- type: BooleanConstructor;
15
- };
9
+ protected readonly core: MuteButtonCore;
10
+ protected readonly stateAttrMap: {
11
+ readonly muted: "data-muted";
12
+ readonly volumeLevel: "data-volume-level";
16
13
  };
17
- label: string | ((state: _videojs_core0.MuteButtonState) => string);
18
- disabled: boolean;
19
- connectedCallback(): void;
20
- disconnectedCallback(): void;
21
- protected willUpdate(changed: PropertyValues): void;
22
- protected update(changed: PropertyValues): void;
14
+ protected readonly mediaState: PlayerController<_videojs_core_dom0.AnyPlayerStore, MediaVolumeState | undefined>;
15
+ protected activate(state: MediaVolumeState): void;
23
16
  }
24
17
  //#endregion
25
18
  export { MuteButtonElement };
@@ -1 +1 @@
1
- {"version":3,"file":"mute-button-element.d.ts","names":[],"sources":["../../../../src/ui/mute-button/mute-button-element.ts"],"mappings":";;;;;cAca,iBAAA,SAA0B,YAAA;EAAA;kBACrB,OAAA;EAAA,OAEA,UAAA;;;;;;;;EAKhB,KAAA,aAAK,KAAA,iBAAA,eAAA;EACL,QAAA;EAOS,iBAAA,CAAA;EAiBA,oBAAA,CAAA;EAAA,UAMU,UAAA,CAAW,OAAA,EAAS,cAAA;EAAA,UAKpB,MAAA,CAAO,OAAA,EAAS,cAAA;AAAA"}
1
+ {"version":3,"file":"mute-button-element.d.ts","names":[],"sources":["../../../../src/ui/mute-button/mute-button-element.ts"],"mappings":";;;;;;cAOa,iBAAA,SAA0B,kBAAA,CAAmB,cAAA;EAAA,gBACxC,OAAA;EAAA,mBAEG,IAAA,EAAI,cAAA;EAAA,mBACJ,YAAA;IAAA;;;qBACA,UAAA,EAAU,gBAAA,CAFN,kBAAA,CAEM,cAAA,EAAA,gBAAA;EAAA,UAEnB,QAAA,CAAS,KAAA,EAAO,gBAAA;AAAA"}
@@ -1,54 +1,22 @@
1
1
  import { playerContext } from "../../player/context.js";
2
- import { MediaElement } from "../media-element.js";
3
2
  import { PlayerController } from "../../player/player-controller.js";
4
- import { applyElementProps, applyStateDataAttrs, createButton, logMissingFeature, selectVolume } from "@videojs/core/dom";
3
+ import { MediaButtonElement } from "../media-button-element.js";
4
+ import { selectVolume } from "@videojs/core/dom";
5
5
  import { MuteButtonCore, MuteButtonDataAttrs } from "@videojs/core";
6
6
 
7
7
  //#region src/ui/mute-button/mute-button-element.ts
8
- var MuteButtonElement = class MuteButtonElement extends MediaElement {
8
+ var MuteButtonElement = class extends MediaButtonElement {
9
9
  constructor(..._args) {
10
10
  super(..._args);
11
- this.label = MuteButtonCore.defaultProps.label;
12
- this.disabled = MuteButtonCore.defaultProps.disabled;
11
+ this.core = new MuteButtonCore();
12
+ this.stateAttrMap = MuteButtonDataAttrs;
13
+ this.mediaState = new PlayerController(this, playerContext, selectVolume);
13
14
  }
14
15
  static {
15
16
  this.tagName = "media-mute-button";
16
17
  }
17
- static {
18
- this.properties = {
19
- label: { type: String },
20
- disabled: { type: Boolean }
21
- };
22
- }
23
- #core = new MuteButtonCore();
24
- #state = new PlayerController(this, playerContext, selectVolume);
25
- #disconnect = null;
26
- connectedCallback() {
27
- super.connectedCallback();
28
- this.#disconnect = new AbortController();
29
- const buttonProps = createButton({
30
- onActivate: () => this.#core.toggle(this.#state.value),
31
- isDisabled: () => this.disabled || !this.#state.value
32
- });
33
- applyElementProps(this, buttonProps, this.#disconnect.signal);
34
- if (!this.#state.value) logMissingFeature(MuteButtonElement.tagName, "volume");
35
- }
36
- disconnectedCallback() {
37
- super.disconnectedCallback();
38
- this.#disconnect?.abort();
39
- this.#disconnect = null;
40
- }
41
- willUpdate(changed) {
42
- super.willUpdate(changed);
43
- this.#core.setProps(this);
44
- }
45
- update(changed) {
46
- super.update(changed);
47
- const media = this.#state.value;
48
- if (!media) return;
49
- const state = this.#core.getState(media);
50
- applyElementProps(this, this.#core.getAttrs(state));
51
- applyStateDataAttrs(this, state, MuteButtonDataAttrs);
18
+ activate(state) {
19
+ this.core.toggle(state);
52
20
  }
53
21
  };
54
22
 
@@ -1 +1 @@
1
- {"version":3,"file":"mute-button-element.js","names":["#core","#state","#disconnect"],"sources":["../../../../src/ui/mute-button/mute-button-element.ts"],"sourcesContent":["import { MuteButtonCore, MuteButtonDataAttrs } from '@videojs/core';\nimport {\n applyElementProps,\n applyStateDataAttrs,\n createButton,\n logMissingFeature,\n selectVolume,\n} from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class MuteButtonElement extends MediaElement {\n static readonly tagName = 'media-mute-button';\n\n static override properties = {\n label: { type: String },\n disabled: { type: Boolean },\n } satisfies PropertyDeclarationMap<keyof MuteButtonCore.Props>;\n\n label = MuteButtonCore.defaultProps.label;\n disabled = MuteButtonCore.defaultProps.disabled;\n\n readonly #core = new MuteButtonCore();\n readonly #state = new PlayerController(this, playerContext, selectVolume);\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#disconnect = new AbortController();\n\n const buttonProps = createButton({\n onActivate: () => this.#core.toggle(this.#state.value!),\n isDisabled: () => this.disabled || !this.#state.value,\n });\n\n applyElementProps(this, buttonProps, this.#disconnect.signal);\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(MuteButtonElement.tagName, 'volume');\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n this.#core.setProps(this);\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.#state.value;\n\n if (!media) return;\n\n const state = this.#core.getState(media);\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, MuteButtonDataAttrs);\n }\n}\n"],"mappings":";;;;;;;AAcA,IAAa,oBAAb,MAAa,0BAA0B,aAAa;;;eAQ1C,eAAe,aAAa;kBACzB,eAAe,aAAa;;;iBARb;;;oBAEG;GAC3B,OAAO,EAAE,MAAM,QAAQ;GACvB,UAAU,EAAE,MAAM,SAAS;GAC5B;;CAKD,CAASA,OAAQ,IAAI,gBAAgB;CACrC,CAASC,QAAS,IAAI,iBAAiB,MAAM,eAAe,aAAa;CAEzE,cAAsC;CAEtC,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AAEzB,QAAKC,aAAc,IAAI,iBAAiB;EAExC,MAAM,cAAc,aAAa;GAC/B,kBAAkB,MAAKF,KAAM,OAAO,MAAKC,MAAO,MAAO;GACvD,kBAAkB,KAAK,YAAY,CAAC,MAAKA,MAAO;GACjD,CAAC;AAEF,oBAAkB,MAAM,aAAa,MAAKC,WAAY,OAAO;AAE7D,MAAe,CAAC,MAAKD,MAAO,MAC1B,mBAAkB,kBAAkB,SAAS,SAAS;;CAI1D,AAAS,uBAA6B;AACpC,QAAM,sBAAsB;AAC5B,QAAKC,YAAa,OAAO;AACzB,QAAKA,aAAc;;CAGrB,AAAmB,WAAW,SAA+B;AAC3D,QAAM,WAAW,QAAQ;AACzB,QAAKF,KAAM,SAAS,KAAK;;CAG3B,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EAErB,MAAM,QAAQ,MAAKC,MAAO;AAE1B,MAAI,CAAC,MAAO;EAEZ,MAAM,QAAQ,MAAKD,KAAM,SAAS,MAAM;AACxC,oBAAkB,MAAM,MAAKA,KAAM,SAAS,MAAM,CAAC;AACnD,sBAAoB,MAAM,OAAO,oBAAoB"}
1
+ {"version":3,"file":"mute-button-element.js","names":[],"sources":["../../../../src/ui/mute-button/mute-button-element.ts"],"sourcesContent":["import { type MediaVolumeState, MuteButtonCore, MuteButtonDataAttrs } from '@videojs/core';\nimport { selectVolume } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class MuteButtonElement extends MediaButtonElement<MuteButtonCore> {\n static readonly tagName = 'media-mute-button';\n\n protected readonly core = new MuteButtonCore();\n protected readonly stateAttrMap = MuteButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectVolume);\n\n protected activate(state: MediaVolumeState): void {\n this.core.toggle(state);\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,oBAAb,cAAuC,mBAAmC;;;cAG9C,IAAI,gBAAgB;sBACZ;oBACF,IAAI,iBAAiB,MAAM,eAAe,aAAa;;;iBAJ7D;;CAM1B,AAAU,SAAS,OAA+B;AAChD,OAAK,KAAK,OAAO,MAAM"}
@@ -1,25 +1,18 @@
1
- import { MediaElement } from "../media-element.js";
2
- import { PropertyValues } from "@videojs/element";
3
- import * as _videojs_core0 from "@videojs/core";
1
+ import { PlayerController } from "../../player/player-controller.js";
2
+ import { MediaButtonElement } from "../media-button-element.js";
3
+ import * as _videojs_core_dom0 from "@videojs/core/dom";
4
+ import { MediaPictureInPictureState, PiPButtonCore } from "@videojs/core";
4
5
 
5
6
  //#region src/ui/pip-button/pip-button-element.d.ts
6
- declare class PiPButtonElement extends MediaElement {
7
- #private;
7
+ declare class PiPButtonElement extends MediaButtonElement<PiPButtonCore> {
8
8
  static readonly tagName = "media-pip-button";
9
- static properties: {
10
- label: {
11
- type: StringConstructor;
12
- };
13
- disabled: {
14
- type: BooleanConstructor;
15
- };
9
+ protected readonly core: PiPButtonCore;
10
+ protected readonly stateAttrMap: {
11
+ readonly pip: "data-pip";
12
+ readonly availability: "data-availability";
16
13
  };
17
- label: string | ((state: _videojs_core0.PiPButtonState) => string);
18
- disabled: boolean;
19
- connectedCallback(): void;
20
- disconnectedCallback(): void;
21
- protected willUpdate(changed: PropertyValues): void;
22
- protected update(changed: PropertyValues): void;
14
+ protected readonly mediaState: PlayerController<_videojs_core_dom0.AnyPlayerStore, MediaPictureInPictureState | undefined>;
15
+ protected activate(state: MediaPictureInPictureState): void;
23
16
  }
24
17
  //#endregion
25
18
  export { PiPButtonElement };
@@ -1 +1 @@
1
- {"version":3,"file":"pip-button-element.d.ts","names":[],"sources":["../../../../src/ui/pip-button/pip-button-element.ts"],"mappings":";;;;;cAQa,gBAAA,SAAyB,YAAA;EAAA;kBACpB,OAAA;EAAA,OAEA,UAAA;;;;;;;;EAKhB,KAAA,aAAK,KAAA,iBAAA,cAAA;EACL,QAAA;EAOS,iBAAA,CAAA;EAiBA,oBAAA,CAAA;EAAA,UAMU,UAAA,CAAW,OAAA,EAAS,cAAA;EAAA,UAKpB,MAAA,CAAO,OAAA,EAAS,cAAA;AAAA"}
1
+ {"version":3,"file":"pip-button-element.d.ts","names":[],"sources":["../../../../src/ui/pip-button/pip-button-element.ts"],"mappings":";;;;;;cAOa,gBAAA,SAAyB,kBAAA,CAAmB,aAAA;EAAA,gBACvC,OAAA;EAAA,mBAEG,IAAA,EAAI,aAAA;EAAA,mBACJ,YAAA;IAAA;;;qBACA,UAAA,EAAU,gBAAA,CAFN,kBAAA,CAEM,cAAA,EAAA,0BAAA;EAAA,UAEnB,QAAA,CAAS,KAAA,EAAO,0BAAA;AAAA"}
@@ -1,54 +1,22 @@
1
1
  import { playerContext } from "../../player/context.js";
2
- import { MediaElement } from "../media-element.js";
3
2
  import { PlayerController } from "../../player/player-controller.js";
4
- import { applyElementProps, applyStateDataAttrs, createButton, logMissingFeature, selectPiP } from "@videojs/core/dom";
3
+ import { MediaButtonElement } from "../media-button-element.js";
4
+ import { selectPiP } from "@videojs/core/dom";
5
5
  import { PiPButtonCore, PiPButtonDataAttrs } from "@videojs/core";
6
6
 
7
7
  //#region src/ui/pip-button/pip-button-element.ts
8
- var PiPButtonElement = class PiPButtonElement extends MediaElement {
8
+ var PiPButtonElement = class extends MediaButtonElement {
9
9
  constructor(..._args) {
10
10
  super(..._args);
11
- this.label = PiPButtonCore.defaultProps.label;
12
- this.disabled = PiPButtonCore.defaultProps.disabled;
11
+ this.core = new PiPButtonCore();
12
+ this.stateAttrMap = PiPButtonDataAttrs;
13
+ this.mediaState = new PlayerController(this, playerContext, selectPiP);
13
14
  }
14
15
  static {
15
16
  this.tagName = "media-pip-button";
16
17
  }
17
- static {
18
- this.properties = {
19
- label: { type: String },
20
- disabled: { type: Boolean }
21
- };
22
- }
23
- #core = new PiPButtonCore();
24
- #state = new PlayerController(this, playerContext, selectPiP);
25
- #disconnect = null;
26
- connectedCallback() {
27
- super.connectedCallback();
28
- this.#disconnect = new AbortController();
29
- const buttonProps = createButton({
30
- onActivate: () => this.#core.toggle(this.#state.value),
31
- isDisabled: () => this.disabled || !this.#state.value
32
- });
33
- applyElementProps(this, buttonProps, this.#disconnect.signal);
34
- if (!this.#state.value) logMissingFeature(PiPButtonElement.tagName, "pip");
35
- }
36
- disconnectedCallback() {
37
- super.disconnectedCallback();
38
- this.#disconnect?.abort();
39
- this.#disconnect = null;
40
- }
41
- willUpdate(changed) {
42
- super.willUpdate(changed);
43
- this.#core.setProps(this);
44
- }
45
- update(changed) {
46
- super.update(changed);
47
- const media = this.#state.value;
48
- if (!media) return;
49
- const state = this.#core.getState(media);
50
- applyElementProps(this, this.#core.getAttrs(state));
51
- applyStateDataAttrs(this, state, PiPButtonDataAttrs);
18
+ activate(state) {
19
+ this.core.toggle(state);
52
20
  }
53
21
  };
54
22
 
@@ -1 +1 @@
1
- {"version":3,"file":"pip-button-element.js","names":["#core","#state","#disconnect"],"sources":["../../../../src/ui/pip-button/pip-button-element.ts"],"sourcesContent":["import { PiPButtonCore, PiPButtonDataAttrs } from '@videojs/core';\nimport { applyElementProps, applyStateDataAttrs, createButton, logMissingFeature, selectPiP } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class PiPButtonElement extends MediaElement {\n static readonly tagName = 'media-pip-button';\n\n static override properties = {\n label: { type: String },\n disabled: { type: Boolean },\n } satisfies PropertyDeclarationMap<keyof PiPButtonCore.Props>;\n\n label = PiPButtonCore.defaultProps.label;\n disabled = PiPButtonCore.defaultProps.disabled;\n\n readonly #core = new PiPButtonCore();\n readonly #state = new PlayerController(this, playerContext, selectPiP);\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#disconnect = new AbortController();\n\n const buttonProps = createButton({\n onActivate: () => this.#core.toggle(this.#state.value!),\n isDisabled: () => this.disabled || !this.#state.value,\n });\n\n applyElementProps(this, buttonProps, this.#disconnect.signal);\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(PiPButtonElement.tagName, 'pip');\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n this.#core.setProps(this);\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.#state.value;\n\n if (!media) return;\n\n const state = this.#core.getState(media);\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, PiPButtonDataAttrs);\n }\n}\n"],"mappings":";;;;;;;AAQA,IAAa,mBAAb,MAAa,yBAAyB,aAAa;;;eAQzC,cAAc,aAAa;kBACxB,cAAc,aAAa;;;iBARZ;;;oBAEG;GAC3B,OAAO,EAAE,MAAM,QAAQ;GACvB,UAAU,EAAE,MAAM,SAAS;GAC5B;;CAKD,CAASA,OAAQ,IAAI,eAAe;CACpC,CAASC,QAAS,IAAI,iBAAiB,MAAM,eAAe,UAAU;CAEtE,cAAsC;CAEtC,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AAEzB,QAAKC,aAAc,IAAI,iBAAiB;EAExC,MAAM,cAAc,aAAa;GAC/B,kBAAkB,MAAKF,KAAM,OAAO,MAAKC,MAAO,MAAO;GACvD,kBAAkB,KAAK,YAAY,CAAC,MAAKA,MAAO;GACjD,CAAC;AAEF,oBAAkB,MAAM,aAAa,MAAKC,WAAY,OAAO;AAE7D,MAAe,CAAC,MAAKD,MAAO,MAC1B,mBAAkB,iBAAiB,SAAS,MAAM;;CAItD,AAAS,uBAA6B;AACpC,QAAM,sBAAsB;AAC5B,QAAKC,YAAa,OAAO;AACzB,QAAKA,aAAc;;CAGrB,AAAmB,WAAW,SAA+B;AAC3D,QAAM,WAAW,QAAQ;AACzB,QAAKF,KAAM,SAAS,KAAK;;CAG3B,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EAErB,MAAM,QAAQ,MAAKC,MAAO;AAE1B,MAAI,CAAC,MAAO;EAEZ,MAAM,QAAQ,MAAKD,KAAM,SAAS,MAAM;AACxC,oBAAkB,MAAM,MAAKA,KAAM,SAAS,MAAM,CAAC;AACnD,sBAAoB,MAAM,OAAO,mBAAmB"}
1
+ {"version":3,"file":"pip-button-element.js","names":[],"sources":["../../../../src/ui/pip-button/pip-button-element.ts"],"sourcesContent":["import { type MediaPictureInPictureState, PiPButtonCore, PiPButtonDataAttrs } from '@videojs/core';\nimport { selectPiP } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PiPButtonElement extends MediaButtonElement<PiPButtonCore> {\n static readonly tagName = 'media-pip-button';\n\n protected readonly core = new PiPButtonCore();\n protected readonly stateAttrMap = PiPButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPiP);\n\n protected activate(state: MediaPictureInPictureState): void {\n this.core.toggle(state);\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,mBAAb,cAAsC,mBAAkC;;;cAG5C,IAAI,eAAe;sBACX;oBACF,IAAI,iBAAiB,MAAM,eAAe,UAAU;;;iBAJ1D;;CAM1B,AAAU,SAAS,OAAyC;AAC1D,OAAK,KAAK,OAAO,MAAM"}
@@ -1,25 +1,19 @@
1
- import { MediaElement } from "../media-element.js";
2
- import { PropertyValues } from "@videojs/element";
3
- import * as _videojs_core0 from "@videojs/core";
1
+ import { PlayerController } from "../../player/player-controller.js";
2
+ import { MediaButtonElement } from "../media-button-element.js";
3
+ import * as _videojs_core_dom0 from "@videojs/core/dom";
4
+ import { MediaPlaybackState, PlayButtonCore } from "@videojs/core";
4
5
 
5
6
  //#region src/ui/play-button/play-button-element.d.ts
6
- declare class PlayButtonElement extends MediaElement {
7
- #private;
7
+ declare class PlayButtonElement extends MediaButtonElement<PlayButtonCore> {
8
8
  static readonly tagName = "media-play-button";
9
- static properties: {
10
- label: {
11
- type: StringConstructor;
12
- };
13
- disabled: {
14
- type: BooleanConstructor;
15
- };
9
+ protected readonly core: PlayButtonCore;
10
+ protected readonly stateAttrMap: {
11
+ readonly paused: "data-paused";
12
+ readonly ended: "data-ended";
13
+ readonly started: "data-started";
16
14
  };
17
- label: string | ((state: _videojs_core0.PlayButtonState) => string);
18
- disabled: boolean;
19
- connectedCallback(): void;
20
- disconnectedCallback(): void;
21
- protected willUpdate(changed: PropertyValues): void;
22
- protected update(changed: PropertyValues): void;
15
+ protected readonly mediaState: PlayerController<_videojs_core_dom0.AnyPlayerStore, MediaPlaybackState | undefined>;
16
+ protected activate(state: MediaPlaybackState): void;
23
17
  }
24
18
  //#endregion
25
19
  export { PlayButtonElement };
@@ -1 +1 @@
1
- {"version":3,"file":"play-button-element.d.ts","names":[],"sources":["../../../../src/ui/play-button/play-button-element.ts"],"mappings":";;;;;cAca,iBAAA,SAA0B,YAAA;EAAA;kBACrB,OAAA;EAAA,OAEA,UAAA;;;;;;;;EAKhB,KAAA,aAAK,KAAA,iBAAA,eAAA;EACL,QAAA;EAOS,iBAAA,CAAA;EAiBA,oBAAA,CAAA;EAAA,UAMU,UAAA,CAAW,OAAA,EAAS,cAAA;EAAA,UAKpB,MAAA,CAAO,OAAA,EAAS,cAAA;AAAA"}
1
+ {"version":3,"file":"play-button-element.d.ts","names":[],"sources":["../../../../src/ui/play-button/play-button-element.ts"],"mappings":";;;;;;cAOa,iBAAA,SAA0B,kBAAA,CAAmB,cAAA;EAAA,gBACxC,OAAA;EAAA,mBAEG,IAAA,EAAI,cAAA;EAAA,mBACJ,YAAA;IAAA;;;;qBACA,UAAA,EAAU,gBAAA,CAFN,kBAAA,CAEM,cAAA,EAAA,kBAAA;EAAA,UAEnB,QAAA,CAAS,KAAA,EAAO,kBAAA;AAAA"}
@@ -1,54 +1,22 @@
1
1
  import { playerContext } from "../../player/context.js";
2
- import { MediaElement } from "../media-element.js";
3
2
  import { PlayerController } from "../../player/player-controller.js";
4
- import { applyElementProps, applyStateDataAttrs, createButton, logMissingFeature, selectPlayback } from "@videojs/core/dom";
3
+ import { MediaButtonElement } from "../media-button-element.js";
4
+ import { selectPlayback } from "@videojs/core/dom";
5
5
  import { PlayButtonCore, PlayButtonDataAttrs } from "@videojs/core";
6
6
 
7
7
  //#region src/ui/play-button/play-button-element.ts
8
- var PlayButtonElement = class PlayButtonElement extends MediaElement {
8
+ var PlayButtonElement = class extends MediaButtonElement {
9
9
  constructor(..._args) {
10
10
  super(..._args);
11
- this.label = PlayButtonCore.defaultProps.label;
12
- this.disabled = PlayButtonCore.defaultProps.disabled;
11
+ this.core = new PlayButtonCore();
12
+ this.stateAttrMap = PlayButtonDataAttrs;
13
+ this.mediaState = new PlayerController(this, playerContext, selectPlayback);
13
14
  }
14
15
  static {
15
16
  this.tagName = "media-play-button";
16
17
  }
17
- static {
18
- this.properties = {
19
- label: { type: String },
20
- disabled: { type: Boolean }
21
- };
22
- }
23
- #core = new PlayButtonCore();
24
- #state = new PlayerController(this, playerContext, selectPlayback);
25
- #disconnect = null;
26
- connectedCallback() {
27
- super.connectedCallback();
28
- this.#disconnect = new AbortController();
29
- const buttonProps = createButton({
30
- onActivate: () => this.#core.toggle(this.#state.value),
31
- isDisabled: () => this.disabled || !this.#state.value
32
- });
33
- applyElementProps(this, buttonProps, this.#disconnect.signal);
34
- if (!this.#state.value) logMissingFeature(PlayButtonElement.tagName, "playback");
35
- }
36
- disconnectedCallback() {
37
- super.disconnectedCallback();
38
- this.#disconnect?.abort();
39
- this.#disconnect = null;
40
- }
41
- willUpdate(changed) {
42
- super.willUpdate(changed);
43
- this.#core.setProps(this);
44
- }
45
- update(changed) {
46
- super.update(changed);
47
- const media = this.#state.value;
48
- if (!media) return;
49
- const state = this.#core.getState(media);
50
- applyElementProps(this, this.#core.getAttrs(state));
51
- applyStateDataAttrs(this, state, PlayButtonDataAttrs);
18
+ activate(state) {
19
+ this.core.toggle(state);
52
20
  }
53
21
  };
54
22
 
@@ -1 +1 @@
1
- {"version":3,"file":"play-button-element.js","names":["#core","#state","#disconnect"],"sources":["../../../../src/ui/play-button/play-button-element.ts"],"sourcesContent":["import { PlayButtonCore, PlayButtonDataAttrs } from '@videojs/core';\nimport {\n applyElementProps,\n applyStateDataAttrs,\n createButton,\n logMissingFeature,\n selectPlayback,\n} from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class PlayButtonElement extends MediaElement {\n static readonly tagName = 'media-play-button';\n\n static override properties = {\n label: { type: String },\n disabled: { type: Boolean },\n } satisfies PropertyDeclarationMap<keyof PlayButtonCore.Props>;\n\n label = PlayButtonCore.defaultProps.label;\n disabled = PlayButtonCore.defaultProps.disabled;\n\n readonly #core = new PlayButtonCore();\n readonly #state = new PlayerController(this, playerContext, selectPlayback);\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#disconnect = new AbortController();\n\n const buttonProps = createButton({\n onActivate: () => this.#core.toggle(this.#state.value!),\n isDisabled: () => this.disabled || !this.#state.value,\n });\n\n applyElementProps(this, buttonProps, this.#disconnect.signal);\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(PlayButtonElement.tagName, 'playback');\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n this.#core.setProps(this);\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.#state.value;\n\n if (!media) return;\n\n const state = this.#core.getState(media);\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, PlayButtonDataAttrs);\n }\n}\n"],"mappings":";;;;;;;AAcA,IAAa,oBAAb,MAAa,0BAA0B,aAAa;;;eAQ1C,eAAe,aAAa;kBACzB,eAAe,aAAa;;;iBARb;;;oBAEG;GAC3B,OAAO,EAAE,MAAM,QAAQ;GACvB,UAAU,EAAE,MAAM,SAAS;GAC5B;;CAKD,CAASA,OAAQ,IAAI,gBAAgB;CACrC,CAASC,QAAS,IAAI,iBAAiB,MAAM,eAAe,eAAe;CAE3E,cAAsC;CAEtC,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AAEzB,QAAKC,aAAc,IAAI,iBAAiB;EAExC,MAAM,cAAc,aAAa;GAC/B,kBAAkB,MAAKF,KAAM,OAAO,MAAKC,MAAO,MAAO;GACvD,kBAAkB,KAAK,YAAY,CAAC,MAAKA,MAAO;GACjD,CAAC;AAEF,oBAAkB,MAAM,aAAa,MAAKC,WAAY,OAAO;AAE7D,MAAe,CAAC,MAAKD,MAAO,MAC1B,mBAAkB,kBAAkB,SAAS,WAAW;;CAI5D,AAAS,uBAA6B;AACpC,QAAM,sBAAsB;AAC5B,QAAKC,YAAa,OAAO;AACzB,QAAKA,aAAc;;CAGrB,AAAmB,WAAW,SAA+B;AAC3D,QAAM,WAAW,QAAQ;AACzB,QAAKF,KAAM,SAAS,KAAK;;CAG3B,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EAErB,MAAM,QAAQ,MAAKC,MAAO;AAE1B,MAAI,CAAC,MAAO;EAEZ,MAAM,QAAQ,MAAKD,KAAM,SAAS,MAAM;AACxC,oBAAkB,MAAM,MAAKA,KAAM,SAAS,MAAM,CAAC;AACnD,sBAAoB,MAAM,OAAO,oBAAoB"}
1
+ {"version":3,"file":"play-button-element.js","names":[],"sources":["../../../../src/ui/play-button/play-button-element.ts"],"sourcesContent":["import { type MediaPlaybackState, PlayButtonCore, PlayButtonDataAttrs } from '@videojs/core';\nimport { selectPlayback } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PlayButtonElement extends MediaButtonElement<PlayButtonCore> {\n static readonly tagName = 'media-play-button';\n\n protected readonly core = new PlayButtonCore();\n protected readonly stateAttrMap = PlayButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPlayback);\n\n protected activate(state: MediaPlaybackState): void {\n this.core.toggle(state);\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,oBAAb,cAAuC,mBAAmC;;;cAG9C,IAAI,gBAAgB;sBACZ;oBACF,IAAI,iBAAiB,MAAM,eAAe,eAAe;;;iBAJ/D;;CAM1B,AAAU,SAAS,OAAiC;AAClD,OAAK,KAAK,OAAO,MAAM"}
@@ -0,0 +1,18 @@
1
+ import { PlayerController } from "../../player/player-controller.js";
2
+ import { MediaButtonElement } from "../media-button-element.js";
3
+ import * as _videojs_core_dom0 from "@videojs/core/dom";
4
+ import { MediaPlaybackRateState, PlaybackRateButtonCore } from "@videojs/core";
5
+
6
+ //#region src/ui/playback-rate-button/playback-rate-button-element.d.ts
7
+ declare class PlaybackRateButtonElement extends MediaButtonElement<PlaybackRateButtonCore> {
8
+ static readonly tagName = "media-playback-rate-button";
9
+ protected readonly core: PlaybackRateButtonCore;
10
+ protected readonly stateAttrMap: {
11
+ readonly rate: "data-rate";
12
+ };
13
+ protected readonly mediaState: PlayerController<_videojs_core_dom0.AnyPlayerStore, MediaPlaybackRateState | undefined>;
14
+ protected activate(state: MediaPlaybackRateState): void;
15
+ }
16
+ //#endregion
17
+ export { PlaybackRateButtonElement };
18
+ //# sourceMappingURL=playback-rate-button-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playback-rate-button-element.d.ts","names":[],"sources":["../../../../src/ui/playback-rate-button/playback-rate-button-element.ts"],"mappings":";;;;;;cAOa,yBAAA,SAAkC,kBAAA,CAAmB,sBAAA;EAAA,gBAChD,OAAA;EAAA,mBAEG,IAAA,EAAI,sBAAA;EAAA,mBACJ,YAAA;IAAA;;qBACA,UAAA,EAAU,gBAAA,CAFN,kBAAA,CAEM,cAAA,EAAA,sBAAA;EAAA,UAEnB,QAAA,CAAS,KAAA,EAAO,sBAAA;AAAA"}
@@ -0,0 +1,25 @@
1
+ import { playerContext } from "../../player/context.js";
2
+ import { PlayerController } from "../../player/player-controller.js";
3
+ import { MediaButtonElement } from "../media-button-element.js";
4
+ import { selectPlaybackRate } from "@videojs/core/dom";
5
+ import { PlaybackRateButtonCore, PlaybackRateButtonDataAttrs } from "@videojs/core";
6
+
7
+ //#region src/ui/playback-rate-button/playback-rate-button-element.ts
8
+ var PlaybackRateButtonElement = class extends MediaButtonElement {
9
+ constructor(..._args) {
10
+ super(..._args);
11
+ this.core = new PlaybackRateButtonCore();
12
+ this.stateAttrMap = PlaybackRateButtonDataAttrs;
13
+ this.mediaState = new PlayerController(this, playerContext, selectPlaybackRate);
14
+ }
15
+ static {
16
+ this.tagName = "media-playback-rate-button";
17
+ }
18
+ activate(state) {
19
+ this.core.cycle(state);
20
+ }
21
+ };
22
+
23
+ //#endregion
24
+ export { PlaybackRateButtonElement };
25
+ //# sourceMappingURL=playback-rate-button-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playback-rate-button-element.js","names":[],"sources":["../../../../src/ui/playback-rate-button/playback-rate-button-element.ts"],"sourcesContent":["import { type MediaPlaybackRateState, PlaybackRateButtonCore, PlaybackRateButtonDataAttrs } from '@videojs/core';\nimport { selectPlaybackRate } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class PlaybackRateButtonElement extends MediaButtonElement<PlaybackRateButtonCore> {\n static readonly tagName = 'media-playback-rate-button';\n\n protected readonly core = new PlaybackRateButtonCore();\n protected readonly stateAttrMap = PlaybackRateButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectPlaybackRate);\n\n protected activate(state: MediaPlaybackRateState): void {\n this.core.cycle(state);\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,4BAAb,cAA+C,mBAA2C;;;cAG9D,IAAI,wBAAwB;sBACpB;oBACF,IAAI,iBAAiB,MAAM,eAAe,mBAAmB;;;iBAJnE;;CAM1B,AAAU,SAAS,OAAqC;AACtD,OAAK,KAAK,MAAM,MAAM"}