@videojs/html 10.0.0-alpha.7 → 10.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/README.md +2 -2
  2. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +6 -0
  3. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -0
  4. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +6 -0
  5. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -0
  6. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +6 -0
  7. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -0
  8. package/dist/default/_virtual/inline-css_src/define/video/skin.js +6 -0
  9. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -0
  10. package/dist/default/define/audio/minimal-skin.css +630 -5
  11. package/dist/default/define/audio/minimal-skin.js +97 -9
  12. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  13. package/dist/default/define/audio/minimal-skin.tailwind.js +121 -0
  14. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -0
  15. package/dist/default/define/audio/skin.css +655 -6
  16. package/dist/default/define/audio/skin.js +88 -9
  17. package/dist/default/define/audio/skin.js.map +1 -1
  18. package/dist/default/define/audio/skin.tailwind.js +111 -0
  19. package/dist/default/define/audio/skin.tailwind.js.map +1 -0
  20. package/dist/default/define/media/simple-hls-video.js +13 -0
  21. package/dist/default/define/media/simple-hls-video.js.map +1 -0
  22. package/dist/default/define/skin-mixin.js +53 -19
  23. package/dist/default/define/skin-mixin.js.map +1 -1
  24. package/dist/default/define/ui/alert-dialog-close.js +8 -0
  25. package/dist/default/define/ui/alert-dialog-close.js.map +1 -0
  26. package/dist/default/define/ui/alert-dialog-description.js +8 -0
  27. package/dist/default/define/ui/alert-dialog-description.js.map +1 -0
  28. package/dist/default/define/ui/alert-dialog-title.js +8 -0
  29. package/dist/default/define/ui/alert-dialog-title.js.map +1 -0
  30. package/dist/default/define/ui/alert-dialog.js +14 -0
  31. package/dist/default/define/ui/alert-dialog.js.map +1 -0
  32. package/dist/default/define/ui/captions-button.js +7 -0
  33. package/dist/default/define/ui/captions-button.js.map +1 -0
  34. package/dist/default/define/ui/slider-thumbnail.js +8 -0
  35. package/dist/default/define/ui/slider-thumbnail.js.map +1 -0
  36. package/dist/default/define/ui/slider.js +2 -0
  37. package/dist/default/define/ui/slider.js.map +1 -1
  38. package/dist/default/define/ui/time-slider.js +4 -0
  39. package/dist/default/define/ui/time-slider.js.map +1 -1
  40. package/dist/default/define/ui/tooltip-group.js +8 -0
  41. package/dist/default/define/ui/tooltip-group.js.map +1 -0
  42. package/dist/default/define/ui/tooltip.js +8 -0
  43. package/dist/default/define/ui/tooltip.js.map +1 -0
  44. package/dist/default/define/ui/volume-slider.js +2 -0
  45. package/dist/default/define/ui/volume-slider.js.map +1 -1
  46. package/dist/default/define/video/minimal-skin.css +367 -256
  47. package/dist/default/define/video/minimal-skin.js +46 -17
  48. package/dist/default/define/video/minimal-skin.js.map +1 -1
  49. package/dist/default/define/video/minimal-skin.tailwind.js +77 -31
  50. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  51. package/dist/default/define/video/skin.css +395 -280
  52. package/dist/default/define/video/skin.js +46 -15
  53. package/dist/default/define/video/skin.js.map +1 -1
  54. package/dist/default/define/video/skin.tailwind.js +71 -28
  55. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  56. package/dist/default/icons/dist/render/default/index.js +13 -13
  57. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  58. package/dist/default/icons/dist/render/minimal/index.js +13 -13
  59. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  60. package/dist/default/index.js +13 -3
  61. package/dist/default/media/hls-video/index.js +5 -1
  62. package/dist/default/media/hls-video/index.js.map +1 -1
  63. package/dist/default/media/simple-hls-video/index.js +21 -0
  64. package/dist/default/media/simple-hls-video/index.js.map +1 -0
  65. package/dist/default/player/create-player.js.map +1 -1
  66. package/dist/default/presets/audio.js +3 -1
  67. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +58 -0
  68. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  69. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  70. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  71. package/dist/default/skins/dist/default/default/tailwind/components/button.js +12 -0
  72. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  73. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +8 -0
  74. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  75. package/dist/default/skins/dist/default/default/tailwind/components/error.js +15 -0
  76. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  77. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
  78. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
  79. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +10 -0
  80. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  81. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  82. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  83. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  84. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  85. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +13 -0
  86. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  87. package/dist/default/skins/dist/default/default/tailwind/components/root.js +8 -0
  88. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  89. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +11 -0
  90. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  91. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +21 -0
  92. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  93. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +8 -0
  94. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  95. package/dist/default/skins/dist/default/default/tailwind/components/time.js +10 -0
  96. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  97. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js +28 -0
  98. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js.map +1 -0
  99. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +55 -0
  100. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  101. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +44 -0
  102. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  103. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  104. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  105. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  106. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  107. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +12 -0
  108. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  109. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  110. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  111. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  112. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  113. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
  114. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
  115. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  116. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  117. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  118. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  119. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
  120. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  121. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  122. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  123. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  124. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  125. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  126. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  127. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  128. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  129. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js +28 -0
  130. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +1 -0
  131. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +44 -0
  132. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  133. package/dist/default/store/container-mixin.js +17 -3
  134. package/dist/default/store/container-mixin.js.map +1 -1
  135. package/dist/default/store/provider-mixin.js +2 -2
  136. package/dist/default/store/provider-mixin.js.map +1 -1
  137. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js +46 -0
  138. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js.map +1 -0
  139. package/dist/default/ui/alert-dialog/alert-dialog-description-element.js +26 -0
  140. package/dist/default/ui/alert-dialog/alert-dialog-description-element.js.map +1 -0
  141. package/dist/default/ui/alert-dialog/alert-dialog-element.js +73 -0
  142. package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -0
  143. package/dist/default/ui/alert-dialog/alert-dialog-title-element.js +26 -0
  144. package/dist/default/ui/alert-dialog/alert-dialog-title-element.js.map +1 -0
  145. package/dist/default/ui/alert-dialog/context.js +9 -0
  146. package/dist/default/ui/alert-dialog/context.js.map +1 -0
  147. package/dist/default/ui/captions-button/captions-button-element.js +25 -0
  148. package/dist/default/ui/captions-button/captions-button-element.js.map +1 -0
  149. package/dist/default/ui/controls/controls-group-element.js +1 -1
  150. package/dist/default/ui/media-element.js +3 -2
  151. package/dist/default/ui/media-element.js.map +1 -1
  152. package/dist/default/ui/popover/popover-element.js +9 -4
  153. package/dist/default/ui/popover/popover-element.js.map +1 -1
  154. package/dist/default/ui/slider/slider-element.js +12 -7
  155. package/dist/default/ui/slider/slider-element.js.map +1 -1
  156. package/dist/default/ui/slider/slider-preview-element.js +51 -0
  157. package/dist/default/ui/slider/slider-preview-element.js.map +1 -0
  158. package/dist/default/ui/slider/slider-thumbnail-element.js +23 -0
  159. package/dist/default/ui/slider/slider-thumbnail-element.js.map +1 -0
  160. package/dist/default/ui/thumbnail/thumbnail-element.js +4 -1
  161. package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -1
  162. package/dist/default/ui/time-slider/time-slider-element.js +12 -7
  163. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  164. package/dist/default/ui/tooltip/context.js +9 -0
  165. package/dist/default/ui/tooltip/context.js.map +1 -0
  166. package/dist/default/ui/tooltip/tooltip-element.js +154 -0
  167. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -0
  168. package/dist/default/ui/tooltip/tooltip-group-element.js +38 -0
  169. package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -0
  170. package/dist/default/ui/volume-slider/volume-slider-element.js +13 -8
  171. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  172. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +6 -0
  173. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -0
  174. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +6 -0
  175. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -0
  176. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +6 -0
  177. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -0
  178. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +6 -0
  179. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -0
  180. package/dist/dev/define/audio/minimal-skin.css +630 -5
  181. package/dist/dev/define/audio/minimal-skin.d.ts +6 -2
  182. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  183. package/dist/dev/define/audio/minimal-skin.js +97 -9
  184. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  185. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts +20 -0
  186. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -0
  187. package/dist/dev/define/audio/minimal-skin.tailwind.js +121 -0
  188. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -0
  189. package/dist/dev/define/audio/player.d.ts +0 -1
  190. package/dist/dev/define/audio/player.d.ts.map +1 -1
  191. package/dist/dev/define/audio/skin.css +655 -6
  192. package/dist/dev/define/audio/skin.d.ts +6 -2
  193. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  194. package/dist/dev/define/audio/skin.js +88 -9
  195. package/dist/dev/define/audio/skin.js.map +1 -1
  196. package/dist/dev/define/audio/skin.tailwind.d.ts +20 -0
  197. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -0
  198. package/dist/dev/define/audio/skin.tailwind.js +111 -0
  199. package/dist/dev/define/audio/skin.tailwind.js.map +1 -0
  200. package/dist/dev/define/background/player.d.ts +0 -1
  201. package/dist/dev/define/background/player.d.ts.map +1 -1
  202. package/dist/dev/define/media/simple-hls-video.d.ts +14 -0
  203. package/dist/dev/define/media/simple-hls-video.d.ts.map +1 -0
  204. package/dist/dev/define/media/simple-hls-video.js +13 -0
  205. package/dist/dev/define/media/simple-hls-video.js.map +1 -0
  206. package/dist/dev/define/skin-mixin.d.ts +12 -4
  207. package/dist/dev/define/skin-mixin.d.ts.map +1 -1
  208. package/dist/dev/define/skin-mixin.js +53 -19
  209. package/dist/dev/define/skin-mixin.js.map +1 -1
  210. package/dist/dev/define/ui/alert-dialog-close.d.ts +9 -0
  211. package/dist/dev/define/ui/alert-dialog-close.d.ts.map +1 -0
  212. package/dist/dev/define/ui/alert-dialog-close.js +8 -0
  213. package/dist/dev/define/ui/alert-dialog-close.js.map +1 -0
  214. package/dist/dev/define/ui/alert-dialog-description.d.ts +9 -0
  215. package/dist/dev/define/ui/alert-dialog-description.d.ts.map +1 -0
  216. package/dist/dev/define/ui/alert-dialog-description.js +8 -0
  217. package/dist/dev/define/ui/alert-dialog-description.js.map +1 -0
  218. package/dist/dev/define/ui/alert-dialog-title.d.ts +9 -0
  219. package/dist/dev/define/ui/alert-dialog-title.d.ts.map +1 -0
  220. package/dist/dev/define/ui/alert-dialog-title.js +8 -0
  221. package/dist/dev/define/ui/alert-dialog-title.js.map +1 -0
  222. package/dist/dev/define/ui/alert-dialog.d.ts +15 -0
  223. package/dist/dev/define/ui/alert-dialog.d.ts.map +1 -0
  224. package/dist/dev/define/ui/alert-dialog.js +14 -0
  225. package/dist/dev/define/ui/alert-dialog.js.map +1 -0
  226. package/dist/dev/define/ui/captions-button.d.ts +9 -0
  227. package/dist/dev/define/ui/captions-button.d.ts.map +1 -0
  228. package/dist/dev/define/ui/captions-button.js +7 -0
  229. package/dist/dev/define/ui/captions-button.js.map +1 -0
  230. package/dist/dev/define/ui/slider-thumbnail.d.ts +9 -0
  231. package/dist/dev/define/ui/slider-thumbnail.d.ts.map +1 -0
  232. package/dist/dev/define/ui/slider-thumbnail.js +8 -0
  233. package/dist/dev/define/ui/slider-thumbnail.js.map +1 -0
  234. package/dist/dev/define/ui/slider.d.ts.map +1 -1
  235. package/dist/dev/define/ui/slider.js +2 -0
  236. package/dist/dev/define/ui/slider.js.map +1 -1
  237. package/dist/dev/define/ui/time-slider.d.ts.map +1 -1
  238. package/dist/dev/define/ui/time-slider.js +4 -0
  239. package/dist/dev/define/ui/time-slider.js.map +1 -1
  240. package/dist/dev/define/ui/tooltip-group.d.ts +9 -0
  241. package/dist/dev/define/ui/tooltip-group.d.ts.map +1 -0
  242. package/dist/dev/define/ui/tooltip-group.js +8 -0
  243. package/dist/dev/define/ui/tooltip-group.js.map +1 -0
  244. package/dist/dev/define/ui/tooltip.d.ts +9 -0
  245. package/dist/dev/define/ui/tooltip.d.ts.map +1 -0
  246. package/dist/dev/define/ui/tooltip.js +8 -0
  247. package/dist/dev/define/ui/tooltip.js.map +1 -0
  248. package/dist/dev/define/ui/volume-slider.d.ts.map +1 -1
  249. package/dist/dev/define/ui/volume-slider.js +2 -0
  250. package/dist/dev/define/ui/volume-slider.js.map +1 -1
  251. package/dist/dev/define/video/minimal-skin.css +367 -256
  252. package/dist/dev/define/video/minimal-skin.d.ts +5 -14
  253. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  254. package/dist/dev/define/video/minimal-skin.js +46 -17
  255. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  256. package/dist/dev/define/video/minimal-skin.tailwind.d.ts +4 -14
  257. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  258. package/dist/dev/define/video/minimal-skin.tailwind.js +77 -31
  259. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  260. package/dist/dev/define/video/player.d.ts +0 -1
  261. package/dist/dev/define/video/player.d.ts.map +1 -1
  262. package/dist/dev/define/video/skin.css +395 -280
  263. package/dist/dev/define/video/skin.d.ts +5 -14
  264. package/dist/dev/define/video/skin.d.ts.map +1 -1
  265. package/dist/dev/define/video/skin.js +46 -15
  266. package/dist/dev/define/video/skin.js.map +1 -1
  267. package/dist/dev/define/video/skin.tailwind.d.ts +4 -14
  268. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  269. package/dist/dev/define/video/skin.tailwind.js +71 -28
  270. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  271. package/dist/dev/icons/dist/render/default/index.js +13 -13
  272. package/dist/dev/icons/dist/render/default/index.js.map +1 -1
  273. package/dist/dev/icons/dist/render/minimal/index.js +13 -13
  274. package/dist/dev/icons/dist/render/minimal/index.js.map +1 -1
  275. package/dist/dev/index.d.ts +15 -5
  276. package/dist/dev/index.js +13 -3
  277. package/dist/dev/media/container-element.d.ts +0 -1
  278. package/dist/dev/media/container-element.d.ts.map +1 -1
  279. package/dist/dev/media/hls-video/index.d.ts +1 -0
  280. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  281. package/dist/dev/media/hls-video/index.js +5 -1
  282. package/dist/dev/media/hls-video/index.js.map +1 -1
  283. package/dist/dev/media/simple-hls-video/index.d.ts +11 -0
  284. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -0
  285. package/dist/dev/media/simple-hls-video/index.js +21 -0
  286. package/dist/dev/media/simple-hls-video/index.js.map +1 -0
  287. package/dist/dev/player/create-player.d.ts +1 -1
  288. package/dist/dev/player/create-player.js.map +1 -1
  289. package/dist/dev/presets/audio.d.ts +3 -1
  290. package/dist/dev/presets/audio.js +3 -1
  291. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +58 -0
  292. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
  293. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +9 -0
  294. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
  295. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +12 -0
  296. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -0
  297. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +8 -0
  298. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
  299. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +15 -0
  300. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -0
  301. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
  302. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
  303. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +10 -0
  304. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
  305. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +8 -0
  306. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
  307. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
  308. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
  309. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +13 -0
  310. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
  311. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +8 -0
  312. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -0
  313. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +11 -0
  314. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
  315. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +21 -0
  316. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
  317. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +8 -0
  318. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
  319. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +10 -0
  320. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -0
  321. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js +28 -0
  322. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js.map +1 -0
  323. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +55 -0
  324. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
  325. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +44 -0
  326. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
  327. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
  328. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
  329. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
  330. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
  331. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +12 -0
  332. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
  333. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
  334. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
  335. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +15 -0
  336. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
  337. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
  338. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
  339. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
  340. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
  341. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
  342. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
  343. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
  344. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
  345. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +8 -0
  346. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
  347. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
  348. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
  349. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
  350. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
  351. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +14 -0
  352. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
  353. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js +28 -0
  354. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +1 -0
  355. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +44 -0
  356. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
  357. package/dist/dev/store/container-mixin.d.ts +1 -1
  358. package/dist/dev/store/container-mixin.js +17 -3
  359. package/dist/dev/store/container-mixin.js.map +1 -1
  360. package/dist/dev/store/provider-mixin.d.ts +1 -1
  361. package/dist/dev/store/provider-mixin.js +2 -2
  362. package/dist/dev/store/provider-mixin.js.map +1 -1
  363. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.d.ts +20 -0
  364. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.d.ts.map +1 -0
  365. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js +46 -0
  366. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js.map +1 -0
  367. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.d.ts +17 -0
  368. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.d.ts.map +1 -0
  369. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js +26 -0
  370. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js.map +1 -0
  371. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts +22 -0
  372. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -0
  373. package/dist/dev/ui/alert-dialog/alert-dialog-element.js +73 -0
  374. package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -0
  375. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.d.ts +17 -0
  376. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.d.ts.map +1 -0
  377. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js +26 -0
  378. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js.map +1 -0
  379. package/dist/dev/ui/alert-dialog/context.d.ts +14 -0
  380. package/dist/dev/ui/alert-dialog/context.d.ts.map +1 -0
  381. package/dist/dev/ui/alert-dialog/context.js +9 -0
  382. package/dist/dev/ui/alert-dialog/context.js.map +1 -0
  383. package/dist/dev/ui/captions-button/captions-button-element.d.ts +19 -0
  384. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -0
  385. package/dist/dev/ui/captions-button/captions-button-element.js +25 -0
  386. package/dist/dev/ui/captions-button/captions-button-element.js.map +1 -0
  387. package/dist/dev/ui/controls/controls-group-element.d.ts +1 -1
  388. package/dist/dev/ui/controls/controls-group-element.js +1 -1
  389. package/dist/dev/ui/media-element.d.ts +4 -1
  390. package/dist/dev/ui/media-element.d.ts.map +1 -1
  391. package/dist/dev/ui/media-element.js +3 -2
  392. package/dist/dev/ui/media-element.js.map +1 -1
  393. package/dist/dev/ui/popover/popover-element.d.ts +1 -0
  394. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  395. package/dist/dev/ui/popover/popover-element.js +9 -4
  396. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  397. package/dist/dev/ui/slider/slider-element.d.ts +1 -0
  398. package/dist/dev/ui/slider/slider-element.d.ts.map +1 -1
  399. package/dist/dev/ui/slider/slider-element.js +12 -7
  400. package/dist/dev/ui/slider/slider-element.js.map +1 -1
  401. package/dist/dev/ui/slider/slider-preview-element.js +51 -0
  402. package/dist/dev/ui/slider/slider-preview-element.js.map +1 -0
  403. package/dist/dev/ui/slider/slider-thumbnail-element.d.ts +12 -0
  404. package/dist/dev/ui/slider/slider-thumbnail-element.d.ts.map +1 -0
  405. package/dist/dev/ui/slider/slider-thumbnail-element.js +23 -0
  406. package/dist/dev/ui/slider/slider-thumbnail-element.js.map +1 -0
  407. package/dist/dev/ui/thumbnail/thumbnail-element.d.ts +1 -0
  408. package/dist/dev/ui/thumbnail/thumbnail-element.d.ts.map +1 -1
  409. package/dist/dev/ui/thumbnail/thumbnail-element.js +4 -1
  410. package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -1
  411. package/dist/dev/ui/time-slider/time-slider-element.d.ts +1 -0
  412. package/dist/dev/ui/time-slider/time-slider-element.d.ts.map +1 -1
  413. package/dist/dev/ui/time-slider/time-slider-element.js +12 -7
  414. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  415. package/dist/dev/ui/tooltip/context.d.ts +9 -0
  416. package/dist/dev/ui/tooltip/context.d.ts.map +1 -0
  417. package/dist/dev/ui/tooltip/context.js +9 -0
  418. package/dist/dev/ui/tooltip/context.js.map +1 -0
  419. package/dist/dev/ui/tooltip/tooltip-element.d.ts +54 -0
  420. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -0
  421. package/dist/dev/ui/tooltip/tooltip-element.js +154 -0
  422. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -0
  423. package/dist/dev/ui/tooltip/tooltip-group-element.d.ts +27 -0
  424. package/dist/dev/ui/tooltip/tooltip-group-element.d.ts.map +1 -0
  425. package/dist/dev/ui/tooltip/tooltip-group-element.js +38 -0
  426. package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -0
  427. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +1 -0
  428. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
  429. package/dist/dev/ui/volume-slider/volume-slider-element.js +13 -8
  430. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  431. package/package.json +8 -7
  432. package/dist/default/skins/dist/default/video/default.tailwind.js +0 -90
  433. package/dist/default/skins/dist/default/video/default.tailwind.js.map +0 -1
  434. package/dist/default/skins/dist/default/video/minimal.tailwind.js +0 -86
  435. package/dist/default/skins/dist/default/video/minimal.tailwind.js.map +0 -1
  436. package/dist/dev/skins/dist/default/video/default.tailwind.js +0 -90
  437. package/dist/dev/skins/dist/default/video/default.tailwind.js.map +0 -1
  438. package/dist/dev/skins/dist/default/video/minimal.tailwind.js +0 -86
  439. package/dist/dev/skins/dist/default/video/minimal.tailwind.js.map +0 -1
@@ -0,0 +1,20 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/slider.js
4
+ const slider = {
5
+ root: cn("group/slider relative flex flex-1 items-center justify-center rounded-full outline-none", "data-[orientation=horizontal]:min-w-20 data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-5", "data-[orientation=vertical]:w-5 data-[orientation=vertical]:h-[4.5rem]"),
6
+ track: cn("relative isolate overflow-hidden bg-current/20 rounded-[inherit] select-none", "data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-0.75", "data-[orientation=vertical]:w-0.75 data-[orientation=vertical]:h-full"),
7
+ fill: {
8
+ base: "absolute rounded-[inherit] pointer-events-none",
9
+ fill: cn("bg-current", "data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0", "data-[orientation=horizontal]:w-(--media-slider-fill,0)", "data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0", "data-[orientation=vertical]:h-(--media-slider-fill,0)"),
10
+ buffer: cn("bg-current/20 duration-250 ease-out", "data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0", "data-[orientation=horizontal]:transition-[width] data-[orientation=horizontal]:w-(--media-slider-buffer,0)", "data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0", "data-[orientation=vertical]:transition-[height] data-[orientation=vertical]:h-(--media-slider-buffer)")
11
+ },
12
+ thumb: {
13
+ base: cn("z-10 absolute size-3 -translate-x-1/2 -translate-y-1/2", "bg-current rounded-full", "shadow-[0_0_0_1px_var(--media-controls-current-shadow-color-subtle,oklch(0_0_0/0.1)),0_1px_3px_0_oklch(0_0_0/0.15),0_1px_2px_-1px_oklch(0_0_0/0.15)]", "transition-[opacity,scale,outline-offset] duration-150 ease-out select-none", "outline-2 outline-transparent -outline-offset-2", "focus-visible:outline-current focus-visible:outline-offset-2", "data-[orientation=horizontal]:top-1/2 data-[orientation=horizontal]:left-(--media-slider-fill,0)", "data-[orientation=vertical]:left-1/2 data-[orientation=vertical]:top-[calc(100%-var(--media-slider-fill,0))]"),
14
+ interactive: cn("opacity-0 scale-70 origin-center", "group-hover/slider:opacity-100 group-hover/slider:scale-100", "group-focus-within/slider:opacity-100 group-focus-within/slider:scale-100")
15
+ }
16
+ };
17
+
18
+ //#endregion
19
+ export { slider };
20
+ //# sourceMappingURL=slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/slider.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/slider.ts\nconst slider = {\n\troot: cn(\"group/slider relative flex flex-1 items-center justify-center rounded-full outline-none\", \"data-[orientation=horizontal]:min-w-20 data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-5\", \"data-[orientation=vertical]:w-5 data-[orientation=vertical]:h-[4.5rem]\"),\n\ttrack: cn(\"relative isolate overflow-hidden bg-current/20 rounded-[inherit] select-none\", \"data-[orientation=horizontal]:w-full data-[orientation=horizontal]:h-0.75\", \"data-[orientation=vertical]:w-0.75 data-[orientation=vertical]:h-full\"),\n\tfill: {\n\t\tbase: \"absolute rounded-[inherit] pointer-events-none\",\n\t\tfill: cn(\"bg-current\", \"data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0\", \"data-[orientation=horizontal]:w-(--media-slider-fill,0)\", \"data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0\", \"data-[orientation=vertical]:h-(--media-slider-fill,0)\"),\n\t\tbuffer: cn(\"bg-current/20 duration-250 ease-out\", \"data-[orientation=horizontal]:inset-y-0 data-[orientation=horizontal]:left-0\", \"data-[orientation=horizontal]:transition-[width] data-[orientation=horizontal]:w-(--media-slider-buffer,0)\", \"data-[orientation=vertical]:inset-x-0 data-[orientation=vertical]:bottom-0\", \"data-[orientation=vertical]:transition-[height] data-[orientation=vertical]:h-(--media-slider-buffer)\")\n\t},\n\tthumb: {\n\t\tbase: cn(\"z-10 absolute size-3 -translate-x-1/2 -translate-y-1/2\", \"bg-current rounded-full\", \"shadow-[0_0_0_1px_var(--media-controls-current-shadow-color-subtle,oklch(0_0_0/0.1)),0_1px_3px_0_oklch(0_0_0/0.15),0_1px_2px_-1px_oklch(0_0_0/0.15)]\", \"transition-[opacity,scale,outline-offset] duration-150 ease-out select-none\", \"outline-2 outline-transparent -outline-offset-2\", \"focus-visible:outline-current focus-visible:outline-offset-2\", \"data-[orientation=horizontal]:top-1/2 data-[orientation=horizontal]:left-(--media-slider-fill,0)\", \"data-[orientation=vertical]:left-1/2 data-[orientation=vertical]:top-[calc(100%-var(--media-slider-fill,0))]\"),\n\t\tinteractive: cn(\"opacity-0 scale-70 origin-center\", \"group-hover/slider:opacity-100 group-hover/slider:scale-100\", \"group-focus-within/slider:opacity-100 group-focus-within/slider:scale-100\")\n\t}\n};\n\n//#endregion\nexport { slider };\n//# sourceMappingURL=slider.js.map"],"mappings":";;;AAGA,MAAM,SAAS;CACd,MAAM,GAAG,2FAA2F,iHAAiH,yEAAyE;CAC9R,OAAO,GAAG,gFAAgF,6EAA6E,wEAAwE;CAC/O,MAAM;EACL,MAAM;EACN,MAAM,GAAG,cAAc,gFAAgF,2DAA2D,8EAA8E,wDAAwD;EACxS,QAAQ,GAAG,uCAAuC,gFAAgF,8GAA8G,8EAA8E,wGAAwG;EACta;CACD,OAAO;EACN,MAAM,GAAG,0DAA0D,2BAA2B,wJAAwJ,+EAA+E,mDAAmD,gEAAgE,oGAAoG,+GAA+G;EAC3oB,aAAa,GAAG,oCAAoC,+DAA+D,4EAA4E;EAC/L;CACD"}
@@ -0,0 +1,14 @@
1
+ import { cn } from "@videojs/utils/style";
2
+
3
+ //#region ../skins/dist/default/minimal/tailwind/components/time.js
4
+ const time = {
5
+ group: "flex items-center gap-1",
6
+ current: cn("hidden tabular-nums", "@md/media-controls:inline"),
7
+ separator: cn("hidden", "@md/media-controls:inline @md/media-controls:text-white/50"),
8
+ duration: cn("tabular-nums", "@md/media-controls:text-current/60"),
9
+ controls: cn("flex flex-row-reverse items-center flex-1 gap-3", "@md/media-controls:flex-row")
10
+ };
11
+
12
+ //#endregion
13
+ export { time };
14
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/time.js"],"sourcesContent":["import { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/components/time.ts\nconst time = {\n\tgroup: \"flex items-center gap-1\",\n\tcurrent: cn(\"hidden tabular-nums\", \"@md/media-controls:inline\"),\n\tseparator: cn(\"hidden\", \"@md/media-controls:inline @md/media-controls:text-white/50\"),\n\tduration: cn(\"tabular-nums\", \"@md/media-controls:text-current/60\"),\n\tcontrols: cn(\"flex flex-row-reverse items-center flex-1 gap-3\", \"@md/media-controls:flex-row\")\n};\n\n//#endregion\nexport { time };\n//# sourceMappingURL=time.js.map"],"mappings":";;;AAGA,MAAM,OAAO;CACZ,OAAO;CACP,SAAS,GAAG,uBAAuB,4BAA4B;CAC/D,WAAW,GAAG,UAAU,6DAA6D;CACrF,UAAU,GAAG,gBAAgB,qCAAqC;CAClE,UAAU,GAAG,mDAAmD,8BAA8B;CAC9F"}
@@ -0,0 +1,28 @@
1
+ //#region ../skins/dist/default/minimal/tailwind/components/tooltip-state.js
2
+ const tooltipState = {
3
+ play: {
4
+ wrapper: "contents group/play-tip",
5
+ replay: "hidden group-has-data-ended/play-tip:block",
6
+ play: "hidden group-[:has([data-paused]):not(:has([data-ended]))]/play-tip:block",
7
+ pause: "hidden group-[:not(:has([data-paused])):not(:has([data-ended]))]/play-tip:block"
8
+ },
9
+ fullscreen: {
10
+ wrapper: "contents group/fullscreen-tip",
11
+ enter: "hidden group-[:not(:has([data-fullscreen]))]/fullscreen-tip:block",
12
+ exit: "hidden group-has-data-fullscreen/fullscreen-tip:block"
13
+ },
14
+ captions: {
15
+ wrapper: "contents group/captions-tip",
16
+ enable: "hidden group-[:not(:has([data-active]))]/captions-tip:block",
17
+ disable: "hidden group-has-data-active/captions-tip:block"
18
+ },
19
+ pip: {
20
+ wrapper: "contents group/pip-tip",
21
+ enter: "hidden group-[:not(:has([data-pip]))]/pip-tip:block",
22
+ exit: "hidden group-has-data-pip/pip-tip:block"
23
+ }
24
+ };
25
+
26
+ //#endregion
27
+ export { tooltipState };
28
+ //# sourceMappingURL=tooltip-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-state.js","names":[],"sources":["../../../../../../../../../skins/dist/default/minimal/tailwind/components/tooltip-state.js"],"sourcesContent":["//#region src/minimal/tailwind/components/tooltip-state.ts\nconst tooltipState = {\n\tplay: {\n\t\twrapper: \"contents group/play-tip\",\n\t\treplay: \"hidden group-has-data-ended/play-tip:block\",\n\t\tplay: \"hidden group-[:has([data-paused]):not(:has([data-ended]))]/play-tip:block\",\n\t\tpause: \"hidden group-[:not(:has([data-paused])):not(:has([data-ended]))]/play-tip:block\"\n\t},\n\tfullscreen: {\n\t\twrapper: \"contents group/fullscreen-tip\",\n\t\tenter: \"hidden group-[:not(:has([data-fullscreen]))]/fullscreen-tip:block\",\n\t\texit: \"hidden group-has-data-fullscreen/fullscreen-tip:block\"\n\t},\n\tcaptions: {\n\t\twrapper: \"contents group/captions-tip\",\n\t\tenable: \"hidden group-[:not(:has([data-active]))]/captions-tip:block\",\n\t\tdisable: \"hidden group-has-data-active/captions-tip:block\"\n\t},\n\tpip: {\n\t\twrapper: \"contents group/pip-tip\",\n\t\tenter: \"hidden group-[:not(:has([data-pip]))]/pip-tip:block\",\n\t\texit: \"hidden group-has-data-pip/pip-tip:block\"\n\t}\n};\n\n//#endregion\nexport { tooltipState };\n//# sourceMappingURL=tooltip-state.js.map"],"mappings":";AACA,MAAM,eAAe;CACpB,MAAM;EACL,SAAS;EACT,QAAQ;EACR,MAAM;EACN,OAAO;EACP;CACD,YAAY;EACX,SAAS;EACT,OAAO;EACP,MAAM;EACN;CACD,UAAU;EACT,SAAS;EACT,QAAQ;EACR,SAAS;EACT;CACD,KAAK;EACJ,SAAS;EACT,OAAO;EACP,MAAM;EACN;CACD"}
@@ -0,0 +1,44 @@
1
+ import { controls as controls$1 } from "./components/controls.js";
2
+ import { popup as popup$1 } from "./components/popup.js";
3
+ import { root as root$1 } from "./components/root.js";
4
+ import { bufferingIndicator } from "./components/buffering.js";
5
+ import { button } from "./components/button.js";
6
+ import { buttonGroup } from "./components/button-group.js";
7
+ import { error } from "./components/error.js";
8
+ import { icon, iconContainer, iconFlipped } from "./components/icon.js";
9
+ import { seek } from "./components/seek.js";
10
+ import { slider as slider$1 } from "./components/slider.js";
11
+ import { time } from "./components/time.js";
12
+ import { iconState } from "./components/icon-state.js";
13
+ import { overlay } from "./components/overlay.js";
14
+ import { tooltipState } from "./components/tooltip-state.js";
15
+ import { cn } from "@videojs/utils/style";
16
+
17
+ //#region ../skins/dist/default/minimal/tailwind/video.tailwind.js
18
+ const root = (isShadowDOM) => cn(root$1, "bg-black", "after:absolute after:pointer-events-none after:rounded-[inherit] after:z-10", "after:inset-0 after:ring-1 after:ring-inset after:ring-black/15", "dark:after:ring-white/15", {
19
+ "[&_::slotted(video)]:block [&_::slotted(video)]:w-full [&_::slotted(video)]:h-full [&_::slotted(video)]:rounded-(--media-border-radius,0.75rem)": isShadowDOM,
20
+ "[&_video]:block [&_video]:w-full [&_video]:h-full [&_video]:rounded-[inherit]": !isShadowDOM
21
+ }, "[&>img]:absolute [&>img]:inset-0 [&>img]:w-full [&>img]:h-full [&>img]:rounded-[inherit]", "[&>img]:object-cover [&>img]:pointer-events-none", "[&>img]:transition-opacity [&>img]:duration-250", "[&>img:not([data-visible])]:opacity-0", "[--media-caption-track-delay:600ms]", "[--media-caption-track-y:-0.5rem]", "has-[[data-controls][data-visible]]:[--media-caption-track-delay:25ms]", "has-[[data-controls][data-visible]]:[--media-caption-track-y:-3.5rem]", !isShadowDOM ? [
22
+ "[&_video::-webkit-media-text-track-container]:transition-transform",
23
+ "[&_video::-webkit-media-text-track-container]:duration-150",
24
+ "[&_video::-webkit-media-text-track-container]:ease-out",
25
+ "[&_video::-webkit-media-text-track-container]:delay-(--media-caption-track-delay)",
26
+ "[&_video::-webkit-media-text-track-container]:translate-y-(--media-caption-track-y)",
27
+ "[&_video::-webkit-media-text-track-container]:scale-98",
28
+ "[&_video::-webkit-media-text-track-container]:z-1",
29
+ "[&_video::-webkit-media-text-track-container]:font-[inherit]",
30
+ "motion-reduce:[&_video::-webkit-media-text-track-container]:duration-50"
31
+ ] : [], "[&:fullscreen]:rounded-none");
32
+ const controls = cn(controls$1, "absolute bottom-0 inset-x-0", "pt-8 px-1.5 pb-1.5 gap-2", "text-white z-10", "will-change-[translate,filter,opacity]", "transition-[translate,filter,opacity] ease-out", "delay-0 duration-75", "not-data-visible:opacity-0 not-data-visible:translate-y-full", "not-data-visible:blur-sm not-data-visible:pointer-events-none", "not-data-visible:delay-500 not-data-visible:duration-500", "motion-reduce:not-data-visible:duration-100", "motion-reduce:not-data-visible:translate-y-0", "motion-reduce:not-data-visible:blur-none motion-reduce:not-data-visible:scale-100", "@sm/media-root:pt-10 @sm/media-root:px-3 @sm/media-root:pb-3", "@sm/media-root:gap-3.5");
33
+ const slider = {
34
+ ...slider$1,
35
+ track: cn(slider$1.track, "shadow-[0_0_0_1px_oklch(0_0_0/0.05)]")
36
+ };
37
+ const popup = {
38
+ ...popup$1,
39
+ volume: cn("[--media-popover-side-offset:0.5rem] p-1 bg-transparent")
40
+ };
41
+
42
+ //#endregion
43
+ export { controls, popup, root, slider };
44
+ //# sourceMappingURL=video.tailwind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.tailwind.js","names":[],"sources":["../../../../../../../../skins/dist/default/minimal/tailwind/video.tailwind.js"],"sourcesContent":["import { controls as controls$1 } from \"./components/controls.js\";\nimport { popup as popup$1 } from \"./components/popup.js\";\nimport { root as root$1 } from \"./components/root.js\";\nimport { bufferingIndicator } from \"./components/buffering.js\";\nimport { button } from \"./components/button.js\";\nimport { buttonGroup } from \"./components/button-group.js\";\nimport { error } from \"./components/error.js\";\nimport { icon, iconContainer, iconFlipped, iconHidden } from \"./components/icon.js\";\nimport { seek } from \"./components/seek.js\";\nimport { slider as slider$1 } from \"./components/slider.js\";\nimport { time } from \"./components/time.js\";\nimport { captions } from \"./components/captions.js\";\nimport { iconState } from \"./components/icon-state.js\";\nimport { overlay } from \"./components/overlay.js\";\nimport { tooltipState } from \"./components/tooltip-state.js\";\nimport { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/video.tailwind.ts\nconst root = (isShadowDOM) => cn(root$1, \"bg-black\", \"after:absolute after:pointer-events-none after:rounded-[inherit] after:z-10\", \"after:inset-0 after:ring-1 after:ring-inset after:ring-black/15\", \"dark:after:ring-white/15\", {\n\t\"[&_::slotted(video)]:block [&_::slotted(video)]:w-full [&_::slotted(video)]:h-full [&_::slotted(video)]:rounded-(--media-border-radius,0.75rem)\": isShadowDOM,\n\t\"[&_video]:block [&_video]:w-full [&_video]:h-full [&_video]:rounded-[inherit]\": !isShadowDOM\n}, \"[&>img]:absolute [&>img]:inset-0 [&>img]:w-full [&>img]:h-full [&>img]:rounded-[inherit]\", \"[&>img]:object-cover [&>img]:pointer-events-none\", \"[&>img]:transition-opacity [&>img]:duration-250\", \"[&>img:not([data-visible])]:opacity-0\", \"[--media-caption-track-delay:600ms]\", \"[--media-caption-track-y:-0.5rem]\", \"has-[[data-controls][data-visible]]:[--media-caption-track-delay:25ms]\", \"has-[[data-controls][data-visible]]:[--media-caption-track-y:-3.5rem]\", !isShadowDOM ? [\n\t\"[&_video::-webkit-media-text-track-container]:transition-transform\",\n\t\"[&_video::-webkit-media-text-track-container]:duration-150\",\n\t\"[&_video::-webkit-media-text-track-container]:ease-out\",\n\t\"[&_video::-webkit-media-text-track-container]:delay-(--media-caption-track-delay)\",\n\t\"[&_video::-webkit-media-text-track-container]:translate-y-(--media-caption-track-y)\",\n\t\"[&_video::-webkit-media-text-track-container]:scale-98\",\n\t\"[&_video::-webkit-media-text-track-container]:z-1\",\n\t\"[&_video::-webkit-media-text-track-container]:font-[inherit]\",\n\t\"motion-reduce:[&_video::-webkit-media-text-track-container]:duration-50\"\n] : [], \"[&:fullscreen]:rounded-none\");\nconst controls = cn(controls$1, \"absolute bottom-0 inset-x-0\", \"pt-8 px-1.5 pb-1.5 gap-2\", \"text-white z-10\", \"will-change-[translate,filter,opacity]\", \"transition-[translate,filter,opacity] ease-out\", \"delay-0 duration-75\", \"not-data-visible:opacity-0 not-data-visible:translate-y-full\", \"not-data-visible:blur-sm not-data-visible:pointer-events-none\", \"not-data-visible:delay-500 not-data-visible:duration-500\", \"motion-reduce:not-data-visible:duration-100\", \"motion-reduce:not-data-visible:translate-y-0\", \"motion-reduce:not-data-visible:blur-none motion-reduce:not-data-visible:scale-100\", \"@sm/media-root:pt-10 @sm/media-root:px-3 @sm/media-root:pb-3\", \"@sm/media-root:gap-3.5\");\nconst slider = {\n\t...slider$1,\n\ttrack: cn(slider$1.track, \"shadow-[0_0_0_1px_oklch(0_0_0/0.05)]\")\n};\nconst popup = {\n\t...popup$1,\n\tvolume: cn(\"[--media-popover-side-offset:0.5rem] p-1 bg-transparent\")\n};\n\n//#endregion\nexport { bufferingIndicator, button, buttonGroup, captions, controls, error, icon, iconContainer, iconFlipped, iconHidden, iconState, overlay, popup, root, seek, slider, time, tooltipState };\n//# sourceMappingURL=video.tailwind.js.map"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,MAAM,QAAQ,gBAAgB,GAAG,QAAQ,YAAY,+EAA+E,mEAAmE,4BAA4B;CAClO,mJAAmJ;CACnJ,iFAAiF,CAAC;CAClF,EAAE,4FAA4F,oDAAoD,mDAAmD,yCAAyC,uCAAuC,qCAAqC,0EAA0E,yEAAyE,CAAC,cAAc;CAC5d;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG,EAAE,EAAE,8BAA8B;AACtC,MAAM,WAAW,GAAG,YAAY,+BAA+B,4BAA4B,mBAAmB,0CAA0C,kDAAkD,uBAAuB,gEAAgE,iEAAiE,4DAA4D,+CAA+C,gDAAgD,qFAAqF,gEAAgE,yBAAyB;AAC3qB,MAAM,SAAS;CACd,GAAG;CACH,OAAO,GAAG,SAAS,OAAO,uCAAuC;CACjE;AACD,MAAM,QAAQ;CACb,GAAG;CACH,QAAQ,GAAG,0DAA0D;CACrE"}
@@ -1,5 +1,5 @@
1
- import { MediaElementConstructor } from "../ui/media-element.js";
2
1
  import { PlayerContext } from "../player/context.js";
2
+ import { MediaElementConstructor } from "../ui/media-element.js";
3
3
  import { PlayerConsumerConstructor } from "./types.js";
4
4
  import { PlayerStore } from "@videojs/core/dom";
5
5
 
@@ -34,20 +34,33 @@ function createContainerMixin(context) {
34
34
  });
35
35
  this.#observer.observe(this, {
36
36
  childList: true,
37
- subtree: true
37
+ subtree: true,
38
+ attributes: true,
39
+ attributeFilter: ["data-media-element"]
38
40
  });
41
+ this.addEventListener("slotchange", this.#onSlotChange);
39
42
  this.#attachMedia();
40
43
  }
41
44
  disconnectedCallback() {
42
45
  super.disconnectedCallback();
43
46
  this.#observer?.disconnect();
44
47
  this.#observer = null;
48
+ this.removeEventListener("slotchange", this.#onSlotChange);
45
49
  this.#detach();
46
50
  }
51
+ #onSlotChange = () => {
52
+ this.#attachMedia();
53
+ };
54
+ #getSlottedMedia() {
55
+ const slot = this.querySelector("slot[name=\"media\"]");
56
+ if (!slot) return null;
57
+ for (const el of slot.assignedElements({ flatten: true })) if (el instanceof HTMLMediaElement) return el;
58
+ return null;
59
+ }
47
60
  #attachMedia() {
48
61
  const store = this.#contextStore ?? this.store;
49
62
  if (!store) return;
50
- const media = this.querySelector("video, audio");
63
+ const media = this.querySelector("video, audio, [data-media-element]") ?? this.#getSlottedMedia();
51
64
  if (!media) {
52
65
  this.#detach();
53
66
  this.#detach = noop;
@@ -68,9 +81,10 @@ function createContainerMixin(context) {
68
81
  };
69
82
  }
70
83
  function isMediaNode(node) {
71
- return node instanceof HTMLMediaElement;
84
+ return node instanceof HTMLMediaElement || node instanceof Element && node.hasAttribute("data-media-element");
72
85
  }
73
86
  function hasMediaNode(record) {
87
+ if (record.type === "attributes" && record.target instanceof Element) return record.target.hasAttribute("data-media-element");
74
88
  for (const node of record.addedNodes) if (isMediaNode(node)) return true;
75
89
  for (const node of record.removedNodes) if (isMediaNode(node)) return true;
76
90
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"container-mixin.js","names":["#contextStore","#attachMedia","#observer","#detach"],"sources":["../../../src/store/container-mixin.ts"],"sourcesContent":["import type { MediaContainer, PlayerStore, PlayerTarget } from '@videojs/core/dom';\nimport { ContextConsumer } from '@videojs/element/context';\nimport { noop } from '@videojs/utils/function';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport type { PlayerContext } from '../player/context';\nimport type { PlayerConsumer, PlayerConsumerConstructor } from './types';\n\nexport type ContainerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerConsumerConstructor<Store>;\n\n/**\n * Create a mixin that consumes player context and auto-attaches media elements.\n *\n * @param context - Player context to consume from an ancestor provider.\n */\nexport function createContainerMixin<Store extends PlayerStore>(context: PlayerContext<Store>): ContainerMixin<Store> {\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerContainerElement extends BaseClass implements PlayerConsumer<Store>, MediaContainer {\n #detach = noop;\n #observer: MutationObserver | null = null;\n #contextStore: Store | null = null;\n\n constructor(...args: any[]) {\n super(...args);\n\n // Created in the constructor body (after all field initializers) so\n // that #contextStore's private slot exists if the callback fires\n // synchronously — which happens when the element is already connected.\n // The host's controller list keeps the consumer alive; no field needed.\n new ContextConsumer(this, {\n context,\n callback: (value) => {\n this.#contextStore = value ?? null;\n this.#attachMedia();\n },\n subscribe: true,\n });\n }\n\n get store(): Store | null {\n return this.#contextStore;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.#observer = new MutationObserver((records) => {\n if (records.some(hasMediaNode)) this.#attachMedia();\n });\n\n this.#observer.observe(this, { childList: true, subtree: true });\n\n this.#attachMedia();\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.#observer?.disconnect();\n this.#observer = null;\n this.#detach();\n }\n\n #attachMedia() {\n // Prefer the cached context value; fall back to `this.store` which\n // ProviderMixin overrides when both mixins are applied to one element.\n const store = this.#contextStore ?? this.store;\n if (!store) return;\n\n const media = this.querySelector<HTMLMediaElement>('video, audio');\n\n if (!media) {\n this.#detach();\n this.#detach = noop;\n return;\n }\n\n const target: PlayerTarget = {\n media,\n container: this,\n };\n\n const hasMediaChanged = store.target?.media !== target.media,\n hasContainerChanged = store.target?.container !== target.container;\n\n if (hasMediaChanged || hasContainerChanged) {\n this.#detach();\n this.#detach = store.attach(target);\n }\n }\n }\n\n return PlayerContainerElement;\n };\n}\n\nfunction isMediaNode(node: Node): boolean {\n return node instanceof HTMLMediaElement;\n}\n\nfunction hasMediaNode(record: MutationRecord): boolean {\n for (const node of record.addedNodes) {\n if (isMediaNode(node)) return true;\n }\n\n for (const node of record.removedNodes) {\n if (isMediaNode(node)) return true;\n }\n\n return false;\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,qBAAgD,SAAsD;AACpH,SAA+C,cAAqB;EAClE,MAAM,+BAA+B,UAA2D;GAC9F,UAAU;GACV,YAAqC;GACrC,gBAA8B;GAE9B,YAAY,GAAG,MAAa;AAC1B,UAAM,GAAG,KAAK;AAMd,QAAI,gBAAgB,MAAM;KACxB;KACA,WAAW,UAAU;AACnB,YAAKA,eAAgB,SAAS;AAC9B,YAAKC,aAAc;;KAErB,WAAW;KACZ,CAAC;;GAGJ,IAAI,QAAsB;AACxB,WAAO,MAAKD;;GAGd,AAAS,oBAAoB;AAC3B,UAAM,mBAAmB;AAEzB,UAAKE,WAAY,IAAI,kBAAkB,YAAY;AACjD,SAAI,QAAQ,KAAK,aAAa,CAAE,OAAKD,aAAc;MACnD;AAEF,UAAKC,SAAU,QAAQ,MAAM;KAAE,WAAW;KAAM,SAAS;KAAM,CAAC;AAEhE,UAAKD,aAAc;;GAGrB,AAAS,uBAAuB;AAC9B,UAAM,sBAAsB;AAC5B,UAAKC,UAAW,YAAY;AAC5B,UAAKA,WAAY;AACjB,UAAKC,QAAS;;GAGhB,eAAe;IAGb,MAAM,QAAQ,MAAKH,gBAAiB,KAAK;AACzC,QAAI,CAAC,MAAO;IAEZ,MAAM,QAAQ,KAAK,cAAgC,eAAe;AAElE,QAAI,CAAC,OAAO;AACV,WAAKG,QAAS;AACd,WAAKA,SAAU;AACf;;IAGF,MAAM,SAAuB;KAC3B;KACA,WAAW;KACZ;IAED,MAAM,kBAAkB,MAAM,QAAQ,UAAU,OAAO,OACrD,sBAAsB,MAAM,QAAQ,cAAc,OAAO;AAE3D,QAAI,mBAAmB,qBAAqB;AAC1C,WAAKA,QAAS;AACd,WAAKA,SAAU,MAAM,OAAO,OAAO;;;;AAKzC,SAAO;;;AAIX,SAAS,YAAY,MAAqB;AACxC,QAAO,gBAAgB;;AAGzB,SAAS,aAAa,QAAiC;AACrD,MAAK,MAAM,QAAQ,OAAO,WACxB,KAAI,YAAY,KAAK,CAAE,QAAO;AAGhC,MAAK,MAAM,QAAQ,OAAO,aACxB,KAAI,YAAY,KAAK,CAAE,QAAO;AAGhC,QAAO"}
1
+ {"version":3,"file":"container-mixin.js","names":["#contextStore","#attachMedia","#observer","#onSlotChange","#detach","#getSlottedMedia"],"sources":["../../../src/store/container-mixin.ts"],"sourcesContent":["import type { MediaContainer, PlayerStore, PlayerTarget } from '@videojs/core/dom';\nimport { ContextConsumer } from '@videojs/element/context';\nimport { noop } from '@videojs/utils/function';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport type { PlayerContext } from '../player/context';\nimport type { PlayerConsumer, PlayerConsumerConstructor } from './types';\n\nexport type ContainerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerConsumerConstructor<Store>;\n\n/**\n * Create a mixin that consumes player context and auto-attaches media elements.\n *\n * @param context - Player context to consume from an ancestor provider.\n */\nexport function createContainerMixin<Store extends PlayerStore>(context: PlayerContext<Store>): ContainerMixin<Store> {\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerContainerElement extends BaseClass implements PlayerConsumer<Store>, MediaContainer {\n #detach = noop;\n #observer: MutationObserver | null = null;\n #contextStore: Store | null = null;\n\n constructor(...args: any[]) {\n super(...args);\n\n // Created in the constructor body (after all field initializers) so\n // that #contextStore's private slot exists if the callback fires\n // synchronously — which happens when the element is already connected.\n // The host's controller list keeps the consumer alive; no field needed.\n new ContextConsumer(this, {\n context,\n callback: (value) => {\n this.#contextStore = value ?? null;\n this.#attachMedia();\n },\n subscribe: true,\n });\n }\n\n get store(): Store | null {\n return this.#contextStore;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.#observer = new MutationObserver((records) => {\n if (records.some(hasMediaNode)) this.#attachMedia();\n });\n\n this.#observer.observe(this, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-media-element'],\n });\n\n // Slotted media elements don't appear in the container's subtree,\n // so listen for slot reassignments to pick them up.\n this.addEventListener('slotchange', this.#onSlotChange);\n\n this.#attachMedia();\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.#observer?.disconnect();\n this.#observer = null;\n this.removeEventListener('slotchange', this.#onSlotChange);\n this.#detach();\n }\n\n #onSlotChange = () => {\n this.#attachMedia();\n };\n\n #getSlottedMedia(): HTMLMediaElement | null {\n const slot = this.querySelector<HTMLSlotElement>('slot[name=\"media\"]');\n if (!slot) return null;\n\n for (const el of slot.assignedElements({ flatten: true })) {\n if (el instanceof HTMLMediaElement) return el;\n }\n\n return null;\n }\n\n #attachMedia() {\n // Prefer the cached context value; fall back to `this.store` which\n // ProviderMixin overrides when both mixins are applied to one element.\n const store = this.#contextStore ?? this.store;\n if (!store) return;\n\n const media =\n this.querySelector<HTMLMediaElement>('video, audio, [data-media-element]') ?? this.#getSlottedMedia();\n\n if (!media) {\n this.#detach();\n this.#detach = noop;\n return;\n }\n\n const target: PlayerTarget = {\n media,\n container: this,\n };\n\n const hasMediaChanged = store.target?.media !== target.media,\n hasContainerChanged = store.target?.container !== target.container;\n\n if (hasMediaChanged || hasContainerChanged) {\n this.#detach();\n this.#detach = store.attach(target);\n }\n }\n }\n\n return PlayerContainerElement;\n };\n}\n\nfunction isMediaNode(node: Node): boolean {\n return node instanceof HTMLMediaElement || (node instanceof Element && node.hasAttribute('data-media-element'));\n}\n\nfunction hasMediaNode(record: MutationRecord): boolean {\n // Attribute mutation: data-media-element was added to a descendant\n if (record.type === 'attributes' && record.target instanceof Element) {\n return record.target.hasAttribute('data-media-element');\n }\n\n for (const node of record.addedNodes) {\n if (isMediaNode(node)) return true;\n }\n\n for (const node of record.removedNodes) {\n if (isMediaNode(node)) return true;\n }\n\n return false;\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,qBAAgD,SAAsD;AACpH,SAA+C,cAAqB;EAClE,MAAM,+BAA+B,UAA2D;GAC9F,UAAU;GACV,YAAqC;GACrC,gBAA8B;GAE9B,YAAY,GAAG,MAAa;AAC1B,UAAM,GAAG,KAAK;AAMd,QAAI,gBAAgB,MAAM;KACxB;KACA,WAAW,UAAU;AACnB,YAAKA,eAAgB,SAAS;AAC9B,YAAKC,aAAc;;KAErB,WAAW;KACZ,CAAC;;GAGJ,IAAI,QAAsB;AACxB,WAAO,MAAKD;;GAGd,AAAS,oBAAoB;AAC3B,UAAM,mBAAmB;AAEzB,UAAKE,WAAY,IAAI,kBAAkB,YAAY;AACjD,SAAI,QAAQ,KAAK,aAAa,CAAE,OAAKD,aAAc;MACnD;AAEF,UAAKC,SAAU,QAAQ,MAAM;KAC3B,WAAW;KACX,SAAS;KACT,YAAY;KACZ,iBAAiB,CAAC,qBAAqB;KACxC,CAAC;AAIF,SAAK,iBAAiB,cAAc,MAAKC,aAAc;AAEvD,UAAKF,aAAc;;GAGrB,AAAS,uBAAuB;AAC9B,UAAM,sBAAsB;AAC5B,UAAKC,UAAW,YAAY;AAC5B,UAAKA,WAAY;AACjB,SAAK,oBAAoB,cAAc,MAAKC,aAAc;AAC1D,UAAKC,QAAS;;GAGhB,sBAAsB;AACpB,UAAKH,aAAc;;GAGrB,mBAA4C;IAC1C,MAAM,OAAO,KAAK,cAA+B,uBAAqB;AACtE,QAAI,CAAC,KAAM,QAAO;AAElB,SAAK,MAAM,MAAM,KAAK,iBAAiB,EAAE,SAAS,MAAM,CAAC,CACvD,KAAI,cAAc,iBAAkB,QAAO;AAG7C,WAAO;;GAGT,eAAe;IAGb,MAAM,QAAQ,MAAKD,gBAAiB,KAAK;AACzC,QAAI,CAAC,MAAO;IAEZ,MAAM,QACJ,KAAK,cAAgC,qCAAqC,IAAI,MAAKK,iBAAkB;AAEvG,QAAI,CAAC,OAAO;AACV,WAAKD,QAAS;AACd,WAAKA,SAAU;AACf;;IAGF,MAAM,SAAuB;KAC3B;KACA,WAAW;KACZ;IAED,MAAM,kBAAkB,MAAM,QAAQ,UAAU,OAAO,OACrD,sBAAsB,MAAM,QAAQ,cAAc,OAAO;AAE3D,QAAI,mBAAmB,qBAAqB;AAC1C,WAAKA,QAAS;AACd,WAAKA,SAAU,MAAM,OAAO,OAAO;;;;AAKzC,SAAO;;;AAIX,SAAS,YAAY,MAAqB;AACxC,QAAO,gBAAgB,oBAAqB,gBAAgB,WAAW,KAAK,aAAa,qBAAqB;;AAGhH,SAAS,aAAa,QAAiC;AAErD,KAAI,OAAO,SAAS,gBAAgB,OAAO,kBAAkB,QAC3D,QAAO,OAAO,OAAO,aAAa,qBAAqB;AAGzD,MAAK,MAAM,QAAQ,OAAO,WACxB,KAAI,YAAY,KAAK,CAAE,QAAO;AAGhC,MAAK,MAAM,QAAQ,OAAO,aACxB,KAAI,YAAY,KAAK,CAAE,QAAO;AAGhC,QAAO"}
@@ -1,5 +1,5 @@
1
- import { MediaElementConstructor } from "../ui/media-element.js";
2
1
  import { PlayerContext } from "../player/context.js";
2
+ import { MediaElementConstructor } from "../ui/media-element.js";
3
3
  import { PlayerProviderConstructor } from "./types.js";
4
4
  import { PlayerStore } from "@videojs/core/dom";
5
5
 
@@ -24,10 +24,10 @@ function createProviderMixin(context, factory) {
24
24
  super.connectedCallback();
25
25
  this.#provider.setValue(this.store);
26
26
  }
27
- disconnectedCallback() {
28
- super.disconnectedCallback();
27
+ destroyCallback() {
29
28
  this.#store?.destroy();
30
29
  this.#store = null;
30
+ super.destroyCallback();
31
31
  }
32
32
  }
33
33
  return PlayerProviderElement;
@@ -1 +1 @@
1
- {"version":3,"file":"provider-mixin.js","names":["#store","#provider"],"sources":["../../../src/store/provider-mixin.ts"],"sourcesContent":["import type { PlayerStore } from '@videojs/core/dom';\nimport { ContextProvider } from '@videojs/element/context';\nimport { isNull } from '@videojs/utils/predicate';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport type { PlayerContext } from '../player/context';\nimport type { PlayerProvider, PlayerProviderConstructor } from './types';\n\nexport type ProviderMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerProviderConstructor<Store>;\n\n/**\n * Create a mixin that provides player context to descendant elements.\n *\n * @param context - Player context to provide to descendants.\n * @param factory - Factory function that creates a store instance.\n */\nexport function createProviderMixin<Store extends PlayerStore>(\n context: PlayerContext<Store>,\n factory: () => Store\n): ProviderMixin<Store> {\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerProviderElement extends BaseClass implements PlayerProvider<Store> {\n #store: Store | null = factory();\n\n #provider = new ContextProvider(this, {\n context,\n initialValue: this.store,\n });\n\n get store(): Store {\n if (isNull(this.#store)) {\n this.#store = factory();\n }\n\n return this.#store;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.#provider.setValue(this.store);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.#store?.destroy();\n this.#store = null;\n }\n }\n\n return PlayerProviderElement;\n };\n}\n"],"mappings":";;;;;;;;;;AAiBA,SAAgB,oBACd,SACA,SACsB;AACtB,SAA+C,cAAqB;EAClE,MAAM,8BAA8B,UAA2C;GAC7E,SAAuB,SAAS;GAEhC,YAAY,IAAI,gBAAgB,MAAM;IACpC;IACA,cAAc,KAAK;IACpB,CAAC;GAEF,IAAI,QAAe;AACjB,QAAI,OAAO,MAAKA,MAAO,CACrB,OAAKA,QAAS,SAAS;AAGzB,WAAO,MAAKA;;GAGd,AAAS,oBAAoB;AAC3B,UAAM,mBAAmB;AACzB,UAAKC,SAAU,SAAS,KAAK,MAAM;;GAGrC,AAAS,uBAAuB;AAC9B,UAAM,sBAAsB;AAC5B,UAAKD,OAAQ,SAAS;AACtB,UAAKA,QAAS;;;AAIlB,SAAO"}
1
+ {"version":3,"file":"provider-mixin.js","names":["#store","#provider"],"sources":["../../../src/store/provider-mixin.ts"],"sourcesContent":["import type { PlayerStore } from '@videojs/core/dom';\nimport { ContextProvider } from '@videojs/element/context';\nimport { isNull } from '@videojs/utils/predicate';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport type { PlayerContext } from '../player/context';\nimport type { PlayerProvider, PlayerProviderConstructor } from './types';\n\nexport type ProviderMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerProviderConstructor<Store>;\n\n/**\n * Create a mixin that provides player context to descendant elements.\n *\n * @param context - Player context to provide to descendants.\n * @param factory - Factory function that creates a store instance.\n */\nexport function createProviderMixin<Store extends PlayerStore>(\n context: PlayerContext<Store>,\n factory: () => Store\n): ProviderMixin<Store> {\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerProviderElement extends BaseClass implements PlayerProvider<Store> {\n #store: Store | null = factory();\n\n #provider = new ContextProvider(this, {\n context,\n initialValue: this.store,\n });\n\n get store(): Store {\n if (isNull(this.#store)) {\n this.#store = factory();\n }\n\n return this.#store;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.#provider.setValue(this.store);\n }\n\n override destroyCallback() {\n this.#store?.destroy();\n this.#store = null;\n super.destroyCallback();\n }\n }\n\n return PlayerProviderElement;\n };\n}\n"],"mappings":";;;;;;;;;;AAiBA,SAAgB,oBACd,SACA,SACsB;AACtB,SAA+C,cAAqB;EAClE,MAAM,8BAA8B,UAA2C;GAC7E,SAAuB,SAAS;GAEhC,YAAY,IAAI,gBAAgB,MAAM;IACpC;IACA,cAAc,KAAK;IACpB,CAAC;GAEF,IAAI,QAAe;AACjB,QAAI,OAAO,MAAKA,MAAO,CACrB,OAAKA,QAAS,SAAS;AAGzB,WAAO,MAAKA;;GAGd,AAAS,oBAAoB;AAC3B,UAAM,mBAAmB;AACzB,UAAKC,SAAU,SAAS,KAAK,MAAM;;GAGrC,AAAS,kBAAkB;AACzB,UAAKD,OAAQ,SAAS;AACtB,UAAKA,QAAS;AACd,UAAM,iBAAiB;;;AAI3B,SAAO"}
@@ -0,0 +1,20 @@
1
+ import { MediaElement } from "../media-element.js";
2
+ import { PropertyValues } from "@videojs/element";
3
+
4
+ //#region src/ui/alert-dialog/alert-dialog-close-element.d.ts
5
+ declare class AlertDialogCloseElement extends MediaElement {
6
+ #private;
7
+ static readonly tagName = "media-alert-dialog-close";
8
+ static properties: {
9
+ disabled: {
10
+ type: BooleanConstructor;
11
+ };
12
+ };
13
+ disabled: boolean;
14
+ connectedCallback(): void;
15
+ disconnectedCallback(): void;
16
+ protected update(_changed: PropertyValues): void;
17
+ }
18
+ //#endregion
19
+ export { AlertDialogCloseElement };
20
+ //# sourceMappingURL=alert-dialog-close-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog-close-element.d.ts","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-close-element.ts"],"mappings":";;;;cAOa,uBAAA,SAAgC,YAAA;EAAA;kBAC3B,OAAA;EAAA,OAEA,UAAA;;;;;EAIhB,QAAA;EAMS,iBAAA,CAAA;EAYA,oBAAA,CAAA;EAAA,UAMU,MAAA,CAAO,QAAA,EAAU,cAAA;AAAA"}
@@ -0,0 +1,46 @@
1
+ import { MediaElement } from "../media-element.js";
2
+ import { alertDialogContext } from "./context.js";
3
+ import { applyElementProps, applyStateDataAttrs, createButton } from "@videojs/core/dom";
4
+ import { ContextConsumer } from "@videojs/element/context";
5
+
6
+ //#region src/ui/alert-dialog/alert-dialog-close-element.ts
7
+ var AlertDialogCloseElement = class extends MediaElement {
8
+ constructor(..._args) {
9
+ super(..._args);
10
+ this.disabled = false;
11
+ }
12
+ static {
13
+ this.tagName = "media-alert-dialog-close";
14
+ }
15
+ static {
16
+ this.properties = { disabled: { type: Boolean } };
17
+ }
18
+ #ctx = new ContextConsumer(this, {
19
+ context: alertDialogContext,
20
+ subscribe: true
21
+ });
22
+ #disconnect = null;
23
+ connectedCallback() {
24
+ super.connectedCallback();
25
+ this.#disconnect = new AbortController();
26
+ const buttonProps = createButton({
27
+ onActivate: () => this.#ctx.value?.close(),
28
+ isDisabled: () => this.disabled
29
+ });
30
+ applyElementProps(this, buttonProps, { signal: this.#disconnect.signal });
31
+ }
32
+ disconnectedCallback() {
33
+ super.disconnectedCallback();
34
+ this.#disconnect?.abort();
35
+ this.#disconnect = null;
36
+ }
37
+ update(_changed) {
38
+ super.update(_changed);
39
+ const ctx = this.#ctx.value;
40
+ if (ctx) applyStateDataAttrs(this, ctx.state, ctx.stateAttrMap);
41
+ }
42
+ };
43
+
44
+ //#endregion
45
+ export { AlertDialogCloseElement };
46
+ //# sourceMappingURL=alert-dialog-close-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog-close-element.js","names":["#ctx","#disconnect"],"sources":["../../../../src/ui/alert-dialog/alert-dialog-close-element.ts"],"sourcesContent":["import { applyElementProps, applyStateDataAttrs, createButton } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { MediaElement } from '../media-element';\nimport { alertDialogContext } from './context';\n\nexport class AlertDialogCloseElement extends MediaElement {\n static readonly tagName = 'media-alert-dialog-close';\n\n static override properties = {\n disabled: { type: Boolean },\n } satisfies PropertyDeclarationMap<'disabled'>;\n\n disabled = false;\n\n readonly #ctx = new ContextConsumer(this, { context: alertDialogContext, subscribe: true });\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.#disconnect = new AbortController();\n\n const buttonProps = createButton({\n onActivate: () => this.#ctx.value?.close(),\n isDisabled: () => this.disabled,\n });\n\n applyElementProps(this, buttonProps, { signal: this.#disconnect.signal });\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n const ctx = this.#ctx.value;\n if (ctx) applyStateDataAttrs(this, ctx.state, ctx.stateAttrMap);\n }\n}\n"],"mappings":";;;;;;AAOA,IAAa,0BAAb,cAA6C,aAAa;;;kBAO7C;;;iBANe;;;oBAEG,EAC3B,UAAU,EAAE,MAAM,SAAS,EAC5B;;CAID,CAASA,MAAO,IAAI,gBAAgB,MAAM;EAAE,SAAS;EAAoB,WAAW;EAAM,CAAC;CAE3F,cAAsC;CAEtC,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AACzB,QAAKC,aAAc,IAAI,iBAAiB;EAExC,MAAM,cAAc,aAAa;GAC/B,kBAAkB,MAAKD,IAAK,OAAO,OAAO;GAC1C,kBAAkB,KAAK;GACxB,CAAC;AAEF,oBAAkB,MAAM,aAAa,EAAE,QAAQ,MAAKC,WAAY,QAAQ,CAAC;;CAG3E,AAAS,uBAA6B;AACpC,QAAM,sBAAsB;AAC5B,QAAKA,YAAa,OAAO;AACzB,QAAKA,aAAc;;CAGrB,AAAmB,OAAO,UAAgC;AACxD,QAAM,OAAO,SAAS;EACtB,MAAM,MAAM,MAAKD,IAAK;AACtB,MAAI,IAAK,qBAAoB,MAAM,IAAI,OAAO,IAAI,aAAa"}
@@ -0,0 +1,17 @@
1
+ import { AlertDialogContextValue } from "./context.js";
2
+ import { ContextPartElement } from "../context-part-element.js";
3
+ import { ContextConsumer } from "@videojs/element/context";
4
+ import { PropertyValues } from "@videojs/element";
5
+ import { AlertDialogState } from "@videojs/core";
6
+
7
+ //#region src/ui/alert-dialog/alert-dialog-description-element.d.ts
8
+ declare class AlertDialogDescriptionElement extends ContextPartElement<AlertDialogState> {
9
+ static readonly tagName = "media-alert-dialog-description";
10
+ protected readonly consumer: ContextConsumer<{
11
+ __context__: AlertDialogContextValue;
12
+ }, this>;
13
+ protected update(changed: PropertyValues): void;
14
+ }
15
+ //#endregion
16
+ export { AlertDialogDescriptionElement };
17
+ //# sourceMappingURL=alert-dialog-description-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog-description-element.d.ts","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-description-element.ts"],"mappings":";;;;;;;cAOa,6BAAA,SAAsC,kBAAA,CAAmB,gBAAA;EAAA,gBACpD,OAAA;EAAA,mBAEG,QAAA,EAAQ,eAAA;iBAHyD,uBAAA;EAAA;EAAA,UAKjE,MAAA,CAAO,OAAA,EAAS,cAAA;AAAA"}
@@ -0,0 +1,26 @@
1
+ import { alertDialogContext } from "./context.js";
2
+ import { ContextPartElement } from "../context-part-element.js";
3
+ import { ContextConsumer } from "@videojs/element/context";
4
+
5
+ //#region src/ui/alert-dialog/alert-dialog-description-element.ts
6
+ var AlertDialogDescriptionElement = class extends ContextPartElement {
7
+ constructor(..._args) {
8
+ super(..._args);
9
+ this.consumer = new ContextConsumer(this, {
10
+ context: alertDialogContext,
11
+ subscribe: true
12
+ });
13
+ }
14
+ static {
15
+ this.tagName = "media-alert-dialog-description";
16
+ }
17
+ update(changed) {
18
+ super.update(changed);
19
+ const descriptionId = this.consumer.value?.state.descriptionId;
20
+ if (descriptionId) this.id = descriptionId;
21
+ }
22
+ };
23
+
24
+ //#endregion
25
+ export { AlertDialogDescriptionElement };
26
+ //# sourceMappingURL=alert-dialog-description-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog-description-element.js","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-description-element.ts"],"sourcesContent":["import type { AlertDialogState } from '@videojs/core';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { ContextPartElement } from '../context-part-element';\nimport { alertDialogContext } from './context';\n\nexport class AlertDialogDescriptionElement extends ContextPartElement<AlertDialogState> {\n static readonly tagName = 'media-alert-dialog-description';\n\n protected readonly consumer = new ContextConsumer(this, { context: alertDialogContext, subscribe: true });\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n const descriptionId = this.consumer.value?.state.descriptionId;\n if (descriptionId) this.id = descriptionId;\n }\n}\n"],"mappings":";;;;;AAOA,IAAa,gCAAb,cAAmD,mBAAqC;;;kBAGxD,IAAI,gBAAgB,MAAM;GAAE,SAAS;GAAoB,WAAW;GAAM,CAAC;;;iBAF/E;;CAI1B,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EACrB,MAAM,gBAAgB,KAAK,SAAS,OAAO,MAAM;AACjD,MAAI,cAAe,MAAK,KAAK"}
@@ -0,0 +1,22 @@
1
+ import { MediaElement } from "../media-element.js";
2
+ import { PropertyValues } from "@videojs/element";
3
+
4
+ //#region src/ui/alert-dialog/alert-dialog-element.d.ts
5
+ declare class AlertDialogElement extends MediaElement {
6
+ #private;
7
+ static readonly tagName = "media-alert-dialog";
8
+ static properties: {
9
+ open: {
10
+ type: BooleanConstructor;
11
+ };
12
+ };
13
+ open: boolean;
14
+ constructor();
15
+ connectedCallback(): void;
16
+ disconnectedCallback(): void;
17
+ protected willUpdate(changed: PropertyValues): void;
18
+ protected update(_changed: PropertyValues): void;
19
+ }
20
+ //#endregion
21
+ export { AlertDialogElement };
22
+ //# sourceMappingURL=alert-dialog-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog-element.d.ts","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-element.ts"],"mappings":";;;;cAiBa,kBAAA,SAA2B,YAAA;EAAA;kBACtB,OAAA;EAAA,OAEA,UAAA;;;;;EAIhB,IAAA;;EAgBS,iBAAA,CAAA;EAqBA,oBAAA,CAAA;EAAA,UAMU,UAAA,CAAW,OAAA,EAAS,cAAA;EAAA,UAgBpB,MAAA,CAAO,QAAA,EAAU,cAAA;AAAA"}
@@ -0,0 +1,73 @@
1
+ import { MediaElement } from "../media-element.js";
2
+ import { alertDialogContext } from "./context.js";
3
+ import { applyElementProps, applyStateDataAttrs, createAlertDialog, createTransition } from "@videojs/core/dom";
4
+ import { ContextProvider } from "@videojs/element/context";
5
+ import { SnapshotController } from "@videojs/store/html";
6
+ import { AlertDialogCore, AlertDialogDataAttrs } from "@videojs/core";
7
+
8
+ //#region src/ui/alert-dialog/alert-dialog-element.ts
9
+ let idCounter = 0;
10
+ var AlertDialogElement = class extends MediaElement {
11
+ static {
12
+ this.tagName = "media-alert-dialog";
13
+ }
14
+ static {
15
+ this.properties = { open: { type: Boolean } };
16
+ }
17
+ #core = new AlertDialogCore();
18
+ #provider = new ContextProvider(this, { context: alertDialogContext });
19
+ #titleId = `vjs-alert-dialog-title-${idCounter++}`;
20
+ #descriptionId = `vjs-alert-dialog-desc-${idCounter++}`;
21
+ #dialog = null;
22
+ #snapshot = null;
23
+ constructor() {
24
+ super();
25
+ this.open = false;
26
+ this.#core.setTitleId(this.#titleId);
27
+ this.#core.setDescriptionId(this.#descriptionId);
28
+ }
29
+ connectedCallback() {
30
+ super.connectedCallback();
31
+ this.#dialog = createAlertDialog({
32
+ transition: createTransition(),
33
+ onOpenChange: (nextOpen) => {
34
+ this.open = nextOpen;
35
+ this.dispatchEvent(new CustomEvent("open-change", { detail: { open: nextOpen } }));
36
+ }
37
+ });
38
+ this.#dialog.setElement(this);
39
+ if (this.#snapshot) this.#snapshot.track(this.#dialog.input);
40
+ else this.#snapshot = new SnapshotController(this, this.#dialog.input);
41
+ }
42
+ disconnectedCallback() {
43
+ super.disconnectedCallback();
44
+ this.#dialog?.destroy();
45
+ this.#dialog = null;
46
+ }
47
+ willUpdate(changed) {
48
+ super.willUpdate(changed);
49
+ if (this.#dialog && changed.has("open")) {
50
+ const { active: inputOpen } = this.#dialog.input.current;
51
+ if (this.open !== inputOpen) if (this.open) this.#dialog.open();
52
+ else this.#dialog.close();
53
+ }
54
+ }
55
+ update(_changed) {
56
+ super.update(_changed);
57
+ if (!this.#dialog) return;
58
+ const input = this.#dialog.input.current;
59
+ this.#core.setInput(input);
60
+ const state = this.#core.getState();
61
+ applyElementProps(this, this.#core.getAttrs(state));
62
+ applyStateDataAttrs(this, state, AlertDialogDataAttrs);
63
+ this.#provider.setValue({
64
+ state,
65
+ stateAttrMap: AlertDialogDataAttrs,
66
+ close: () => this.#dialog?.close()
67
+ });
68
+ }
69
+ };
70
+
71
+ //#endregion
72
+ export { AlertDialogElement };
73
+ //# sourceMappingURL=alert-dialog-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog-element.js","names":["#core","#provider","#titleId","#descriptionId","#dialog","#snapshot"],"sources":["../../../../src/ui/alert-dialog/alert-dialog-element.ts"],"sourcesContent":["import { AlertDialogCore, AlertDialogDataAttrs, type AlertDialogInput } from '@videojs/core';\nimport {\n type AlertDialogApi,\n applyElementProps,\n applyStateDataAttrs,\n createAlertDialog,\n createTransition,\n} from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\nimport { SnapshotController } from '@videojs/store/html';\n\nimport { MediaElement } from '../media-element';\nimport { alertDialogContext } from './context';\n\nlet idCounter = 0;\n\nexport class AlertDialogElement extends MediaElement {\n static readonly tagName = 'media-alert-dialog';\n\n static override properties = {\n open: { type: Boolean },\n } satisfies PropertyDeclarationMap<'open'>;\n\n open = false;\n\n readonly #core = new AlertDialogCore();\n readonly #provider = new ContextProvider(this, { context: alertDialogContext });\n readonly #titleId = `vjs-alert-dialog-title-${idCounter++}`;\n readonly #descriptionId = `vjs-alert-dialog-desc-${idCounter++}`;\n\n #dialog: AlertDialogApi | null = null;\n #snapshot: SnapshotController<AlertDialogInput> | null = null;\n\n constructor() {\n super();\n this.#core.setTitleId(this.#titleId);\n this.#core.setDescriptionId(this.#descriptionId);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#dialog = createAlertDialog({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean) => {\n this.open = nextOpen;\n this.dispatchEvent(new CustomEvent('open-change', { detail: { open: nextOpen } }));\n },\n });\n\n // Register self as the dialog element.\n this.#dialog.setElement(this);\n\n if (this.#snapshot) {\n this.#snapshot.track(this.#dialog.input);\n } else {\n this.#snapshot = new SnapshotController(this, this.#dialog.input);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#dialog?.destroy();\n this.#dialog = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n\n // Sync controlled open state.\n if (this.#dialog && changed.has('open')) {\n const { active: inputOpen } = this.#dialog.input.current;\n if (this.open !== inputOpen) {\n if (this.open) {\n this.#dialog.open();\n } else {\n this.#dialog.close();\n }\n }\n }\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n if (!this.#dialog) return;\n\n const input = this.#dialog.input.current;\n this.#core.setInput(input);\n const state = this.#core.getState();\n\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, AlertDialogDataAttrs);\n\n this.#provider.setValue({\n state,\n stateAttrMap: AlertDialogDataAttrs,\n close: () => this.#dialog?.close(),\n });\n }\n}\n"],"mappings":";;;;;;;;AAeA,IAAI,YAAY;AAEhB,IAAa,qBAAb,cAAwC,aAAa;;iBACzB;;;oBAEG,EAC3B,MAAM,EAAE,MAAM,SAAS,EACxB;;CAID,CAASA,OAAQ,IAAI,iBAAiB;CACtC,CAASC,WAAY,IAAI,gBAAgB,MAAM,EAAE,SAAS,oBAAoB,CAAC;CAC/E,CAASC,UAAW,0BAA0B;CAC9C,CAASC,gBAAiB,yBAAyB;CAEnD,UAAiC;CACjC,YAAyD;CAEzD,cAAc;AACZ,SAAO;cAXF;AAYL,QAAKH,KAAM,WAAW,MAAKE,QAAS;AACpC,QAAKF,KAAM,iBAAiB,MAAKG,cAAe;;CAGlD,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AAEzB,QAAKC,SAAU,kBAAkB;GAC/B,YAAY,kBAAkB;GAC9B,eAAe,aAAsB;AACnC,SAAK,OAAO;AACZ,SAAK,cAAc,IAAI,YAAY,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,EAAE,CAAC,CAAC;;GAErF,CAAC;AAGF,QAAKA,OAAQ,WAAW,KAAK;AAE7B,MAAI,MAAKC,SACP,OAAKA,SAAU,MAAM,MAAKD,OAAQ,MAAM;MAExC,OAAKC,WAAY,IAAI,mBAAmB,MAAM,MAAKD,OAAQ,MAAM;;CAIrE,AAAS,uBAA6B;AACpC,QAAM,sBAAsB;AAC5B,QAAKA,QAAS,SAAS;AACvB,QAAKA,SAAU;;CAGjB,AAAmB,WAAW,SAA+B;AAC3D,QAAM,WAAW,QAAQ;AAGzB,MAAI,MAAKA,UAAW,QAAQ,IAAI,OAAO,EAAE;GACvC,MAAM,EAAE,QAAQ,cAAc,MAAKA,OAAQ,MAAM;AACjD,OAAI,KAAK,SAAS,UAChB,KAAI,KAAK,KACP,OAAKA,OAAQ,MAAM;OAEnB,OAAKA,OAAQ,OAAO;;;CAM5B,AAAmB,OAAO,UAAgC;AACxD,QAAM,OAAO,SAAS;AACtB,MAAI,CAAC,MAAKA,OAAS;EAEnB,MAAM,QAAQ,MAAKA,OAAQ,MAAM;AACjC,QAAKJ,KAAM,SAAS,MAAM;EAC1B,MAAM,QAAQ,MAAKA,KAAM,UAAU;AAEnC,oBAAkB,MAAM,MAAKA,KAAM,SAAS,MAAM,CAAC;AACnD,sBAAoB,MAAM,OAAO,qBAAqB;AAEtD,QAAKC,SAAU,SAAS;GACtB;GACA,cAAc;GACd,aAAa,MAAKG,QAAS,OAAO;GACnC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { AlertDialogContextValue } from "./context.js";
2
+ import { ContextPartElement } from "../context-part-element.js";
3
+ import { ContextConsumer } from "@videojs/element/context";
4
+ import { PropertyValues } from "@videojs/element";
5
+ import { AlertDialogState } from "@videojs/core";
6
+
7
+ //#region src/ui/alert-dialog/alert-dialog-title-element.d.ts
8
+ declare class AlertDialogTitleElement extends ContextPartElement<AlertDialogState> {
9
+ static readonly tagName = "media-alert-dialog-title";
10
+ protected readonly consumer: ContextConsumer<{
11
+ __context__: AlertDialogContextValue;
12
+ }, this>;
13
+ protected update(changed: PropertyValues): void;
14
+ }
15
+ //#endregion
16
+ export { AlertDialogTitleElement };
17
+ //# sourceMappingURL=alert-dialog-title-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog-title-element.d.ts","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-title-element.ts"],"mappings":";;;;;;;cAOa,uBAAA,SAAgC,kBAAA,CAAmB,gBAAA;EAAA,gBAC9C,OAAA;EAAA,mBAEG,QAAA,EAAQ,eAAA;iBAHmD,uBAAA;EAAA;EAAA,UAK3D,MAAA,CAAO,OAAA,EAAS,cAAA;AAAA"}
@@ -0,0 +1,26 @@
1
+ import { alertDialogContext } from "./context.js";
2
+ import { ContextPartElement } from "../context-part-element.js";
3
+ import { ContextConsumer } from "@videojs/element/context";
4
+
5
+ //#region src/ui/alert-dialog/alert-dialog-title-element.ts
6
+ var AlertDialogTitleElement = class extends ContextPartElement {
7
+ constructor(..._args) {
8
+ super(..._args);
9
+ this.consumer = new ContextConsumer(this, {
10
+ context: alertDialogContext,
11
+ subscribe: true
12
+ });
13
+ }
14
+ static {
15
+ this.tagName = "media-alert-dialog-title";
16
+ }
17
+ update(changed) {
18
+ super.update(changed);
19
+ const titleId = this.consumer.value?.state.titleId;
20
+ if (titleId) this.id = titleId;
21
+ }
22
+ };
23
+
24
+ //#endregion
25
+ export { AlertDialogTitleElement };
26
+ //# sourceMappingURL=alert-dialog-title-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog-title-element.js","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-title-element.ts"],"sourcesContent":["import type { AlertDialogState } from '@videojs/core';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { ContextPartElement } from '../context-part-element';\nimport { alertDialogContext } from './context';\n\nexport class AlertDialogTitleElement extends ContextPartElement<AlertDialogState> {\n static readonly tagName = 'media-alert-dialog-title';\n\n protected readonly consumer = new ContextConsumer(this, { context: alertDialogContext, subscribe: true });\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n const titleId = this.consumer.value?.state.titleId;\n if (titleId) this.id = titleId;\n }\n}\n"],"mappings":";;;;;AAOA,IAAa,0BAAb,cAA6C,mBAAqC;;;kBAGlD,IAAI,gBAAgB,MAAM;GAAE,SAAS;GAAoB,WAAW;GAAM,CAAC;;;iBAF/E;;CAI1B,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EACrB,MAAM,UAAU,KAAK,SAAS,OAAO,MAAM;AAC3C,MAAI,QAAS,MAAK,KAAK"}
@@ -0,0 +1,14 @@
1
+ import { AlertDialogState, StateAttrMap } from "@videojs/core";
2
+
3
+ //#region src/ui/alert-dialog/context.d.ts
4
+ interface AlertDialogContextValue {
5
+ state: AlertDialogState;
6
+ stateAttrMap: StateAttrMap<AlertDialogState>;
7
+ close: () => void;
8
+ }
9
+ declare const alertDialogContext: {
10
+ __context__: AlertDialogContextValue;
11
+ };
12
+ //#endregion
13
+ export { AlertDialogContextValue, alertDialogContext };
14
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","names":[],"sources":["../../../../src/ui/alert-dialog/context.ts"],"mappings":";;;UAGiB,uBAAA;EACf,KAAA,EAAO,gBAAA;EACP,YAAA,EAAc,YAAA,CAAa,gBAAA;EAC3B,KAAA;AAAA;AAAA,cAKW,kBAAA;eAAqF,uBAAA;AAAA"}
@@ -0,0 +1,9 @@
1
+ import { createContext } from "@videojs/element/context";
2
+
3
+ //#region src/ui/alert-dialog/context.ts
4
+ const ALERT_DIALOG_CONTEXT_KEY = Symbol("@videojs/alert-dialog");
5
+ const alertDialogContext = createContext(ALERT_DIALOG_CONTEXT_KEY);
6
+
7
+ //#endregion
8
+ export { alertDialogContext };
9
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/alert-dialog/context.ts"],"sourcesContent":["import type { AlertDialogState, StateAttrMap } from '@videojs/core';\nimport { createContext } from '@videojs/element/context';\n\nexport interface AlertDialogContextValue {\n state: AlertDialogState;\n stateAttrMap: StateAttrMap<AlertDialogState>;\n close: () => void;\n}\n\nconst ALERT_DIALOG_CONTEXT_KEY = Symbol('@videojs/alert-dialog');\n\nexport const alertDialogContext = createContext<AlertDialogContextValue>(ALERT_DIALOG_CONTEXT_KEY);\n"],"mappings":";;;AASA,MAAM,2BAA2B,OAAO,wBAAwB;AAEhE,MAAa,qBAAqB,cAAuC,yBAAyB"}