@videojs/html 10.0.0-rc.1 → 10.0.0-rc.2

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 (1497) hide show
  1. package/dist/default/define/audio/minimal-skin.css +73 -1
  2. package/dist/default/define/audio/minimal-skin2.js +1 -1
  3. package/dist/default/define/audio/minimal-skin2.js.map +1 -1
  4. package/dist/default/define/audio/minimal-ui.js +9 -9
  5. package/dist/default/define/audio/minimal-ui.js.map +1 -1
  6. package/dist/default/define/audio/skin.css +88 -5
  7. package/dist/default/define/audio/skin2.js +1 -1
  8. package/dist/default/define/audio/skin2.js.map +1 -1
  9. package/dist/default/define/audio/ui.js +12 -12
  10. package/dist/default/define/audio/ui.js.map +1 -1
  11. package/dist/default/define/i18n.js +1 -1
  12. package/dist/default/define/i18n.js.map +1 -1
  13. package/dist/default/define/live-audio/minimal-skin.css +35 -1
  14. package/dist/default/define/live-audio/minimal-skin2.js +1 -1
  15. package/dist/default/define/live-audio/minimal-skin2.js.map +1 -1
  16. package/dist/default/define/live-audio/minimal-ui.js +7 -7
  17. package/dist/default/define/live-audio/minimal-ui.js.map +1 -1
  18. package/dist/default/define/live-audio/skin.css +43 -4
  19. package/dist/default/define/live-audio/skin2.js +1 -1
  20. package/dist/default/define/live-audio/skin2.js.map +1 -1
  21. package/dist/default/define/live-audio/ui.js +9 -9
  22. package/dist/default/define/live-audio/ui.js.map +1 -1
  23. package/dist/default/define/live-video/minimal-skin.css +70 -8
  24. package/dist/default/define/live-video/minimal-skin2.js +1 -1
  25. package/dist/default/define/live-video/minimal-skin2.js.map +1 -1
  26. package/dist/default/define/live-video/minimal-ui.js +15 -15
  27. package/dist/default/define/live-video/minimal-ui.js.map +1 -1
  28. package/dist/default/define/live-video/skin.css +73 -12
  29. package/dist/default/define/live-video/skin2.js +1 -1
  30. package/dist/default/define/live-video/skin2.js.map +1 -1
  31. package/dist/default/define/live-video/ui.js +16 -16
  32. package/dist/default/define/live-video/ui.js.map +1 -1
  33. package/dist/default/define/ui/airplay-button.js +1 -1
  34. package/dist/default/define/ui/airplay-button.js.map +1 -1
  35. package/dist/default/define/ui/alert-dialog.js +1 -1
  36. package/dist/default/define/ui/alert-dialog.js.map +1 -1
  37. package/dist/default/define/ui/audio-track-radio-group.js +1 -1
  38. package/dist/default/define/ui/audio-track-radio-group.js.map +1 -1
  39. package/dist/default/define/ui/buffering-indicator.js +1 -1
  40. package/dist/default/define/ui/buffering-indicator.js.map +1 -1
  41. package/dist/default/define/ui/captions-button.js +1 -1
  42. package/dist/default/define/ui/captions-button.js.map +1 -1
  43. package/dist/default/define/ui/captions-radio-group.js +1 -1
  44. package/dist/default/define/ui/captions-radio-group.js.map +1 -1
  45. package/dist/default/define/ui/cast-button.js +1 -1
  46. package/dist/default/define/ui/cast-button.js.map +1 -1
  47. package/dist/default/define/ui/container.js +1 -1
  48. package/dist/default/define/ui/container.js.map +1 -1
  49. package/dist/default/define/ui/controls-backdrop.js +1 -1
  50. package/dist/default/define/ui/controls-backdrop.js.map +1 -1
  51. package/dist/default/define/ui/controls-content.js +1 -1
  52. package/dist/default/define/ui/controls-content.js.map +1 -1
  53. package/dist/default/define/ui/controls-group.js +1 -1
  54. package/dist/default/define/ui/controls-group.js.map +1 -1
  55. package/dist/default/define/ui/controls.js +1 -1
  56. package/dist/default/define/ui/controls.js.map +1 -1
  57. package/dist/default/define/ui/dialog-backdrop.js +1 -1
  58. package/dist/default/define/ui/dialog-backdrop.js.map +1 -1
  59. package/dist/default/define/ui/dialog-close.js +1 -1
  60. package/dist/default/define/ui/dialog-close.js.map +1 -1
  61. package/dist/default/define/ui/dialog-description.js +1 -1
  62. package/dist/default/define/ui/dialog-description.js.map +1 -1
  63. package/dist/default/define/ui/dialog-popup.js +1 -1
  64. package/dist/default/define/ui/dialog-popup.js.map +1 -1
  65. package/dist/default/define/ui/dialog-title.js +1 -1
  66. package/dist/default/define/ui/dialog-title.js.map +1 -1
  67. package/dist/default/define/ui/dialog.js +1 -1
  68. package/dist/default/define/ui/dialog.js.map +1 -1
  69. package/dist/default/define/ui/error-dialog.js +1 -1
  70. package/dist/default/define/ui/error-dialog.js.map +1 -1
  71. package/dist/default/define/ui/fullscreen-button.js +1 -1
  72. package/dist/default/define/ui/fullscreen-button.js.map +1 -1
  73. package/dist/default/define/ui/gesture.js +1 -1
  74. package/dist/default/define/ui/gesture.js.map +1 -1
  75. package/dist/default/define/ui/hotkey.js +1 -1
  76. package/dist/default/define/ui/hotkey.js.map +1 -1
  77. package/dist/default/define/ui/live-button.js +1 -1
  78. package/dist/default/define/ui/live-button.js.map +1 -1
  79. package/dist/default/define/ui/menu-checkbox-item.js +1 -1
  80. package/dist/default/define/ui/menu-checkbox-item.js.map +1 -1
  81. package/dist/default/define/ui/menu-content.js +1 -1
  82. package/dist/default/define/ui/menu-content.js.map +1 -1
  83. package/dist/default/define/ui/menu-group-label.js +1 -1
  84. package/dist/default/define/ui/menu-group-label.js.map +1 -1
  85. package/dist/default/define/ui/menu-group.js +1 -1
  86. package/dist/default/define/ui/menu-group.js.map +1 -1
  87. package/dist/default/define/ui/menu-item-indicator.js +1 -1
  88. package/dist/default/define/ui/menu-item-indicator.js.map +1 -1
  89. package/dist/default/define/ui/menu-item.js +1 -1
  90. package/dist/default/define/ui/menu-item.js.map +1 -1
  91. package/dist/default/define/ui/menu-radio-group.js +1 -1
  92. package/dist/default/define/ui/menu-radio-group.js.map +1 -1
  93. package/dist/default/define/ui/menu-radio-item.js +1 -1
  94. package/dist/default/define/ui/menu-radio-item.js.map +1 -1
  95. package/dist/default/define/ui/menu-separator.js +1 -1
  96. package/dist/default/define/ui/menu-separator.js.map +1 -1
  97. package/dist/default/define/ui/menu.js +1 -1
  98. package/dist/default/define/ui/menu.js.map +1 -1
  99. package/dist/default/define/ui/mute-button.js +1 -1
  100. package/dist/default/define/ui/mute-button.js.map +1 -1
  101. package/dist/default/define/ui/pip-button.js +1 -1
  102. package/dist/default/define/ui/pip-button.js.map +1 -1
  103. package/dist/default/define/ui/play-button.js +1 -1
  104. package/dist/default/define/ui/play-button.js.map +1 -1
  105. package/dist/default/define/ui/playback-rate-button.js +1 -1
  106. package/dist/default/define/ui/playback-rate-button.js.map +1 -1
  107. package/dist/default/define/ui/playback-rate-radio-group.js +1 -1
  108. package/dist/default/define/ui/playback-rate-radio-group.js.map +1 -1
  109. package/dist/default/define/ui/popover.js +1 -1
  110. package/dist/default/define/ui/popover.js.map +1 -1
  111. package/dist/default/define/ui/poster.js +1 -1
  112. package/dist/default/define/ui/poster.js.map +1 -1
  113. package/dist/default/define/ui/quality-radio-group.js +1 -1
  114. package/dist/default/define/ui/quality-radio-group.js.map +1 -1
  115. package/dist/default/define/ui/seek-button.js +1 -1
  116. package/dist/default/define/ui/seek-button.js.map +1 -1
  117. package/dist/default/define/ui/seek-indicator-value.js +1 -1
  118. package/dist/default/define/ui/seek-indicator-value.js.map +1 -1
  119. package/dist/default/define/ui/seek-indicator.js +1 -1
  120. package/dist/default/define/ui/seek-indicator.js.map +1 -1
  121. package/dist/default/define/ui/slider-buffer.js +1 -1
  122. package/dist/default/define/ui/slider-buffer.js.map +1 -1
  123. package/dist/default/define/ui/slider-fill.js +1 -1
  124. package/dist/default/define/ui/slider-fill.js.map +1 -1
  125. package/dist/default/define/ui/slider-preview.js +1 -1
  126. package/dist/default/define/ui/slider-preview.js.map +1 -1
  127. package/dist/default/define/ui/slider-thumb.js +1 -1
  128. package/dist/default/define/ui/slider-thumb.js.map +1 -1
  129. package/dist/default/define/ui/slider-thumbnail.js +1 -1
  130. package/dist/default/define/ui/slider-thumbnail.js.map +1 -1
  131. package/dist/default/define/ui/slider-track.js +1 -1
  132. package/dist/default/define/ui/slider-track.js.map +1 -1
  133. package/dist/default/define/ui/slider-value.js +1 -1
  134. package/dist/default/define/ui/slider-value.js.map +1 -1
  135. package/dist/default/define/ui/slider.js +1 -1
  136. package/dist/default/define/ui/slider.js.map +1 -1
  137. package/dist/default/define/ui/status-announcer.js +1 -1
  138. package/dist/default/define/ui/status-announcer.js.map +1 -1
  139. package/dist/default/define/ui/status-indicator-value.js +1 -1
  140. package/dist/default/define/ui/status-indicator-value.js.map +1 -1
  141. package/dist/default/define/ui/status-indicator.js +1 -1
  142. package/dist/default/define/ui/status-indicator.js.map +1 -1
  143. package/dist/default/define/ui/thumbnail.js +1 -1
  144. package/dist/default/define/ui/thumbnail.js.map +1 -1
  145. package/dist/default/define/ui/time-group.js +1 -1
  146. package/dist/default/define/ui/time-group.js.map +1 -1
  147. package/dist/default/define/ui/time-separator.js +1 -1
  148. package/dist/default/define/ui/time-separator.js.map +1 -1
  149. package/dist/default/define/ui/time-slider-chapter-title.js +1 -1
  150. package/dist/default/define/ui/time-slider-chapter-title.js.map +1 -1
  151. package/dist/default/define/ui/time-slider-chapters.js +1 -1
  152. package/dist/default/define/ui/time-slider-chapters.js.map +1 -1
  153. package/dist/default/define/ui/time-slider.js +1 -1
  154. package/dist/default/define/ui/time-slider.js.map +1 -1
  155. package/dist/default/define/ui/time.js +1 -1
  156. package/dist/default/define/ui/time.js.map +1 -1
  157. package/dist/default/define/ui/title.js +1 -1
  158. package/dist/default/define/ui/title.js.map +1 -1
  159. package/dist/default/define/ui/tooltip-group.js +1 -1
  160. package/dist/default/define/ui/tooltip-group.js.map +1 -1
  161. package/dist/default/define/ui/tooltip-label.js +1 -1
  162. package/dist/default/define/ui/tooltip-label.js.map +1 -1
  163. package/dist/default/define/ui/tooltip-shortcut.js +1 -1
  164. package/dist/default/define/ui/tooltip-shortcut.js.map +1 -1
  165. package/dist/default/define/ui/tooltip.js +1 -1
  166. package/dist/default/define/ui/tooltip.js.map +1 -1
  167. package/dist/default/define/ui/volume-indicator-fill.js +1 -1
  168. package/dist/default/define/ui/volume-indicator-fill.js.map +1 -1
  169. package/dist/default/define/ui/volume-indicator-value.js +1 -1
  170. package/dist/default/define/ui/volume-indicator-value.js.map +1 -1
  171. package/dist/default/define/ui/volume-indicator.js +1 -1
  172. package/dist/default/define/ui/volume-indicator.js.map +1 -1
  173. package/dist/default/define/ui/volume-popover.js +1 -1
  174. package/dist/default/define/ui/volume-popover.js.map +1 -1
  175. package/dist/default/define/ui/volume-slider.js +1 -1
  176. package/dist/default/define/ui/volume-slider.js.map +1 -1
  177. package/dist/default/define/video/minimal-skin.css +185 -17
  178. package/dist/default/define/video/minimal-skin2.js +1 -1
  179. package/dist/default/define/video/minimal-skin2.js.map +1 -1
  180. package/dist/default/define/video/minimal-ui.js +21 -21
  181. package/dist/default/define/video/minimal-ui.js.map +1 -1
  182. package/dist/default/define/video/skin.css +203 -27
  183. package/dist/default/define/video/skin2.js +1 -1
  184. package/dist/default/define/video/skin2.js.map +1 -1
  185. package/dist/default/define/video/ui.js +23 -23
  186. package/dist/default/define/video/ui.js.map +1 -1
  187. package/dist/default/i18n/index.js +1 -1
  188. package/dist/default/index.js +74 -74
  189. package/dist/default/internal/skins/default-audio/skin.css +88 -5
  190. package/dist/default/internal/skins/default-live-audio/skin.css +43 -4
  191. package/dist/default/internal/skins/default-live-video/skin.css +73 -12
  192. package/dist/default/internal/skins/default-live-video/template.js +1 -1
  193. package/dist/default/internal/skins/default-live-video/template.js.map +1 -1
  194. package/dist/default/internal/skins/default-video/skin.css +203 -27
  195. package/dist/default/internal/skins/default-video/template.js +5 -5
  196. package/dist/default/internal/skins/default-video/template.js.map +1 -1
  197. package/dist/default/internal/skins/minimal-audio/skin.css +73 -1
  198. package/dist/default/internal/skins/minimal-live-audio/skin.css +35 -1
  199. package/dist/default/internal/skins/minimal-live-video/skin.css +70 -8
  200. package/dist/default/internal/skins/minimal-live-video/template.js +1 -1
  201. package/dist/default/internal/skins/minimal-live-video/template.js.map +1 -1
  202. package/dist/default/internal/skins/minimal-video/skin.css +185 -17
  203. package/dist/default/internal/skins/minimal-video/template.js +6 -6
  204. package/dist/default/internal/skins/minimal-video/template.js.map +1 -1
  205. package/dist/default/player/controller.js +74 -0
  206. package/dist/default/player/controller.js.map +1 -0
  207. package/dist/default/player/create-player.js +2 -2
  208. package/dist/default/player/create-player.js.map +1 -1
  209. package/dist/default/player/element.js +190 -0
  210. package/dist/default/player/element.js.map +1 -0
  211. package/dist/default/registration/ui-compounds.js +44 -44
  212. package/dist/default/registration/ui-compounds.js.map +1 -1
  213. package/dist/default/ui/airplay-button/element.js +24 -0
  214. package/dist/default/ui/airplay-button/element.js.map +1 -0
  215. package/dist/default/ui/alert-dialog/element.js +25 -0
  216. package/dist/default/ui/alert-dialog/element.js.map +1 -0
  217. package/dist/default/ui/audio-track-radio-group/element.js +68 -0
  218. package/dist/default/ui/audio-track-radio-group/element.js.map +1 -0
  219. package/dist/default/ui/buffering-indicator/element.js +50 -0
  220. package/dist/default/ui/buffering-indicator/element.js.map +1 -0
  221. package/dist/default/ui/captions-button/element.js +77 -0
  222. package/dist/default/ui/captions-button/element.js.map +1 -0
  223. package/dist/default/ui/captions-radio-group/element.js +68 -0
  224. package/dist/default/ui/captions-radio-group/element.js.map +1 -0
  225. package/dist/default/ui/cast-button/element.js +24 -0
  226. package/dist/default/ui/cast-button/element.js.map +1 -0
  227. package/dist/default/ui/container/element.js +88 -0
  228. package/dist/default/ui/container/element.js.map +1 -0
  229. package/dist/default/ui/controls/backdrop.js +26 -0
  230. package/dist/default/ui/controls/backdrop.js.map +1 -0
  231. package/dist/default/ui/controls/content.js +25 -0
  232. package/dist/default/ui/controls/content.js.map +1 -0
  233. package/dist/default/ui/controls/element.js +58 -0
  234. package/dist/default/ui/controls/element.js.map +1 -0
  235. package/dist/default/ui/controls/group.js +24 -0
  236. package/dist/default/ui/controls/group.js.map +1 -0
  237. package/dist/default/ui/dialog/backdrop.js +26 -0
  238. package/dist/default/ui/dialog/backdrop.js.map +1 -0
  239. package/dist/default/ui/dialog/close.js +47 -0
  240. package/dist/default/ui/dialog/close.js.map +1 -0
  241. package/dist/default/ui/dialog/description.js +25 -0
  242. package/dist/default/ui/dialog/description.js.map +1 -0
  243. package/dist/default/ui/dialog/element.js +144 -0
  244. package/dist/default/ui/dialog/element.js.map +1 -0
  245. package/dist/default/ui/dialog/popup.js +44 -0
  246. package/dist/default/ui/dialog/popup.js.map +1 -0
  247. package/dist/default/ui/dialog/title.js +25 -0
  248. package/dist/default/ui/dialog/title.js.map +1 -0
  249. package/dist/default/ui/error-dialog/element.js +122 -0
  250. package/dist/default/ui/error-dialog/element.js.map +1 -0
  251. package/dist/default/ui/fullscreen-button/element.js +32 -0
  252. package/dist/default/ui/fullscreen-button/element.js.map +1 -0
  253. package/dist/default/ui/gesture/element.js +89 -0
  254. package/dist/default/ui/gesture/element.js.map +1 -0
  255. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -1
  256. package/dist/default/ui/hotkey/element.js +85 -0
  257. package/dist/default/ui/hotkey/element.js.map +1 -0
  258. package/dist/default/ui/input-indicator/element.js +116 -0
  259. package/dist/default/ui/input-indicator/element.js.map +1 -0
  260. package/dist/default/ui/live-button/element.js +114 -0
  261. package/dist/default/ui/live-button/element.js.map +1 -0
  262. package/dist/default/ui/media-button-element.js.map +1 -1
  263. package/dist/default/ui/media-ui-element.js.map +1 -1
  264. package/dist/default/ui/menu/checkbox-item.js +81 -0
  265. package/dist/default/ui/menu/checkbox-item.js.map +1 -0
  266. package/dist/default/ui/menu/content.js +297 -0
  267. package/dist/default/ui/menu/content.js.map +1 -0
  268. package/dist/default/ui/menu/element.js +273 -0
  269. package/dist/default/ui/menu/element.js.map +1 -0
  270. package/dist/default/ui/menu/group-controller.js +47 -0
  271. package/dist/default/ui/menu/group-controller.js.map +1 -0
  272. package/dist/default/ui/menu/group-label.js +45 -0
  273. package/dist/default/ui/menu/group-label.js.map +1 -0
  274. package/dist/default/ui/menu/group.js +17 -0
  275. package/dist/default/ui/menu/group.js.map +1 -0
  276. package/dist/default/ui/menu/item-indicator.js +34 -0
  277. package/dist/default/ui/menu/item-indicator.js.map +1 -0
  278. package/dist/default/ui/menu/item.js +108 -0
  279. package/dist/default/ui/menu/item.js.map +1 -0
  280. package/dist/default/ui/menu/radio-group.js +68 -0
  281. package/dist/default/ui/menu/radio-group.js.map +1 -0
  282. package/dist/default/ui/menu/radio-item.js +87 -0
  283. package/dist/default/ui/menu/radio-item.js.map +1 -0
  284. package/dist/default/ui/menu/separator.js +16 -0
  285. package/dist/default/ui/menu/separator.js.map +1 -0
  286. package/dist/default/ui/mute-button/element.js +25 -0
  287. package/dist/default/ui/mute-button/element.js.map +1 -0
  288. package/dist/default/ui/pip-button/element.js +25 -0
  289. package/dist/default/ui/pip-button/element.js.map +1 -0
  290. package/dist/default/ui/play-button/element.js +25 -0
  291. package/dist/default/ui/play-button/element.js.map +1 -0
  292. package/dist/default/ui/playback-rate-button/element.js +53 -0
  293. package/dist/default/ui/playback-rate-button/element.js.map +1 -0
  294. package/dist/default/ui/playback-rate-radio-group/element.js +65 -0
  295. package/dist/default/ui/playback-rate-radio-group/element.js.map +1 -0
  296. package/dist/default/ui/popover/element.js +190 -0
  297. package/dist/default/ui/popover/element.js.map +1 -0
  298. package/dist/default/ui/poster/element.js +160 -0
  299. package/dist/default/ui/poster/element.js.map +1 -0
  300. package/dist/default/ui/quality-radio-group/element.js +89 -0
  301. package/dist/default/ui/quality-radio-group/element.js.map +1 -0
  302. package/dist/default/ui/radio-group/element.js +33 -0
  303. package/dist/default/ui/radio-group/element.js.map +1 -0
  304. package/dist/default/ui/radio-options/controller.js +81 -0
  305. package/dist/default/ui/radio-options/controller.js.map +1 -0
  306. package/dist/default/ui/seek-button/element.js +35 -0
  307. package/dist/default/ui/seek-button/element.js.map +1 -0
  308. package/dist/default/ui/seek-indicator/element.js +44 -0
  309. package/dist/default/ui/seek-indicator/element.js.map +1 -0
  310. package/dist/default/ui/seek-indicator/value.js +11 -0
  311. package/dist/default/ui/seek-indicator/value.js.map +1 -0
  312. package/dist/default/ui/slider/buffer.js +20 -0
  313. package/dist/default/ui/slider/buffer.js.map +1 -0
  314. package/dist/default/ui/slider/element.js +157 -0
  315. package/dist/default/ui/slider/element.js.map +1 -0
  316. package/dist/default/ui/slider/fill.js +20 -0
  317. package/dist/default/ui/slider/fill.js.map +1 -0
  318. package/dist/default/ui/slider/preview.js +52 -0
  319. package/dist/default/ui/slider/preview.js.map +1 -0
  320. package/dist/default/ui/slider/thumb.js +42 -0
  321. package/dist/default/ui/slider/thumb.js.map +1 -0
  322. package/dist/default/ui/slider/thumbnail.js +22 -0
  323. package/dist/default/ui/slider/thumbnail.js.map +1 -0
  324. package/dist/default/ui/slider/track.js +20 -0
  325. package/dist/default/ui/slider/track.js.map +1 -0
  326. package/dist/default/ui/slider/value.js +38 -0
  327. package/dist/default/ui/slider/value.js.map +1 -0
  328. package/dist/default/ui/status-announcer/element.js +90 -0
  329. package/dist/default/ui/status-announcer/element.js.map +1 -0
  330. package/dist/default/ui/status-indicator/element.js +61 -0
  331. package/dist/default/ui/status-indicator/element.js.map +1 -0
  332. package/dist/default/ui/status-indicator/value.js +11 -0
  333. package/dist/default/ui/status-indicator/value.js.map +1 -0
  334. package/dist/default/ui/text/element.js +14 -0
  335. package/dist/default/ui/text/element.js.map +1 -0
  336. package/dist/default/ui/thumbnail/element.js +216 -0
  337. package/dist/default/ui/thumbnail/element.js.map +1 -0
  338. package/dist/default/ui/time/element.js +171 -0
  339. package/dist/default/ui/time/element.js.map +1 -0
  340. package/dist/default/ui/time/group.js +11 -0
  341. package/dist/default/ui/time/group.js.map +1 -0
  342. package/dist/default/ui/time/separator.js +16 -0
  343. package/dist/default/ui/time/separator.js.map +1 -0
  344. package/dist/default/ui/time-slider/chapter-title.js +43 -0
  345. package/dist/default/ui/time-slider/chapter-title.js.map +1 -0
  346. package/dist/default/ui/time-slider/chapters.js +99 -0
  347. package/dist/default/ui/time-slider/chapters.js.map +1 -0
  348. package/dist/default/ui/time-slider/element.js +197 -0
  349. package/dist/default/ui/time-slider/element.js.map +1 -0
  350. package/dist/default/ui/title/element.js +37 -0
  351. package/dist/default/ui/title/element.js.map +1 -0
  352. package/dist/default/ui/tooltip/element.js +214 -0
  353. package/dist/default/ui/tooltip/element.js.map +1 -0
  354. package/dist/default/ui/tooltip/group.js +42 -0
  355. package/dist/default/ui/tooltip/group.js.map +1 -0
  356. package/dist/default/ui/tooltip/label.js +30 -0
  357. package/dist/default/ui/tooltip/label.js.map +1 -0
  358. package/dist/default/ui/tooltip/shortcut.js +30 -0
  359. package/dist/default/ui/tooltip/shortcut.js.map +1 -0
  360. package/dist/default/ui/volume-indicator/element.js +56 -0
  361. package/dist/default/ui/volume-indicator/element.js.map +1 -0
  362. package/dist/default/ui/volume-indicator/fill.js +11 -0
  363. package/dist/default/ui/volume-indicator/fill.js.map +1 -0
  364. package/dist/default/ui/volume-indicator/value.js +11 -0
  365. package/dist/default/ui/volume-indicator/value.js.map +1 -0
  366. package/dist/default/ui/volume-popover/element.js +46 -0
  367. package/dist/default/ui/volume-popover/element.js.map +1 -0
  368. package/dist/default/ui/volume-slider/element.js +166 -0
  369. package/dist/default/ui/volume-slider/element.js.map +1 -0
  370. package/dist/dev/define/audio/minimal-skin.css +73 -1
  371. package/dist/dev/define/audio/minimal-skin2.js +1 -1
  372. package/dist/dev/define/audio/minimal-skin2.js.map +1 -1
  373. package/dist/dev/define/audio/minimal-ui.js +9 -9
  374. package/dist/dev/define/audio/minimal-ui.js.map +1 -1
  375. package/dist/dev/define/audio/skin.css +88 -5
  376. package/dist/dev/define/audio/skin2.js +1 -1
  377. package/dist/dev/define/audio/skin2.js.map +1 -1
  378. package/dist/dev/define/audio/ui.js +12 -12
  379. package/dist/dev/define/audio/ui.js.map +1 -1
  380. package/dist/dev/define/i18n.d.ts +1 -1
  381. package/dist/dev/define/i18n.js +1 -1
  382. package/dist/dev/define/i18n.js.map +1 -1
  383. package/dist/dev/define/live-audio/minimal-skin.css +35 -1
  384. package/dist/dev/define/live-audio/minimal-skin2.js +1 -1
  385. package/dist/dev/define/live-audio/minimal-skin2.js.map +1 -1
  386. package/dist/dev/define/live-audio/minimal-ui.js +7 -7
  387. package/dist/dev/define/live-audio/minimal-ui.js.map +1 -1
  388. package/dist/dev/define/live-audio/skin.css +43 -4
  389. package/dist/dev/define/live-audio/skin2.js +1 -1
  390. package/dist/dev/define/live-audio/skin2.js.map +1 -1
  391. package/dist/dev/define/live-audio/ui.js +9 -9
  392. package/dist/dev/define/live-audio/ui.js.map +1 -1
  393. package/dist/dev/define/live-video/minimal-skin.css +70 -8
  394. package/dist/dev/define/live-video/minimal-skin2.js +1 -1
  395. package/dist/dev/define/live-video/minimal-skin2.js.map +1 -1
  396. package/dist/dev/define/live-video/minimal-ui.js +15 -15
  397. package/dist/dev/define/live-video/minimal-ui.js.map +1 -1
  398. package/dist/dev/define/live-video/skin.css +73 -12
  399. package/dist/dev/define/live-video/skin2.js +1 -1
  400. package/dist/dev/define/live-video/skin2.js.map +1 -1
  401. package/dist/dev/define/live-video/ui.js +16 -16
  402. package/dist/dev/define/live-video/ui.js.map +1 -1
  403. package/dist/dev/define/ui/airplay-button.d.ts +1 -1
  404. package/dist/dev/define/ui/airplay-button.js +1 -1
  405. package/dist/dev/define/ui/airplay-button.js.map +1 -1
  406. package/dist/dev/define/ui/alert-dialog.d.ts +1 -1
  407. package/dist/dev/define/ui/alert-dialog.js +1 -1
  408. package/dist/dev/define/ui/alert-dialog.js.map +1 -1
  409. package/dist/dev/define/ui/audio-track-radio-group.d.ts +1 -1
  410. package/dist/dev/define/ui/audio-track-radio-group.js +1 -1
  411. package/dist/dev/define/ui/audio-track-radio-group.js.map +1 -1
  412. package/dist/dev/define/ui/buffering-indicator.d.ts +1 -1
  413. package/dist/dev/define/ui/buffering-indicator.js +1 -1
  414. package/dist/dev/define/ui/buffering-indicator.js.map +1 -1
  415. package/dist/dev/define/ui/captions-button.d.ts +1 -1
  416. package/dist/dev/define/ui/captions-button.js +1 -1
  417. package/dist/dev/define/ui/captions-button.js.map +1 -1
  418. package/dist/dev/define/ui/captions-radio-group.d.ts +1 -1
  419. package/dist/dev/define/ui/captions-radio-group.js +1 -1
  420. package/dist/dev/define/ui/captions-radio-group.js.map +1 -1
  421. package/dist/dev/define/ui/cast-button.d.ts +1 -1
  422. package/dist/dev/define/ui/cast-button.js +1 -1
  423. package/dist/dev/define/ui/cast-button.js.map +1 -1
  424. package/dist/dev/define/ui/container.d.ts +1 -1
  425. package/dist/dev/define/ui/container.js +1 -1
  426. package/dist/dev/define/ui/container.js.map +1 -1
  427. package/dist/dev/define/ui/controls-backdrop.d.ts +1 -1
  428. package/dist/dev/define/ui/controls-backdrop.js +1 -1
  429. package/dist/dev/define/ui/controls-backdrop.js.map +1 -1
  430. package/dist/dev/define/ui/controls-content.d.ts +1 -1
  431. package/dist/dev/define/ui/controls-content.js +1 -1
  432. package/dist/dev/define/ui/controls-content.js.map +1 -1
  433. package/dist/dev/define/ui/controls-group.d.ts +1 -1
  434. package/dist/dev/define/ui/controls-group.js +1 -1
  435. package/dist/dev/define/ui/controls-group.js.map +1 -1
  436. package/dist/dev/define/ui/controls.d.ts +1 -1
  437. package/dist/dev/define/ui/controls.js +1 -1
  438. package/dist/dev/define/ui/controls.js.map +1 -1
  439. package/dist/dev/define/ui/dialog-backdrop.d.ts +1 -1
  440. package/dist/dev/define/ui/dialog-backdrop.js +1 -1
  441. package/dist/dev/define/ui/dialog-backdrop.js.map +1 -1
  442. package/dist/dev/define/ui/dialog-close.d.ts +1 -1
  443. package/dist/dev/define/ui/dialog-close.js +1 -1
  444. package/dist/dev/define/ui/dialog-close.js.map +1 -1
  445. package/dist/dev/define/ui/dialog-description.d.ts +1 -1
  446. package/dist/dev/define/ui/dialog-description.js +1 -1
  447. package/dist/dev/define/ui/dialog-description.js.map +1 -1
  448. package/dist/dev/define/ui/dialog-popup.d.ts +1 -1
  449. package/dist/dev/define/ui/dialog-popup.js +1 -1
  450. package/dist/dev/define/ui/dialog-popup.js.map +1 -1
  451. package/dist/dev/define/ui/dialog-title.d.ts +1 -1
  452. package/dist/dev/define/ui/dialog-title.js +1 -1
  453. package/dist/dev/define/ui/dialog-title.js.map +1 -1
  454. package/dist/dev/define/ui/dialog.d.ts +1 -1
  455. package/dist/dev/define/ui/dialog.js +1 -1
  456. package/dist/dev/define/ui/dialog.js.map +1 -1
  457. package/dist/dev/define/ui/error-dialog.d.ts +1 -1
  458. package/dist/dev/define/ui/error-dialog.js +1 -1
  459. package/dist/dev/define/ui/error-dialog.js.map +1 -1
  460. package/dist/dev/define/ui/fullscreen-button.d.ts +1 -1
  461. package/dist/dev/define/ui/fullscreen-button.js +1 -1
  462. package/dist/dev/define/ui/fullscreen-button.js.map +1 -1
  463. package/dist/dev/define/ui/gesture.d.ts +1 -1
  464. package/dist/dev/define/ui/gesture.js +1 -1
  465. package/dist/dev/define/ui/gesture.js.map +1 -1
  466. package/dist/dev/define/ui/hotkey.d.ts +1 -1
  467. package/dist/dev/define/ui/hotkey.js +1 -1
  468. package/dist/dev/define/ui/hotkey.js.map +1 -1
  469. package/dist/dev/define/ui/live-button.d.ts +1 -1
  470. package/dist/dev/define/ui/live-button.js +1 -1
  471. package/dist/dev/define/ui/live-button.js.map +1 -1
  472. package/dist/dev/define/ui/menu-checkbox-item.d.ts +1 -1
  473. package/dist/dev/define/ui/menu-checkbox-item.js +1 -1
  474. package/dist/dev/define/ui/menu-checkbox-item.js.map +1 -1
  475. package/dist/dev/define/ui/menu-content.d.ts +1 -1
  476. package/dist/dev/define/ui/menu-content.js +1 -1
  477. package/dist/dev/define/ui/menu-content.js.map +1 -1
  478. package/dist/dev/define/ui/menu-group-label.d.ts +1 -1
  479. package/dist/dev/define/ui/menu-group-label.js +1 -1
  480. package/dist/dev/define/ui/menu-group-label.js.map +1 -1
  481. package/dist/dev/define/ui/menu-group.d.ts +1 -1
  482. package/dist/dev/define/ui/menu-group.js +1 -1
  483. package/dist/dev/define/ui/menu-group.js.map +1 -1
  484. package/dist/dev/define/ui/menu-item-indicator.d.ts +1 -1
  485. package/dist/dev/define/ui/menu-item-indicator.js +1 -1
  486. package/dist/dev/define/ui/menu-item-indicator.js.map +1 -1
  487. package/dist/dev/define/ui/menu-item.d.ts +1 -1
  488. package/dist/dev/define/ui/menu-item.js +1 -1
  489. package/dist/dev/define/ui/menu-item.js.map +1 -1
  490. package/dist/dev/define/ui/menu-radio-group.js +1 -1
  491. package/dist/dev/define/ui/menu-radio-group.js.map +1 -1
  492. package/dist/dev/define/ui/menu-radio-item.d.ts +1 -1
  493. package/dist/dev/define/ui/menu-radio-item.js +1 -1
  494. package/dist/dev/define/ui/menu-radio-item.js.map +1 -1
  495. package/dist/dev/define/ui/menu-separator.d.ts +1 -1
  496. package/dist/dev/define/ui/menu-separator.js +1 -1
  497. package/dist/dev/define/ui/menu-separator.js.map +1 -1
  498. package/dist/dev/define/ui/menu.js +1 -1
  499. package/dist/dev/define/ui/menu.js.map +1 -1
  500. package/dist/dev/define/ui/mute-button.d.ts +1 -1
  501. package/dist/dev/define/ui/mute-button.js +1 -1
  502. package/dist/dev/define/ui/mute-button.js.map +1 -1
  503. package/dist/dev/define/ui/pip-button.d.ts +1 -1
  504. package/dist/dev/define/ui/pip-button.js +1 -1
  505. package/dist/dev/define/ui/pip-button.js.map +1 -1
  506. package/dist/dev/define/ui/play-button.d.ts +1 -1
  507. package/dist/dev/define/ui/play-button.js +1 -1
  508. package/dist/dev/define/ui/play-button.js.map +1 -1
  509. package/dist/dev/define/ui/playback-rate-button.d.ts +1 -1
  510. package/dist/dev/define/ui/playback-rate-button.js +1 -1
  511. package/dist/dev/define/ui/playback-rate-button.js.map +1 -1
  512. package/dist/dev/define/ui/playback-rate-radio-group.d.ts +1 -1
  513. package/dist/dev/define/ui/playback-rate-radio-group.js +1 -1
  514. package/dist/dev/define/ui/playback-rate-radio-group.js.map +1 -1
  515. package/dist/dev/define/ui/popover.js +1 -1
  516. package/dist/dev/define/ui/popover.js.map +1 -1
  517. package/dist/dev/define/ui/poster.d.ts +1 -1
  518. package/dist/dev/define/ui/poster.js +1 -1
  519. package/dist/dev/define/ui/poster.js.map +1 -1
  520. package/dist/dev/define/ui/quality-radio-group.d.ts +1 -1
  521. package/dist/dev/define/ui/quality-radio-group.js +1 -1
  522. package/dist/dev/define/ui/quality-radio-group.js.map +1 -1
  523. package/dist/dev/define/ui/seek-button.d.ts +1 -1
  524. package/dist/dev/define/ui/seek-button.js +1 -1
  525. package/dist/dev/define/ui/seek-button.js.map +1 -1
  526. package/dist/dev/define/ui/seek-indicator-value.d.ts +1 -1
  527. package/dist/dev/define/ui/seek-indicator-value.js +1 -1
  528. package/dist/dev/define/ui/seek-indicator-value.js.map +1 -1
  529. package/dist/dev/define/ui/seek-indicator.d.ts +1 -1
  530. package/dist/dev/define/ui/seek-indicator.js +1 -1
  531. package/dist/dev/define/ui/seek-indicator.js.map +1 -1
  532. package/dist/dev/define/ui/slider-buffer.d.ts +1 -1
  533. package/dist/dev/define/ui/slider-buffer.js +1 -1
  534. package/dist/dev/define/ui/slider-buffer.js.map +1 -1
  535. package/dist/dev/define/ui/slider-fill.d.ts +1 -1
  536. package/dist/dev/define/ui/slider-fill.js +1 -1
  537. package/dist/dev/define/ui/slider-fill.js.map +1 -1
  538. package/dist/dev/define/ui/slider-preview.d.ts +1 -1
  539. package/dist/dev/define/ui/slider-preview.js +1 -1
  540. package/dist/dev/define/ui/slider-preview.js.map +1 -1
  541. package/dist/dev/define/ui/slider-thumb.d.ts +1 -1
  542. package/dist/dev/define/ui/slider-thumb.js +1 -1
  543. package/dist/dev/define/ui/slider-thumb.js.map +1 -1
  544. package/dist/dev/define/ui/slider-thumbnail.d.ts +1 -1
  545. package/dist/dev/define/ui/slider-thumbnail.js +1 -1
  546. package/dist/dev/define/ui/slider-thumbnail.js.map +1 -1
  547. package/dist/dev/define/ui/slider-track.d.ts +1 -1
  548. package/dist/dev/define/ui/slider-track.js +1 -1
  549. package/dist/dev/define/ui/slider-track.js.map +1 -1
  550. package/dist/dev/define/ui/slider-value.d.ts +1 -1
  551. package/dist/dev/define/ui/slider-value.js +1 -1
  552. package/dist/dev/define/ui/slider-value.js.map +1 -1
  553. package/dist/dev/define/ui/slider.d.ts +1 -1
  554. package/dist/dev/define/ui/slider.js +1 -1
  555. package/dist/dev/define/ui/slider.js.map +1 -1
  556. package/dist/dev/define/ui/status-announcer.d.ts +1 -1
  557. package/dist/dev/define/ui/status-announcer.js +1 -1
  558. package/dist/dev/define/ui/status-announcer.js.map +1 -1
  559. package/dist/dev/define/ui/status-indicator-value.d.ts +1 -1
  560. package/dist/dev/define/ui/status-indicator-value.js +1 -1
  561. package/dist/dev/define/ui/status-indicator-value.js.map +1 -1
  562. package/dist/dev/define/ui/status-indicator.d.ts +1 -1
  563. package/dist/dev/define/ui/status-indicator.js +1 -1
  564. package/dist/dev/define/ui/status-indicator.js.map +1 -1
  565. package/dist/dev/define/ui/thumbnail.d.ts +1 -1
  566. package/dist/dev/define/ui/thumbnail.js +1 -1
  567. package/dist/dev/define/ui/thumbnail.js.map +1 -1
  568. package/dist/dev/define/ui/time-group.d.ts +1 -1
  569. package/dist/dev/define/ui/time-group.js +1 -1
  570. package/dist/dev/define/ui/time-group.js.map +1 -1
  571. package/dist/dev/define/ui/time-separator.d.ts +1 -1
  572. package/dist/dev/define/ui/time-separator.js +1 -1
  573. package/dist/dev/define/ui/time-separator.js.map +1 -1
  574. package/dist/dev/define/ui/time-slider-chapter-title.d.ts +1 -1
  575. package/dist/dev/define/ui/time-slider-chapter-title.js +1 -1
  576. package/dist/dev/define/ui/time-slider-chapter-title.js.map +1 -1
  577. package/dist/dev/define/ui/time-slider-chapters.d.ts +1 -1
  578. package/dist/dev/define/ui/time-slider-chapters.js +1 -1
  579. package/dist/dev/define/ui/time-slider-chapters.js.map +1 -1
  580. package/dist/dev/define/ui/time-slider.d.ts +1 -1
  581. package/dist/dev/define/ui/time-slider.js +1 -1
  582. package/dist/dev/define/ui/time-slider.js.map +1 -1
  583. package/dist/dev/define/ui/time.d.ts +1 -1
  584. package/dist/dev/define/ui/time.js +1 -1
  585. package/dist/dev/define/ui/time.js.map +1 -1
  586. package/dist/dev/define/ui/title.d.ts +1 -1
  587. package/dist/dev/define/ui/title.js +1 -1
  588. package/dist/dev/define/ui/title.js.map +1 -1
  589. package/dist/dev/define/ui/tooltip-group.d.ts +1 -1
  590. package/dist/dev/define/ui/tooltip-group.js +1 -1
  591. package/dist/dev/define/ui/tooltip-group.js.map +1 -1
  592. package/dist/dev/define/ui/tooltip-label.d.ts +1 -1
  593. package/dist/dev/define/ui/tooltip-label.js +1 -1
  594. package/dist/dev/define/ui/tooltip-label.js.map +1 -1
  595. package/dist/dev/define/ui/tooltip-shortcut.d.ts +1 -1
  596. package/dist/dev/define/ui/tooltip-shortcut.js +1 -1
  597. package/dist/dev/define/ui/tooltip-shortcut.js.map +1 -1
  598. package/dist/dev/define/ui/tooltip.d.ts +1 -1
  599. package/dist/dev/define/ui/tooltip.js +1 -1
  600. package/dist/dev/define/ui/tooltip.js.map +1 -1
  601. package/dist/dev/define/ui/volume-indicator-fill.d.ts +1 -1
  602. package/dist/dev/define/ui/volume-indicator-fill.js +1 -1
  603. package/dist/dev/define/ui/volume-indicator-fill.js.map +1 -1
  604. package/dist/dev/define/ui/volume-indicator-value.d.ts +1 -1
  605. package/dist/dev/define/ui/volume-indicator-value.js +1 -1
  606. package/dist/dev/define/ui/volume-indicator-value.js.map +1 -1
  607. package/dist/dev/define/ui/volume-indicator.d.ts +1 -1
  608. package/dist/dev/define/ui/volume-indicator.js +1 -1
  609. package/dist/dev/define/ui/volume-indicator.js.map +1 -1
  610. package/dist/dev/define/ui/volume-popover.d.ts +1 -1
  611. package/dist/dev/define/ui/volume-popover.js +1 -1
  612. package/dist/dev/define/ui/volume-popover.js.map +1 -1
  613. package/dist/dev/define/ui/volume-slider.d.ts +1 -1
  614. package/dist/dev/define/ui/volume-slider.js +1 -1
  615. package/dist/dev/define/ui/volume-slider.js.map +1 -1
  616. package/dist/dev/define/video/minimal-skin.css +185 -17
  617. package/dist/dev/define/video/minimal-skin2.js +1 -1
  618. package/dist/dev/define/video/minimal-skin2.js.map +1 -1
  619. package/dist/dev/define/video/minimal-ui.js +21 -21
  620. package/dist/dev/define/video/minimal-ui.js.map +1 -1
  621. package/dist/dev/define/video/skin.css +203 -27
  622. package/dist/dev/define/video/skin2.js +1 -1
  623. package/dist/dev/define/video/skin2.js.map +1 -1
  624. package/dist/dev/define/video/ui.js +23 -23
  625. package/dist/dev/define/video/ui.js.map +1 -1
  626. package/dist/dev/i18n/index.d.ts +1 -1
  627. package/dist/dev/i18n/index.js +1 -1
  628. package/dist/dev/index.d.ts +75 -75
  629. package/dist/dev/index.js +74 -74
  630. package/dist/dev/internal/skins/default-audio/skin.css +88 -5
  631. package/dist/dev/internal/skins/default-live-audio/skin.css +43 -4
  632. package/dist/dev/internal/skins/default-live-video/skin.css +73 -12
  633. package/dist/dev/internal/skins/default-live-video/template.js +1 -1
  634. package/dist/dev/internal/skins/default-live-video/template.js.map +1 -1
  635. package/dist/dev/internal/skins/default-video/skin.css +203 -27
  636. package/dist/dev/internal/skins/default-video/template.js +5 -5
  637. package/dist/dev/internal/skins/default-video/template.js.map +1 -1
  638. package/dist/dev/internal/skins/minimal-audio/skin.css +73 -1
  639. package/dist/dev/internal/skins/minimal-live-audio/skin.css +35 -1
  640. package/dist/dev/internal/skins/minimal-live-video/skin.css +70 -8
  641. package/dist/dev/internal/skins/minimal-live-video/template.js +1 -1
  642. package/dist/dev/internal/skins/minimal-live-video/template.js.map +1 -1
  643. package/dist/dev/internal/skins/minimal-video/skin.css +185 -17
  644. package/dist/dev/internal/skins/minimal-video/template.js +6 -6
  645. package/dist/dev/internal/skins/minimal-video/template.js.map +1 -1
  646. package/dist/dev/player/controller.d.ts +60 -0
  647. package/dist/dev/player/controller.d.ts.map +1 -0
  648. package/dist/dev/player/controller.js +74 -0
  649. package/dist/dev/player/controller.js.map +1 -0
  650. package/dist/dev/player/create-player.d.ts +1 -1
  651. package/dist/dev/player/create-player.js +2 -2
  652. package/dist/dev/player/create-player.js.map +1 -1
  653. package/dist/dev/player/element.js +192 -0
  654. package/dist/dev/player/element.js.map +1 -0
  655. package/dist/dev/presets/audio/player.d.ts +1 -1
  656. package/dist/dev/presets/background/player.d.ts +1 -1
  657. package/dist/dev/presets/live-audio/player.d.ts +1 -1
  658. package/dist/dev/presets/live-video/player.d.ts +1 -1
  659. package/dist/dev/presets/video/player.d.ts +1 -1
  660. package/dist/dev/registration/ui-compounds.js +44 -44
  661. package/dist/dev/registration/ui-compounds.js.map +1 -1
  662. package/dist/dev/ui/airplay-button/element.d.ts +25 -0
  663. package/dist/dev/ui/airplay-button/element.d.ts.map +1 -0
  664. package/dist/dev/ui/airplay-button/element.js +24 -0
  665. package/dist/dev/ui/airplay-button/element.js.map +1 -0
  666. package/dist/dev/ui/alert-dialog/element.d.ts +14 -0
  667. package/dist/dev/ui/alert-dialog/element.d.ts.map +1 -0
  668. package/dist/dev/ui/alert-dialog/element.js +25 -0
  669. package/dist/dev/ui/alert-dialog/element.js.map +1 -0
  670. package/dist/dev/ui/audio-track-radio-group/element.d.ts +31 -0
  671. package/dist/dev/ui/audio-track-radio-group/element.d.ts.map +1 -0
  672. package/dist/dev/ui/audio-track-radio-group/element.js +69 -0
  673. package/dist/dev/ui/audio-track-radio-group/element.js.map +1 -0
  674. package/dist/dev/ui/buffering-indicator/element.d.ts +20 -0
  675. package/dist/dev/ui/buffering-indicator/element.d.ts.map +1 -0
  676. package/dist/dev/ui/buffering-indicator/element.js +51 -0
  677. package/dist/dev/ui/buffering-indicator/element.js.map +1 -0
  678. package/dist/dev/ui/captions-button/element.d.ts +58 -0
  679. package/dist/dev/ui/captions-button/element.d.ts.map +1 -0
  680. package/dist/dev/ui/captions-button/element.js +77 -0
  681. package/dist/dev/ui/captions-button/element.js.map +1 -0
  682. package/dist/dev/ui/captions-radio-group/element.d.ts +31 -0
  683. package/dist/dev/ui/captions-radio-group/element.d.ts.map +1 -0
  684. package/dist/dev/ui/captions-radio-group/element.js +69 -0
  685. package/dist/dev/ui/captions-radio-group/element.js.map +1 -0
  686. package/dist/dev/ui/cast-button/element.d.ts +25 -0
  687. package/dist/dev/ui/cast-button/element.d.ts.map +1 -0
  688. package/dist/dev/ui/cast-button/element.js +24 -0
  689. package/dist/dev/ui/cast-button/element.js.map +1 -0
  690. package/dist/dev/ui/container/element.d.ts +19 -0
  691. package/dist/dev/ui/container/element.d.ts.map +1 -0
  692. package/dist/dev/ui/container/element.js +88 -0
  693. package/dist/dev/ui/container/element.js.map +1 -0
  694. package/dist/dev/ui/controls/backdrop.d.ts +16 -0
  695. package/dist/dev/ui/controls/backdrop.d.ts.map +1 -0
  696. package/dist/dev/ui/controls/backdrop.js +26 -0
  697. package/dist/dev/ui/controls/backdrop.js.map +1 -0
  698. package/dist/dev/ui/controls/content.d.ts +16 -0
  699. package/dist/dev/ui/controls/content.d.ts.map +1 -0
  700. package/dist/dev/ui/controls/content.js +25 -0
  701. package/dist/dev/ui/controls/content.js.map +1 -0
  702. package/dist/dev/ui/controls/element.d.ts +19 -0
  703. package/dist/dev/ui/controls/element.d.ts.map +1 -0
  704. package/dist/dev/ui/controls/element.js +59 -0
  705. package/dist/dev/ui/controls/element.js.map +1 -0
  706. package/dist/dev/ui/controls/group.d.ts +15 -0
  707. package/dist/dev/ui/controls/group.d.ts.map +1 -0
  708. package/dist/dev/ui/controls/group.js +24 -0
  709. package/dist/dev/ui/controls/group.js.map +1 -0
  710. package/dist/dev/ui/dialog/backdrop.d.ts +17 -0
  711. package/dist/dev/ui/dialog/backdrop.d.ts.map +1 -0
  712. package/dist/dev/ui/dialog/backdrop.js +26 -0
  713. package/dist/dev/ui/dialog/backdrop.js.map +1 -0
  714. package/dist/dev/ui/dialog/close.d.ts +19 -0
  715. package/dist/dev/ui/dialog/close.d.ts.map +1 -0
  716. package/dist/dev/ui/dialog/close.js +47 -0
  717. package/dist/dev/ui/dialog/close.js.map +1 -0
  718. package/dist/dev/ui/dialog/description.d.ts +17 -0
  719. package/dist/dev/ui/dialog/description.d.ts.map +1 -0
  720. package/dist/dev/ui/dialog/description.js +25 -0
  721. package/dist/dev/ui/dialog/description.js.map +1 -0
  722. package/dist/dev/ui/dialog/element.d.ts +42 -0
  723. package/dist/dev/ui/dialog/element.d.ts.map +1 -0
  724. package/dist/dev/ui/dialog/element.js +144 -0
  725. package/dist/dev/ui/dialog/element.js.map +1 -0
  726. package/dist/dev/ui/dialog/popup.d.ts +20 -0
  727. package/dist/dev/ui/dialog/popup.d.ts.map +1 -0
  728. package/dist/dev/ui/dialog/popup.js +44 -0
  729. package/dist/dev/ui/dialog/popup.js.map +1 -0
  730. package/dist/dev/ui/dialog/title.d.ts +17 -0
  731. package/dist/dev/ui/dialog/title.d.ts.map +1 -0
  732. package/dist/dev/ui/dialog/title.js +25 -0
  733. package/dist/dev/ui/dialog/title.js.map +1 -0
  734. package/dist/dev/ui/error-dialog/element.d.ts +15 -0
  735. package/dist/dev/ui/error-dialog/element.d.ts.map +1 -0
  736. package/dist/dev/ui/error-dialog/element.js +122 -0
  737. package/dist/dev/ui/error-dialog/element.js.map +1 -0
  738. package/dist/dev/ui/fullscreen-button/element.d.ts +30 -0
  739. package/dist/dev/ui/fullscreen-button/element.d.ts.map +1 -0
  740. package/dist/dev/ui/fullscreen-button/element.js +32 -0
  741. package/dist/dev/ui/fullscreen-button/element.js.map +1 -0
  742. package/dist/dev/ui/gesture/element.d.ts +21 -0
  743. package/dist/dev/ui/gesture/element.d.ts.map +1 -0
  744. package/dist/dev/ui/gesture/element.js +89 -0
  745. package/dist/dev/ui/gesture/element.js.map +1 -0
  746. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts +1 -1
  747. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -1
  748. package/dist/dev/ui/hotkey/element.d.ts +20 -0
  749. package/dist/dev/ui/hotkey/element.d.ts.map +1 -0
  750. package/dist/dev/ui/hotkey/element.js +85 -0
  751. package/dist/dev/ui/hotkey/element.js.map +1 -0
  752. package/dist/dev/ui/input-indicator/element.d.ts +39 -0
  753. package/dist/dev/ui/input-indicator/element.d.ts.map +1 -0
  754. package/dist/dev/ui/input-indicator/element.js +116 -0
  755. package/dist/dev/ui/input-indicator/element.js.map +1 -0
  756. package/dist/dev/ui/live-button/element.d.ts +49 -0
  757. package/dist/dev/ui/live-button/element.d.ts.map +1 -0
  758. package/dist/dev/ui/live-button/element.js +115 -0
  759. package/dist/dev/ui/live-button/element.js.map +1 -0
  760. package/dist/dev/ui/media-button-element.d.ts +1 -1
  761. package/dist/dev/ui/media-button-element.js.map +1 -1
  762. package/dist/dev/ui/media-ui-element.d.ts +1 -1
  763. package/dist/dev/ui/media-ui-element.js.map +1 -1
  764. package/dist/dev/ui/menu/checkbox-item.d.ts +24 -0
  765. package/dist/dev/ui/menu/checkbox-item.d.ts.map +1 -0
  766. package/dist/dev/ui/menu/checkbox-item.js +81 -0
  767. package/dist/dev/ui/menu/checkbox-item.js.map +1 -0
  768. package/dist/dev/ui/menu/content.d.ts +31 -0
  769. package/dist/dev/ui/menu/content.d.ts.map +1 -0
  770. package/dist/dev/ui/menu/content.js +297 -0
  771. package/dist/dev/ui/menu/content.js.map +1 -0
  772. package/dist/dev/ui/menu/element.d.ts +57 -0
  773. package/dist/dev/ui/menu/element.d.ts.map +1 -0
  774. package/dist/dev/ui/menu/element.js +273 -0
  775. package/dist/dev/ui/menu/element.js.map +1 -0
  776. package/dist/dev/ui/menu/group-controller.js +47 -0
  777. package/dist/dev/ui/menu/group-controller.js.map +1 -0
  778. package/dist/dev/ui/menu/group-label.d.ts +12 -0
  779. package/dist/dev/ui/menu/group-label.d.ts.map +1 -0
  780. package/dist/dev/ui/menu/group-label.js +45 -0
  781. package/dist/dev/ui/menu/group-label.js.map +1 -0
  782. package/dist/dev/ui/menu/group.d.ts +11 -0
  783. package/dist/dev/ui/menu/group.d.ts.map +1 -0
  784. package/dist/dev/ui/menu/group.js +17 -0
  785. package/dist/dev/ui/menu/group.js.map +1 -0
  786. package/dist/dev/ui/menu/item-indicator.d.ts +21 -0
  787. package/dist/dev/ui/menu/item-indicator.d.ts.map +1 -0
  788. package/dist/dev/ui/menu/item-indicator.js +34 -0
  789. package/dist/dev/ui/menu/item-indicator.js.map +1 -0
  790. package/dist/dev/ui/menu/item.d.ts +24 -0
  791. package/dist/dev/ui/menu/item.d.ts.map +1 -0
  792. package/dist/dev/ui/menu/item.js +108 -0
  793. package/dist/dev/ui/menu/item.js.map +1 -0
  794. package/dist/dev/ui/menu/radio-group.d.ts +18 -0
  795. package/dist/dev/ui/menu/radio-group.d.ts.map +1 -0
  796. package/dist/dev/ui/menu/radio-group.js +68 -0
  797. package/dist/dev/ui/menu/radio-group.js.map +1 -0
  798. package/dist/dev/ui/menu/radio-item.d.ts +23 -0
  799. package/dist/dev/ui/menu/radio-item.d.ts.map +1 -0
  800. package/dist/dev/ui/menu/radio-item.js +87 -0
  801. package/dist/dev/ui/menu/radio-item.js.map +1 -0
  802. package/dist/dev/ui/menu/separator.d.ts +10 -0
  803. package/dist/dev/ui/menu/separator.d.ts.map +1 -0
  804. package/dist/dev/ui/menu/separator.js +16 -0
  805. package/dist/dev/ui/menu/separator.js.map +1 -0
  806. package/dist/dev/ui/mute-button/element.d.ts +29 -0
  807. package/dist/dev/ui/mute-button/element.d.ts.map +1 -0
  808. package/dist/dev/ui/mute-button/element.js +25 -0
  809. package/dist/dev/ui/mute-button/element.js.map +1 -0
  810. package/dist/dev/ui/pip-button/element.d.ts +28 -0
  811. package/dist/dev/ui/pip-button/element.d.ts.map +1 -0
  812. package/dist/dev/ui/pip-button/element.js +25 -0
  813. package/dist/dev/ui/pip-button/element.js.map +1 -0
  814. package/dist/dev/ui/play-button/element.d.ts +29 -0
  815. package/dist/dev/ui/play-button/element.d.ts.map +1 -0
  816. package/dist/dev/ui/play-button/element.js +25 -0
  817. package/dist/dev/ui/play-button/element.js.map +1 -0
  818. package/dist/dev/ui/playback-rate-button/element.d.ts +43 -0
  819. package/dist/dev/ui/playback-rate-button/element.d.ts.map +1 -0
  820. package/dist/dev/ui/playback-rate-button/element.js +53 -0
  821. package/dist/dev/ui/playback-rate-button/element.js.map +1 -0
  822. package/dist/dev/ui/playback-rate-radio-group/element.d.ts +26 -0
  823. package/dist/dev/ui/playback-rate-radio-group/element.d.ts.map +1 -0
  824. package/dist/dev/ui/playback-rate-radio-group/element.js +66 -0
  825. package/dist/dev/ui/playback-rate-radio-group/element.js.map +1 -0
  826. package/dist/dev/ui/popover/element.d.ts +72 -0
  827. package/dist/dev/ui/popover/element.d.ts.map +1 -0
  828. package/dist/dev/ui/popover/element.js +190 -0
  829. package/dist/dev/ui/popover/element.js.map +1 -0
  830. package/dist/dev/ui/poster/element.d.ts +25 -0
  831. package/dist/dev/ui/poster/element.d.ts.map +1 -0
  832. package/dist/dev/ui/poster/element.js +161 -0
  833. package/dist/dev/ui/poster/element.js.map +1 -0
  834. package/dist/dev/ui/quality-radio-group/element.d.ts +31 -0
  835. package/dist/dev/ui/quality-radio-group/element.d.ts.map +1 -0
  836. package/dist/dev/ui/quality-radio-group/element.js +90 -0
  837. package/dist/dev/ui/quality-radio-group/element.js.map +1 -0
  838. package/dist/dev/ui/radio-group/element.d.ts +17 -0
  839. package/dist/dev/ui/radio-group/element.d.ts.map +1 -0
  840. package/dist/dev/ui/radio-group/element.js +33 -0
  841. package/dist/dev/ui/radio-group/element.js.map +1 -0
  842. package/dist/dev/ui/radio-options/controller.js +81 -0
  843. package/dist/dev/ui/radio-options/controller.js.map +1 -0
  844. package/dist/dev/ui/seek-button/element.d.ts +29 -0
  845. package/dist/dev/ui/seek-button/element.d.ts.map +1 -0
  846. package/dist/dev/ui/seek-button/element.js +35 -0
  847. package/dist/dev/ui/seek-button/element.js.map +1 -0
  848. package/dist/dev/ui/seek-indicator/element.d.ts +23 -0
  849. package/dist/dev/ui/seek-indicator/element.d.ts.map +1 -0
  850. package/dist/dev/ui/seek-indicator/element.js +44 -0
  851. package/dist/dev/ui/seek-indicator/element.js.map +1 -0
  852. package/dist/dev/ui/seek-indicator/value.d.ts +8 -0
  853. package/dist/dev/ui/seek-indicator/value.d.ts.map +1 -0
  854. package/dist/dev/ui/seek-indicator/value.js +11 -0
  855. package/dist/dev/ui/seek-indicator/value.js.map +1 -0
  856. package/dist/dev/ui/slider/buffer.d.ts +15 -0
  857. package/dist/dev/ui/slider/buffer.d.ts.map +1 -0
  858. package/dist/dev/ui/slider/buffer.js +20 -0
  859. package/dist/dev/ui/slider/buffer.js.map +1 -0
  860. package/dist/dev/ui/slider/element.d.ts +62 -0
  861. package/dist/dev/ui/slider/element.d.ts.map +1 -0
  862. package/dist/dev/ui/slider/element.js +157 -0
  863. package/dist/dev/ui/slider/element.js.map +1 -0
  864. package/dist/dev/ui/slider/events.d.ts +18 -0
  865. package/dist/dev/ui/slider/events.d.ts.map +1 -0
  866. package/dist/dev/ui/slider/fill.d.ts +15 -0
  867. package/dist/dev/ui/slider/fill.d.ts.map +1 -0
  868. package/dist/dev/ui/slider/fill.js +20 -0
  869. package/dist/dev/ui/slider/fill.js.map +1 -0
  870. package/dist/dev/ui/slider/preview.d.ts +20 -0
  871. package/dist/dev/ui/slider/preview.d.ts.map +1 -0
  872. package/dist/dev/ui/slider/preview.js +52 -0
  873. package/dist/dev/ui/slider/preview.js.map +1 -0
  874. package/dist/dev/ui/slider/thumb.d.ts +13 -0
  875. package/dist/dev/ui/slider/thumb.d.ts.map +1 -0
  876. package/dist/dev/ui/slider/thumb.js +42 -0
  877. package/dist/dev/ui/slider/thumb.js.map +1 -0
  878. package/dist/dev/ui/slider/thumbnail.d.ts +11 -0
  879. package/dist/dev/ui/slider/thumbnail.d.ts.map +1 -0
  880. package/dist/dev/ui/slider/thumbnail.js +22 -0
  881. package/dist/dev/ui/slider/thumbnail.js.map +1 -0
  882. package/dist/dev/ui/slider/track.d.ts +15 -0
  883. package/dist/dev/ui/slider/track.d.ts.map +1 -0
  884. package/dist/dev/ui/slider/track.js +20 -0
  885. package/dist/dev/ui/slider/track.js.map +1 -0
  886. package/dist/dev/ui/slider/value.d.ts +18 -0
  887. package/dist/dev/ui/slider/value.d.ts.map +1 -0
  888. package/dist/dev/ui/slider/value.js +38 -0
  889. package/dist/dev/ui/slider/value.js.map +1 -0
  890. package/dist/dev/ui/status-announcer/element.d.ts +22 -0
  891. package/dist/dev/ui/status-announcer/element.d.ts.map +1 -0
  892. package/dist/dev/ui/status-announcer/element.js +90 -0
  893. package/dist/dev/ui/status-announcer/element.js.map +1 -0
  894. package/dist/dev/ui/status-indicator/element.d.ts +30 -0
  895. package/dist/dev/ui/status-indicator/element.d.ts.map +1 -0
  896. package/dist/dev/ui/status-indicator/element.js +61 -0
  897. package/dist/dev/ui/status-indicator/element.js.map +1 -0
  898. package/dist/dev/ui/status-indicator/value.d.ts +8 -0
  899. package/dist/dev/ui/status-indicator/value.d.ts.map +1 -0
  900. package/dist/dev/ui/status-indicator/value.js +11 -0
  901. package/dist/dev/ui/status-indicator/value.js.map +1 -0
  902. package/dist/dev/ui/text/element.d.ts +11 -0
  903. package/dist/dev/ui/text/element.d.ts.map +1 -0
  904. package/dist/dev/ui/text/element.js +14 -0
  905. package/dist/dev/ui/text/element.js.map +1 -0
  906. package/dist/dev/ui/thumbnail/element.d.ts +49 -0
  907. package/dist/dev/ui/thumbnail/element.d.ts.map +1 -0
  908. package/dist/dev/ui/thumbnail/element.js +216 -0
  909. package/dist/dev/ui/thumbnail/element.js.map +1 -0
  910. package/dist/dev/ui/time/element.d.ts +35 -0
  911. package/dist/dev/ui/time/element.d.ts.map +1 -0
  912. package/dist/dev/ui/time/element.js +172 -0
  913. package/dist/dev/ui/time/element.js.map +1 -0
  914. package/dist/dev/ui/time/group.d.ts +8 -0
  915. package/dist/dev/ui/time/group.d.ts.map +1 -0
  916. package/dist/dev/ui/time/group.js +11 -0
  917. package/dist/dev/ui/time/group.js.map +1 -0
  918. package/dist/dev/ui/time/separator.d.ts +9 -0
  919. package/dist/dev/ui/time/separator.d.ts.map +1 -0
  920. package/dist/dev/ui/time/separator.js +16 -0
  921. package/dist/dev/ui/time/separator.js.map +1 -0
  922. package/dist/dev/ui/time-slider/chapter-title.d.ts +12 -0
  923. package/dist/dev/ui/time-slider/chapter-title.d.ts.map +1 -0
  924. package/dist/dev/ui/time-slider/chapter-title.js +43 -0
  925. package/dist/dev/ui/time-slider/chapter-title.js.map +1 -0
  926. package/dist/dev/ui/time-slider/chapters.d.ts +18 -0
  927. package/dist/dev/ui/time-slider/chapters.d.ts.map +1 -0
  928. package/dist/dev/ui/time-slider/chapters.js +102 -0
  929. package/dist/dev/ui/time-slider/chapters.js.map +1 -0
  930. package/dist/dev/ui/time-slider/element.d.ts +58 -0
  931. package/dist/dev/ui/time-slider/element.d.ts.map +1 -0
  932. package/dist/dev/ui/time-slider/element.js +198 -0
  933. package/dist/dev/ui/time-slider/element.js.map +1 -0
  934. package/dist/dev/ui/title/element.d.ts +18 -0
  935. package/dist/dev/ui/title/element.d.ts.map +1 -0
  936. package/dist/dev/ui/title/element.js +38 -0
  937. package/dist/dev/ui/title/element.js.map +1 -0
  938. package/dist/dev/ui/tooltip/element.d.ts +67 -0
  939. package/dist/dev/ui/tooltip/element.d.ts.map +1 -0
  940. package/dist/dev/ui/tooltip/element.js +214 -0
  941. package/dist/dev/ui/tooltip/element.js.map +1 -0
  942. package/dist/dev/ui/tooltip/group.d.ts +26 -0
  943. package/dist/dev/ui/tooltip/group.d.ts.map +1 -0
  944. package/dist/dev/ui/tooltip/group.js +42 -0
  945. package/dist/dev/ui/tooltip/group.js.map +1 -0
  946. package/dist/dev/ui/tooltip/label.d.ts +14 -0
  947. package/dist/dev/ui/tooltip/label.d.ts.map +1 -0
  948. package/dist/dev/ui/tooltip/label.js +30 -0
  949. package/dist/dev/ui/tooltip/label.js.map +1 -0
  950. package/dist/dev/ui/tooltip/shortcut.d.ts +15 -0
  951. package/dist/dev/ui/tooltip/shortcut.d.ts.map +1 -0
  952. package/dist/dev/ui/tooltip/shortcut.js +30 -0
  953. package/dist/dev/ui/tooltip/shortcut.js.map +1 -0
  954. package/dist/dev/ui/volume-indicator/element.d.ts +26 -0
  955. package/dist/dev/ui/volume-indicator/element.d.ts.map +1 -0
  956. package/dist/dev/ui/volume-indicator/element.js +56 -0
  957. package/dist/dev/ui/volume-indicator/element.js.map +1 -0
  958. package/dist/dev/ui/volume-indicator/fill.d.ts +8 -0
  959. package/dist/dev/ui/volume-indicator/fill.d.ts.map +1 -0
  960. package/dist/dev/ui/volume-indicator/fill.js +11 -0
  961. package/dist/dev/ui/volume-indicator/fill.js.map +1 -0
  962. package/dist/dev/ui/volume-indicator/value.d.ts +8 -0
  963. package/dist/dev/ui/volume-indicator/value.d.ts.map +1 -0
  964. package/dist/dev/ui/volume-indicator/value.js +11 -0
  965. package/dist/dev/ui/volume-indicator/value.js.map +1 -0
  966. package/dist/dev/ui/volume-popover/element.d.ts +12 -0
  967. package/dist/dev/ui/volume-popover/element.d.ts.map +1 -0
  968. package/dist/dev/ui/volume-popover/element.js +46 -0
  969. package/dist/dev/ui/volume-popover/element.js.map +1 -0
  970. package/dist/dev/ui/volume-slider/element.d.ts +53 -0
  971. package/dist/dev/ui/volume-slider/element.d.ts.map +1 -0
  972. package/dist/dev/ui/volume-slider/element.js +167 -0
  973. package/dist/dev/ui/volume-slider/element.js.map +1 -0
  974. package/docs/README.md +1 -1
  975. package/docs/concepts/cdn.md +8 -8
  976. package/docs/how-to/installation.md +1 -1
  977. package/docs/how-to/internationalize-the-player.md +4 -4
  978. package/docs/how-to/migrate-from-media-chrome.md +3 -3
  979. package/docs/how-to/migrate-from-mux-player.md +6 -6
  980. package/docs/how-to/migrate-from-plyr.md +7 -7
  981. package/docs/how-to/migrate-from-video-js-8.md +4 -4
  982. package/docs/how-to/play-live-streams.md +1 -1
  983. package/docs/how-to/self-host-the-player.md +5 -5
  984. package/docs/how-to/show-and-hide-controls.md +9 -1
  985. package/docs/how-to/show-timeline-thumbnail-previews.md +4 -1
  986. package/docs/reference/audio-minimal-skin.md +1 -1
  987. package/docs/reference/audio-skin.md +1 -1
  988. package/docs/reference/audio-track-radio-group.md +175 -1
  989. package/docs/reference/background-video-skin.md +1 -1
  990. package/docs/reference/background-video.md +1 -1
  991. package/docs/reference/captions-radio-group.md +183 -1
  992. package/docs/reference/cloudflare-video.md +1 -1
  993. package/docs/reference/controls.md +10 -0
  994. package/docs/reference/dash-video.md +1 -1
  995. package/docs/reference/error-dialog.md +5 -1
  996. package/docs/reference/google-cast.md +1 -1
  997. package/docs/reference/hls-audio.md +1 -1
  998. package/docs/reference/hls-background-video.md +1 -1
  999. package/docs/reference/hls-video.md +1 -1
  1000. package/docs/reference/hlsjs-video.md +1 -1
  1001. package/docs/reference/live-audio-minimal-skin.md +1 -1
  1002. package/docs/reference/live-audio-skin.md +1 -1
  1003. package/docs/reference/live-button.md +30 -3
  1004. package/docs/reference/live-video-minimal-skin.md +1 -1
  1005. package/docs/reference/live-video-skin.md +1 -1
  1006. package/docs/reference/menu.md +12 -1
  1007. package/docs/reference/mux-audio.md +1 -1
  1008. package/docs/reference/mux-background-video.md +1 -1
  1009. package/docs/reference/mux-data.md +1 -1
  1010. package/docs/reference/mux-video.md +1 -1
  1011. package/docs/reference/native-hls-video.md +1 -1
  1012. package/docs/reference/playback-rate-radio-group.md +179 -1
  1013. package/docs/reference/poster.md +11 -22
  1014. package/docs/reference/quality-radio-group.md +175 -1
  1015. package/docs/reference/shaka-video.md +1 -1
  1016. package/docs/reference/slider.md +14 -5
  1017. package/docs/reference/spotify-audio.md +1 -1
  1018. package/docs/reference/thumbnail.md +45 -49
  1019. package/docs/reference/tiktok-video.md +1 -1
  1020. package/docs/reference/time.md +75 -0
  1021. package/docs/reference/twitch-video.md +1 -1
  1022. package/docs/reference/video-minimal-skin.md +1 -1
  1023. package/docs/reference/video-skin.md +1 -1
  1024. package/docs/reference/vimeo-video.md +1 -1
  1025. package/docs/reference/wistia-video.md +1 -1
  1026. package/docs/reference/youtube-video.md +1 -1
  1027. package/package.json +39 -39
  1028. package/dist/default/player/player-controller.js +0 -74
  1029. package/dist/default/player/player-controller.js.map +0 -1
  1030. package/dist/default/player/player-element.js +0 -190
  1031. package/dist/default/player/player-element.js.map +0 -1
  1032. package/dist/default/ui/airplay-button/airplay-button-element.js +0 -24
  1033. package/dist/default/ui/airplay-button/airplay-button-element.js.map +0 -1
  1034. package/dist/default/ui/alert-dialog/alert-dialog-element.js +0 -25
  1035. package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +0 -1
  1036. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group-element.js +0 -68
  1037. package/dist/default/ui/audio-track-radio-group/audio-track-radio-group-element.js.map +0 -1
  1038. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +0 -50
  1039. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +0 -1
  1040. package/dist/default/ui/captions-button/captions-button-element.js +0 -77
  1041. package/dist/default/ui/captions-button/captions-button-element.js.map +0 -1
  1042. package/dist/default/ui/captions-radio-group/captions-radio-group-element.js +0 -68
  1043. package/dist/default/ui/captions-radio-group/captions-radio-group-element.js.map +0 -1
  1044. package/dist/default/ui/cast-button/cast-button-element.js +0 -24
  1045. package/dist/default/ui/cast-button/cast-button-element.js.map +0 -1
  1046. package/dist/default/ui/container/container-element.js +0 -88
  1047. package/dist/default/ui/container/container-element.js.map +0 -1
  1048. package/dist/default/ui/controls/controls-backdrop-element.js +0 -26
  1049. package/dist/default/ui/controls/controls-backdrop-element.js.map +0 -1
  1050. package/dist/default/ui/controls/controls-content-element.js +0 -25
  1051. package/dist/default/ui/controls/controls-content-element.js.map +0 -1
  1052. package/dist/default/ui/controls/controls-element.js +0 -58
  1053. package/dist/default/ui/controls/controls-element.js.map +0 -1
  1054. package/dist/default/ui/controls/controls-group-element.js +0 -24
  1055. package/dist/default/ui/controls/controls-group-element.js.map +0 -1
  1056. package/dist/default/ui/dialog/dialog-backdrop-element.js +0 -26
  1057. package/dist/default/ui/dialog/dialog-backdrop-element.js.map +0 -1
  1058. package/dist/default/ui/dialog/dialog-close-element.js +0 -47
  1059. package/dist/default/ui/dialog/dialog-close-element.js.map +0 -1
  1060. package/dist/default/ui/dialog/dialog-description-element.js +0 -25
  1061. package/dist/default/ui/dialog/dialog-description-element.js.map +0 -1
  1062. package/dist/default/ui/dialog/dialog-element.js +0 -144
  1063. package/dist/default/ui/dialog/dialog-element.js.map +0 -1
  1064. package/dist/default/ui/dialog/dialog-popup-element.js +0 -44
  1065. package/dist/default/ui/dialog/dialog-popup-element.js.map +0 -1
  1066. package/dist/default/ui/dialog/dialog-title-element.js +0 -25
  1067. package/dist/default/ui/dialog/dialog-title-element.js.map +0 -1
  1068. package/dist/default/ui/error-dialog/error-dialog-element.js +0 -122
  1069. package/dist/default/ui/error-dialog/error-dialog-element.js.map +0 -1
  1070. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +0 -32
  1071. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +0 -1
  1072. package/dist/default/ui/gesture/gesture-element.js +0 -89
  1073. package/dist/default/ui/gesture/gesture-element.js.map +0 -1
  1074. package/dist/default/ui/hotkey/hotkey-element.js +0 -85
  1075. package/dist/default/ui/hotkey/hotkey-element.js.map +0 -1
  1076. package/dist/default/ui/input-indicator/input-indicator-element.js +0 -116
  1077. package/dist/default/ui/input-indicator/input-indicator-element.js.map +0 -1
  1078. package/dist/default/ui/live-button/live-button-element.js +0 -114
  1079. package/dist/default/ui/live-button/live-button-element.js.map +0 -1
  1080. package/dist/default/ui/menu/menu-checkbox-item-element.js +0 -81
  1081. package/dist/default/ui/menu/menu-checkbox-item-element.js.map +0 -1
  1082. package/dist/default/ui/menu/menu-content-element.js +0 -297
  1083. package/dist/default/ui/menu/menu-content-element.js.map +0 -1
  1084. package/dist/default/ui/menu/menu-element.js +0 -273
  1085. package/dist/default/ui/menu/menu-element.js.map +0 -1
  1086. package/dist/default/ui/menu/menu-group-controller.js +0 -47
  1087. package/dist/default/ui/menu/menu-group-controller.js.map +0 -1
  1088. package/dist/default/ui/menu/menu-group-element.js +0 -17
  1089. package/dist/default/ui/menu/menu-group-element.js.map +0 -1
  1090. package/dist/default/ui/menu/menu-group-label-element.js +0 -45
  1091. package/dist/default/ui/menu/menu-group-label-element.js.map +0 -1
  1092. package/dist/default/ui/menu/menu-item-element.js +0 -108
  1093. package/dist/default/ui/menu/menu-item-element.js.map +0 -1
  1094. package/dist/default/ui/menu/menu-item-indicator-element.js +0 -34
  1095. package/dist/default/ui/menu/menu-item-indicator-element.js.map +0 -1
  1096. package/dist/default/ui/menu/menu-radio-group-element.js +0 -68
  1097. package/dist/default/ui/menu/menu-radio-group-element.js.map +0 -1
  1098. package/dist/default/ui/menu/menu-radio-item-element.js +0 -87
  1099. package/dist/default/ui/menu/menu-radio-item-element.js.map +0 -1
  1100. package/dist/default/ui/menu/menu-separator-element.js +0 -16
  1101. package/dist/default/ui/menu/menu-separator-element.js.map +0 -1
  1102. package/dist/default/ui/mute-button/mute-button-element.js +0 -25
  1103. package/dist/default/ui/mute-button/mute-button-element.js.map +0 -1
  1104. package/dist/default/ui/pip-button/pip-button-element.js +0 -25
  1105. package/dist/default/ui/pip-button/pip-button-element.js.map +0 -1
  1106. package/dist/default/ui/play-button/play-button-element.js +0 -25
  1107. package/dist/default/ui/play-button/play-button-element.js.map +0 -1
  1108. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +0 -53
  1109. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +0 -1
  1110. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group-element.js +0 -65
  1111. package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group-element.js.map +0 -1
  1112. package/dist/default/ui/popover/popover-element.js +0 -190
  1113. package/dist/default/ui/popover/popover-element.js.map +0 -1
  1114. package/dist/default/ui/poster/poster-element.js +0 -145
  1115. package/dist/default/ui/poster/poster-element.js.map +0 -1
  1116. package/dist/default/ui/quality-radio-group/quality-radio-group-element.js +0 -89
  1117. package/dist/default/ui/quality-radio-group/quality-radio-group-element.js.map +0 -1
  1118. package/dist/default/ui/radio-group/radio-group-element.js +0 -33
  1119. package/dist/default/ui/radio-group/radio-group-element.js.map +0 -1
  1120. package/dist/default/ui/radio-options/radio-options-controller.js +0 -81
  1121. package/dist/default/ui/radio-options/radio-options-controller.js.map +0 -1
  1122. package/dist/default/ui/seek-button/seek-button-element.js +0 -35
  1123. package/dist/default/ui/seek-button/seek-button-element.js.map +0 -1
  1124. package/dist/default/ui/seek-indicator/seek-indicator-element.js +0 -44
  1125. package/dist/default/ui/seek-indicator/seek-indicator-element.js.map +0 -1
  1126. package/dist/default/ui/seek-indicator/seek-indicator-value-element.js +0 -11
  1127. package/dist/default/ui/seek-indicator/seek-indicator-value-element.js.map +0 -1
  1128. package/dist/default/ui/slider/slider-buffer-element.js +0 -20
  1129. package/dist/default/ui/slider/slider-buffer-element.js.map +0 -1
  1130. package/dist/default/ui/slider/slider-element.js +0 -157
  1131. package/dist/default/ui/slider/slider-element.js.map +0 -1
  1132. package/dist/default/ui/slider/slider-fill-element.js +0 -20
  1133. package/dist/default/ui/slider/slider-fill-element.js.map +0 -1
  1134. package/dist/default/ui/slider/slider-preview-element.js +0 -52
  1135. package/dist/default/ui/slider/slider-preview-element.js.map +0 -1
  1136. package/dist/default/ui/slider/slider-thumb-element.js +0 -42
  1137. package/dist/default/ui/slider/slider-thumb-element.js.map +0 -1
  1138. package/dist/default/ui/slider/slider-thumbnail-element.js +0 -22
  1139. package/dist/default/ui/slider/slider-thumbnail-element.js.map +0 -1
  1140. package/dist/default/ui/slider/slider-track-element.js +0 -20
  1141. package/dist/default/ui/slider/slider-track-element.js.map +0 -1
  1142. package/dist/default/ui/slider/slider-value-element.js +0 -38
  1143. package/dist/default/ui/slider/slider-value-element.js.map +0 -1
  1144. package/dist/default/ui/status-announcer/status-announcer-element.js +0 -90
  1145. package/dist/default/ui/status-announcer/status-announcer-element.js.map +0 -1
  1146. package/dist/default/ui/status-indicator/status-indicator-element.js +0 -61
  1147. package/dist/default/ui/status-indicator/status-indicator-element.js.map +0 -1
  1148. package/dist/default/ui/status-indicator/status-indicator-value-element.js +0 -11
  1149. package/dist/default/ui/status-indicator/status-indicator-value-element.js.map +0 -1
  1150. package/dist/default/ui/text/text-element.js +0 -14
  1151. package/dist/default/ui/text/text-element.js.map +0 -1
  1152. package/dist/default/ui/thumbnail/thumbnail-element.js +0 -157
  1153. package/dist/default/ui/thumbnail/thumbnail-element.js.map +0 -1
  1154. package/dist/default/ui/time/time-element.js +0 -153
  1155. package/dist/default/ui/time/time-element.js.map +0 -1
  1156. package/dist/default/ui/time/time-group-element.js +0 -11
  1157. package/dist/default/ui/time/time-group-element.js.map +0 -1
  1158. package/dist/default/ui/time/time-separator-element.js +0 -16
  1159. package/dist/default/ui/time/time-separator-element.js.map +0 -1
  1160. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title-element.js +0 -43
  1161. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapter-title-element.js.map +0 -1
  1162. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters-element.js +0 -99
  1163. package/dist/default/ui/time-slider/time-slider-chapters/time-slider-chapters-element.js.map +0 -1
  1164. package/dist/default/ui/time-slider/time-slider-element.js +0 -189
  1165. package/dist/default/ui/time-slider/time-slider-element.js.map +0 -1
  1166. package/dist/default/ui/title/title-element.js +0 -37
  1167. package/dist/default/ui/title/title-element.js.map +0 -1
  1168. package/dist/default/ui/tooltip/tooltip-element.js +0 -214
  1169. package/dist/default/ui/tooltip/tooltip-element.js.map +0 -1
  1170. package/dist/default/ui/tooltip/tooltip-group-element.js +0 -42
  1171. package/dist/default/ui/tooltip/tooltip-group-element.js.map +0 -1
  1172. package/dist/default/ui/tooltip/tooltip-label-element.js +0 -30
  1173. package/dist/default/ui/tooltip/tooltip-label-element.js.map +0 -1
  1174. package/dist/default/ui/tooltip/tooltip-shortcut-element.js +0 -30
  1175. package/dist/default/ui/tooltip/tooltip-shortcut-element.js.map +0 -1
  1176. package/dist/default/ui/volume-indicator/volume-indicator-element.js +0 -56
  1177. package/dist/default/ui/volume-indicator/volume-indicator-element.js.map +0 -1
  1178. package/dist/default/ui/volume-indicator/volume-indicator-fill-element.js +0 -11
  1179. package/dist/default/ui/volume-indicator/volume-indicator-fill-element.js.map +0 -1
  1180. package/dist/default/ui/volume-indicator/volume-indicator-value-element.js +0 -11
  1181. package/dist/default/ui/volume-indicator/volume-indicator-value-element.js.map +0 -1
  1182. package/dist/default/ui/volume-popover/volume-popover-element.js +0 -46
  1183. package/dist/default/ui/volume-popover/volume-popover-element.js.map +0 -1
  1184. package/dist/default/ui/volume-slider/volume-slider-element.js +0 -166
  1185. package/dist/default/ui/volume-slider/volume-slider-element.js.map +0 -1
  1186. package/dist/dev/player/player-controller.d.ts +0 -60
  1187. package/dist/dev/player/player-controller.d.ts.map +0 -1
  1188. package/dist/dev/player/player-controller.js +0 -74
  1189. package/dist/dev/player/player-controller.js.map +0 -1
  1190. package/dist/dev/player/player-element.js +0 -192
  1191. package/dist/dev/player/player-element.js.map +0 -1
  1192. package/dist/dev/ui/airplay-button/airplay-button-element.d.ts +0 -25
  1193. package/dist/dev/ui/airplay-button/airplay-button-element.d.ts.map +0 -1
  1194. package/dist/dev/ui/airplay-button/airplay-button-element.js +0 -24
  1195. package/dist/dev/ui/airplay-button/airplay-button-element.js.map +0 -1
  1196. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts +0 -14
  1197. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +0 -1
  1198. package/dist/dev/ui/alert-dialog/alert-dialog-element.js +0 -25
  1199. package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +0 -1
  1200. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.d.ts +0 -31
  1201. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.d.ts.map +0 -1
  1202. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.js +0 -69
  1203. package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.js.map +0 -1
  1204. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts +0 -20
  1205. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +0 -1
  1206. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +0 -51
  1207. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +0 -1
  1208. package/dist/dev/ui/captions-button/captions-button-element.d.ts +0 -58
  1209. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +0 -1
  1210. package/dist/dev/ui/captions-button/captions-button-element.js +0 -77
  1211. package/dist/dev/ui/captions-button/captions-button-element.js.map +0 -1
  1212. package/dist/dev/ui/captions-radio-group/captions-radio-group-element.d.ts +0 -31
  1213. package/dist/dev/ui/captions-radio-group/captions-radio-group-element.d.ts.map +0 -1
  1214. package/dist/dev/ui/captions-radio-group/captions-radio-group-element.js +0 -69
  1215. package/dist/dev/ui/captions-radio-group/captions-radio-group-element.js.map +0 -1
  1216. package/dist/dev/ui/cast-button/cast-button-element.d.ts +0 -25
  1217. package/dist/dev/ui/cast-button/cast-button-element.d.ts.map +0 -1
  1218. package/dist/dev/ui/cast-button/cast-button-element.js +0 -24
  1219. package/dist/dev/ui/cast-button/cast-button-element.js.map +0 -1
  1220. package/dist/dev/ui/container/container-element.d.ts +0 -19
  1221. package/dist/dev/ui/container/container-element.d.ts.map +0 -1
  1222. package/dist/dev/ui/container/container-element.js +0 -88
  1223. package/dist/dev/ui/container/container-element.js.map +0 -1
  1224. package/dist/dev/ui/controls/controls-backdrop-element.d.ts +0 -16
  1225. package/dist/dev/ui/controls/controls-backdrop-element.d.ts.map +0 -1
  1226. package/dist/dev/ui/controls/controls-backdrop-element.js +0 -26
  1227. package/dist/dev/ui/controls/controls-backdrop-element.js.map +0 -1
  1228. package/dist/dev/ui/controls/controls-content-element.d.ts +0 -16
  1229. package/dist/dev/ui/controls/controls-content-element.d.ts.map +0 -1
  1230. package/dist/dev/ui/controls/controls-content-element.js +0 -25
  1231. package/dist/dev/ui/controls/controls-content-element.js.map +0 -1
  1232. package/dist/dev/ui/controls/controls-element.d.ts +0 -19
  1233. package/dist/dev/ui/controls/controls-element.d.ts.map +0 -1
  1234. package/dist/dev/ui/controls/controls-element.js +0 -59
  1235. package/dist/dev/ui/controls/controls-element.js.map +0 -1
  1236. package/dist/dev/ui/controls/controls-group-element.d.ts +0 -15
  1237. package/dist/dev/ui/controls/controls-group-element.d.ts.map +0 -1
  1238. package/dist/dev/ui/controls/controls-group-element.js +0 -24
  1239. package/dist/dev/ui/controls/controls-group-element.js.map +0 -1
  1240. package/dist/dev/ui/dialog/dialog-backdrop-element.d.ts +0 -17
  1241. package/dist/dev/ui/dialog/dialog-backdrop-element.d.ts.map +0 -1
  1242. package/dist/dev/ui/dialog/dialog-backdrop-element.js +0 -26
  1243. package/dist/dev/ui/dialog/dialog-backdrop-element.js.map +0 -1
  1244. package/dist/dev/ui/dialog/dialog-close-element.d.ts +0 -19
  1245. package/dist/dev/ui/dialog/dialog-close-element.d.ts.map +0 -1
  1246. package/dist/dev/ui/dialog/dialog-close-element.js +0 -47
  1247. package/dist/dev/ui/dialog/dialog-close-element.js.map +0 -1
  1248. package/dist/dev/ui/dialog/dialog-description-element.d.ts +0 -17
  1249. package/dist/dev/ui/dialog/dialog-description-element.d.ts.map +0 -1
  1250. package/dist/dev/ui/dialog/dialog-description-element.js +0 -25
  1251. package/dist/dev/ui/dialog/dialog-description-element.js.map +0 -1
  1252. package/dist/dev/ui/dialog/dialog-element.d.ts +0 -42
  1253. package/dist/dev/ui/dialog/dialog-element.d.ts.map +0 -1
  1254. package/dist/dev/ui/dialog/dialog-element.js +0 -144
  1255. package/dist/dev/ui/dialog/dialog-element.js.map +0 -1
  1256. package/dist/dev/ui/dialog/dialog-popup-element.d.ts +0 -20
  1257. package/dist/dev/ui/dialog/dialog-popup-element.d.ts.map +0 -1
  1258. package/dist/dev/ui/dialog/dialog-popup-element.js +0 -44
  1259. package/dist/dev/ui/dialog/dialog-popup-element.js.map +0 -1
  1260. package/dist/dev/ui/dialog/dialog-title-element.d.ts +0 -17
  1261. package/dist/dev/ui/dialog/dialog-title-element.d.ts.map +0 -1
  1262. package/dist/dev/ui/dialog/dialog-title-element.js +0 -25
  1263. package/dist/dev/ui/dialog/dialog-title-element.js.map +0 -1
  1264. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts +0 -15
  1265. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +0 -1
  1266. package/dist/dev/ui/error-dialog/error-dialog-element.js +0 -122
  1267. package/dist/dev/ui/error-dialog/error-dialog-element.js.map +0 -1
  1268. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +0 -30
  1269. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +0 -1
  1270. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +0 -32
  1271. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +0 -1
  1272. package/dist/dev/ui/gesture/gesture-element.d.ts +0 -21
  1273. package/dist/dev/ui/gesture/gesture-element.d.ts.map +0 -1
  1274. package/dist/dev/ui/gesture/gesture-element.js +0 -89
  1275. package/dist/dev/ui/gesture/gesture-element.js.map +0 -1
  1276. package/dist/dev/ui/hotkey/hotkey-element.d.ts +0 -20
  1277. package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +0 -1
  1278. package/dist/dev/ui/hotkey/hotkey-element.js +0 -85
  1279. package/dist/dev/ui/hotkey/hotkey-element.js.map +0 -1
  1280. package/dist/dev/ui/input-indicator/input-indicator-element.d.ts +0 -39
  1281. package/dist/dev/ui/input-indicator/input-indicator-element.d.ts.map +0 -1
  1282. package/dist/dev/ui/input-indicator/input-indicator-element.js +0 -116
  1283. package/dist/dev/ui/input-indicator/input-indicator-element.js.map +0 -1
  1284. package/dist/dev/ui/live-button/live-button-element.d.ts +0 -49
  1285. package/dist/dev/ui/live-button/live-button-element.d.ts.map +0 -1
  1286. package/dist/dev/ui/live-button/live-button-element.js +0 -115
  1287. package/dist/dev/ui/live-button/live-button-element.js.map +0 -1
  1288. package/dist/dev/ui/menu/menu-checkbox-item-element.d.ts +0 -24
  1289. package/dist/dev/ui/menu/menu-checkbox-item-element.d.ts.map +0 -1
  1290. package/dist/dev/ui/menu/menu-checkbox-item-element.js +0 -81
  1291. package/dist/dev/ui/menu/menu-checkbox-item-element.js.map +0 -1
  1292. package/dist/dev/ui/menu/menu-content-element.d.ts +0 -31
  1293. package/dist/dev/ui/menu/menu-content-element.d.ts.map +0 -1
  1294. package/dist/dev/ui/menu/menu-content-element.js +0 -297
  1295. package/dist/dev/ui/menu/menu-content-element.js.map +0 -1
  1296. package/dist/dev/ui/menu/menu-element.d.ts +0 -57
  1297. package/dist/dev/ui/menu/menu-element.d.ts.map +0 -1
  1298. package/dist/dev/ui/menu/menu-element.js +0 -273
  1299. package/dist/dev/ui/menu/menu-element.js.map +0 -1
  1300. package/dist/dev/ui/menu/menu-group-controller.js +0 -47
  1301. package/dist/dev/ui/menu/menu-group-controller.js.map +0 -1
  1302. package/dist/dev/ui/menu/menu-group-element.d.ts +0 -11
  1303. package/dist/dev/ui/menu/menu-group-element.d.ts.map +0 -1
  1304. package/dist/dev/ui/menu/menu-group-element.js +0 -17
  1305. package/dist/dev/ui/menu/menu-group-element.js.map +0 -1
  1306. package/dist/dev/ui/menu/menu-group-label-element.d.ts +0 -12
  1307. package/dist/dev/ui/menu/menu-group-label-element.d.ts.map +0 -1
  1308. package/dist/dev/ui/menu/menu-group-label-element.js +0 -45
  1309. package/dist/dev/ui/menu/menu-group-label-element.js.map +0 -1
  1310. package/dist/dev/ui/menu/menu-item-element.d.ts +0 -24
  1311. package/dist/dev/ui/menu/menu-item-element.d.ts.map +0 -1
  1312. package/dist/dev/ui/menu/menu-item-element.js +0 -108
  1313. package/dist/dev/ui/menu/menu-item-element.js.map +0 -1
  1314. package/dist/dev/ui/menu/menu-item-indicator-element.d.ts +0 -21
  1315. package/dist/dev/ui/menu/menu-item-indicator-element.d.ts.map +0 -1
  1316. package/dist/dev/ui/menu/menu-item-indicator-element.js +0 -34
  1317. package/dist/dev/ui/menu/menu-item-indicator-element.js.map +0 -1
  1318. package/dist/dev/ui/menu/menu-radio-group-element.d.ts +0 -18
  1319. package/dist/dev/ui/menu/menu-radio-group-element.d.ts.map +0 -1
  1320. package/dist/dev/ui/menu/menu-radio-group-element.js +0 -68
  1321. package/dist/dev/ui/menu/menu-radio-group-element.js.map +0 -1
  1322. package/dist/dev/ui/menu/menu-radio-item-element.d.ts +0 -23
  1323. package/dist/dev/ui/menu/menu-radio-item-element.d.ts.map +0 -1
  1324. package/dist/dev/ui/menu/menu-radio-item-element.js +0 -87
  1325. package/dist/dev/ui/menu/menu-radio-item-element.js.map +0 -1
  1326. package/dist/dev/ui/menu/menu-separator-element.d.ts +0 -10
  1327. package/dist/dev/ui/menu/menu-separator-element.d.ts.map +0 -1
  1328. package/dist/dev/ui/menu/menu-separator-element.js +0 -16
  1329. package/dist/dev/ui/menu/menu-separator-element.js.map +0 -1
  1330. package/dist/dev/ui/mute-button/mute-button-element.d.ts +0 -29
  1331. package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +0 -1
  1332. package/dist/dev/ui/mute-button/mute-button-element.js +0 -25
  1333. package/dist/dev/ui/mute-button/mute-button-element.js.map +0 -1
  1334. package/dist/dev/ui/pip-button/pip-button-element.d.ts +0 -28
  1335. package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +0 -1
  1336. package/dist/dev/ui/pip-button/pip-button-element.js +0 -25
  1337. package/dist/dev/ui/pip-button/pip-button-element.js.map +0 -1
  1338. package/dist/dev/ui/play-button/play-button-element.d.ts +0 -29
  1339. package/dist/dev/ui/play-button/play-button-element.d.ts.map +0 -1
  1340. package/dist/dev/ui/play-button/play-button-element.js +0 -25
  1341. package/dist/dev/ui/play-button/play-button-element.js.map +0 -1
  1342. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts +0 -43
  1343. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts.map +0 -1
  1344. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +0 -53
  1345. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +0 -1
  1346. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.d.ts +0 -26
  1347. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.d.ts.map +0 -1
  1348. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.js +0 -66
  1349. package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.js.map +0 -1
  1350. package/dist/dev/ui/popover/popover-element.d.ts +0 -72
  1351. package/dist/dev/ui/popover/popover-element.d.ts.map +0 -1
  1352. package/dist/dev/ui/popover/popover-element.js +0 -190
  1353. package/dist/dev/ui/popover/popover-element.js.map +0 -1
  1354. package/dist/dev/ui/poster/poster-element.d.ts +0 -23
  1355. package/dist/dev/ui/poster/poster-element.d.ts.map +0 -1
  1356. package/dist/dev/ui/poster/poster-element.js +0 -152
  1357. package/dist/dev/ui/poster/poster-element.js.map +0 -1
  1358. package/dist/dev/ui/quality-radio-group/quality-radio-group-element.d.ts +0 -31
  1359. package/dist/dev/ui/quality-radio-group/quality-radio-group-element.d.ts.map +0 -1
  1360. package/dist/dev/ui/quality-radio-group/quality-radio-group-element.js +0 -90
  1361. package/dist/dev/ui/quality-radio-group/quality-radio-group-element.js.map +0 -1
  1362. package/dist/dev/ui/radio-group/radio-group-element.d.ts +0 -17
  1363. package/dist/dev/ui/radio-group/radio-group-element.d.ts.map +0 -1
  1364. package/dist/dev/ui/radio-group/radio-group-element.js +0 -33
  1365. package/dist/dev/ui/radio-group/radio-group-element.js.map +0 -1
  1366. package/dist/dev/ui/radio-options/radio-options-controller.js +0 -81
  1367. package/dist/dev/ui/radio-options/radio-options-controller.js.map +0 -1
  1368. package/dist/dev/ui/seek-button/seek-button-element.d.ts +0 -29
  1369. package/dist/dev/ui/seek-button/seek-button-element.d.ts.map +0 -1
  1370. package/dist/dev/ui/seek-button/seek-button-element.js +0 -35
  1371. package/dist/dev/ui/seek-button/seek-button-element.js.map +0 -1
  1372. package/dist/dev/ui/seek-indicator/seek-indicator-element.d.ts +0 -23
  1373. package/dist/dev/ui/seek-indicator/seek-indicator-element.d.ts.map +0 -1
  1374. package/dist/dev/ui/seek-indicator/seek-indicator-element.js +0 -44
  1375. package/dist/dev/ui/seek-indicator/seek-indicator-element.js.map +0 -1
  1376. package/dist/dev/ui/seek-indicator/seek-indicator-value-element.d.ts +0 -8
  1377. package/dist/dev/ui/seek-indicator/seek-indicator-value-element.d.ts.map +0 -1
  1378. package/dist/dev/ui/seek-indicator/seek-indicator-value-element.js +0 -11
  1379. package/dist/dev/ui/seek-indicator/seek-indicator-value-element.js.map +0 -1
  1380. package/dist/dev/ui/slider/slider-buffer-element.d.ts +0 -15
  1381. package/dist/dev/ui/slider/slider-buffer-element.d.ts.map +0 -1
  1382. package/dist/dev/ui/slider/slider-buffer-element.js +0 -20
  1383. package/dist/dev/ui/slider/slider-buffer-element.js.map +0 -1
  1384. package/dist/dev/ui/slider/slider-element.d.ts +0 -62
  1385. package/dist/dev/ui/slider/slider-element.d.ts.map +0 -1
  1386. package/dist/dev/ui/slider/slider-element.js +0 -157
  1387. package/dist/dev/ui/slider/slider-element.js.map +0 -1
  1388. package/dist/dev/ui/slider/slider-events.d.ts +0 -18
  1389. package/dist/dev/ui/slider/slider-events.d.ts.map +0 -1
  1390. package/dist/dev/ui/slider/slider-fill-element.d.ts +0 -15
  1391. package/dist/dev/ui/slider/slider-fill-element.d.ts.map +0 -1
  1392. package/dist/dev/ui/slider/slider-fill-element.js +0 -20
  1393. package/dist/dev/ui/slider/slider-fill-element.js.map +0 -1
  1394. package/dist/dev/ui/slider/slider-preview-element.d.ts +0 -20
  1395. package/dist/dev/ui/slider/slider-preview-element.d.ts.map +0 -1
  1396. package/dist/dev/ui/slider/slider-preview-element.js +0 -52
  1397. package/dist/dev/ui/slider/slider-preview-element.js.map +0 -1
  1398. package/dist/dev/ui/slider/slider-thumb-element.d.ts +0 -13
  1399. package/dist/dev/ui/slider/slider-thumb-element.d.ts.map +0 -1
  1400. package/dist/dev/ui/slider/slider-thumb-element.js +0 -42
  1401. package/dist/dev/ui/slider/slider-thumb-element.js.map +0 -1
  1402. package/dist/dev/ui/slider/slider-thumbnail-element.d.ts +0 -11
  1403. package/dist/dev/ui/slider/slider-thumbnail-element.d.ts.map +0 -1
  1404. package/dist/dev/ui/slider/slider-thumbnail-element.js +0 -22
  1405. package/dist/dev/ui/slider/slider-thumbnail-element.js.map +0 -1
  1406. package/dist/dev/ui/slider/slider-track-element.d.ts +0 -15
  1407. package/dist/dev/ui/slider/slider-track-element.d.ts.map +0 -1
  1408. package/dist/dev/ui/slider/slider-track-element.js +0 -20
  1409. package/dist/dev/ui/slider/slider-track-element.js.map +0 -1
  1410. package/dist/dev/ui/slider/slider-value-element.d.ts +0 -18
  1411. package/dist/dev/ui/slider/slider-value-element.d.ts.map +0 -1
  1412. package/dist/dev/ui/slider/slider-value-element.js +0 -38
  1413. package/dist/dev/ui/slider/slider-value-element.js.map +0 -1
  1414. package/dist/dev/ui/status-announcer/status-announcer-element.d.ts +0 -22
  1415. package/dist/dev/ui/status-announcer/status-announcer-element.d.ts.map +0 -1
  1416. package/dist/dev/ui/status-announcer/status-announcer-element.js +0 -90
  1417. package/dist/dev/ui/status-announcer/status-announcer-element.js.map +0 -1
  1418. package/dist/dev/ui/status-indicator/status-indicator-element.d.ts +0 -30
  1419. package/dist/dev/ui/status-indicator/status-indicator-element.d.ts.map +0 -1
  1420. package/dist/dev/ui/status-indicator/status-indicator-element.js +0 -61
  1421. package/dist/dev/ui/status-indicator/status-indicator-element.js.map +0 -1
  1422. package/dist/dev/ui/status-indicator/status-indicator-value-element.d.ts +0 -8
  1423. package/dist/dev/ui/status-indicator/status-indicator-value-element.d.ts.map +0 -1
  1424. package/dist/dev/ui/status-indicator/status-indicator-value-element.js +0 -11
  1425. package/dist/dev/ui/status-indicator/status-indicator-value-element.js.map +0 -1
  1426. package/dist/dev/ui/text/text-element.d.ts +0 -11
  1427. package/dist/dev/ui/text/text-element.d.ts.map +0 -1
  1428. package/dist/dev/ui/text/text-element.js +0 -14
  1429. package/dist/dev/ui/text/text-element.js.map +0 -1
  1430. package/dist/dev/ui/thumbnail/thumbnail-element.d.ts +0 -42
  1431. package/dist/dev/ui/thumbnail/thumbnail-element.d.ts.map +0 -1
  1432. package/dist/dev/ui/thumbnail/thumbnail-element.js +0 -157
  1433. package/dist/dev/ui/thumbnail/thumbnail-element.js.map +0 -1
  1434. package/dist/dev/ui/time/time-element.d.ts +0 -35
  1435. package/dist/dev/ui/time/time-element.d.ts.map +0 -1
  1436. package/dist/dev/ui/time/time-element.js +0 -154
  1437. package/dist/dev/ui/time/time-element.js.map +0 -1
  1438. package/dist/dev/ui/time/time-group-element.d.ts +0 -8
  1439. package/dist/dev/ui/time/time-group-element.d.ts.map +0 -1
  1440. package/dist/dev/ui/time/time-group-element.js +0 -11
  1441. package/dist/dev/ui/time/time-group-element.js.map +0 -1
  1442. package/dist/dev/ui/time/time-separator-element.d.ts +0 -9
  1443. package/dist/dev/ui/time/time-separator-element.d.ts.map +0 -1
  1444. package/dist/dev/ui/time/time-separator-element.js +0 -16
  1445. package/dist/dev/ui/time/time-separator-element.js.map +0 -1
  1446. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title-element.d.ts +0 -12
  1447. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title-element.d.ts.map +0 -1
  1448. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title-element.js +0 -43
  1449. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapter-title-element.js.map +0 -1
  1450. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters-element.d.ts +0 -18
  1451. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters-element.d.ts.map +0 -1
  1452. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters-element.js +0 -102
  1453. package/dist/dev/ui/time-slider/time-slider-chapters/time-slider-chapters-element.js.map +0 -1
  1454. package/dist/dev/ui/time-slider/time-slider-element.d.ts +0 -58
  1455. package/dist/dev/ui/time-slider/time-slider-element.d.ts.map +0 -1
  1456. package/dist/dev/ui/time-slider/time-slider-element.js +0 -190
  1457. package/dist/dev/ui/time-slider/time-slider-element.js.map +0 -1
  1458. package/dist/dev/ui/title/title-element.d.ts +0 -18
  1459. package/dist/dev/ui/title/title-element.d.ts.map +0 -1
  1460. package/dist/dev/ui/title/title-element.js +0 -38
  1461. package/dist/dev/ui/title/title-element.js.map +0 -1
  1462. package/dist/dev/ui/tooltip/tooltip-element.d.ts +0 -67
  1463. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +0 -1
  1464. package/dist/dev/ui/tooltip/tooltip-element.js +0 -214
  1465. package/dist/dev/ui/tooltip/tooltip-element.js.map +0 -1
  1466. package/dist/dev/ui/tooltip/tooltip-group-element.d.ts +0 -26
  1467. package/dist/dev/ui/tooltip/tooltip-group-element.d.ts.map +0 -1
  1468. package/dist/dev/ui/tooltip/tooltip-group-element.js +0 -42
  1469. package/dist/dev/ui/tooltip/tooltip-group-element.js.map +0 -1
  1470. package/dist/dev/ui/tooltip/tooltip-label-element.d.ts +0 -14
  1471. package/dist/dev/ui/tooltip/tooltip-label-element.d.ts.map +0 -1
  1472. package/dist/dev/ui/tooltip/tooltip-label-element.js +0 -30
  1473. package/dist/dev/ui/tooltip/tooltip-label-element.js.map +0 -1
  1474. package/dist/dev/ui/tooltip/tooltip-shortcut-element.d.ts +0 -15
  1475. package/dist/dev/ui/tooltip/tooltip-shortcut-element.d.ts.map +0 -1
  1476. package/dist/dev/ui/tooltip/tooltip-shortcut-element.js +0 -30
  1477. package/dist/dev/ui/tooltip/tooltip-shortcut-element.js.map +0 -1
  1478. package/dist/dev/ui/volume-indicator/volume-indicator-element.d.ts +0 -26
  1479. package/dist/dev/ui/volume-indicator/volume-indicator-element.d.ts.map +0 -1
  1480. package/dist/dev/ui/volume-indicator/volume-indicator-element.js +0 -56
  1481. package/dist/dev/ui/volume-indicator/volume-indicator-element.js.map +0 -1
  1482. package/dist/dev/ui/volume-indicator/volume-indicator-fill-element.d.ts +0 -8
  1483. package/dist/dev/ui/volume-indicator/volume-indicator-fill-element.d.ts.map +0 -1
  1484. package/dist/dev/ui/volume-indicator/volume-indicator-fill-element.js +0 -11
  1485. package/dist/dev/ui/volume-indicator/volume-indicator-fill-element.js.map +0 -1
  1486. package/dist/dev/ui/volume-indicator/volume-indicator-value-element.d.ts +0 -8
  1487. package/dist/dev/ui/volume-indicator/volume-indicator-value-element.d.ts.map +0 -1
  1488. package/dist/dev/ui/volume-indicator/volume-indicator-value-element.js +0 -11
  1489. package/dist/dev/ui/volume-indicator/volume-indicator-value-element.js.map +0 -1
  1490. package/dist/dev/ui/volume-popover/volume-popover-element.d.ts +0 -12
  1491. package/dist/dev/ui/volume-popover/volume-popover-element.d.ts.map +0 -1
  1492. package/dist/dev/ui/volume-popover/volume-popover-element.js +0 -46
  1493. package/dist/dev/ui/volume-popover/volume-popover-element.js.map +0 -1
  1494. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +0 -53
  1495. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +0 -1
  1496. package/dist/dev/ui/volume-slider/volume-slider-element.js +0 -167
  1497. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +0 -1
@@ -0,0 +1,216 @@
1
+ import { playerContext } from "../../player/context.js";
2
+ import { PlayerController } from "../../player/controller.js";
3
+ import { UIElement } from "../ui-element.js";
4
+ import { ThumbnailCore, ThumbnailDataAttrs, mapCuesToThumbnails } from "@videojs/core";
5
+ import { applyElementProps, applyStateDataAttrs, createThumbnail, selectTextTrack } from "@videojs/core/dom";
6
+ import { findComposedElement, isHTMLImageElement, listen } from "@videojs/utils/dom";
7
+ //#region src/ui/thumbnail/element.ts
8
+ const SHADOW_CSS = `\
9
+ :host {
10
+ display: inline-block;
11
+ overflow: hidden;
12
+ }
13
+ img,
14
+ ::slotted(img) {
15
+ display: block;
16
+ }`;
17
+ /** The image the element draws when none is supplied, reachable from outside as `::part(image)`. */
18
+ function createFallbackImage() {
19
+ const img = document.createElement("img");
20
+ img.alt = "";
21
+ img.setAttribute("part", "image");
22
+ img.setAttribute("aria-hidden", "true");
23
+ img.setAttribute("decoding", "async");
24
+ return img;
25
+ }
26
+ /**
27
+ * `<media-thumbnail>` — resolves and sizes a time-based thumbnail into an image.
28
+ *
29
+ * The element owns `src` and `srcset` on the active image. Left empty, it draws an image of its own in its shadow root.
30
+ * Supply an `<img>` child instead — `<media-thumbnail time="12"><img alt=""></media-thumbnail>` — to compose overlays
31
+ * or loading indicators beside the image the element controls.
32
+ */
33
+ var ThumbnailElement = class extends UIElement {
34
+ static {
35
+ this.tagName = "media-thumbnail";
36
+ }
37
+ static {
38
+ this.properties = {
39
+ time: { type: Number },
40
+ crossOrigin: {
41
+ type: String,
42
+ attribute: "crossorigin"
43
+ },
44
+ loading: { type: String },
45
+ fetchPriority: {
46
+ type: String,
47
+ attribute: "fetchpriority"
48
+ }
49
+ };
50
+ }
51
+ #core;
52
+ #shadow;
53
+ #fallback;
54
+ #children;
55
+ #imageAttributes;
56
+ #textTracks;
57
+ #slots;
58
+ #img;
59
+ #thumbnails;
60
+ #externalThumbnails;
61
+ #lastTextTrack;
62
+ #api;
63
+ constructor() {
64
+ super();
65
+ this.time = 0;
66
+ this.#core = new ThumbnailCore();
67
+ this.#shadow = this.attachShadow({ mode: "open" });
68
+ this.#fallback = createFallbackImage();
69
+ this.#children = new MutationObserver(() => this.requestUpdate());
70
+ this.#imageAttributes = new MutationObserver(() => this.requestUpdate());
71
+ this.#textTracks = new PlayerController(this, playerContext, selectTextTrack);
72
+ this.#slots = null;
73
+ this.#img = null;
74
+ this.#thumbnails = [];
75
+ this.#api = null;
76
+ const style = document.createElement("style");
77
+ style.textContent = SHADOW_CSS;
78
+ this.#shadow.append(style, document.createElement("slot"), this.#fallback);
79
+ }
80
+ /**
81
+ * Set thumbnail images directly, bypassing the automatic `<track>` detection. When set, this takes priority over the
82
+ * text track path.
83
+ */
84
+ get thumbnails() {
85
+ return this.#externalThumbnails;
86
+ }
87
+ set thumbnails(value) {
88
+ this.#externalThumbnails = value;
89
+ this.requestUpdate();
90
+ }
91
+ connectedCallback() {
92
+ super.connectedCallback();
93
+ if (this.destroyed) return;
94
+ this.#api = createThumbnail({
95
+ getContainer: () => this,
96
+ getImg: () => this.#img,
97
+ onStateChange: () => this.requestUpdate()
98
+ });
99
+ this.#children.observe(this, {
100
+ childList: true,
101
+ subtree: true,
102
+ attributes: true,
103
+ attributeFilter: ["src", "srcset"]
104
+ });
105
+ this.#slots = new AbortController();
106
+ listen(this, "slotchange", () => this.requestUpdate(), { signal: this.#slots.signal });
107
+ this.requestUpdate();
108
+ }
109
+ disconnectedCallback() {
110
+ super.disconnectedCallback();
111
+ this.#adopt(null);
112
+ this.#children.disconnect();
113
+ this.#slots?.abort();
114
+ this.#slots = null;
115
+ this.#api?.destroy();
116
+ this.#api = null;
117
+ }
118
+ destroyCallback() {
119
+ this.#api?.destroy();
120
+ super.destroyCallback();
121
+ }
122
+ update(changed) {
123
+ super.update(changed);
124
+ const textTrack = this.#textTracks.value;
125
+ if (this.#externalThumbnails) this.#thumbnails = this.#externalThumbnails;
126
+ else if (textTrack !== this.#lastTextTrack) {
127
+ this.#lastTextTrack = textTrack;
128
+ this.#thumbnails = textTrack && textTrack.thumbnailCues.length > 0 ? mapCuesToThumbnails(textTrack.thumbnailCues, textTrack.thumbnailTrackSrc ?? void 0) : [];
129
+ }
130
+ const thumbnail = this.#core.findActiveThumbnail(this.#thumbnails, this.time);
131
+ const img = findComposedElement(this, isHTMLImageElement) ?? this.#fallback;
132
+ this.#adopt(img);
133
+ applyElementProps(img, {
134
+ crossorigin: this.#core.resolveCrossOrigin(this.crossOrigin, this.#inheritedCrossOrigin(textTrack)),
135
+ loading: this.loading,
136
+ fetchpriority: this.fetchPriority
137
+ });
138
+ this.#api?.updateSrc(thumbnail?.url);
139
+ this.#applySource(thumbnail?.url);
140
+ this.#api?.connect();
141
+ if (!thumbnail) {
142
+ this.#resetStyles();
143
+ const state = this.#core.getState(false, false, void 0);
144
+ applyElementProps(this, this.#core.getAttrs(state));
145
+ applyStateDataAttrs(this, state, ThumbnailDataAttrs);
146
+ return;
147
+ }
148
+ const api = this.#api;
149
+ const state = this.#core.getState(api?.loading ?? false, api?.error ?? false, thumbnail);
150
+ applyElementProps(this, this.#core.getAttrs(state));
151
+ applyStateDataAttrs(this, state, ThumbnailDataAttrs);
152
+ if (api?.naturalWidth && api.naturalHeight) {
153
+ const constraints = api.readConstraints();
154
+ const result = this.#core.resize(thumbnail, api.naturalWidth, api.naturalHeight, constraints);
155
+ if (result) this.#applyResize(result);
156
+ }
157
+ }
158
+ /**
159
+ * Leaving `crossOrigin` unset means "follow the media element", so thumbnails keep working on a CORS-enabled player
160
+ * without a skin having to thread an attribute through. Only the `<track>` path inherits: `thumbnails` set directly
161
+ * may point at a host that has nothing to do with the media element.
162
+ */
163
+ #inheritedCrossOrigin(textTrack) {
164
+ return this.#externalThumbnails ? void 0 : textTrack?.thumbnailTrackCrossOrigin;
165
+ }
166
+ #applyResize(result) {
167
+ this.style.width = `${result.containerWidth}px`;
168
+ this.style.height = `${result.containerHeight}px`;
169
+ const imgStyle = this.#img?.style;
170
+ if (!imgStyle) return;
171
+ imgStyle.width = `${result.imageWidth}px`;
172
+ imgStyle.height = `${result.imageHeight}px`;
173
+ imgStyle.maxWidth = "none";
174
+ imgStyle.transform = result.offsetX || result.offsetY ? `translate(-${result.offsetX}px, -${result.offsetY}px)` : "";
175
+ }
176
+ #resetStyles() {
177
+ this.style.width = "";
178
+ this.style.height = "";
179
+ const imgStyle = this.#img?.style;
180
+ if (!imgStyle) return;
181
+ imgStyle.width = "";
182
+ imgStyle.height = "";
183
+ imgStyle.maxWidth = "";
184
+ imgStyle.transform = "";
185
+ }
186
+ #adopt(next) {
187
+ if (next === this.#img) return;
188
+ const previous = this.#img;
189
+ if (previous) {
190
+ this.#api?.disconnectImg(previous);
191
+ this.#resetStyles();
192
+ previous.removeAttribute("src");
193
+ previous.removeAttribute("srcset");
194
+ }
195
+ this.#img = next;
196
+ this.#imageAttributes.disconnect();
197
+ if (next && next !== this.#fallback) this.#imageAttributes.observe(next, {
198
+ attributes: true,
199
+ attributeFilter: ["src", "srcset"]
200
+ });
201
+ if (next === this.#fallback) this.#shadow.append(this.#fallback);
202
+ else if (next) this.#fallback.remove();
203
+ this.#api?.updateSrc(void 0);
204
+ }
205
+ #applySource(src) {
206
+ const img = this.#img;
207
+ if (!img) return;
208
+ img.removeAttribute("srcset");
209
+ if (!src) img.removeAttribute("src");
210
+ else if (img.getAttribute("src") !== src) img.setAttribute("src", src);
211
+ }
212
+ };
213
+ //#endregion
214
+ export { ThumbnailElement };
215
+
216
+ //# sourceMappingURL=element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.js","names":["#core","#shadow","#fallback","#children","#imageAttributes","#textTracks","#externalThumbnails","#api","#img","#slots","#adopt","#thumbnails","#lastTextTrack","#inheritedCrossOrigin","#applySource","#resetStyles","#applyResize"],"sources":["../../../../src/ui/thumbnail/element.ts"],"sourcesContent":["import {\n mapCuesToThumbnails,\n ThumbnailCore,\n ThumbnailDataAttrs,\n type ThumbnailImage,\n type ThumbnailResizeResult,\n} from '@videojs/core';\nimport type { ThumbnailApi } from '@videojs/core/dom';\nimport { applyElementProps, applyStateDataAttrs, createThumbnail, selectTextTrack } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport type { MediaTextTrackState } from '@videojs/media';\nimport { findComposedElement, isHTMLImageElement, listen } from '@videojs/utils/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/controller';\nimport { UIElement } from '../ui-element';\n\nconst SHADOW_CSS = `\\\n:host {\n display: inline-block;\n overflow: hidden;\n}\nimg,\n::slotted(img) {\n display: block;\n}`;\n\n/** The image the element draws when none is supplied, reachable from outside as `::part(image)`. */\nfunction createFallbackImage(): HTMLImageElement {\n const img = document.createElement('img');\n\n img.alt = '';\n img.setAttribute('part', 'image');\n img.setAttribute('aria-hidden', 'true');\n img.setAttribute('decoding', 'async');\n\n return img;\n}\n\n/**\n * `<media-thumbnail>` — resolves and sizes a time-based thumbnail into an image.\n *\n * The element owns `src` and `srcset` on the active image. Left empty, it draws an image of its own in its shadow root.\n * Supply an `<img>` child instead — `<media-thumbnail time=\"12\"><img alt=\"\"></media-thumbnail>` — to compose overlays\n * or loading indicators beside the image the element controls.\n */\nexport class ThumbnailElement extends UIElement {\n static readonly tagName = 'media-thumbnail';\n\n static override properties = {\n time: { type: Number },\n crossOrigin: { type: String, attribute: 'crossorigin' },\n loading: { type: String },\n fetchPriority: { type: String, attribute: 'fetchpriority' },\n } satisfies PropertyDeclarationMap<Exclude<keyof ThumbnailCore.Props, 'thumbnails'>>;\n\n time = 0;\n crossOrigin: ThumbnailCore.Props['crossOrigin'];\n loading: ThumbnailCore.Props['loading'];\n fetchPriority: ThumbnailCore.Props['fetchPriority'];\n\n readonly #core = new ThumbnailCore();\n readonly #shadow = this.attachShadow({ mode: 'open' });\n readonly #fallback = createFallbackImage();\n readonly #children = new MutationObserver(() => this.requestUpdate());\n // An image assigned through a forwarding slot lives outside this subtree, so its\n // attributes are watched on the image itself.\n readonly #imageAttributes = new MutationObserver(() => this.requestUpdate());\n readonly #textTracks = new PlayerController(this, playerContext, selectTextTrack);\n\n #slots: AbortController | null = null;\n #img: HTMLImageElement | null = null;\n #thumbnails: ThumbnailImage[] = [];\n #externalThumbnails: ThumbnailImage[] | undefined;\n #lastTextTrack: MediaTextTrackState | undefined;\n #api: ThumbnailApi | null = null;\n\n constructor() {\n super();\n\n const style = document.createElement('style');\n\n style.textContent = SHADOW_CSS;\n this.#shadow.append(style, document.createElement('slot'), this.#fallback);\n }\n\n /**\n * Set thumbnail images directly, bypassing the automatic `<track>` detection. When set, this takes priority over the\n * text track path.\n */\n get thumbnails(): ThumbnailImage[] | undefined {\n return this.#externalThumbnails;\n }\n\n set thumbnails(value: ThumbnailImage[] | undefined) {\n this.#externalThumbnails = value;\n this.requestUpdate();\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (this.destroyed) return;\n\n this.#api = createThumbnail({\n getContainer: () => this,\n getImg: () => this.#img,\n onStateChange: () => this.requestUpdate(),\n });\n this.#children.observe(this, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['src', 'srcset'],\n });\n\n // Nodes assigned to a forwarding slot are not children of this subtree, so an image slotted\n // in later never shows up as a mutation. The slot announces it with `slotchange` instead.\n this.#slots = new AbortController();\n listen(this, 'slotchange', () => this.requestUpdate(), { signal: this.#slots.signal });\n\n // Disconnecting let go of the image, and reconnecting alone schedules no update,\n // so a moved element adopts its image and reapplies the source here.\n this.requestUpdate();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.#adopt(null);\n this.#children.disconnect();\n this.#slots?.abort();\n this.#slots = null;\n this.#api?.destroy();\n this.#api = null;\n }\n\n override destroyCallback(): void {\n this.#api?.destroy();\n super.destroyCallback();\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const textTrack = this.#textTracks.value;\n\n // Resolve thumbnails: external prop takes priority over auto <track> path.\n if (this.#externalThumbnails) {\n this.#thumbnails = this.#externalThumbnails;\n } else if (textTrack !== this.#lastTextTrack) {\n this.#lastTextTrack = textTrack;\n this.#thumbnails =\n textTrack && textTrack.thumbnailCues.length > 0\n ? mapCuesToThumbnails(textTrack.thumbnailCues, textTrack.thumbnailTrackSrc ?? undefined)\n : [];\n }\n\n const thumbnail = this.#core.findActiveThumbnail(this.#thumbnails, this.time);\n const img = findComposedElement(this, isHTMLImageElement) ?? this.#fallback;\n\n this.#adopt(img);\n\n // Sync img attributes from element properties.\n applyElementProps(img, {\n crossorigin: this.#core.resolveCrossOrigin(this.crossOrigin, this.#inheritedCrossOrigin(textTrack)),\n loading: this.loading,\n fetchpriority: this.fetchPriority,\n });\n\n // Track src changes via the thumbnail API.\n this.#api?.updateSrc(thumbnail?.url);\n this.#applySource(thumbnail?.url);\n this.#api?.connect();\n\n if (!thumbnail) {\n this.#resetStyles();\n\n const state = this.#core.getState(false, false, undefined);\n\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, ThumbnailDataAttrs);\n return;\n }\n\n const api = this.#api;\n const state = this.#core.getState(api?.loading ?? false, api?.error ?? false, thumbnail);\n\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, ThumbnailDataAttrs);\n\n if (api?.naturalWidth && api.naturalHeight) {\n const constraints = api.readConstraints();\n const result = this.#core.resize(thumbnail, api.naturalWidth, api.naturalHeight, constraints);\n\n if (result) {\n this.#applyResize(result);\n }\n }\n }\n\n /**\n * Leaving `crossOrigin` unset means \"follow the media element\", so thumbnails keep working on a CORS-enabled player\n * without a skin having to thread an attribute through. Only the `<track>` path inherits: `thumbnails` set directly\n * may point at a host that has nothing to do with the media element.\n */\n #inheritedCrossOrigin(textTrack: MediaTextTrackState | undefined): ThumbnailCore.Props['crossOrigin'] {\n return this.#externalThumbnails ? undefined : textTrack?.thumbnailTrackCrossOrigin;\n }\n\n #applyResize(result: ThumbnailResizeResult): void {\n this.style.width = `${result.containerWidth}px`;\n this.style.height = `${result.containerHeight}px`;\n\n const imgStyle = this.#img?.style;\n if (!imgStyle) return;\n\n imgStyle.width = `${result.imageWidth}px`;\n imgStyle.height = `${result.imageHeight}px`;\n imgStyle.maxWidth = 'none';\n imgStyle.transform =\n result.offsetX || result.offsetY ? `translate(-${result.offsetX}px, -${result.offsetY}px)` : '';\n }\n\n #resetStyles(): void {\n this.style.width = '';\n this.style.height = '';\n\n const imgStyle = this.#img?.style;\n if (!imgStyle) return;\n\n imgStyle.width = '';\n imgStyle.height = '';\n imgStyle.maxWidth = '';\n imgStyle.transform = '';\n }\n\n #adopt(next: HTMLImageElement | null): void {\n if (next === this.#img) return;\n\n const previous = this.#img;\n\n if (previous) {\n this.#api?.disconnectImg(previous);\n this.#resetStyles();\n previous.removeAttribute('src');\n previous.removeAttribute('srcset');\n }\n\n this.#img = next;\n this.#imageAttributes.disconnect();\n\n if (next && next !== this.#fallback) {\n this.#imageAttributes.observe(next, { attributes: true, attributeFilter: ['src', 'srcset'] });\n }\n\n // The fallback only occupies the shadow root while it is the active image,\n // so a supplied image never sits beside a hidden one.\n if (next === this.#fallback) this.#shadow.append(this.#fallback);\n else if (next) this.#fallback.remove();\n\n // Reset the request even when the next image will receive the same URL. A\n // replacement image is a new download with its own lifecycle.\n this.#api?.updateSrc(undefined);\n }\n\n #applySource(src: string | undefined): void {\n const img = this.#img;\n if (!img) return;\n\n // A srcset candidate wins over src, so the root has to clear both parts of\n // the source contract before applying the selected thumbnail URL.\n img.removeAttribute('srcset');\n\n if (!src) img.removeAttribute('src');\n else if (img.getAttribute('src') !== src) img.setAttribute('src', src);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ import { i18nContext } from "../../i18n/context.js";
2
+ import { I18nController } from "../../i18n/controller.js";
3
+ import { playerContext } from "../../player/context.js";
4
+ import { PlayerController } from "../../player/controller.js";
5
+ import { UIElement } from "../ui-element.js";
6
+ import { TimeCore, TimeDataAttrs } from "@videojs/core";
7
+ import { applyElementProps, applyStateDataAttrs, selectBuffer, selectTime } from "@videojs/core/dom";
8
+ import { hasTimeRange } from "@videojs/media";
9
+ import { translateText } from "@videojs/core/i18n";
10
+ import { isInteractiveActivation } from "@videojs/utils/dom";
11
+ import { durationSuffixText, elapsedSuffixText, remainingSuffixText } from "@videojs/core/i18n/text/time";
12
+ import { formatTimeAsPhrase } from "@videojs/utils/time";
13
+ //#region src/ui/time/element.ts
14
+ var TimeElement = class extends UIElement {
15
+ constructor(..._args) {
16
+ super(..._args);
17
+ this.type = TimeCore.defaultProps.type;
18
+ this.negativeSign = TimeCore.defaultProps.negativeSign;
19
+ this.label = "";
20
+ this.toggle = TimeCore.defaultProps.toggle;
21
+ this.#core = new TimeCore();
22
+ this.#state = new PlayerController(this, playerContext, selectTime);
23
+ this.#buffer = new PlayerController(this, playerContext, selectBuffer);
24
+ this.#i18n = new I18nController(this, i18nContext);
25
+ this.#signSpan = document.createElement("span");
26
+ this.#textNode = new Text();
27
+ this.#disconnect = null;
28
+ this.#listening = false;
29
+ this.#activeType = TimeCore.defaultProps.type;
30
+ this.#handleClick = (event) => {
31
+ if (event.defaultPrevented || !this.toggle || !this.#state.value || !this.#hasTimeRange()) return;
32
+ this.#toggleType();
33
+ };
34
+ this.#handleKeyDown = (event) => {
35
+ if (event.defaultPrevented || !isInteractiveActivation(event)) return;
36
+ if (!this.toggle || !this.#state.value || !this.#hasTimeRange()) return;
37
+ event.preventDefault();
38
+ if (event.repeat) return;
39
+ this.#toggleType();
40
+ };
41
+ }
42
+ static {
43
+ this.tagName = "media-time";
44
+ }
45
+ static {
46
+ this.properties = {
47
+ type: { type: String },
48
+ negativeSign: {
49
+ type: String,
50
+ attribute: "negative-sign"
51
+ },
52
+ label: { type: String },
53
+ toggle: { type: Boolean }
54
+ };
55
+ }
56
+ #core;
57
+ #state;
58
+ #buffer;
59
+ #i18n;
60
+ #signSpan;
61
+ #textNode;
62
+ #disconnect;
63
+ #listening;
64
+ #activeType;
65
+ connectedCallback() {
66
+ super.connectedCallback();
67
+ this.#disconnect = new AbortController();
68
+ this.#syncListeners();
69
+ if (!this.#signSpan.parentNode) {
70
+ this.#signSpan.setAttribute("aria-hidden", "true");
71
+ this.#signSpan.hidden = true;
72
+ this.append(this.#signSpan, this.#textNode);
73
+ }
74
+ }
75
+ disconnectedCallback() {
76
+ super.disconnectedCallback();
77
+ this.#disconnect?.abort();
78
+ this.#disconnect = null;
79
+ this.#listening = false;
80
+ }
81
+ willUpdate(changed) {
82
+ super.willUpdate(changed);
83
+ if (changed.has("type") || changed.has("toggle")) this.#activeType = this.type;
84
+ }
85
+ update(changed) {
86
+ super.update(changed);
87
+ if (changed.has("toggle")) this.#syncListeners();
88
+ const media = this.#state.value;
89
+ if (!media) {
90
+ this.#clearAttrs();
91
+ return;
92
+ }
93
+ this.#core.setProps({
94
+ type: this.toggle ? this.#activeType : this.type,
95
+ negativeSign: this.negativeSign,
96
+ label: this.label,
97
+ toggle: this.toggle
98
+ });
99
+ this.#core.setMedia({
100
+ ...media,
101
+ seekable: this.#buffer.value?.seekable ?? []
102
+ });
103
+ this.#core.setFormatLocale(this.#i18n.locale);
104
+ const state = this.#core.getState();
105
+ this.#signSpan.hidden = !state.negative;
106
+ this.#signSpan.textContent = state.negative ? this.negativeSign : "";
107
+ this.#textNode.textContent = state.text;
108
+ const attrs = this.#core.getAttrs(state, this.type);
109
+ const label = translateText(attrs["aria-label"], this.#i18n.value, this.#getLabelParams(state));
110
+ const description = attrs["aria-description"] ? translateText(attrs["aria-description"], this.#i18n.value) : void 0;
111
+ applyElementProps(this, {
112
+ "aria-label": label,
113
+ "aria-description": description,
114
+ "aria-disabled": attrs["aria-disabled"],
115
+ role: this.toggle ? attrs.role : "time",
116
+ tabIndex: attrs.tabIndex,
117
+ datetime: this.toggle || state.unavailable ? void 0 : state.datetime
118
+ });
119
+ applyStateDataAttrs(this, state, TimeDataAttrs);
120
+ }
121
+ #getLabelParams(state) {
122
+ if (!this.#core.getLabelParams(state)) return void 0;
123
+ const duration = formatTimeAsPhrase(Math.abs(state.seconds), { locale: this.#i18n.locale });
124
+ const text = {
125
+ current: elapsedSuffixText,
126
+ duration: durationSuffixText,
127
+ remaining: remainingSuffixText
128
+ }[state.type];
129
+ return { duration: translateText(text, this.#i18n.value, { duration }) };
130
+ }
131
+ #handleClick;
132
+ #handleKeyDown;
133
+ #toggleType() {
134
+ if (this.type === "current") this.#activeType = this.#activeType === "remaining" ? "current" : "remaining";
135
+ else this.#activeType = this.#activeType === "duration" ? "remaining" : "duration";
136
+ this.requestUpdate();
137
+ }
138
+ #hasTimeRange() {
139
+ const media = this.#state.value;
140
+ if (!media) return false;
141
+ return hasTimeRange({
142
+ ...media,
143
+ seekable: this.#buffer.value?.seekable ?? []
144
+ });
145
+ }
146
+ #syncListeners() {
147
+ if (!this.toggle || !this.#disconnect || this.#listening) return;
148
+ this.#listening = true;
149
+ applyElementProps(this, {
150
+ onClick: this.#handleClick,
151
+ onKeyDown: this.#handleKeyDown
152
+ }, { signal: this.#disconnect.signal });
153
+ }
154
+ #clearAttrs() {
155
+ applyElementProps(this, {
156
+ "aria-label": void 0,
157
+ "aria-description": void 0,
158
+ "aria-disabled": void 0,
159
+ role: void 0,
160
+ tabIndex: void 0,
161
+ datetime: void 0,
162
+ "data-type": void 0,
163
+ "data-disabled": void 0,
164
+ "data-unavailable": void 0
165
+ });
166
+ }
167
+ };
168
+ //#endregion
169
+ export { TimeElement };
170
+
171
+ //# sourceMappingURL=element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.js","names":["#state","#hasTimeRange","#toggleType","#core","#buffer","#i18n","#signSpan","#textNode","#disconnect","#syncListeners","#listening","#activeType","#clearAttrs","#getLabelParams","#handleClick","#handleKeyDown"],"sources":["../../../../src/ui/time/element.ts"],"sourcesContent":["import { TimeCore, TimeDataAttrs, type TimeType } from '@videojs/core';\nimport { applyElementProps, applyStateDataAttrs, logMissingFeature, selectBuffer, selectTime } from '@videojs/core/dom';\nimport { type Text, translateText } from '@videojs/core/i18n';\nimport { durationSuffixText, elapsedSuffixText, remainingSuffixText } from '@videojs/core/i18n/text/time';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { hasTimeRange } from '@videojs/media';\nimport { isInteractiveActivation } from '@videojs/utils/dom';\nimport { formatTimeAsPhrase } from '@videojs/utils/time';\n\nimport { i18nContext } from '../../i18n/context';\nimport { I18nController } from '../../i18n/controller';\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/controller';\nimport { UIElement } from '../ui-element';\n\nexport class TimeElement extends UIElement {\n static readonly tagName = 'media-time';\n\n static override properties = {\n type: { type: String },\n negativeSign: { type: String, attribute: 'negative-sign' },\n label: { type: String },\n toggle: { type: Boolean },\n } satisfies PropertyDeclarationMap<keyof TimeCore.Props>;\n\n type: TimeType = TimeCore.defaultProps.type;\n negativeSign = TimeCore.defaultProps.negativeSign;\n label: Text | string = '';\n toggle = TimeCore.defaultProps.toggle;\n\n readonly #core = new TimeCore();\n readonly #state = new PlayerController(this, playerContext, selectTime);\n readonly #buffer = new PlayerController(this, playerContext, selectBuffer);\n readonly #i18n = new I18nController(this, i18nContext);\n\n readonly #signSpan = document.createElement('span');\n readonly #textNode = new Text();\n\n #disconnect: AbortController | null = null;\n #listening = false;\n #activeType: TimeType = TimeCore.defaultProps.type;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#disconnect = new AbortController();\n this.#syncListeners();\n\n if (!this.#signSpan.parentNode) {\n this.#signSpan.setAttribute('aria-hidden', 'true');\n this.#signSpan.hidden = true;\n this.append(this.#signSpan, this.#textNode);\n }\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(this.localName, this.#state.displayName!);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n this.#listening = false;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n\n if (changed.has('type') || changed.has('toggle')) {\n this.#activeType = this.type;\n }\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n if (changed.has('toggle')) {\n this.#syncListeners();\n }\n\n const media = this.#state.value;\n\n if (!media) {\n this.#clearAttrs();\n return;\n }\n\n this.#core.setProps({\n type: this.toggle ? this.#activeType : this.type,\n negativeSign: this.negativeSign,\n label: this.label,\n toggle: this.toggle,\n });\n this.#core.setMedia({ ...media, seekable: this.#buffer.value?.seekable ?? [] });\n this.#core.setFormatLocale(this.#i18n.locale);\n const state = this.#core.getState();\n\n this.#signSpan.hidden = !state.negative;\n this.#signSpan.textContent = state.negative ? this.negativeSign : '';\n this.#textNode.textContent = state.text;\n\n const attrs = this.#core.getAttrs(state, this.type);\n const label = translateText(attrs['aria-label'], this.#i18n.value, this.#getLabelParams(state));\n const description = attrs['aria-description']\n ? translateText(attrs['aria-description'], this.#i18n.value)\n : undefined;\n\n applyElementProps(this, {\n 'aria-label': label,\n 'aria-description': description,\n 'aria-disabled': attrs['aria-disabled'],\n role: this.toggle ? attrs.role : 'time',\n tabIndex: attrs.tabIndex,\n datetime: this.toggle || state.unavailable ? undefined : state.datetime,\n });\n applyStateDataAttrs(this, state, TimeDataAttrs);\n }\n\n #getLabelParams(state: TimeCore.State): { duration: string } | undefined {\n const params = this.#core.getLabelParams(state);\n if (!params) return undefined;\n\n const duration = formatTimeAsPhrase(Math.abs(state.seconds), { locale: this.#i18n.locale });\n\n const text = {\n current: elapsedSuffixText,\n duration: durationSuffixText,\n remaining: remainingSuffixText,\n }[state.type];\n\n return { duration: translateText(text, this.#i18n.value, { duration }) };\n }\n\n #handleClick = (event: MouseEvent): void => {\n if (event.defaultPrevented || !this.toggle || !this.#state.value || !this.#hasTimeRange()) return;\n\n this.#toggleType();\n };\n\n #handleKeyDown = (event: KeyboardEvent): void => {\n if (event.defaultPrevented || !isInteractiveActivation(event)) return;\n\n if (!this.toggle || !this.#state.value || !this.#hasTimeRange()) return;\n\n // Prevent space from scrolling page.\n event.preventDefault();\n\n if (event.repeat) return;\n\n this.#toggleType();\n };\n\n #toggleType(): void {\n if (this.type === 'current') {\n this.#activeType = this.#activeType === 'remaining' ? 'current' : 'remaining';\n } else {\n this.#activeType = this.#activeType === 'duration' ? 'remaining' : 'duration';\n }\n\n this.requestUpdate();\n }\n\n #hasTimeRange(): boolean {\n const media = this.#state.value;\n if (!media) return false;\n\n return hasTimeRange({ ...media, seekable: this.#buffer.value?.seekable ?? [] });\n }\n\n #syncListeners(): void {\n if (!this.toggle || !this.#disconnect || this.#listening) return;\n\n this.#listening = true;\n applyElementProps(\n this,\n {\n onClick: this.#handleClick,\n onKeyDown: this.#handleKeyDown,\n },\n { signal: this.#disconnect.signal }\n );\n }\n\n #clearAttrs(): void {\n applyElementProps(this, {\n 'aria-label': undefined,\n 'aria-description': undefined,\n 'aria-disabled': undefined,\n role: undefined,\n tabIndex: undefined,\n datetime: undefined,\n 'data-type': undefined,\n 'data-disabled': undefined,\n 'data-unavailable': undefined,\n });\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { UIElement } from "../ui-element.js";
2
+ //#region src/ui/time/group.ts
3
+ var TimeGroupElement = class extends UIElement {
4
+ static {
5
+ this.tagName = "media-time-group";
6
+ }
7
+ };
8
+ //#endregion
9
+ export { TimeGroupElement };
10
+
11
+ //# sourceMappingURL=group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.js","names":[],"sources":["../../../../src/ui/time/group.ts"],"sourcesContent":["import { UIElement } from '../ui-element';\n\nexport class TimeGroupElement extends UIElement {\n static readonly tagName = 'media-time-group';\n\n // Future: Could provide context for hoursDisplay to children via Lit context\n}\n"],"mappings":";;AAEA,IAAa,mBAAb,cAAsC,UAAU;;EACpB,KAAA,UAAA;;AAG5B"}
@@ -0,0 +1,16 @@
1
+ import { UIElement } from "../ui-element.js";
2
+ //#region src/ui/time/separator.ts
3
+ var TimeSeparatorElement = class extends UIElement {
4
+ static {
5
+ this.tagName = "media-time-separator";
6
+ }
7
+ connectedCallback() {
8
+ super.connectedCallback();
9
+ this.setAttribute("aria-hidden", "true");
10
+ if (!this.textContent?.trim()) this.textContent = "/";
11
+ }
12
+ };
13
+ //#endregion
14
+ export { TimeSeparatorElement };
15
+
16
+ //# sourceMappingURL=separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator.js","names":[],"sources":["../../../../src/ui/time/separator.ts"],"sourcesContent":["import { UIElement } from '../ui-element';\n\nexport class TimeSeparatorElement extends UIElement {\n static readonly tagName = 'media-time-separator';\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n // Set aria-hidden for accessibility\n this.setAttribute('aria-hidden', 'true');\n\n // Set default content if empty\n if (!this.textContent?.trim()) {\n this.textContent = '/';\n }\n }\n}\n"],"mappings":";;AAEA,IAAa,uBAAb,cAA0C,UAAU;;EACxB,KAAA,UAAA;;CAE1B,oBAAmC;EACjC,MAAM,kBAAkB;EAGxB,KAAK,aAAa,eAAe,MAAM;EAGvC,IAAI,CAAC,KAAK,aAAa,KAAK,GAC1B,KAAK,cAAc;CAEvB;AACF"}
@@ -0,0 +1,43 @@
1
+ import { playerContext } from "../../player/context.js";
2
+ import { PlayerController } from "../../player/controller.js";
3
+ import { UIElement } from "../ui-element.js";
4
+ import { sliderContext } from "../slider/context.js";
5
+ import { TimeSliderChaptersCore } from "@videojs/core";
6
+ import { selectTextTrack, selectTime } from "@videojs/core/dom";
7
+ import { ContextConsumer } from "@videojs/element/context";
8
+ //#region src/ui/time-slider/chapter-title.ts
9
+ /** Displays the chapter title at the current pointer or keyboard position. */
10
+ var TimeSliderChapterTitleElement = class extends UIElement {
11
+ static {
12
+ this.tagName = "media-time-slider-chapter-title";
13
+ }
14
+ #core = new TimeSliderChaptersCore();
15
+ #slider = new ContextConsumer(this, {
16
+ context: sliderContext,
17
+ subscribe: true
18
+ });
19
+ #textTrack = new PlayerController(this, playerContext, selectTextTrack);
20
+ #time = new PlayerController(this, playerContext, selectTime);
21
+ update(_changed) {
22
+ super.update(_changed);
23
+ const slider = this.#slider.value;
24
+ if (!slider) return;
25
+ const duration = this.#time.value?.duration ?? 0;
26
+ const { chapters } = this.#core.getRanges(this.#textTrack.value?.chaptersCues ?? [], 0, duration);
27
+ const keyboard = slider.state.interactive && !slider.state.pointing && !slider.state.dragging;
28
+ const value = slider.state.pointing || slider.state.dragging ? slider.pointerValue : slider.state.value;
29
+ const chapter = this.#core.findChapter(chapters, value);
30
+ this.textContent = chapter?.cue?.text ?? "";
31
+ if (keyboard) {
32
+ this.removeAttribute("aria-hidden");
33
+ this.setAttribute("aria-live", "polite");
34
+ } else {
35
+ this.setAttribute("aria-hidden", "true");
36
+ this.removeAttribute("aria-live");
37
+ }
38
+ }
39
+ };
40
+ //#endregion
41
+ export { TimeSliderChapterTitleElement };
42
+
43
+ //# sourceMappingURL=chapter-title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chapter-title.js","names":["#core","#slider","#textTrack","#time"],"sources":["../../../../src/ui/time-slider/chapter-title.ts"],"sourcesContent":["import { TimeSliderChaptersCore } from '@videojs/core';\nimport { selectTextTrack, selectTime } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/controller';\nimport { sliderContext } from '../slider/context';\nimport { UIElement } from '../ui-element';\n\n/** Displays the chapter title at the current pointer or keyboard position. */\nexport class TimeSliderChapterTitleElement extends UIElement {\n static readonly tagName = 'media-time-slider-chapter-title';\n\n readonly #core = new TimeSliderChaptersCore();\n readonly #slider = new ContextConsumer(this, { context: sliderContext, subscribe: true });\n readonly #textTrack = new PlayerController(this, playerContext, selectTextTrack);\n readonly #time = new PlayerController(this, playerContext, selectTime);\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n\n const slider = this.#slider.value;\n if (!slider) return;\n\n const duration = this.#time.value?.duration ?? 0;\n const { chapters } = this.#core.getRanges(this.#textTrack.value?.chaptersCues ?? [], 0, duration);\n\n const keyboard = slider.state.interactive && !slider.state.pointing && !slider.state.dragging;\n const value = slider.state.pointing || slider.state.dragging ? slider.pointerValue : slider.state.value;\n const chapter = this.#core.findChapter(chapters, value);\n\n this.textContent = chapter?.cue?.text ?? '';\n\n if (keyboard) {\n this.removeAttribute('aria-hidden');\n this.setAttribute('aria-live', 'polite');\n } else {\n this.setAttribute('aria-hidden', 'true');\n this.removeAttribute('aria-live');\n }\n }\n}\n"],"mappings":";;;;;;;;;AAWA,IAAa,gCAAb,cAAmD,UAAU;;EACjC,KAAA,UAAA;;CAE1B,QAAiB,IAAI,uBAAuB;CAC5C,UAAmB,IAAI,gBAAgB,MAAM;EAAE,SAAS;EAAe,WAAW;CAAK,CAAC;CACxF,aAAsB,IAAI,iBAAiB,MAAM,eAAe,eAAe;CAC/E,QAAiB,IAAI,iBAAiB,MAAM,eAAe,UAAU;CAErE,OAA0B,UAAgC;EACxD,MAAM,OAAO,QAAQ;EAErB,MAAM,SAAS,KAAKC,QAAQ;EAC5B,IAAI,CAAC,QAAQ;EAEb,MAAM,WAAW,KAAKE,MAAM,OAAO,YAAY;EAC/C,MAAM,EAAE,aAAa,KAAKH,MAAM,UAAU,KAAKE,WAAW,OAAO,gBAAgB,CAAC,GAAG,GAAG,QAAQ;EAEhG,MAAM,WAAW,OAAO,MAAM,eAAe,CAAC,OAAO,MAAM,YAAY,CAAC,OAAO,MAAM;EACrF,MAAM,QAAQ,OAAO,MAAM,YAAY,OAAO,MAAM,WAAW,OAAO,eAAe,OAAO,MAAM;EAClG,MAAM,UAAU,KAAKF,MAAM,YAAY,UAAU,KAAK;EAEtD,KAAK,cAAc,SAAS,KAAK,QAAQ;EAEzC,IAAI,UAAU;GACZ,KAAK,gBAAgB,aAAa;GAClC,KAAK,aAAa,aAAa,QAAQ;EACzC,OAAO;GACL,KAAK,aAAa,eAAe,MAAM;GACvC,KAAK,gBAAgB,WAAW;EAClC;CACF;AACF"}
@@ -0,0 +1,99 @@
1
+ import { playerContext } from "../../player/context.js";
2
+ import { PlayerController } from "../../player/controller.js";
3
+ import { UIElement } from "../ui-element.js";
4
+ import { sliderContext } from "../slider/context.js";
5
+ import { SliderSegmentsCore, TimeSliderChapterCSSVars, TimeSliderChapterDataAttrs, TimeSliderChaptersCore } from "@videojs/core";
6
+ import { applyStateDataAttrs, selectBuffer, selectTextTrack, selectTime } from "@videojs/core/dom";
7
+ import { ContextConsumer } from "@videojs/element/context";
8
+ import { cloneTemplateRoot, getTemplateElement, getTemplateRoot } from "@videojs/utils/dom";
9
+ //#region src/ui/time-slider/chapters.ts
10
+ /**
11
+ * Clones a light-DOM template once per normalized chapter range.
12
+ *
13
+ * The required template must contain exactly one HTML root element. When no chapter cues are available, the template is
14
+ * cloned once for a full-duration range.
15
+ */
16
+ var TimeSliderChaptersElement = class extends UIElement {
17
+ static {
18
+ this.tagName = "media-time-slider-chapters";
19
+ }
20
+ #segments = new SliderSegmentsCore();
21
+ #core = new TimeSliderChaptersCore();
22
+ #slider = new ContextConsumer(this, {
23
+ context: sliderContext,
24
+ subscribe: true
25
+ });
26
+ #textTrack = new PlayerController(this, playerContext, selectTextTrack);
27
+ #buffer = new PlayerController(this, playerContext, selectBuffer);
28
+ #time = new PlayerController(this, playerContext, selectTime);
29
+ #rendered = /* @__PURE__ */ new Map();
30
+ #templateRoot = null;
31
+ #templateChecked = false;
32
+ connectedCallback() {
33
+ super.connectedCallback();
34
+ this.setAttribute("aria-hidden", "true");
35
+ }
36
+ update(_changed) {
37
+ super.update(_changed);
38
+ const slider = this.#slider.value;
39
+ const duration = this.#time.value?.duration ?? 0;
40
+ const templateRoot = this.#getTemplateRoot();
41
+ if (!slider) return;
42
+ applyStateDataAttrs(this, slider.state, slider.stateAttrMap);
43
+ if (!templateRoot) return;
44
+ const { chapters, ranges, max } = this.#core.getRanges(this.#textTrack.value?.chaptersCues ?? [], 0, duration);
45
+ const geometry = this.#segments.getGeometry({
46
+ ranges,
47
+ min: 0,
48
+ max,
49
+ orientation: slider.state.orientation
50
+ });
51
+ const buffered = this.#buffer.value?.buffered ?? [];
52
+ const bufferedEnd = buffered.length ? buffered[buffered.length - 1][1] : 0;
53
+ const next = /* @__PURE__ */ new Map();
54
+ for (const segment of geometry) {
55
+ const state = this.#core.getState(this.#segments.getState(segment, slider.state, slider.pointerValue), chapters, bufferedEnd);
56
+ let root = this.#rendered.get(state.key);
57
+ if (!root) root = cloneTemplateRoot(templateRoot, this.ownerDocument);
58
+ this.#setStyle(root, "pointer-events", state.cue ? void 0 : "none");
59
+ this.#setStyle(root, TimeSliderChapterCSSVars.start, state.startPercent);
60
+ this.#setStyle(root, TimeSliderChapterCSSVars.end, state.endPercent);
61
+ this.#setStyle(root, TimeSliderChapterCSSVars.width, state.width ?? state.height);
62
+ this.#setStyle(root, TimeSliderChapterCSSVars.fill, `${state.fillPercent}%`);
63
+ this.#setStyle(root, TimeSliderChapterCSSVars.buffer, `${state.bufferPercent}%`);
64
+ applyStateDataAttrs(root, slider.state, slider.stateAttrMap);
65
+ applyStateDataAttrs(root, state, TimeSliderChapterDataAttrs);
66
+ next.set(state.key, root);
67
+ }
68
+ for (const [key, root] of this.#rendered) if (!next.has(key)) root.remove();
69
+ let before = null;
70
+ for (const root of [...next.values()].reverse()) {
71
+ if (root.parentNode !== this || root.nextSibling !== before) this.insertBefore(root, before);
72
+ before = root;
73
+ }
74
+ this.#rendered.clear();
75
+ for (const [key, rendered] of next) this.#rendered.set(key, rendered);
76
+ }
77
+ #getTemplateRoot() {
78
+ if (this.#templateChecked) return this.#templateRoot;
79
+ const template = getTemplateElement(this);
80
+ if (!template) {
81
+ for (const node of [...this.childNodes]) node.remove();
82
+ return null;
83
+ }
84
+ this.#templateChecked = true;
85
+ const root = getTemplateRoot(template);
86
+ for (const node of [...this.childNodes]) if (node !== template) node.remove();
87
+ if (root?.namespaceURI !== "http://www.w3.org/1999/xhtml") return null;
88
+ this.#templateRoot = root;
89
+ return this.#templateRoot;
90
+ }
91
+ #setStyle(element, name, value) {
92
+ if (value === void 0) element.style.removeProperty(name);
93
+ else element.style.setProperty(name, value);
94
+ }
95
+ };
96
+ //#endregion
97
+ export { TimeSliderChaptersElement };
98
+
99
+ //# sourceMappingURL=chapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chapters.js","names":["#segments","#core","#slider","#textTrack","#buffer","#time","#rendered","#getTemplateRoot","#setStyle","#templateChecked","#templateRoot"],"sources":["../../../../src/ui/time-slider/chapters.ts"],"sourcesContent":["import {\n SliderSegmentsCore,\n TimeSliderChapterCSSVars,\n TimeSliderChapterDataAttrs,\n TimeSliderChaptersCore,\n} from '@videojs/core';\nimport { applyStateDataAttrs, selectBuffer, selectTextTrack, selectTime } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\nimport { cloneTemplateRoot, getTemplateElement, getTemplateRoot } from '@videojs/utils/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/controller';\nimport { sliderContext } from '../slider/context';\nimport { UIElement } from '../ui-element';\n\n/**\n * Clones a light-DOM template once per normalized chapter range.\n *\n * The required template must contain exactly one HTML root element. When no chapter cues are available, the template is\n * cloned once for a full-duration range.\n */\nexport class TimeSliderChaptersElement extends UIElement {\n static readonly tagName = 'media-time-slider-chapters';\n\n readonly #segments = new SliderSegmentsCore();\n readonly #core = new TimeSliderChaptersCore();\n readonly #slider = new ContextConsumer(this, { context: sliderContext, subscribe: true });\n readonly #textTrack = new PlayerController(this, playerContext, selectTextTrack);\n readonly #buffer = new PlayerController(this, playerContext, selectBuffer);\n readonly #time = new PlayerController(this, playerContext, selectTime);\n readonly #rendered = new Map<string, HTMLElement>();\n #templateRoot: HTMLElement | null = null;\n #templateChecked = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('aria-hidden', 'true');\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n\n const slider = this.#slider.value;\n const duration = this.#time.value?.duration ?? 0;\n const templateRoot = this.#getTemplateRoot();\n\n if (!slider) return;\n\n applyStateDataAttrs(this, slider.state, slider.stateAttrMap);\n\n if (!templateRoot) return;\n\n const { chapters, ranges, max } = this.#core.getRanges(this.#textTrack.value?.chaptersCues ?? [], 0, duration);\n\n const geometry = this.#segments.getGeometry({\n ranges,\n min: 0,\n max,\n orientation: slider.state.orientation,\n });\n\n const buffered = this.#buffer.value?.buffered ?? [];\n const bufferedEnd = buffered.length ? buffered[buffered.length - 1]![1] : 0;\n\n const next = new Map<string, HTMLElement>();\n\n for (const segment of geometry) {\n const state = this.#core.getState(\n this.#segments.getState(segment, slider.state, slider.pointerValue),\n chapters,\n bufferedEnd\n );\n let root = this.#rendered.get(state.key);\n\n if (!root) root = cloneTemplateRoot(templateRoot, this.ownerDocument);\n\n this.#setStyle(root, 'pointer-events', state.cue ? undefined : 'none');\n this.#setStyle(root, TimeSliderChapterCSSVars.start, state.startPercent);\n this.#setStyle(root, TimeSliderChapterCSSVars.end, state.endPercent);\n this.#setStyle(root, TimeSliderChapterCSSVars.width, state.width ?? state.height);\n this.#setStyle(root, TimeSliderChapterCSSVars.fill, `${state.fillPercent}%`);\n this.#setStyle(root, TimeSliderChapterCSSVars.buffer, `${state.bufferPercent}%`);\n applyStateDataAttrs(root, slider.state, slider.stateAttrMap);\n applyStateDataAttrs(root, state, TimeSliderChapterDataAttrs);\n\n next.set(state.key, root);\n }\n\n for (const [key, root] of this.#rendered) {\n if (!next.has(key)) root.remove();\n }\n\n let before: ChildNode | null = null;\n\n for (const root of [...next.values()].reverse()) {\n if (root.parentNode !== this || root.nextSibling !== before) this.insertBefore(root, before);\n\n before = root;\n }\n\n this.#rendered.clear();\n\n for (const [key, rendered] of next) this.#rendered.set(key, rendered);\n }\n\n #getTemplateRoot(): HTMLElement | null {\n if (this.#templateChecked) return this.#templateRoot;\n\n const template = getTemplateElement(this);\n\n if (!template) {\n for (const node of [...this.childNodes]) node.remove();\n\n return null;\n }\n\n this.#templateChecked = true;\n const root = getTemplateRoot(template);\n\n for (const node of [...this.childNodes]) {\n if (node !== template) node.remove();\n }\n\n if (root?.namespaceURI !== 'http://www.w3.org/1999/xhtml') {\n if (__DEV__) {\n console.warn(`[${this.localName}] template must contain exactly one HTML root element.`);\n }\n\n return null;\n }\n\n this.#templateRoot = root as HTMLElement;\n return this.#templateRoot;\n }\n\n #setStyle(element: HTMLElement, name: string, value: string | undefined): void {\n if (value === undefined) element.style.removeProperty(name);\n else element.style.setProperty(name, value);\n }\n}\n"],"mappings":"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"}