@videojs/html 0.1.0-preview.9 → 10.0.0-alpha.3

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 (338) hide show
  1. package/README.md +4 -2
  2. package/dist/default/define/audio/player.js +15 -0
  3. package/dist/default/define/audio/player.js.map +1 -0
  4. package/dist/default/define/background/player.js +15 -0
  5. package/dist/default/define/background/player.js.map +1 -0
  6. package/dist/default/define/background/skin.js +0 -0
  7. package/dist/default/define/feature/video.js +0 -0
  8. package/dist/default/define/media/background-video.js +13 -0
  9. package/dist/default/define/media/background-video.js.map +1 -0
  10. package/dist/default/define/media/hls-video.js +13 -0
  11. package/dist/default/define/media/hls-video.js.map +1 -0
  12. package/dist/default/define/ui/buffering-indicator.js +7 -0
  13. package/dist/default/define/ui/buffering-indicator.js.map +1 -0
  14. package/dist/default/define/ui/controls.js +9 -0
  15. package/dist/default/define/ui/controls.js.map +1 -0
  16. package/dist/default/define/ui/fullscreen-button.js +7 -0
  17. package/dist/default/define/ui/fullscreen-button.js.map +1 -0
  18. package/dist/default/define/ui/mute-button.js +7 -0
  19. package/dist/default/define/ui/mute-button.js.map +1 -0
  20. package/dist/default/define/ui/pip-button.js +7 -0
  21. package/dist/default/define/ui/pip-button.js.map +1 -0
  22. package/dist/default/define/ui/play-button.js +7 -0
  23. package/dist/default/define/ui/play-button.js.map +1 -0
  24. package/dist/default/define/ui/poster.js +7 -0
  25. package/dist/default/define/ui/poster.js.map +1 -0
  26. package/dist/default/define/ui/seek-button.js +7 -0
  27. package/dist/default/define/ui/seek-button.js.map +1 -0
  28. package/dist/default/define/ui/time.js +11 -0
  29. package/dist/default/define/ui/time.js.map +1 -0
  30. package/dist/default/define/video/player.js +15 -0
  31. package/dist/default/define/video/player.js.map +1 -0
  32. package/dist/default/define/video/skin.js +0 -0
  33. package/dist/default/index.js +24 -0
  34. package/dist/default/media/background-video/index.js +77 -0
  35. package/dist/default/media/background-video/index.js.map +1 -0
  36. package/dist/default/media/hls-video/index.js +21 -0
  37. package/dist/default/media/hls-video/index.js.map +1 -0
  38. package/dist/default/player/context.js +14 -0
  39. package/dist/default/player/context.js.map +1 -0
  40. package/dist/default/player/create-player.js +29 -0
  41. package/dist/default/player/create-player.js.map +1 -0
  42. package/dist/default/player/player-controller.js +63 -0
  43. package/dist/default/player/player-controller.js.map +1 -0
  44. package/dist/default/player/player-mixin.js +23 -0
  45. package/dist/default/player/player-mixin.js.map +1 -0
  46. package/dist/default/store/container-mixin.js +74 -0
  47. package/dist/default/store/container-mixin.js.map +1 -0
  48. package/dist/default/store/provider-mixin.js +39 -0
  49. package/dist/default/store/provider-mixin.js.map +1 -0
  50. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +47 -0
  51. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -0
  52. package/dist/default/ui/controls/controls-element.js +27 -0
  53. package/dist/default/ui/controls/controls-element.js.map +1 -0
  54. package/dist/default/ui/controls/controls-group-element.js +16 -0
  55. package/dist/default/ui/controls/controls-group-element.js.map +1 -0
  56. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +56 -0
  57. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -0
  58. package/dist/default/ui/media-element.js +8 -0
  59. package/dist/default/ui/media-element.js.map +1 -0
  60. package/dist/default/ui/mute-button/mute-button-element.js +56 -0
  61. package/dist/default/ui/mute-button/mute-button-element.js.map +1 -0
  62. package/dist/default/ui/pip-button/pip-button-element.js +56 -0
  63. package/dist/default/ui/pip-button/pip-button-element.js.map +1 -0
  64. package/dist/default/ui/play-button/play-button-element.js +56 -0
  65. package/dist/default/ui/play-button/play-button-element.js.map +1 -0
  66. package/dist/default/ui/poster/poster-element.js +27 -0
  67. package/dist/default/ui/poster/poster-element.js.map +1 -0
  68. package/dist/default/ui/seek-button/seek-button-element.js +58 -0
  69. package/dist/default/ui/seek-button/seek-button-element.js.map +1 -0
  70. package/dist/default/ui/time/time-element.js +67 -0
  71. package/dist/default/ui/time/time-element.js.map +1 -0
  72. package/dist/default/ui/time/time-group-element.js +12 -0
  73. package/dist/default/ui/time/time-group-element.js.map +1 -0
  74. package/dist/default/ui/time/time-separator-element.js +17 -0
  75. package/dist/default/ui/time/time-separator-element.js.map +1 -0
  76. package/dist/dev/define/audio/player.d.ts +17 -0
  77. package/dist/dev/define/audio/player.d.ts.map +1 -0
  78. package/dist/dev/define/audio/player.js +15 -0
  79. package/dist/dev/define/audio/player.js.map +1 -0
  80. package/dist/dev/define/audio/skin.js +0 -0
  81. package/dist/dev/define/background/player.d.ts +17 -0
  82. package/dist/dev/define/background/player.d.ts.map +1 -0
  83. package/dist/dev/define/background/player.js +15 -0
  84. package/dist/dev/define/background/player.js.map +1 -0
  85. package/dist/dev/define/background/skin.js +0 -0
  86. package/dist/dev/define/feature/video.js +0 -0
  87. package/dist/dev/define/media/background-video.d.ts +14 -0
  88. package/dist/dev/define/media/background-video.d.ts.map +1 -0
  89. package/dist/dev/define/media/background-video.js +13 -0
  90. package/dist/dev/define/media/background-video.js.map +1 -0
  91. package/dist/dev/define/media/hls-video.d.ts +14 -0
  92. package/dist/dev/define/media/hls-video.d.ts.map +1 -0
  93. package/dist/dev/define/media/hls-video.js +13 -0
  94. package/dist/dev/define/media/hls-video.js.map +1 -0
  95. package/dist/dev/define/ui/buffering-indicator.d.ts +9 -0
  96. package/dist/dev/define/ui/buffering-indicator.d.ts.map +1 -0
  97. package/dist/dev/define/ui/buffering-indicator.js +7 -0
  98. package/dist/dev/define/ui/buffering-indicator.js.map +1 -0
  99. package/dist/dev/define/ui/controls.d.ts +11 -0
  100. package/dist/dev/define/ui/controls.d.ts.map +1 -0
  101. package/dist/dev/define/ui/controls.js +9 -0
  102. package/dist/dev/define/ui/controls.js.map +1 -0
  103. package/dist/dev/define/ui/fullscreen-button.d.ts +9 -0
  104. package/dist/dev/define/ui/fullscreen-button.d.ts.map +1 -0
  105. package/dist/dev/define/ui/fullscreen-button.js +7 -0
  106. package/dist/dev/define/ui/fullscreen-button.js.map +1 -0
  107. package/dist/dev/define/ui/mute-button.d.ts +9 -0
  108. package/dist/dev/define/ui/mute-button.d.ts.map +1 -0
  109. package/dist/dev/define/ui/mute-button.js +7 -0
  110. package/dist/dev/define/ui/mute-button.js.map +1 -0
  111. package/dist/dev/define/ui/pip-button.d.ts +9 -0
  112. package/dist/dev/define/ui/pip-button.d.ts.map +1 -0
  113. package/dist/dev/define/ui/pip-button.js +7 -0
  114. package/dist/dev/define/ui/pip-button.js.map +1 -0
  115. package/dist/dev/define/ui/play-button.d.ts +9 -0
  116. package/dist/dev/define/ui/play-button.d.ts.map +1 -0
  117. package/dist/dev/define/ui/play-button.js +7 -0
  118. package/dist/dev/define/ui/play-button.js.map +1 -0
  119. package/dist/dev/define/ui/poster.d.ts +9 -0
  120. package/dist/dev/define/ui/poster.d.ts.map +1 -0
  121. package/dist/dev/define/ui/poster.js +7 -0
  122. package/dist/dev/define/ui/poster.js.map +1 -0
  123. package/dist/dev/define/ui/seek-button.d.ts +9 -0
  124. package/dist/dev/define/ui/seek-button.d.ts.map +1 -0
  125. package/dist/dev/define/ui/seek-button.js +7 -0
  126. package/dist/dev/define/ui/seek-button.js.map +1 -0
  127. package/dist/dev/define/ui/time.d.ts +13 -0
  128. package/dist/dev/define/ui/time.d.ts.map +1 -0
  129. package/dist/dev/define/ui/time.js +11 -0
  130. package/dist/dev/define/ui/time.js.map +1 -0
  131. package/dist/dev/define/video/player.d.ts +17 -0
  132. package/dist/dev/define/video/player.d.ts.map +1 -0
  133. package/dist/dev/define/video/player.js +15 -0
  134. package/dist/dev/define/video/player.js.map +1 -0
  135. package/dist/dev/define/video/skin.js +0 -0
  136. package/dist/dev/index.d.ts +23 -0
  137. package/dist/dev/index.js +24 -0
  138. package/dist/dev/media/background-video/index.d.ts +15 -0
  139. package/dist/dev/media/background-video/index.d.ts.map +1 -0
  140. package/dist/dev/media/background-video/index.js +77 -0
  141. package/dist/dev/media/background-video/index.js.map +1 -0
  142. package/dist/dev/media/hls-video/index.d.ts +11 -0
  143. package/dist/dev/media/hls-video/index.d.ts.map +1 -0
  144. package/dist/dev/media/hls-video/index.js +21 -0
  145. package/dist/dev/media/hls-video/index.js.map +1 -0
  146. package/dist/dev/player/context.d.ts +16 -0
  147. package/dist/dev/player/context.d.ts.map +1 -0
  148. package/dist/dev/player/context.js +14 -0
  149. package/dist/dev/player/context.js.map +1 -0
  150. package/dist/dev/player/create-player.d.ts +73 -0
  151. package/dist/dev/player/create-player.d.ts.map +1 -0
  152. package/dist/dev/player/create-player.js +29 -0
  153. package/dist/dev/player/create-player.js.map +1 -0
  154. package/dist/dev/player/player-controller.d.ts +56 -0
  155. package/dist/dev/player/player-controller.d.ts.map +1 -0
  156. package/dist/dev/player/player-controller.js +63 -0
  157. package/dist/dev/player/player-controller.js.map +1 -0
  158. package/dist/dev/player/player-mixin.d.ts +20 -0
  159. package/dist/dev/player/player-mixin.d.ts.map +1 -0
  160. package/dist/dev/player/player-mixin.js +23 -0
  161. package/dist/dev/player/player-mixin.js.map +1 -0
  162. package/dist/dev/store/container-mixin.d.ts +16 -0
  163. package/dist/dev/store/container-mixin.d.ts.map +1 -0
  164. package/dist/dev/store/container-mixin.js +74 -0
  165. package/dist/dev/store/container-mixin.js.map +1 -0
  166. package/dist/dev/store/provider-mixin.d.ts +17 -0
  167. package/dist/dev/store/provider-mixin.d.ts.map +1 -0
  168. package/dist/dev/store/provider-mixin.js +39 -0
  169. package/dist/dev/store/provider-mixin.js.map +1 -0
  170. package/dist/dev/store/types.d.ts +18 -0
  171. package/dist/dev/store/types.d.ts.map +1 -0
  172. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts +21 -0
  173. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -0
  174. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +48 -0
  175. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -0
  176. package/dist/dev/ui/controls/controls-element.d.ts +13 -0
  177. package/dist/dev/ui/controls/controls-element.d.ts.map +1 -0
  178. package/dist/dev/ui/controls/controls-element.js +28 -0
  179. package/dist/dev/ui/controls/controls-element.js.map +1 -0
  180. package/dist/dev/ui/controls/controls-group-element.d.ts +10 -0
  181. package/dist/dev/ui/controls/controls-group-element.d.ts.map +1 -0
  182. package/dist/dev/ui/controls/controls-group-element.js +16 -0
  183. package/dist/dev/ui/controls/controls-group-element.js.map +1 -0
  184. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +26 -0
  185. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -0
  186. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +57 -0
  187. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -0
  188. package/dist/dev/ui/media-element.d.ts +9 -0
  189. package/dist/dev/ui/media-element.d.ts.map +1 -0
  190. package/dist/dev/ui/media-element.js +8 -0
  191. package/dist/dev/ui/media-element.js.map +1 -0
  192. package/dist/dev/ui/mute-button/mute-button-element.d.ts +26 -0
  193. package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -0
  194. package/dist/dev/ui/mute-button/mute-button-element.js +57 -0
  195. package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -0
  196. package/dist/dev/ui/pip-button/pip-button-element.d.ts +26 -0
  197. package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -0
  198. package/dist/dev/ui/pip-button/pip-button-element.js +57 -0
  199. package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -0
  200. package/dist/dev/ui/play-button/play-button-element.d.ts +26 -0
  201. package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -0
  202. package/dist/dev/ui/play-button/play-button-element.js +57 -0
  203. package/dist/dev/ui/play-button/play-button-element.js.map +1 -0
  204. package/dist/dev/ui/poster/poster-element.d.ts +13 -0
  205. package/dist/dev/ui/poster/poster-element.d.ts.map +1 -0
  206. package/dist/dev/ui/poster/poster-element.js +28 -0
  207. package/dist/dev/ui/poster/poster-element.js.map +1 -0
  208. package/dist/dev/ui/seek-button/seek-button-element.d.ts +30 -0
  209. package/dist/dev/ui/seek-button/seek-button-element.d.ts.map +1 -0
  210. package/dist/dev/ui/seek-button/seek-button-element.js +59 -0
  211. package/dist/dev/ui/seek-button/seek-button-element.js.map +1 -0
  212. package/dist/dev/ui/time/time-element.d.ts +32 -0
  213. package/dist/dev/ui/time/time-element.d.ts.map +1 -0
  214. package/dist/dev/ui/time/time-element.js +68 -0
  215. package/dist/dev/ui/time/time-element.js.map +1 -0
  216. package/dist/dev/ui/time/time-group-element.d.ts +9 -0
  217. package/dist/dev/ui/time/time-group-element.d.ts.map +1 -0
  218. package/dist/dev/ui/time/time-group-element.js +12 -0
  219. package/dist/dev/ui/time/time-group-element.js.map +1 -0
  220. package/dist/dev/ui/time/time-separator-element.d.ts +10 -0
  221. package/dist/dev/ui/time/time-separator-element.d.ts.map +1 -0
  222. package/dist/dev/ui/time/time-separator-element.js +17 -0
  223. package/dist/dev/ui/time/time-separator-element.js.map +1 -0
  224. package/package.json +62 -40
  225. package/dist/button-Bu1mGG-F.js +0 -63
  226. package/dist/button-Bu1mGG-F.js.map +0 -1
  227. package/dist/component-factory-C0cl1nrL.js +0 -73
  228. package/dist/component-factory-C0cl1nrL.js.map +0 -1
  229. package/dist/current-time-display-DpoDrQu9.js +0 -46
  230. package/dist/current-time-display-DpoDrQu9.js.map +0 -1
  231. package/dist/custom-element-3bDlB2XO.js +0 -10
  232. package/dist/custom-element-3bDlB2XO.js.map +0 -1
  233. package/dist/define/index.d.ts +0 -12
  234. package/dist/define/index.js +0 -27
  235. package/dist/define/media-container.d.ts +0 -1
  236. package/dist/define/media-container.js +0 -3
  237. package/dist/define/media-current-time-display.d.ts +0 -1
  238. package/dist/define/media-current-time-display.js +0 -4
  239. package/dist/define/media-duration-display.d.ts +0 -1
  240. package/dist/define/media-duration-display.js +0 -4
  241. package/dist/define/media-fullscreen-button.d.ts +0 -1
  242. package/dist/define/media-fullscreen-button.js +0 -5
  243. package/dist/define/media-mute-button.d.ts +0 -1
  244. package/dist/define/media-mute-button.js +0 -5
  245. package/dist/define/media-play-button.d.ts +0 -1
  246. package/dist/define/media-play-button.js +0 -5
  247. package/dist/define/media-popover.d.ts +0 -1
  248. package/dist/define/media-popover.js +0 -3
  249. package/dist/define/media-preview-time-display.d.ts +0 -1
  250. package/dist/define/media-preview-time-display.js +0 -4
  251. package/dist/define/media-time-slider.d.ts +0 -1
  252. package/dist/define/media-time-slider.js +0 -4
  253. package/dist/define/media-tooltip.d.ts +0 -1
  254. package/dist/define/media-tooltip.js +0 -3
  255. package/dist/define/media-volume-slider.d.ts +0 -1
  256. package/dist/define/media-volume-slider.js +0 -4
  257. package/dist/define/video-provider.d.ts +0 -1
  258. package/dist/define/video-provider.js +0 -3
  259. package/dist/duration-display-BFRQmaOz.js +0 -48
  260. package/dist/duration-display-BFRQmaOz.js.map +0 -1
  261. package/dist/fullscreen-button-B0R9K3GV.js +0 -47
  262. package/dist/fullscreen-button-B0R9K3GV.js.map +0 -1
  263. package/dist/icons-CuxuONCk.js +0 -209
  264. package/dist/icons-CuxuONCk.js.map +0 -1
  265. package/dist/icons.d.ts +0 -1
  266. package/dist/icons.js +0 -2
  267. package/dist/index.d.ts +0 -146
  268. package/dist/index.d.ts.map +0 -1
  269. package/dist/index.js +0 -17
  270. package/dist/media-container-BOL0PKuG.js +0 -80
  271. package/dist/media-container-BOL0PKuG.js.map +0 -1
  272. package/dist/media-container-DwKSOa1h.js +0 -8
  273. package/dist/media-container-DwKSOa1h.js.map +0 -1
  274. package/dist/media-current-time-display-DVCqNt7c.js +0 -8
  275. package/dist/media-current-time-display-DVCqNt7c.js.map +0 -1
  276. package/dist/media-duration-display-tzVLafRm.js +0 -8
  277. package/dist/media-duration-display-tzVLafRm.js.map +0 -1
  278. package/dist/media-fullscreen-button-BgUK3lgu.d.ts +0 -1
  279. package/dist/media-fullscreen-button-DDQ6EdLz.js +0 -8
  280. package/dist/media-fullscreen-button-DDQ6EdLz.js.map +0 -1
  281. package/dist/media-mute-button-NVJF2EEW.d.ts +0 -1
  282. package/dist/media-mute-button-Uy18NpPx.js +0 -8
  283. package/dist/media-mute-button-Uy18NpPx.js.map +0 -1
  284. package/dist/media-play-button-CDBZrhmx.js +0 -8
  285. package/dist/media-play-button-CDBZrhmx.js.map +0 -1
  286. package/dist/media-play-button-oq8yDlxe.d.ts +0 -1
  287. package/dist/media-popover-BtJmPv0E.d.ts +0 -1
  288. package/dist/media-popover-Cw9d_Bh3.js +0 -8
  289. package/dist/media-popover-Cw9d_Bh3.js.map +0 -1
  290. package/dist/media-preview-time-display-4YX5Rics.d.ts +0 -1
  291. package/dist/media-preview-time-display-ufqXiNXg.js +0 -8
  292. package/dist/media-preview-time-display-ufqXiNXg.js.map +0 -1
  293. package/dist/media-skin-CxnuHwhu.js +0 -36
  294. package/dist/media-skin-CxnuHwhu.js.map +0 -1
  295. package/dist/media-skin-Di3vSHvS.d.ts +0 -11
  296. package/dist/media-skin-Di3vSHvS.d.ts.map +0 -1
  297. package/dist/media-time-slider-BOdJr4QE.js +0 -12
  298. package/dist/media-time-slider-BOdJr4QE.js.map +0 -1
  299. package/dist/media-time-slider-DvMnfYXZ.d.ts +0 -1
  300. package/dist/media-tooltip-BqV17mdM.d.ts +0 -1
  301. package/dist/media-tooltip-CMRN_X4D.js +0 -8
  302. package/dist/media-tooltip-CMRN_X4D.js.map +0 -1
  303. package/dist/media-volume-slider-BB6GhrzS.js +0 -11
  304. package/dist/media-volume-slider-BB6GhrzS.js.map +0 -1
  305. package/dist/media-volume-slider-DP47VLVi.d.ts +0 -1
  306. package/dist/mute-button-C7XQB6iK.js +0 -49
  307. package/dist/mute-button-C7XQB6iK.js.map +0 -1
  308. package/dist/play-button-DFbxwrrq.js +0 -47
  309. package/dist/play-button-DFbxwrrq.js.map +0 -1
  310. package/dist/popover-BUCVOjnO.js +0 -167
  311. package/dist/popover-BUCVOjnO.js.map +0 -1
  312. package/dist/preview-time-display-CtA58pCS.js +0 -43
  313. package/dist/preview-time-display-CtA58pCS.js.map +0 -1
  314. package/dist/skins/frosted.d.ts +0 -23
  315. package/dist/skins/frosted.d.ts.map +0 -1
  316. package/dist/skins/frosted.js +0 -145
  317. package/dist/skins/frosted.js.map +0 -1
  318. package/dist/skins/minimal.d.ts +0 -23
  319. package/dist/skins/minimal.d.ts.map +0 -1
  320. package/dist/skins/minimal.js +0 -150
  321. package/dist/skins/minimal.js.map +0 -1
  322. package/dist/store.d.ts +0 -1
  323. package/dist/time-slider-DHpKPCI1.js +0 -165
  324. package/dist/time-slider-DHpKPCI1.js.map +0 -1
  325. package/dist/tooltip-B-glki2f.js +0 -171
  326. package/dist/tooltip-B-glki2f.js.map +0 -1
  327. package/dist/video-provider-BKDqoKFf.js +0 -17
  328. package/dist/video-provider-BKDqoKFf.js.map +0 -1
  329. package/dist/video-provider-BPPI5e47.js +0 -8
  330. package/dist/video-provider-BPPI5e47.js.map +0 -1
  331. package/dist/video-provider-nSCfwA7l.d.ts +0 -1
  332. package/dist/volume-slider-CUyfwehe.js +0 -140
  333. package/dist/volume-slider-CUyfwehe.js.map +0 -1
  334. /package/dist/{store.js → default/define/audio/skin.js} +0 -0
  335. /package/dist/{index-LKrIp3Oo.d.ts → dev/define/audio/skin.d.ts} +0 -0
  336. /package/dist/{media-container-ChS9lZvf.d.ts → dev/define/background/skin.d.ts} +0 -0
  337. /package/dist/{media-current-time-display-Cd0rPAuj.d.ts → dev/define/feature/video.d.ts} +0 -0
  338. /package/dist/{media-duration-display-qvm6YX-q.d.ts → dev/define/video/skin.d.ts} +0 -0
@@ -1,171 +0,0 @@
1
- import { getBoundingClientRectWithoutTransform, getDocumentOrShadowRoot, getInBoundsAdjustments } from "@videojs/utils/dom";
2
-
3
- //#region src/elements/tooltip.ts
4
- var TooltipElement = class extends HTMLElement {
5
- static get observedAttributes() {
6
- return [
7
- "id",
8
- "delay",
9
- "close-delay",
10
- "track-cursor-axis",
11
- "side",
12
- "side-offset",
13
- "collision-padding"
14
- ];
15
- }
16
- #open = false;
17
- #hoverTimeout = null;
18
- #pointerPosition = {
19
- x: 0,
20
- y: 0
21
- };
22
- #transitionStatus = "initial";
23
- #abortController = null;
24
- constructor() {
25
- super();
26
- new ResizeObserver(() => this.#checkCollision()).observe(this);
27
- }
28
- attributeChangedCallback(name, _oldValue, newValue) {
29
- if (name === "id") this.style.setProperty("position-anchor", `--${newValue}`);
30
- const [side, alignment] = this.side.split("-");
31
- this.style.setProperty("top", `calc(anchor(${side}) - ${this.sideOffset}px)`);
32
- if (this.trackCursorAxis) this.style.setProperty("translate", `-50% -100%`);
33
- else {
34
- this.style.setProperty("translate", `0 -100%`);
35
- this.style.setProperty("justify-self", alignment === "start" ? "anchor-start" : alignment === "end" ? "anchor-end" : "anchor-center");
36
- }
37
- }
38
- connectedCallback() {
39
- this.setAttribute("role", "tooltip");
40
- this.#abortController ??= new AbortController();
41
- const { signal } = this.#abortController;
42
- const trigger = this.#triggerElement;
43
- if (trigger) {
44
- if (globalThis.matchMedia?.("(hover: hover)")?.matches) {
45
- trigger.addEventListener("pointerenter", this, { signal });
46
- trigger.addEventListener("pointerleave", this, { signal });
47
- trigger.addEventListener("pointermove", this, { signal });
48
- }
49
- }
50
- this.#updateVisibility();
51
- }
52
- disconnectedCallback() {
53
- this.#clearHoverTimeout();
54
- this.#abortController?.abort();
55
- this.#abortController = null;
56
- this.#transitionStatus = "unmounted";
57
- this.#updateVisibility();
58
- }
59
- handleEvent(event) {
60
- switch (event.type) {
61
- case "pointerenter":
62
- this.#handlePointerEnter();
63
- break;
64
- case "pointerleave":
65
- this.#handlePointerLeave(event);
66
- break;
67
- case "pointermove":
68
- this.#handlePointerMove(event);
69
- break;
70
- default: break;
71
- }
72
- }
73
- get delay() {
74
- return Number.parseInt(this.getAttribute("delay") ?? "0", 10);
75
- }
76
- get closeDelay() {
77
- return Number.parseInt(this.getAttribute("close-delay") ?? "0", 10);
78
- }
79
- get trackCursorAxis() {
80
- const value = this.getAttribute("track-cursor-axis");
81
- return value === "x" || value === "y" || value === "both" ? value : void 0;
82
- }
83
- get side() {
84
- return this.getAttribute("side") ?? "top";
85
- }
86
- get sideOffset() {
87
- return Number.parseInt(this.getAttribute("side-offset") ?? "0", 10);
88
- }
89
- get collisionPadding() {
90
- return Number.parseInt(this.getAttribute("collision-padding") ?? "0", 10);
91
- }
92
- get #triggerElement() {
93
- return getDocumentOrShadowRoot(this)?.querySelector(`[commandfor="${this.id}"]`);
94
- }
95
- #setOpen(open) {
96
- if (this.#open === open) return;
97
- this.#open = open;
98
- if (open) {
99
- this.#transitionStatus = "initial";
100
- this.#updateVisibility();
101
- this.showPopover();
102
- requestAnimationFrame(() => {
103
- this.#transitionStatus = "open";
104
- this.#updateVisibility();
105
- this.#checkCollision();
106
- });
107
- } else {
108
- this.#transitionStatus = "close";
109
- this.#updateVisibility();
110
- const transitions = this.getAnimations().filter((anim) => anim instanceof CSSTransition);
111
- if (transitions.length > 0) Promise.all(transitions.map((t) => t.finished)).then(() => this.hidePopover()).catch(() => this.hidePopover());
112
- else this.hidePopover();
113
- }
114
- }
115
- #updateVisibility() {
116
- this.toggleAttribute("data-starting-style", this.#transitionStatus === "initial");
117
- this.toggleAttribute("data-open", this.#transitionStatus === "initial" || this.#transitionStatus === "open");
118
- this.toggleAttribute("data-ending-style", this.#transitionStatus === "close" || this.#transitionStatus === "unmounted");
119
- this.toggleAttribute("data-closed", this.#transitionStatus === "close" || this.#transitionStatus === "unmounted");
120
- const triggerElement = this.#triggerElement;
121
- if (triggerElement) triggerElement.toggleAttribute("data-popup-open", this.#open);
122
- }
123
- #updatePosition() {
124
- if (this.#open && this.trackCursorAxis) {
125
- this.style.setProperty("left", `${this.#pointerPosition.x}px`);
126
- this.#checkCollision();
127
- }
128
- }
129
- #checkCollision() {
130
- const mediaContainer = this.closest("media-container");
131
- if (!mediaContainer || !this.#open) return;
132
- const { x } = getInBoundsAdjustments(getBoundingClientRectWithoutTransform(this), getBoundingClientRectWithoutTransform(mediaContainer), this.collisionPadding);
133
- if (x !== 0) if (this.trackCursorAxis) {
134
- const currentLeft = Number.parseFloat(this.style.left || "0");
135
- this.style.setProperty("left", `${currentLeft + x}px`);
136
- } else this.style.setProperty("translate", `${x}px -100%`);
137
- else if (this.trackCursorAxis) this.style.setProperty("translate", "-50% -100%");
138
- else this.style.setProperty("translate", "0 -100%");
139
- }
140
- #clearHoverTimeout() {
141
- if (this.#hoverTimeout) {
142
- globalThis.clearTimeout(this.#hoverTimeout);
143
- this.#hoverTimeout = null;
144
- }
145
- }
146
- #handlePointerEnter() {
147
- this.#clearHoverTimeout();
148
- this.#hoverTimeout = globalThis.setTimeout(() => {
149
- this.#setOpen(true);
150
- }, this.delay);
151
- }
152
- #handlePointerLeave(_event) {
153
- this.#clearHoverTimeout();
154
- this.#hoverTimeout = globalThis.setTimeout(() => {
155
- this.#setOpen(false);
156
- }, this.closeDelay);
157
- }
158
- #handlePointerMove(event) {
159
- if (this.trackCursorAxis) {
160
- this.#pointerPosition = {
161
- x: event.clientX,
162
- y: event.clientY
163
- };
164
- if (this.#open) this.#updatePosition();
165
- }
166
- }
167
- };
168
-
169
- //#endregion
170
- export { TooltipElement as t };
171
- //# sourceMappingURL=tooltip-B-glki2f.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltip-B-glki2f.js","names":["#checkCollision","#abortController","#triggerElement","#updateVisibility","#clearHoverTimeout","#transitionStatus","#handlePointerEnter","#handlePointerLeave","#handlePointerMove","#open","#pointerPosition","#hoverTimeout","#setOpen","#updatePosition"],"sources":["../src/elements/tooltip.ts"],"sourcesContent":["import type { MediaContainerElement } from '@/media/media-container';\n\nimport {\n getBoundingClientRectWithoutTransform,\n getDocumentOrShadowRoot,\n getInBoundsAdjustments,\n} from '@videojs/utils/dom';\n\ntype Placement = 'top' | 'top-start' | 'top-end';\n\nexport class TooltipElement extends HTMLElement {\n static get observedAttributes(): string[] {\n return ['id', 'delay', 'close-delay', 'track-cursor-axis', 'side', 'side-offset', 'collision-padding'];\n }\n\n #open = false;\n #hoverTimeout: ReturnType<typeof setTimeout> | null = null;\n #pointerPosition = { x: 0, y: 0 };\n #transitionStatus: 'initial' | 'open' | 'close' | 'unmounted' = 'initial';\n #abortController: AbortController | null = null;\n\n constructor() {\n super();\n\n const resizeObserver = new ResizeObserver(() => this.#checkCollision());\n resizeObserver.observe(this);\n }\n\n attributeChangedCallback(name: string, _oldValue: string, newValue: string): void {\n if (name === 'id') {\n this.style.setProperty('position-anchor', `--${newValue}`);\n }\n const [side, alignment] = this.side.split('-');\n this.style.setProperty('top', `calc(anchor(${side}) - ${this.sideOffset}px)`);\n\n if (this.trackCursorAxis) {\n this.style.setProperty('translate', `-50% -100%`);\n } else {\n this.style.setProperty('translate', `0 -100%`);\n this.style.setProperty('justify-self', alignment === 'start'\n ? 'anchor-start'\n : alignment === 'end'\n ? 'anchor-end'\n : 'anchor-center');\n }\n }\n\n connectedCallback(): void {\n this.setAttribute('role', 'tooltip');\n\n this.#abortController ??= new AbortController();\n const { signal } = this.#abortController;\n\n const trigger = this.#triggerElement as HTMLElement;\n if (trigger) {\n if (globalThis.matchMedia?.('(hover: hover)')?.matches) {\n trigger.addEventListener('pointerenter', this, { signal });\n trigger.addEventListener('pointerleave', this, { signal });\n trigger.addEventListener('pointermove', this, { signal });\n }\n }\n\n this.#updateVisibility();\n }\n\n disconnectedCallback(): void {\n this.#clearHoverTimeout();\n this.#abortController?.abort();\n this.#abortController = null;\n\n this.#transitionStatus = 'unmounted';\n this.#updateVisibility();\n }\n\n handleEvent(event: Event): void {\n switch (event.type) {\n case 'pointerenter':\n this.#handlePointerEnter();\n break;\n case 'pointerleave':\n this.#handlePointerLeave(event as PointerEvent);\n break;\n case 'pointermove':\n this.#handlePointerMove(event as PointerEvent);\n break;\n default:\n break;\n }\n }\n\n get delay(): number {\n return Number.parseInt(this.getAttribute('delay') ?? '0', 10);\n }\n\n get closeDelay(): number {\n return Number.parseInt(this.getAttribute('close-delay') ?? '0', 10);\n }\n\n get trackCursorAxis(): 'x' | 'y' | 'both' | undefined {\n const value = this.getAttribute('track-cursor-axis');\n return value === 'x' || value === 'y' || value === 'both' ? value : undefined;\n }\n\n get side(): Placement {\n return (this.getAttribute('side') as Placement) ?? 'top';\n }\n\n get sideOffset(): number {\n return Number.parseInt(this.getAttribute('side-offset') ?? '0', 10);\n }\n\n get collisionPadding(): number {\n return Number.parseInt(this.getAttribute('collision-padding') ?? '0', 10);\n }\n\n get #triggerElement(): HTMLElement | null {\n return getDocumentOrShadowRoot(this)?.querySelector(`[commandfor=\"${this.id}\"]`) as HTMLElement | null;\n }\n\n #setOpen(open: boolean): void {\n if (this.#open === open) return;\n\n this.#open = open;\n\n if (open) {\n this.#transitionStatus = 'initial';\n this.#updateVisibility();\n\n this.showPopover();\n\n requestAnimationFrame(() => {\n this.#transitionStatus = 'open';\n this.#updateVisibility();\n this.#checkCollision();\n });\n } else {\n this.#transitionStatus = 'close';\n this.#updateVisibility();\n\n const transitions = this.getAnimations().filter(anim => anim instanceof CSSTransition);\n if (transitions.length > 0) {\n Promise.all(transitions.map(t => t.finished))\n .then(() => this.hidePopover())\n .catch(() => this.hidePopover());\n } else {\n this.hidePopover();\n }\n }\n }\n\n #updateVisibility(): void {\n this.toggleAttribute('data-starting-style', this.#transitionStatus === 'initial');\n this.toggleAttribute('data-open', this.#transitionStatus === 'initial' || this.#transitionStatus === 'open');\n this.toggleAttribute(\n 'data-ending-style',\n this.#transitionStatus === 'close' || this.#transitionStatus === 'unmounted',\n );\n this.toggleAttribute('data-closed', this.#transitionStatus === 'close' || this.#transitionStatus === 'unmounted');\n\n const triggerElement = this.#triggerElement as HTMLElement;\n if (triggerElement) {\n triggerElement.toggleAttribute('data-popup-open', this.#open);\n }\n }\n\n #updatePosition(): void {\n if (this.#open && this.trackCursorAxis) {\n this.style.setProperty('left', `${this.#pointerPosition.x}px`);\n this.#checkCollision();\n }\n }\n\n #checkCollision(): void {\n const mediaContainer = this.closest('media-container') as MediaContainerElement;\n if (!mediaContainer || !this.#open) return;\n\n const popupRect = getBoundingClientRectWithoutTransform(this);\n const boundsRect = getBoundingClientRectWithoutTransform(mediaContainer);\n const { x } = getInBoundsAdjustments(popupRect, boundsRect, this.collisionPadding);\n\n if (x !== 0) {\n if (this.trackCursorAxis) {\n const currentLeft = Number.parseFloat(this.style.left || '0');\n this.style.setProperty('left', `${currentLeft + x}px`);\n } else {\n this.style.setProperty('translate', `${x}px -100%`);\n }\n } else {\n if (this.trackCursorAxis) {\n this.style.setProperty('translate', '-50% -100%');\n } else {\n this.style.setProperty('translate', '0 -100%');\n }\n }\n }\n\n #clearHoverTimeout(): void {\n if (this.#hoverTimeout) {\n globalThis.clearTimeout(this.#hoverTimeout);\n this.#hoverTimeout = null;\n }\n }\n\n #handlePointerEnter(): void {\n this.#clearHoverTimeout();\n this.#hoverTimeout = globalThis.setTimeout(() => {\n this.#setOpen(true);\n }, this.delay);\n }\n\n #handlePointerLeave(_event: PointerEvent): void {\n this.#clearHoverTimeout();\n this.#hoverTimeout = globalThis.setTimeout(() => {\n this.#setOpen(false);\n }, this.closeDelay);\n }\n\n #handlePointerMove(event: PointerEvent): void {\n if (this.trackCursorAxis) {\n this.#pointerPosition = { x: event.clientX, y: event.clientY };\n\n if (this.#open) {\n this.#updatePosition();\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { createMediaStore } from "@videojs/core/store";
2
- import { ProviderMixin } from "@open-wc/context-protocol";
3
-
4
- //#region src/media/video-provider.ts
5
- const ProviderHTMLElement = ProviderMixin(HTMLElement);
6
- var VideoProviderElement = class extends ProviderHTMLElement {
7
- constructor(..._args) {
8
- super(..._args);
9
- this.contexts = { mediaStore: () => {
10
- return createMediaStore();
11
- } };
12
- }
13
- };
14
-
15
- //#endregion
16
- export { VideoProviderElement as t };
17
- //# sourceMappingURL=video-provider-BKDqoKFf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"video-provider-BKDqoKFf.js","names":["ProviderHTMLElement: Constructor<CustomElement & HTMLElement>"],"sources":["../src/media/video-provider.ts"],"sourcesContent":["import type { Constructor, CustomElement } from '@open-wc/context-protocol';\nimport type { MediaStore } from '@videojs/core/store';\n\nimport { ProviderMixin } from '@open-wc/context-protocol';\nimport { createMediaStore } from '@videojs/core/store';\n\nconst ProviderHTMLElement: Constructor<CustomElement & HTMLElement> = ProviderMixin(HTMLElement);\n\nexport class VideoProviderElement extends ProviderHTMLElement {\n contexts = {\n mediaStore: (): MediaStore => {\n return createMediaStore();\n },\n };\n}\n"],"mappings":";;;;AAMA,MAAMA,sBAAgE,cAAc,YAAY;AAEhG,IAAa,uBAAb,cAA0C,oBAAoB;;;kBACjD,EACT,kBAA8B;AAC5B,UAAO,kBAAkB;KAE5B"}
@@ -1,8 +0,0 @@
1
- import { t as VideoProviderElement } from "./video-provider-BKDqoKFf.js";
2
- import { t as defineCustomElement } from "./custom-element-3bDlB2XO.js";
3
-
4
- //#region src/define/video-provider.ts
5
- defineCustomElement("video-provider", VideoProviderElement);
6
-
7
- //#endregion
8
- //# sourceMappingURL=video-provider-BPPI5e47.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"video-provider-BPPI5e47.js","names":[],"sources":["../src/define/video-provider.ts"],"sourcesContent":["import { VideoProviderElement } from '@/media/video-provider';\nimport { defineCustomElement } from '@/utils/custom-element';\n\ndefineCustomElement('video-provider', VideoProviderElement);\n"],"mappings":";;;;AAGA,oBAAoB,kBAAkB,qBAAqB"}
@@ -1 +0,0 @@
1
- export { };
@@ -1,140 +0,0 @@
1
- import { n as toConnectedHTMLComponent, t as getCoreState } from "./component-factory-C0cl1nrL.js";
2
- import { volumeSliderStateDefinition } from "@videojs/core/store";
3
- import { setAttributes } from "@videojs/utils/dom";
4
- import { VolumeSlider } from "@videojs/core";
5
-
6
- //#region src/elements/volume-slider.ts
7
- function getVolumeSliderRootState(mediaStore) {
8
- const mediaState = volumeSliderStateDefinition.stateTransform(mediaStore.getState());
9
- const mediaMethods = volumeSliderStateDefinition.createRequestMethods(mediaStore.dispatch);
10
- return { ...getCoreState(VolumeSlider, {
11
- ...mediaState,
12
- ...mediaMethods
13
- }) };
14
- }
15
- /**
16
- * VolumeSlider Root props hook - equivalent to React's useVolumeSliderRootProps
17
- * Handles element attributes and properties based on state
18
- */
19
- const getVolumeSliderRootProps = (state, element) => {
20
- if (state._rootElement !== element) state._setRootElement(element);
21
- const volumeText = `${Math.round(state.muted ? 0 : state.volume * 100)}%`;
22
- return {
23
- role: "slider",
24
- tabindex: element.getAttribute("tabindex") ?? "0",
25
- "data-muted": state.muted.toString(),
26
- "data-volume-level": state.volumeLevel,
27
- "data-orientation": element.orientation || "horizontal",
28
- "aria-label": "Volume",
29
- "aria-valuemin": "0",
30
- "aria-valuemax": "100",
31
- "aria-valuenow": Math.round(state.muted ? 0 : state.volume * 100).toString(),
32
- "aria-valuetext": volumeText,
33
- "aria-orientation": element.orientation || "horizontal"
34
- };
35
- };
36
- var VolumeSliderRoot = class extends HTMLElement {
37
- static {
38
- this.observedAttributes = ["commandfor", "orientation"];
39
- }
40
- get volume() {
41
- return this._state?.volume ?? 0;
42
- }
43
- get muted() {
44
- return this._state?.muted ?? false;
45
- }
46
- get volumeLevel() {
47
- return this._state?.volumeLevel ?? "high";
48
- }
49
- get orientation() {
50
- return this.getAttribute("orientation") || "horizontal";
51
- }
52
- attributeChangedCallback(name, _oldValue, newValue) {
53
- if (name === "orientation" && this._state) this._update(getVolumeSliderRootProps(this._state, this), this._state);
54
- else if (name === "commandfor") this.style.setProperty("anchor-name", `--${newValue}`);
55
- }
56
- _update(props, state) {
57
- this._state = state;
58
- this.style.setProperty("--slider-fill", `${state._fillWidth.toFixed(3)}%`);
59
- setAttributes(this, props);
60
- }
61
- };
62
- const VolumeSliderRootElement = toConnectedHTMLComponent(VolumeSliderRoot, getVolumeSliderRootState, getVolumeSliderRootProps, "VolumeSliderRoot");
63
- const getVolumeSliderTrackProps = (_state, element) => {
64
- const rootElement = element.closest("media-volume-slider");
65
- if (rootElement._state?._trackElement !== element) rootElement._state?._setTrackElement?.(element);
66
- return { "data-orientation": rootElement?.orientation || "horizontal" };
67
- };
68
- var VolumeSliderTrack = class extends HTMLElement {
69
- _update(props, _state) {
70
- setAttributes(this, props);
71
- if (props["data-orientation"] === "horizontal") {
72
- this.style.width = "100%";
73
- this.style.removeProperty("height");
74
- } else {
75
- this.style.height = "100%";
76
- this.style.removeProperty("width");
77
- }
78
- }
79
- };
80
- const VolumeSliderTrackElement = toConnectedHTMLComponent(VolumeSliderTrack, void 0, getVolumeSliderTrackProps, "VolumeSliderTrack");
81
- const getVolumeSliderIndicatorProps = (_state, element) => {
82
- const rootElement = element.closest("media-volume-slider");
83
- return { "data-orientation": rootElement?.orientation || "horizontal" };
84
- };
85
- var VolumeSliderIndicator = class extends HTMLElement {
86
- constructor() {
87
- super();
88
- this.style.position = "absolute";
89
- this.style.width = "var(--slider-fill, 0%)";
90
- this.style.height = "100%";
91
- }
92
- _update(props, _state) {
93
- setAttributes(this, props);
94
- if (props["data-orientation"] === "horizontal") {
95
- this.style.width = "var(--slider-fill, 0%)";
96
- this.style.height = "100%";
97
- this.style.top = "0";
98
- this.style.removeProperty("bottom");
99
- } else {
100
- this.style.height = "var(--slider-fill, 0%)";
101
- this.style.width = "100%";
102
- this.style.bottom = "0";
103
- this.style.removeProperty("top");
104
- }
105
- }
106
- };
107
- const VolumeSliderIndicatorElement = toConnectedHTMLComponent(VolumeSliderIndicator, void 0, getVolumeSliderIndicatorProps, "VolumeSliderIndicator");
108
- const getVolumeSliderThumbProps = (_state, element) => {
109
- const rootElement = element.closest("media-volume-slider");
110
- return { "data-orientation": rootElement?.orientation || "horizontal" };
111
- };
112
- var VolumeSliderThumb = class extends HTMLElement {
113
- constructor() {
114
- super();
115
- this.style.position = "absolute";
116
- }
117
- _update(props, _state) {
118
- setAttributes(this, props);
119
- if (props["data-orientation"] === "horizontal") {
120
- this.style.left = "var(--slider-fill, 0%)";
121
- this.style.top = "50%";
122
- this.style.translate = "-50% -50%";
123
- } else {
124
- this.style.bottom = "var(--slider-fill, 0%)";
125
- this.style.left = "50%";
126
- this.style.translate = "-50% 50%";
127
- }
128
- }
129
- };
130
- const VolumeSliderThumbElement = toConnectedHTMLComponent(VolumeSliderThumb, void 0, getVolumeSliderThumbProps, "VolumeSliderThumb");
131
- const VolumeSliderElement = Object.assign({}, {
132
- Root: VolumeSliderRootElement,
133
- Track: VolumeSliderTrackElement,
134
- Indicator: VolumeSliderIndicatorElement,
135
- Thumb: VolumeSliderThumbElement
136
- });
137
-
138
- //#endregion
139
- export { VolumeSliderTrackElement as a, VolumeSliderThumbElement as i, VolumeSliderIndicatorElement as n, VolumeSliderRootElement as r, VolumeSliderElement as t };
140
- //# sourceMappingURL=volume-slider-CUyfwehe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"volume-slider-CUyfwehe.js","names":["CoreVolumeSlider","getVolumeSliderRootProps: PropsHook<VolumeSliderState>","VolumeSliderRootElement: ConnectedComponentConstructor<VolumeSliderState>","getVolumeSliderTrackProps: PropsHook<Record<string, never>>","VolumeSliderTrackElement: ConnectedComponentConstructor<any>","getVolumeSliderIndicatorProps: PropsHook<Record<string, never>>","VolumeSliderIndicatorElement: ConnectedComponentConstructor<any>","getVolumeSliderThumbProps: PropsHook<Record<string, never>>","VolumeSliderThumbElement: ConnectedComponentConstructor<any>"],"sources":["../src/elements/volume-slider.ts"],"sourcesContent":["import type { MediaStore } from '@videojs/core/store';\nimport type { Prettify } from '../types';\n\nimport type { ConnectedComponentConstructor, PropsHook } from '../utils/component-factory';\nimport { VolumeSlider as CoreVolumeSlider } from '@videojs/core';\nimport { volumeSliderStateDefinition } from '@videojs/core/store';\n\nimport { setAttributes } from '@videojs/utils/dom';\nimport { getCoreState, toConnectedHTMLComponent } from '../utils/component-factory';\n\ntype VolumeSliderState = Prettify<ReturnType<CoreVolumeSlider['getState']>>;\n\n// ============================================================================\n// ROOT COMPONENT\n// ============================================================================\n\nexport function getVolumeSliderRootState(mediaStore: MediaStore): VolumeSliderState {\n const mediaState = volumeSliderStateDefinition.stateTransform(mediaStore.getState());\n const mediaMethods = volumeSliderStateDefinition.createRequestMethods(mediaStore.dispatch);\n const coreState = getCoreState(CoreVolumeSlider, { ...mediaState, ...mediaMethods });\n return {\n ...coreState,\n };\n}\n\n/**\n * VolumeSlider Root props hook - equivalent to React's useVolumeSliderRootProps\n * Handles element attributes and properties based on state\n */\nexport const getVolumeSliderRootProps: PropsHook<VolumeSliderState> = (state, element) => {\n if (state._rootElement !== element) {\n state._setRootElement(element);\n }\n\n const volumeText = `${Math.round(state.muted ? 0 : state.volume * 100)}%`;\n\n return {\n role: 'slider',\n tabindex: element.getAttribute('tabindex') ?? '0',\n 'data-muted': state.muted.toString(),\n 'data-volume-level': state.volumeLevel,\n 'data-orientation': (element as any).orientation || 'horizontal',\n 'aria-label': 'Volume',\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n 'aria-valuenow': Math.round(state.muted ? 0 : state.volume * 100).toString(),\n 'aria-valuetext': volumeText,\n 'aria-orientation': (element as any).orientation || 'horizontal',\n };\n};\n\nexport class VolumeSliderRoot extends HTMLElement {\n static readonly observedAttributes: readonly string[] = [\n 'commandfor',\n 'orientation',\n ];\n\n _state: VolumeSliderState | undefined;\n\n get volume(): number {\n return this._state?.volume ?? 0;\n }\n\n get muted(): boolean {\n return this._state?.muted ?? false;\n }\n\n get volumeLevel(): string {\n return this._state?.volumeLevel ?? 'high';\n }\n\n get orientation(): 'horizontal' | 'vertical' {\n return (this.getAttribute('orientation') as 'horizontal' | 'vertical') || 'horizontal';\n }\n\n attributeChangedCallback(name: string, _oldValue: string | null, newValue: string | null): void {\n if (name === 'orientation' && this._state) {\n this._update(getVolumeSliderRootProps(this._state, this), this._state);\n } else if (name === 'commandfor') {\n this.style.setProperty('anchor-name', `--${newValue}`);\n }\n }\n\n _update(props: any, state: VolumeSliderState): void {\n this._state = state;\n\n this.style.setProperty('--slider-fill', `${state._fillWidth.toFixed(3)}%`);\n\n setAttributes(this, props);\n }\n}\n\nexport const VolumeSliderRootElement: ConnectedComponentConstructor<VolumeSliderState>\n = toConnectedHTMLComponent(\n VolumeSliderRoot,\n getVolumeSliderRootState,\n getVolumeSliderRootProps,\n 'VolumeSliderRoot',\n );\n\n// ============================================================================\n// TRACK COMPONENT\n// ============================================================================\n\nexport const getVolumeSliderTrackProps: PropsHook<Record<string, never>> = (_state, element) => {\n const rootElement = element.closest('media-volume-slider') as any;\n\n if (rootElement._state?._trackElement !== element) {\n rootElement._state?._setTrackElement?.(element);\n }\n\n return {\n 'data-orientation': rootElement?.orientation || 'horizontal',\n };\n};\n\nexport class VolumeSliderTrack extends HTMLElement {\n _update(props: any, _state: any): void {\n setAttributes(this, props);\n\n if (props['data-orientation'] === 'horizontal') {\n this.style.width = '100%';\n this.style.removeProperty('height');\n } else {\n this.style.height = '100%';\n this.style.removeProperty('width');\n }\n }\n}\n\nexport const VolumeSliderTrackElement: ConnectedComponentConstructor<any> = toConnectedHTMLComponent(\n VolumeSliderTrack,\n undefined,\n getVolumeSliderTrackProps,\n 'VolumeSliderTrack',\n);\n\n// ============================================================================\n// INDICATOR COMPONENT\n// ============================================================================\n\nexport const getVolumeSliderIndicatorProps: PropsHook<Record<string, never>> = (_state, element) => {\n const rootElement = element.closest('media-volume-slider') as any;\n return {\n 'data-orientation': rootElement?.orientation || 'horizontal',\n };\n};\n\nexport class VolumeSliderIndicator extends HTMLElement {\n constructor() {\n super();\n this.style.position = 'absolute';\n this.style.width = 'var(--slider-fill, 0%)';\n this.style.height = '100%';\n }\n\n _update(props: any, _state: any): void {\n setAttributes(this, props);\n\n if (props['data-orientation'] === 'horizontal') {\n this.style.width = 'var(--slider-fill, 0%)';\n this.style.height = '100%';\n this.style.top = '0';\n this.style.removeProperty('bottom');\n } else {\n this.style.height = 'var(--slider-fill, 0%)';\n this.style.width = '100%';\n this.style.bottom = '0';\n this.style.removeProperty('top');\n }\n }\n}\n\nexport const VolumeSliderIndicatorElement: ConnectedComponentConstructor<any> = toConnectedHTMLComponent(\n VolumeSliderIndicator,\n undefined,\n getVolumeSliderIndicatorProps,\n 'VolumeSliderIndicator',\n);\n\n// ============================================================================\n// THUMB COMPONENT\n// ============================================================================\n\nexport const getVolumeSliderThumbProps: PropsHook<Record<string, never>> = (_state, element) => {\n const rootElement = element.closest('media-volume-slider') as any;\n return {\n 'data-orientation': rootElement?.orientation || 'horizontal',\n };\n};\n\nexport class VolumeSliderThumb extends HTMLElement {\n constructor() {\n super();\n this.style.position = 'absolute';\n }\n\n _update(props: any, _state: any): void {\n setAttributes(this, props);\n\n // Set appropriate positioning based on orientation\n if (props['data-orientation'] === 'horizontal') {\n this.style.left = 'var(--slider-fill, 0%)';\n this.style.top = '50%';\n this.style.translate = '-50% -50%';\n } else {\n this.style.bottom = 'var(--slider-fill, 0%)';\n this.style.left = '50%';\n this.style.translate = '-50% 50%';\n }\n }\n}\n\nexport const VolumeSliderThumbElement: ConnectedComponentConstructor<any> = toConnectedHTMLComponent(\n VolumeSliderThumb,\n undefined,\n getVolumeSliderThumbProps,\n 'VolumeSliderThumb',\n);\n\n// ============================================================================\n// EXPORTS\n// ============================================================================\n\nexport const VolumeSliderElement = Object.assign(\n {},\n {\n Root: VolumeSliderRootElement,\n Track: VolumeSliderTrackElement,\n Indicator: VolumeSliderIndicatorElement,\n Thumb: VolumeSliderThumbElement,\n },\n) as {\n Root: typeof VolumeSliderRootElement;\n Track: typeof VolumeSliderTrackElement;\n Indicator: typeof VolumeSliderIndicatorElement;\n Thumb: typeof VolumeSliderThumbElement;\n};\n"],"mappings":"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"}
File without changes