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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/cdn/audio-minimal.css +1 -1
  2. package/cdn/audio-minimal.dev.js +172 -87
  3. package/cdn/audio-minimal.dev.js.map +1 -1
  4. package/cdn/audio-minimal.js +5 -5
  5. package/cdn/audio-minimal.js.map +1 -1
  6. package/cdn/audio.css +1 -1
  7. package/cdn/audio.dev.js +166 -81
  8. package/cdn/audio.dev.js.map +1 -1
  9. package/cdn/audio.js +5 -5
  10. package/cdn/audio.js.map +1 -1
  11. package/cdn/background.dev.js +27 -18
  12. package/cdn/background.dev.js.map +1 -1
  13. package/cdn/background.js +4 -4
  14. package/cdn/background.js.map +1 -1
  15. package/cdn/media/hls-video.dev.js +0 -1
  16. package/cdn/media/hls-video.dev.js.map +1 -1
  17. package/cdn/media/hls-video.js +1 -1
  18. package/cdn/media/hls-video.js.map +1 -1
  19. package/cdn/media/simple-hls-video.dev.js +178 -158
  20. package/cdn/media/simple-hls-video.dev.js.map +1 -1
  21. package/cdn/media/simple-hls-video.js +1 -1
  22. package/cdn/media/simple-hls-video.js.map +1 -1
  23. package/cdn/video-minimal.css +1 -1
  24. package/cdn/video-minimal.dev.js +196 -111
  25. package/cdn/video-minimal.dev.js.map +1 -1
  26. package/cdn/video-minimal.js +3 -3
  27. package/cdn/video-minimal.js.map +1 -1
  28. package/cdn/video.css +1 -1
  29. package/cdn/video.dev.js +192 -107
  30. package/cdn/video.dev.js.map +1 -1
  31. package/cdn/video.js +5 -5
  32. package/cdn/video.js.map +1 -1
  33. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  34. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  35. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
  36. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  37. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  38. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  39. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  40. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  41. package/dist/default/define/audio/minimal-skin.css +8 -2
  42. package/dist/default/define/audio/minimal-skin.js +2 -1
  43. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  44. package/dist/default/define/audio/minimal-skin.tailwind.js +5 -2
  45. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
  46. package/dist/default/define/audio/skin.css +5 -5
  47. package/dist/default/define/audio/skin.js +2 -1
  48. package/dist/default/define/audio/skin.js.map +1 -1
  49. package/dist/default/define/audio/skin.tailwind.js +5 -2
  50. package/dist/default/define/audio/skin.tailwind.js.map +1 -1
  51. package/dist/default/define/shared.css +3 -0
  52. package/dist/default/define/video/minimal-skin.css +68 -31
  53. package/dist/default/define/video/minimal-skin.js +2 -1
  54. package/dist/default/define/video/minimal-skin.js.map +1 -1
  55. package/dist/default/define/video/minimal-skin.tailwind.js +4 -3
  56. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  57. package/dist/default/define/video/skin.css +61 -23
  58. package/dist/default/define/video/skin.js +2 -1
  59. package/dist/default/define/video/skin.js.map +1 -1
  60. package/dist/default/define/video/skin.tailwind.js +4 -3
  61. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  62. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +3 -21
  63. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  64. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  65. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  66. package/dist/default/skins/dist/default/default/tailwind/components/root.js +1 -1
  67. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  68. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +8 -5
  69. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  70. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +3 -21
  71. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  72. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  73. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  74. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +1 -1
  75. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  76. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -4
  77. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  78. package/dist/default/skins/dist/default/{default/tailwind/components → shared/tailwind}/icon-state.js +1 -1
  79. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  80. package/dist/{dev/skins/dist/default/default/tailwind/components → default/skins/dist/default/shared/tailwind}/tooltip-state.js +1 -1
  81. package/dist/default/skins/dist/default/shared/tailwind/tooltip-state.js.map +1 -0
  82. package/dist/default/store/container-mixin.js +22 -10
  83. package/dist/default/store/container-mixin.js.map +1 -1
  84. package/dist/default/ui/tooltip/tooltip-group-element.js +4 -1
  85. package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -1
  86. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  87. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  88. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  89. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  90. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  91. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  92. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  93. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  94. package/dist/dev/define/audio/minimal-skin.css +8 -2
  95. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  96. package/dist/dev/define/audio/minimal-skin.js +67 -64
  97. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  98. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
  99. package/dist/dev/define/audio/minimal-skin.tailwind.js +71 -66
  100. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
  101. package/dist/dev/define/audio/skin.css +5 -5
  102. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  103. package/dist/dev/define/audio/skin.js +59 -56
  104. package/dist/dev/define/audio/skin.js.map +1 -1
  105. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
  106. package/dist/dev/define/audio/skin.tailwind.js +64 -59
  107. package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
  108. package/dist/dev/define/shared.css +3 -0
  109. package/dist/dev/define/video/minimal-skin.css +68 -31
  110. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  111. package/dist/dev/define/video/minimal-skin.js +88 -85
  112. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  113. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  114. package/dist/dev/define/video/minimal-skin.tailwind.js +98 -95
  115. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  116. package/dist/dev/define/video/skin.css +61 -23
  117. package/dist/dev/define/video/skin.d.ts.map +1 -1
  118. package/dist/dev/define/video/skin.js +82 -79
  119. package/dist/dev/define/video/skin.js.map +1 -1
  120. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  121. package/dist/dev/define/video/skin.tailwind.js +92 -89
  122. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  123. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +3 -21
  124. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  125. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  126. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  127. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +1 -1
  128. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  129. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +8 -5
  130. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  131. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +3 -21
  132. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  133. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  134. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  135. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +1 -1
  136. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  137. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +7 -4
  138. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  139. package/dist/{default/skins/dist/default/minimal/tailwind/components → dev/skins/dist/default/shared/tailwind}/icon-state.js +1 -1
  140. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  141. package/dist/dev/skins/dist/default/{minimal/tailwind/components → shared/tailwind}/tooltip-state.js +1 -1
  142. package/dist/dev/skins/dist/default/shared/tailwind/tooltip-state.js.map +1 -0
  143. package/dist/dev/store/container-mixin.js +22 -10
  144. package/dist/dev/store/container-mixin.js.map +1 -1
  145. package/dist/dev/ui/tooltip/tooltip-group-element.js +4 -1
  146. package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -1
  147. package/package.json +8 -8
  148. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  149. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js +0 -28
  150. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
  151. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
  152. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js +0 -28
  153. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
  154. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js +0 -29
  155. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  156. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
  157. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
  158. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
  159. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
@@ -1,14 +1,14 @@
1
1
  import { SkinMixin } from "../skin-mixin.js";
2
2
  import { renderIcon } from "../../icons/dist/render/minimal/index.js";
3
+ import { iconState } from "../../skins/dist/default/shared/tailwind/icon-state.js";
4
+ import { tooltipState } from "../../skins/dist/default/shared/tailwind/tooltip-state.js";
3
5
  import { bufferingIndicator } from "../../skins/dist/default/minimal/tailwind/components/buffering.js";
4
6
  import { button } from "../../skins/dist/default/minimal/tailwind/components/button.js";
5
7
  import { buttonGroup } from "../../skins/dist/default/minimal/tailwind/components/button-group.js";
6
8
  import { icon, iconContainer, iconFlipped } from "../../skins/dist/default/minimal/tailwind/components/icon.js";
7
9
  import { seek } from "../../skins/dist/default/minimal/tailwind/components/seek.js";
8
10
  import { time } from "../../skins/dist/default/minimal/tailwind/components/time.js";
9
- import { iconState } from "../../skins/dist/default/minimal/tailwind/components/icon-state.js";
10
11
  import { overlay } from "../../skins/dist/default/minimal/tailwind/components/overlay.js";
11
- import { tooltipState } from "../../skins/dist/default/minimal/tailwind/components/tooltip-state.js";
12
12
  import { controls, popup, root, slider } from "../../skins/dist/default/minimal/tailwind/video.tailwind.js";
13
13
  import "../media/container.js";
14
14
  import "../ui/buffering-indicator.js";
@@ -24,6 +24,7 @@ import "../ui/seek-button.js";
24
24
  import "../ui/time.js";
25
25
  import "../ui/time-slider.js";
26
26
  import "../ui/tooltip.js";
27
+ import "../ui/tooltip-group.js";
27
28
  import "../ui/volume-slider.js";
28
29
  import { playbackRate } from "../../skins/dist/default/default/tailwind/components/playback-rate.js";
29
30
  import { ReactiveElement } from "@videojs/element";
@@ -41,111 +42,113 @@ function getTemplateHTML() {
41
42
  </media-buffering-indicator>
42
43
 
43
44
  <media-controls data-controls="" class="${controls}">
44
- <span class="${buttonGroup}">
45
- <span class="${tooltipState.play.wrapper}">
46
- <media-play-button commandfor="play-tooltip" class="${cn(button.base, button.icon, iconState.play.button)}">
47
- ${renderIcon("restart", { class: cn(icon, iconState.play.restart) })}
48
- ${renderIcon("play", { class: cn(icon, iconState.play.play) })}
49
- ${renderIcon("pause", { class: cn(icon, iconState.play.pause) })}
50
- </media-play-button>
51
- <media-tooltip id="play-tooltip" side="top" class="${cn(popup.tooltip)}">
52
- <span class="${tooltipState.play.replay}">Replay</span>
53
- <span class="${tooltipState.play.play}">Play</span>
54
- <span class="${tooltipState.play.pause}">Pause</span>
55
- </media-tooltip>
56
- </span>
57
-
58
- <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
59
- <span class="${iconContainer}">
60
- ${renderIcon("seek", { class: cn(icon, iconFlipped) })}
61
- <span class="${cn(seek.label, seek.labelBackward)}">${SEEK_TIME}</span>
62
- </span>
63
- </media-seek-button>
64
- <media-tooltip id="seek-backward-tooltip" side="top" class="${cn(popup.tooltip)}">
65
- Seek backward ${SEEK_TIME} seconds
66
- </media-tooltip>
67
-
68
- <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
69
- <span class="${iconContainer}">
70
- ${renderIcon("seek", { class: icon })}
71
- <span class="${cn(seek.label, seek.labelForward)}">${SEEK_TIME}</span>
45
+ <media-tooltip-group class="contents">
46
+ <div class="${buttonGroup}">
47
+ <span class="${tooltipState.play.wrapper}">
48
+ <media-play-button commandfor="play-tooltip" class="${cn(button.base, button.icon, iconState.play.button)}">
49
+ ${renderIcon("restart", { class: cn(icon, iconState.play.restart) })}
50
+ ${renderIcon("play", { class: cn(icon, iconState.play.play) })}
51
+ ${renderIcon("pause", { class: cn(icon, iconState.play.pause) })}
52
+ </media-play-button>
53
+ <media-tooltip id="play-tooltip" side="top" class="${cn(popup.tooltip)}">
54
+ <span class="${tooltipState.play.replay}">Replay</span>
55
+ <span class="${tooltipState.play.play}">Play</span>
56
+ <span class="${tooltipState.play.pause}">Pause</span>
57
+ </media-tooltip>
72
58
  </span>
73
- </media-seek-button>
74
- <media-tooltip id="seek-forward-tooltip" side="top" class="${cn(popup.tooltip)}">
75
- Seek forward ${SEEK_TIME} seconds
76
- </media-tooltip>
77
- </span>
78
59
 
79
- <span class="${time.controls}">
80
- <media-time-group class="${time.group}">
81
- <media-time type="current" class="${time.current}"></media-time>
82
- <media-time-separator class="${time.separator}"></media-time-separator>
83
- <media-time type="duration" class="${time.duration}"></media-time>
84
- </media-time-group>
85
-
86
- <media-time-slider class="${slider.root}">
87
- <media-slider-track class="${slider.track}">
88
- <media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill>
89
- <media-slider-buffer class="${cn(slider.fill.base, slider.fill.buffer)}"></media-slider-buffer>
90
- </media-slider-track>
91
- <media-slider-thumb class="${cn(slider.thumb.base, slider.thumb.interactive)}"></media-slider-thumb>
92
- </media-time-slider>
93
- </span>
60
+ <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
61
+ <span class="${iconContainer}">
62
+ ${renderIcon("seek", { class: cn(icon, iconFlipped) })}
63
+ <span class="${cn(seek.label, seek.labelBackward)}">${SEEK_TIME}</span>
64
+ </span>
65
+ </media-seek-button>
66
+ <media-tooltip id="seek-backward-tooltip" side="top" class="${cn(popup.tooltip)}">
67
+ Seek backward ${SEEK_TIME} seconds
68
+ </media-tooltip>
94
69
 
95
- <span class="${buttonGroup}">
96
- <media-playback-rate-button commandfor="playback-rate-tooltip" class="${cn(button.base, button.icon, playbackRate.button)}">
97
- </media-playback-rate-button>
98
- <media-tooltip id="playback-rate-tooltip" side="top" class="${cn(popup.tooltip)}">
99
- Toggle playback rate
100
- </media-tooltip>
70
+ <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
71
+ <span class="${iconContainer}">
72
+ ${renderIcon("seek", { class: icon })}
73
+ <span class="${cn(seek.label, seek.labelForward)}">${SEEK_TIME}</span>
74
+ </span>
75
+ </media-seek-button>
76
+ <media-tooltip id="seek-forward-tooltip" side="top" class="${cn(popup.tooltip)}">
77
+ Seek forward ${SEEK_TIME} seconds
78
+ </media-tooltip>
79
+ </div>
101
80
 
102
- <media-mute-button commandfor="video-volume-popover" class="${cn(button.base, button.icon, iconState.mute.button)}">
103
- ${renderIcon("volume-off", { class: cn(icon, iconState.mute.volumeOff) })}
104
- ${renderIcon("volume-low", { class: cn(icon, iconState.mute.volumeLow) })}
105
- ${renderIcon("volume-high", { class: cn(icon, iconState.mute.volumeHigh) })}
106
- </media-mute-button>
81
+ <div class="${time.controls}">
82
+ <media-time-group class="${time.group}">
83
+ <media-time type="current" class="${time.current}"></media-time>
84
+ <media-time-separator class="${time.separator}"></media-time-separator>
85
+ <media-time type="duration" class="${time.duration}"></media-time>
86
+ </media-time-group>
107
87
 
108
- <media-popover id="video-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="${cn(popup.volume)}">
109
- <media-volume-slider class="${slider.root}" orientation="vertical" thumb-alignment="edge">
88
+ <media-time-slider class="${slider.root}">
110
89
  <media-slider-track class="${slider.track}">
111
90
  <media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill>
91
+ <media-slider-buffer class="${cn(slider.fill.base, slider.fill.buffer)}"></media-slider-buffer>
112
92
  </media-slider-track>
113
- <media-slider-thumb class="${slider.thumb.base}"></media-slider-thumb>
114
- </media-volume-slider>
115
- </media-popover>
93
+ <media-slider-thumb class="${cn(slider.thumb.base, slider.thumb.interactive)}"></media-slider-thumb>
94
+ </media-time-slider>
95
+ </div>
116
96
 
117
- <span class="${tooltipState.captions.wrapper}">
118
- <media-captions-button commandfor="captions-tooltip" class="${cn(button.base, button.icon, iconState.captions.button)}">
119
- ${renderIcon("captions-off", { class: cn(icon, iconState.captions.off) })}
120
- ${renderIcon("captions-on", { class: cn(icon, iconState.captions.on) })}
121
- </media-captions-button>
122
- <media-tooltip id="captions-tooltip" side="top" class="${cn(popup.tooltip)}">
123
- <span class="${tooltipState.captions.enable}">Enable captions</span>
124
- <span class="${tooltipState.captions.disable}">Disable captions</span>
97
+ <div class="${buttonGroup}">
98
+ <media-playback-rate-button commandfor="playback-rate-tooltip" class="${cn(button.base, button.icon, playbackRate.button)}">
99
+ </media-playback-rate-button>
100
+ <media-tooltip id="playback-rate-tooltip" side="top" class="${cn(popup.tooltip)}">
101
+ Toggle playback rate
125
102
  </media-tooltip>
126
- </span>
127
103
 
128
- <span class="${tooltipState.pip.wrapper}">
129
- <media-pip-button commandfor="pip-tooltip" class="${cn(button.base, button.icon)}">
130
- ${renderIcon("pip", { class: icon })}
131
- </media-pip-button>
132
- <media-tooltip id="pip-tooltip" side="top" class="${cn(popup.tooltip)}">
133
- <span class="${tooltipState.pip.enter}">Enter picture-in-picture</span>
134
- <span class="${tooltipState.pip.exit}">Exit picture-in-picture</span>
135
- </media-tooltip>
136
- </span>
104
+ <media-mute-button commandfor="video-volume-popover" class="${cn(button.base, button.icon, iconState.mute.button)}">
105
+ ${renderIcon("volume-off", { class: cn(icon, iconState.mute.volumeOff) })}
106
+ ${renderIcon("volume-low", { class: cn(icon, iconState.mute.volumeLow) })}
107
+ ${renderIcon("volume-high", { class: cn(icon, iconState.mute.volumeHigh) })}
108
+ </media-mute-button>
137
109
 
138
- <span class="${tooltipState.fullscreen.wrapper}">
139
- <media-fullscreen-button commandfor="fullscreen-tooltip" class="${cn(button.base, button.icon, iconState.fullscreen.button)}">
140
- ${renderIcon("fullscreen-enter", { class: cn(icon, iconState.fullscreen.enter) })}
141
- ${renderIcon("fullscreen-exit", { class: cn(icon, iconState.fullscreen.exit) })}
142
- </media-fullscreen-button>
143
- <media-tooltip id="fullscreen-tooltip" side="top" class="${cn(popup.tooltip)}">
144
- <span class="${tooltipState.fullscreen.enter}">Enter fullscreen</span>
145
- <span class="${tooltipState.fullscreen.exit}">Exit fullscreen</span>
146
- </media-tooltip>
147
- </span>
148
- </span>
110
+ <media-popover id="video-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="${cn(popup.volume)}">
111
+ <media-volume-slider class="${slider.root}" orientation="vertical" thumb-alignment="edge">
112
+ <media-slider-track class="${slider.track}">
113
+ <media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill>
114
+ </media-slider-track>
115
+ <media-slider-thumb class="${slider.thumb.base}"></media-slider-thumb>
116
+ </media-volume-slider>
117
+ </media-popover>
118
+
119
+ <span class="${tooltipState.captions.wrapper}">
120
+ <media-captions-button commandfor="captions-tooltip" class="${cn(button.base, button.icon, iconState.captions.button)}">
121
+ ${renderIcon("captions-off", { class: cn(icon, iconState.captions.off) })}
122
+ ${renderIcon("captions-on", { class: cn(icon, iconState.captions.on) })}
123
+ </media-captions-button>
124
+ <media-tooltip id="captions-tooltip" side="top" class="${cn(popup.tooltip)}">
125
+ <span class="${tooltipState.captions.enable}">Enable captions</span>
126
+ <span class="${tooltipState.captions.disable}">Disable captions</span>
127
+ </media-tooltip>
128
+ </span>
129
+
130
+ <span class="${tooltipState.pip.wrapper}">
131
+ <media-pip-button commandfor="pip-tooltip" class="${cn(button.base, button.icon)}">
132
+ ${renderIcon("pip", { class: icon })}
133
+ </media-pip-button>
134
+ <media-tooltip id="pip-tooltip" side="top" class="${cn(popup.tooltip)}">
135
+ <span class="${tooltipState.pip.enter}">Enter picture-in-picture</span>
136
+ <span class="${tooltipState.pip.exit}">Exit picture-in-picture</span>
137
+ </media-tooltip>
138
+ </span>
139
+
140
+ <span class="${tooltipState.fullscreen.wrapper}">
141
+ <media-fullscreen-button commandfor="fullscreen-tooltip" class="${cn(button.base, button.icon, iconState.fullscreen.button)}">
142
+ ${renderIcon("fullscreen-enter", { class: cn(icon, iconState.fullscreen.enter) })}
143
+ ${renderIcon("fullscreen-exit", { class: cn(icon, iconState.fullscreen.exit) })}
144
+ </media-fullscreen-button>
145
+ <media-tooltip id="fullscreen-tooltip" side="top" class="${cn(popup.tooltip)}">
146
+ <span class="${tooltipState.fullscreen.enter}">Enter fullscreen</span>
147
+ <span class="${tooltipState.fullscreen.exit}">Exit fullscreen</span>
148
+ </media-tooltip>
149
+ </span>
150
+ </div>
151
+ </media-tooltip-group>
149
152
  </media-controls>
150
153
 
151
154
  <div class="${overlay}"></div>
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.tailwind.js","names":[],"sources":["../../../../src/define/video/minimal-skin.tailwind.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport {\n bufferingIndicator,\n button,\n buttonGroup,\n controls,\n icon,\n iconContainer,\n iconFlipped,\n iconState,\n overlay,\n popup,\n root,\n seek,\n slider,\n time,\n tooltipState,\n} from '@videojs/skins/minimal/tailwind/video.tailwind';\nimport { cn } from '@videojs/utils/style';\nimport { SkinMixin } from '../skin-mixin';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/buffering-indicator';\nimport '../ui/captions-button';\nimport '../ui/controls';\nimport '../ui/fullscreen-button';\nimport '../ui/mute-button';\nimport '../ui/pip-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/tooltip';\nimport '../ui/volume-slider';\nimport { playbackRate } from '@videojs/skins/default/tailwind/video.tailwind';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"${root(true)}\">\n <slot name=\"media\"></slot>\n\n <media-buffering-indicator class=\"${bufferingIndicator}\">\n ${renderIcon('spinner')}\n </media-buffering-indicator>\n\n <media-controls data-controls=\"\" class=\"${controls}\">\n <span class=\"${buttonGroup}\">\n <span class=\"${tooltipState.play.wrapper}\">\n <media-play-button commandfor=\"play-tooltip\" class=\"${cn(button.base, button.icon, iconState.play.button)}\">\n ${renderIcon('restart', { class: cn(icon, iconState.play.restart) })}\n ${renderIcon('play', { class: cn(icon, iconState.play.play) })}\n ${renderIcon('pause', { class: cn(icon, iconState.play.pause) })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.play.replay}\">Replay</span>\n <span class=\"${tooltipState.play.play}\">Play</span>\n <span class=\"${tooltipState.play.pause}\">Pause</span>\n </media-tooltip>\n </span>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"${cn(button.base, button.icon, seek.button)}\">\n <span class=\"${iconContainer}\">\n ${renderIcon('seek', { class: cn(icon, iconFlipped) })}\n <span class=\"${cn(seek.label, seek.labelBackward)}\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"${cn(button.base, button.icon, seek.button)}\">\n <span class=\"${iconContainer}\">\n ${renderIcon('seek', { class: icon })}\n <span class=\"${cn(seek.label, seek.labelForward)}\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </span>\n\n <span class=\"${time.controls}\">\n <media-time-group class=\"${time.group}\">\n <media-time type=\"current\" class=\"${time.current}\"></media-time>\n <media-time-separator class=\"${time.separator}\"></media-time-separator>\n <media-time type=\"duration\" class=\"${time.duration}\"></media-time>\n </media-time-group>\n\n <media-time-slider class=\"${slider.root}\">\n <media-slider-track class=\"${slider.track}\">\n <media-slider-fill class=\"${cn(slider.fill.base, slider.fill.fill)}\"></media-slider-fill>\n <media-slider-buffer class=\"${cn(slider.fill.base, slider.fill.buffer)}\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"${cn(slider.thumb.base, slider.thumb.interactive)}\"></media-slider-thumb>\n </media-time-slider>\n </span>\n\n <span class=\"${buttonGroup}\">\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"${cn(button.base, button.icon, playbackRate.button)}\">\n </media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"video-volume-popover\" class=\"${cn(button.base, button.icon, iconState.mute.button)}\">\n ${renderIcon('volume-off', { class: cn(icon, iconState.mute.volumeOff) })}\n ${renderIcon('volume-low', { class: cn(icon, iconState.mute.volumeLow) })}\n ${renderIcon('volume-high', { class: cn(icon, iconState.mute.volumeHigh) })}\n </media-mute-button>\n\n <media-popover id=\"video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"${cn(popup.volume)}\">\n <media-volume-slider class=\"${slider.root}\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"${slider.track}\">\n <media-slider-fill class=\"${cn(slider.fill.base, slider.fill.fill)}\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"${slider.thumb.base}\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <span class=\"${tooltipState.captions.wrapper}\">\n <media-captions-button commandfor=\"captions-tooltip\" class=\"${cn(button.base, button.icon, iconState.captions.button)}\">\n ${renderIcon('captions-off', { class: cn(icon, iconState.captions.off) })}\n ${renderIcon('captions-on', { class: cn(icon, iconState.captions.on) })}\n </media-captions-button>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.captions.enable}\">Enable captions</span>\n <span class=\"${tooltipState.captions.disable}\">Disable captions</span>\n </media-tooltip>\n </span>\n\n <span class=\"${tooltipState.pip.wrapper}\">\n <media-pip-button commandfor=\"pip-tooltip\" class=\"${cn(button.base, button.icon)}\">\n ${renderIcon('pip', { class: icon })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.pip.enter}\">Enter picture-in-picture</span>\n <span class=\"${tooltipState.pip.exit}\">Exit picture-in-picture</span>\n </media-tooltip>\n </span>\n\n <span class=\"${tooltipState.fullscreen.wrapper}\">\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"${cn(button.base, button.icon, iconState.fullscreen.button)}\">\n ${renderIcon('fullscreen-enter', { class: cn(icon, iconState.fullscreen.enter) })}\n ${renderIcon('fullscreen-exit', { class: cn(icon, iconState.fullscreen.exit) })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.fullscreen.enter}\">Enter fullscreen</span>\n <span class=\"${tooltipState.fullscreen.exit}\">Exit fullscreen</span>\n </media-tooltip>\n </span>\n </span>\n </media-controls>\n\n <div class=\"${overlay}\"></div>\n </media-container>\n `;\n}\n\nexport class MinimalVideoSkinTailwindElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-minimal-skin-tailwind';\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalVideoSkinTailwindElement.tagName, MinimalVideoSkinTailwindElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalVideoSkinTailwindElement.tagName]: MinimalVideoSkinTailwindElement;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"minimal-skin.tailwind.js","names":[],"sources":["../../../../src/define/video/minimal-skin.tailwind.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport {\n bufferingIndicator,\n button,\n buttonGroup,\n controls,\n icon,\n iconContainer,\n iconFlipped,\n iconState,\n overlay,\n popup,\n root,\n seek,\n slider,\n time,\n tooltipState,\n} from '@videojs/skins/minimal/tailwind/video.tailwind';\nimport { cn } from '@videojs/utils/style';\nimport { SkinMixin } from '../skin-mixin';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/buffering-indicator';\nimport '../ui/captions-button';\nimport '../ui/controls';\nimport '../ui/fullscreen-button';\nimport '../ui/mute-button';\nimport '../ui/pip-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/tooltip';\nimport '../ui/tooltip-group';\nimport '../ui/volume-slider';\nimport { playbackRate } from '@videojs/skins/default/tailwind/video.tailwind';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"${root(true)}\">\n <slot name=\"media\"></slot>\n\n <media-buffering-indicator class=\"${bufferingIndicator}\">\n ${renderIcon('spinner')}\n </media-buffering-indicator>\n\n <media-controls data-controls=\"\" class=\"${controls}\">\n <media-tooltip-group class=\"contents\">\n <div class=\"${buttonGroup}\">\n <span class=\"${tooltipState.play.wrapper}\">\n <media-play-button commandfor=\"play-tooltip\" class=\"${cn(button.base, button.icon, iconState.play.button)}\">\n ${renderIcon('restart', { class: cn(icon, iconState.play.restart) })}\n ${renderIcon('play', { class: cn(icon, iconState.play.play) })}\n ${renderIcon('pause', { class: cn(icon, iconState.play.pause) })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.play.replay}\">Replay</span>\n <span class=\"${tooltipState.play.play}\">Play</span>\n <span class=\"${tooltipState.play.pause}\">Pause</span>\n </media-tooltip>\n </span>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"${cn(button.base, button.icon, seek.button)}\">\n <span class=\"${iconContainer}\">\n ${renderIcon('seek', { class: cn(icon, iconFlipped) })}\n <span class=\"${cn(seek.label, seek.labelBackward)}\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"${cn(button.base, button.icon, seek.button)}\">\n <span class=\"${iconContainer}\">\n ${renderIcon('seek', { class: icon })}\n <span class=\"${cn(seek.label, seek.labelForward)}\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </div>\n\n <div class=\"${time.controls}\">\n <media-time-group class=\"${time.group}\">\n <media-time type=\"current\" class=\"${time.current}\"></media-time>\n <media-time-separator class=\"${time.separator}\"></media-time-separator>\n <media-time type=\"duration\" class=\"${time.duration}\"></media-time>\n </media-time-group>\n\n <media-time-slider class=\"${slider.root}\">\n <media-slider-track class=\"${slider.track}\">\n <media-slider-fill class=\"${cn(slider.fill.base, slider.fill.fill)}\"></media-slider-fill>\n <media-slider-buffer class=\"${cn(slider.fill.base, slider.fill.buffer)}\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"${cn(slider.thumb.base, slider.thumb.interactive)}\"></media-slider-thumb>\n </media-time-slider>\n </div>\n\n <div class=\"${buttonGroup}\">\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"${cn(button.base, button.icon, playbackRate.button)}\">\n </media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"video-volume-popover\" class=\"${cn(button.base, button.icon, iconState.mute.button)}\">\n ${renderIcon('volume-off', { class: cn(icon, iconState.mute.volumeOff) })}\n ${renderIcon('volume-low', { class: cn(icon, iconState.mute.volumeLow) })}\n ${renderIcon('volume-high', { class: cn(icon, iconState.mute.volumeHigh) })}\n </media-mute-button>\n\n <media-popover id=\"video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"${cn(popup.volume)}\">\n <media-volume-slider class=\"${slider.root}\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"${slider.track}\">\n <media-slider-fill class=\"${cn(slider.fill.base, slider.fill.fill)}\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"${slider.thumb.base}\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <span class=\"${tooltipState.captions.wrapper}\">\n <media-captions-button commandfor=\"captions-tooltip\" class=\"${cn(button.base, button.icon, iconState.captions.button)}\">\n ${renderIcon('captions-off', { class: cn(icon, iconState.captions.off) })}\n ${renderIcon('captions-on', { class: cn(icon, iconState.captions.on) })}\n </media-captions-button>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.captions.enable}\">Enable captions</span>\n <span class=\"${tooltipState.captions.disable}\">Disable captions</span>\n </media-tooltip>\n </span>\n\n <span class=\"${tooltipState.pip.wrapper}\">\n <media-pip-button commandfor=\"pip-tooltip\" class=\"${cn(button.base, button.icon)}\">\n ${renderIcon('pip', { class: icon })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.pip.enter}\">Enter picture-in-picture</span>\n <span class=\"${tooltipState.pip.exit}\">Exit picture-in-picture</span>\n </media-tooltip>\n </span>\n\n <span class=\"${tooltipState.fullscreen.wrapper}\">\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"${cn(button.base, button.icon, iconState.fullscreen.button)}\">\n ${renderIcon('fullscreen-enter', { class: cn(icon, iconState.fullscreen.enter) })}\n ${renderIcon('fullscreen-exit', { class: cn(icon, iconState.fullscreen.exit) })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"${cn(popup.tooltip)}\">\n <span class=\"${tooltipState.fullscreen.enter}\">Enter fullscreen</span>\n <span class=\"${tooltipState.fullscreen.exit}\">Exit fullscreen</span>\n </media-tooltip>\n </span>\n </div>\n </media-tooltip-group>\n </media-controls>\n\n <div class=\"${overlay}\"></div>\n </media-container>\n `;\n}\n\nexport class MinimalVideoSkinTailwindElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-minimal-skin-tailwind';\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalVideoSkinTailwindElement.tagName, MinimalVideoSkinTailwindElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalVideoSkinTailwindElement.tagName]: MinimalVideoSkinTailwindElement;\n }\n}\n"],"mappings":"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"}
@@ -140,10 +140,6 @@
140
140
  letter-spacing: normal;
141
141
  -webkit-font-smoothing: auto;
142
142
  -moz-osx-font-smoothing: auto;
143
-
144
- &:fullscreen {
145
- border-radius: 0;
146
- }
147
143
  }
148
144
 
149
145
  /* ==========================================================================
@@ -187,8 +183,13 @@
187
183
  display: block;
188
184
  width: 100%;
189
185
  height: 100%;
186
+ }
187
+ .media-default-skin ::slotted(video) {
190
188
  border-radius: var(--media-border-radius, 2rem);
191
189
  }
190
+ .media-default-skin video {
191
+ border-radius: inherit;
192
+ }
192
193
 
193
194
  /* ==========================================================================
194
195
  Poster Image
@@ -209,6 +210,19 @@
209
210
  }
210
211
  }
211
212
 
213
+ /* ==========================================================================
214
+ Fullscreen
215
+ ========================================================================== */
216
+
217
+ .media-default-skin:fullscreen video,
218
+ .media-default-skin:fullscreen ::slotted(video),
219
+ .media-default-skin:fullscreen > img {
220
+ object-fit: contain;
221
+ }
222
+ .media-default-skin:fullscreen ::slotted(video) {
223
+ border-radius: 0;
224
+ }
225
+
212
226
  /* ==========================================================================
213
227
  Overlay / Scrim
214
228
  ========================================================================== */
@@ -218,28 +232,34 @@
218
232
  inset: 0;
219
233
  border-radius: inherit;
220
234
  background-image: linear-gradient(to top, oklch(0 0 0 / 0.5), oklch(0 0 0 / 0.3), oklch(0 0 0 / 0));
221
- backdrop-filter: blur(0) saturate(1.2) brightness(0.9);
235
+ backdrop-filter: blur(0) saturate(1.5);
222
236
  opacity: 0;
223
- transition-property: opacity, backdrop-filter;
224
- transition-duration: 300ms;
225
- transition-delay: 500ms;
226
- transition-timing-function: ease-out;
227
237
  pointer-events: none;
228
238
 
229
- @media (prefers-reduced-motion: reduce) {
230
- transition-duration: 100ms;
239
+ @media (pointer: fine) {
240
+ transition-property: opacity, backdrop-filter;
241
+ transition-duration: 300ms;
242
+ transition-delay: 500ms;
243
+ transition-timing-function: ease-out;
244
+
245
+ @media (prefers-reduced-motion: reduce) {
246
+ transition-duration: 100ms;
247
+ }
231
248
  }
232
249
  }
233
250
 
234
251
  .media-default-skin .media-controls[data-visible] ~ .media-overlay,
235
252
  .media-default-skin .media-error[data-open] ~ .media-overlay {
236
253
  opacity: 1;
237
- transition-duration: 150ms;
238
- transition-delay: 0ms;
254
+
255
+ @media (pointer: fine) {
256
+ transition-duration: 150ms;
257
+ transition-delay: 0ms;
258
+ }
239
259
  }
240
260
 
241
261
  .media-default-skin .media-error[data-open] ~ .media-overlay {
242
- backdrop-filter: blur(8px) saturate(1.2) brightness(0.9);
262
+ backdrop-filter: blur(16px) saturate(1.5);
243
263
  }
244
264
 
245
265
  /* ==========================================================================
@@ -755,7 +775,7 @@
755
775
  --media-surface-inner-border-color: oklch(1 0 0 / 0.05);
756
776
  --media-surface-outer-border-color: oklch(0 0 0 / 0.1);
757
777
  --media-surface-shadow-color: oklch(0 0 0 / 0.15);
758
- --media-surface-backdrop-filter: blur(64px) brightness(0.9) saturate(1.5);
778
+ --media-surface-backdrop-filter: blur(16px) saturate(1.5);
759
779
 
760
780
  @media (prefers-color-scheme: dark) {
761
781
  --media-border-color: oklch(1 0 0 / 0.1);
@@ -771,6 +791,10 @@
771
791
  box-shadow: inset 0 0 0 1px var(--media-border-color);
772
792
  pointer-events: none;
773
793
  }
794
+
795
+ &:fullscreen {
796
+ border-radius: 0;
797
+ }
774
798
  }
775
799
 
776
800
  /* ==========================================================================
@@ -782,26 +806,36 @@
782
806
  bottom: 0.75rem;
783
807
  inset-inline: 0.75rem;
784
808
  z-index: 10;
809
+ color: oklch(1 0 0);
810
+
785
811
  will-change: scale, transform, filter, opacity;
786
- transition-property: scale, transform, filter, opacity;
787
- transition-duration: 100ms;
788
- transition-delay: 0ms;
789
812
  transition-timing-function: ease-out;
790
813
  transform-origin: bottom;
791
- color: oklch(1 0 0);
814
+
815
+ @media (pointer: fine) {
816
+ transition-property: scale, transform, filter, opacity;
817
+ transition-duration: 100ms;
818
+ transition-delay: 0ms;
819
+ }
792
820
 
793
821
  &:not([data-visible]) {
794
822
  opacity: 0;
823
+ pointer-events: none;
795
824
  scale: 0.9;
796
825
  filter: blur(8px);
797
- transition-duration: 300ms;
798
- transition-delay: 500ms;
799
- pointer-events: none;
826
+
827
+ @media (pointer: fine) {
828
+ transition-duration: 300ms;
829
+ transition-delay: 500ms;
830
+
831
+ @media (prefers-reduced-motion: reduce) {
832
+ transition-duration: 100ms;
833
+ }
834
+ }
800
835
 
801
836
  @media (prefers-reduced-motion: reduce) {
802
837
  scale: 1;
803
838
  filter: blur(0);
804
- transition-duration: 100ms;
805
839
  }
806
840
  }
807
841
  }
@@ -815,3 +849,7 @@
815
849
  box-shadow: 0 0 0 1px oklch(0 0 0 / 0.05);
816
850
  }
817
851
 
852
+ media-tooltip-group {
853
+ display: contents;
854
+ }
855
+
@@ -1 +1 @@
1
- {"version":3,"file":"skin.d.ts","names":[],"sources":["../../../../src/define/video/skin.ts"],"mappings":";;;iBAwBS,eAAA,CAAA;AAAA,cAAe,qBAAA;;;;cA2GX,gBAAA,SAAyB,qBAAA;EAAA,gBACpB,OAAA;EAAA,OACT,MAAA,EAAM,aAAA;EAAA,OACN,eAAA,SAAe,eAAA;AAAA;AAAA,QAKhB,MAAA;EAAA,UACI,qBAAA;IAAA,CACP,gBAAA,CAAiB,OAAA,GAAU,gBAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"skin.d.ts","names":[],"sources":["../../../../src/define/video/skin.ts"],"mappings":";;;iBAyBS,eAAA,CAAA;AAAA,cAAe,qBAAA;;;;cA6GX,gBAAA,SAAyB,qBAAA;EAAA,gBACpB,OAAA;EAAA,OACT,MAAA,EAAM,aAAA;EAAA,OACN,eAAA,SAAe,eAAA;AAAA;AAAA,QAKhB,MAAA;EAAA,UACI,qBAAA;IAAA,CACP,gBAAA,CAAiB,OAAA,GAAU,gBAAA;EAAA;AAAA"}