@videojs/html 10.0.0-beta.2 → 10.0.0-beta.4

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 (175) hide show
  1. package/cdn/audio-minimal.css +1 -1
  2. package/cdn/audio-minimal.dev.js +197 -126
  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 +191 -120
  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 +40 -25
  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 +220 -161
  25. package/cdn/video-minimal.dev.js.map +1 -1
  26. package/cdn/video-minimal.js +5 -5
  27. package/cdn/video-minimal.js.map +1 -1
  28. package/cdn/video.css +1 -1
  29. package/cdn/video.dev.js +217 -158
  30. package/cdn/video.dev.js.map +1 -1
  31. package/cdn/video.js +4 -4
  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/base.js +6 -0
  38. package/dist/default/_virtual/inline-css_src/define/base.js.map +1 -0
  39. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  40. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  41. package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
  42. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  43. package/dist/default/define/audio/minimal-skin.css +8 -2
  44. package/dist/default/define/audio/minimal-skin.js +2 -1
  45. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  46. package/dist/default/define/audio/minimal-skin.tailwind.js +5 -2
  47. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
  48. package/dist/default/define/audio/skin.css +7 -5
  49. package/dist/default/define/audio/skin.js +2 -1
  50. package/dist/default/define/audio/skin.js.map +1 -1
  51. package/dist/default/define/audio/skin.tailwind.js +5 -2
  52. package/dist/default/define/audio/skin.tailwind.js.map +1 -1
  53. package/dist/default/define/base.css +25 -0
  54. package/dist/default/define/shared.css +3 -0
  55. package/dist/default/define/skin-mixin.js +10 -18
  56. package/dist/default/define/skin-mixin.js.map +1 -1
  57. package/dist/default/define/video/minimal-skin.css +35 -73
  58. package/dist/default/define/video/minimal-skin.js +2 -1
  59. package/dist/default/define/video/minimal-skin.js.map +1 -1
  60. package/dist/default/define/video/minimal-skin.tailwind.js +4 -4
  61. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  62. package/dist/default/define/video/skin.css +32 -71
  63. package/dist/default/define/video/skin.js +2 -1
  64. package/dist/default/define/video/skin.js.map +1 -1
  65. package/dist/default/define/video/skin.tailwind.js +5 -4
  66. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  67. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +3 -21
  68. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  69. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  70. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  71. package/dist/default/skins/dist/default/default/tailwind/components/root.js +1 -1
  72. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  73. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +8 -5
  74. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  75. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +3 -22
  76. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  77. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  78. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  79. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +1 -1
  80. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  81. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -4
  82. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  83. package/dist/default/skins/dist/default/{default/tailwind/components → shared/tailwind}/icon-state.js +1 -1
  84. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  85. package/dist/{dev/skins/dist/default/default/tailwind/components → default/skins/dist/default/shared/tailwind}/tooltip-state.js +1 -1
  86. package/dist/default/skins/dist/default/shared/tailwind/tooltip-state.js.map +1 -0
  87. package/dist/default/store/container-mixin.js +22 -10
  88. package/dist/default/store/container-mixin.js.map +1 -1
  89. package/dist/default/ui/tooltip/tooltip-group-element.js +4 -1
  90. package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -1
  91. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
  92. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  93. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
  94. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  95. package/dist/dev/_virtual/inline-css_src/define/base.js +6 -0
  96. package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -0
  97. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
  98. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  99. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
  100. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  101. package/dist/dev/define/audio/minimal-skin.css +8 -2
  102. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  103. package/dist/dev/define/audio/minimal-skin.js +67 -64
  104. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  105. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
  106. package/dist/dev/define/audio/minimal-skin.tailwind.js +71 -66
  107. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
  108. package/dist/dev/define/audio/skin.css +7 -5
  109. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  110. package/dist/dev/define/audio/skin.js +59 -56
  111. package/dist/dev/define/audio/skin.js.map +1 -1
  112. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
  113. package/dist/dev/define/audio/skin.tailwind.js +64 -59
  114. package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
  115. package/dist/dev/define/base.css +25 -0
  116. package/dist/dev/define/shared.css +3 -0
  117. package/dist/dev/define/skin-mixin.d.ts +2 -2
  118. package/dist/dev/define/skin-mixin.d.ts.map +1 -1
  119. package/dist/dev/define/skin-mixin.js +10 -32
  120. package/dist/dev/define/skin-mixin.js.map +1 -1
  121. package/dist/dev/define/video/minimal-skin.css +35 -73
  122. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  123. package/dist/dev/define/video/minimal-skin.js +92 -101
  124. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  125. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  126. package/dist/dev/define/video/minimal-skin.tailwind.js +98 -108
  127. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  128. package/dist/dev/define/video/skin.css +32 -71
  129. package/dist/dev/define/video/skin.d.ts.map +1 -1
  130. package/dist/dev/define/video/skin.js +82 -91
  131. package/dist/dev/define/video/skin.js.map +1 -1
  132. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  133. package/dist/dev/define/video/skin.tailwind.js +93 -102
  134. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  135. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +3 -21
  136. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  137. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  138. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  139. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +1 -1
  140. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  141. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +8 -5
  142. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  143. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +3 -22
  144. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  145. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  146. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  147. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +1 -1
  148. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  149. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -4
  150. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  151. package/dist/dev/skins/dist/default/{default/tailwind/components → shared/tailwind}/icon-state.js +1 -1
  152. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  153. package/dist/{default/skins/dist/default/minimal/tailwind/components → dev/skins/dist/default/shared/tailwind}/tooltip-state.js +1 -1
  154. package/dist/dev/skins/dist/default/shared/tailwind/tooltip-state.js.map +1 -0
  155. package/dist/dev/store/container-mixin.js +22 -10
  156. package/dist/dev/store/container-mixin.js.map +1 -1
  157. package/dist/dev/ui/tooltip/tooltip-group-element.js +4 -1
  158. package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -1
  159. package/package.json +7 -7
  160. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  161. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js +0 -28
  162. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
  163. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +0 -15
  164. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
  165. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
  166. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
  167. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
  168. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  169. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
  170. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +0 -15
  171. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +0 -1
  172. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
  173. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
  174. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js +0 -28
  175. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
@@ -13,6 +13,7 @@ import "../ui/seek-button.js";
13
13
  import "../ui/time.js";
14
14
  import "../ui/time-slider.js";
15
15
  import "../ui/tooltip.js";
16
+ import "../ui/tooltip-group.js";
16
17
  import "../ui/volume-slider.js";
17
18
  import minimal_skin_default from "../../_virtual/inline-css_src/define/video/minimal-skin.js";
18
19
  import { ReactiveElement } from "@videojs/element";
@@ -28,114 +29,104 @@ function getTemplateHTML() {
28
29
  ${renderIcon("spinner", { class: "media-icon" })}
29
30
  </media-buffering-indicator>
30
31
 
31
- <!--<div class="media-error" role="alertdialog" aria-labelledby="media-error-title" aria-describedby="media-error-description">
32
- <div class="media-error__dialog">
33
- <div class="media-error__content">
34
- <p id="media-error-title" class="media-error__title">Something went wrong.</p>
35
- <p id="media-error-description" class="media-error__description">An error occurred while trying to play the video. Please try again.</p>
36
- </div>
37
- <div class="media-error__actions">
38
- <button type="button" class="media-button">OK</button>
39
- </div>
40
- </div>
41
- </div>-->
42
-
43
32
  <media-controls class="media-controls">
44
- <span class="media-button-group">
45
- <media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play">
46
- ${renderIcon("restart", { class: "media-icon media-icon--restart" })}
47
- ${renderIcon("play", { class: "media-icon media-icon--play" })}
48
- ${renderIcon("pause", { class: "media-icon media-icon--pause" })}
49
- </media-play-button>
50
- <media-tooltip id="play-tooltip" side="top" class="media-tooltip">
51
- <span class="media-tooltip-label media-tooltip-label--replay">Replay</span>
52
- <span class="media-tooltip-label media-tooltip-label--play">Play</span>
53
- <span class="media-tooltip-label media-tooltip-label--pause">Pause</span>
54
- </media-tooltip>
55
-
56
- <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="media-button media-button--icon media-button--seek">
57
- <span class="media-icon__container">
58
- ${renderIcon("seek", { class: "media-icon media-icon--flipped" })}
59
- <span class="media-icon__label">${SEEK_TIME}</span>
60
- </span>
61
- </media-seek-button>
62
- <media-tooltip id="seek-backward-tooltip" side="top" class="media-tooltip">
63
- Seek backward ${SEEK_TIME} seconds
64
- </media-tooltip>
65
-
66
- <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="media-button media-button--icon media-button--seek">
67
- <span class="media-icon__container">
68
- ${renderIcon("seek", { class: "media-icon" })}
69
- <span class="media-icon__label">${SEEK_TIME}</span>
70
- </span>
71
- </media-seek-button>
72
- <media-tooltip id="seek-forward-tooltip" side="top" class="media-tooltip">
73
- Seek forward ${SEEK_TIME} seconds
74
- </media-tooltip>
75
- </span>
76
-
77
- <span class="media-time-controls">
78
- <media-time-group class="media-time">
79
- <media-time type="current" class="media-time__value media-time__value--current"></media-time>
80
- <media-time-separator class="media-time__separator"></media-time-separator>
81
- <media-time type="duration" class="media-time__value media-time__value--duration"></media-time>
82
- </media-time-group>
83
-
84
- <media-time-slider class="media-slider">
85
- <media-slider-track class="media-slider__track">
86
- <media-slider-fill class="media-slider__fill"></media-slider-fill>
87
- <media-slider-buffer class="media-slider__buffer"></media-slider-buffer>
88
- </media-slider-track>
89
- <media-slider-thumb class="media-slider__thumb"></media-slider-thumb>
90
- </media-time-slider>
91
- </span>
92
-
93
- <span class="media-button-group">
94
- <media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate"></media-playback-rate-button>
95
- <media-tooltip id="playback-rate-tooltip" side="top" class="media-tooltip">
96
- Toggle playback rate
97
- </media-tooltip>
33
+ <media-tooltip-group>
34
+ <div class="media-button-group">
35
+ <media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play">
36
+ ${renderIcon("restart", { class: "media-icon media-icon--restart" })}
37
+ ${renderIcon("play", { class: "media-icon media-icon--play" })}
38
+ ${renderIcon("pause", { class: "media-icon media-icon--pause" })}
39
+ </media-play-button>
40
+ <media-tooltip id="play-tooltip" side="top" class="media-tooltip">
41
+ <span class="media-tooltip-label media-tooltip-label--replay">Replay</span>
42
+ <span class="media-tooltip-label media-tooltip-label--play">Play</span>
43
+ <span class="media-tooltip-label media-tooltip-label--pause">Pause</span>
44
+ </media-tooltip>
45
+
46
+ <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="media-button media-button--icon media-button--seek">
47
+ <span class="media-icon__container">
48
+ ${renderIcon("seek", { class: "media-icon media-icon--flipped" })}
49
+ <span class="media-icon__label">${SEEK_TIME}</span>
50
+ </span>
51
+ </media-seek-button>
52
+ <media-tooltip id="seek-backward-tooltip" side="top" class="media-tooltip">
53
+ Seek backward ${SEEK_TIME} seconds
54
+ </media-tooltip>
55
+
56
+ <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="media-button media-button--icon media-button--seek">
57
+ <span class="media-icon__container">
58
+ ${renderIcon("seek", { class: "media-icon" })}
59
+ <span class="media-icon__label">${SEEK_TIME}</span>
60
+ </span>
61
+ </media-seek-button>
62
+ <media-tooltip id="seek-forward-tooltip" side="top" class="media-tooltip">
63
+ Seek forward ${SEEK_TIME} seconds
64
+ </media-tooltip>
65
+ </div>
98
66
 
99
- <media-mute-button commandfor="video-volume-popover" class="media-button media-button--icon media-button--mute">
100
- ${renderIcon("volume-off", { class: "media-icon media-icon--volume-off" })}
101
- ${renderIcon("volume-low", { class: "media-icon media-icon--volume-low" })}
102
- ${renderIcon("volume-high", { class: "media-icon media-icon--volume-high" })}
103
- </media-mute-button>
67
+ <div class="media-time-controls">
68
+ <media-time-group class="media-time">
69
+ <media-time type="current" class="media-time__value media-time__value--current"></media-time>
70
+ <media-time-separator class="media-time__separator"></media-time-separator>
71
+ <media-time type="duration" class="media-time__value media-time__value--duration"></media-time>
72
+ </media-time-group>
104
73
 
105
- <media-popover id="video-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="media-popover media-popover--volume">
106
- <media-volume-slider class="media-slider" orientation="vertical" thumb-alignment="edge">
74
+ <media-time-slider class="media-slider">
107
75
  <media-slider-track class="media-slider__track">
108
76
  <media-slider-fill class="media-slider__fill"></media-slider-fill>
77
+ <media-slider-buffer class="media-slider__buffer"></media-slider-buffer>
109
78
  </media-slider-track>
110
- <media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb>
111
- </media-volume-slider>
112
- </media-popover>
113
-
114
- <media-captions-button commandfor="captions-tooltip" class="media-button media-button--icon media-button--captions">
115
- ${renderIcon("captions-off", { class: "media-icon media-icon--captions-off" })}
116
- ${renderIcon("captions-on", { class: "media-icon media-icon--captions-on" })}
117
- </media-captions-button>
118
- <media-tooltip id="captions-tooltip" side="top" class="media-tooltip">
119
- Toggle captions
120
- </media-tooltip>
121
-
122
- <media-pip-button commandfor="pip-tooltip" class="media-button media-button--icon">
123
- ${renderIcon("pip", { class: "media-icon" })}
124
- </media-pip-button>
125
- <media-tooltip id="pip-tooltip" side="top" class="media-tooltip">
126
- <span class="media-tooltip-label media-tooltip-label--enter-pip">Enter picture-in-picture</span>
127
- <span class="media-tooltip-label media-tooltip-label--exit-pip">Exit picture-in-picture</span>
128
- </media-tooltip>
79
+ <media-slider-thumb class="media-slider__thumb"></media-slider-thumb>
80
+ </media-time-slider>
81
+ </div>
129
82
 
130
- <media-fullscreen-button commandfor="fullscreen-tooltip" class="media-button media-button--icon media-button--fullscreen">
131
- ${renderIcon("fullscreen-enter", { class: "media-icon media-icon--fullscreen-enter" })}
132
- ${renderIcon("fullscreen-exit", { class: "media-icon media-icon--fullscreen-exit" })}
133
- </media-fullscreen-button>
134
- <media-tooltip id="fullscreen-tooltip" side="top" class="media-tooltip">
135
- <span class="media-tooltip-label media-tooltip-label--enter-fullscreen">Enter fullscreen</span>
136
- <span class="media-tooltip-label media-tooltip-label--exit-fullscreen">Exit fullscreen</span>
137
- </media-tooltip>
138
- </span>
83
+ <div class="media-button-group">
84
+ <media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate"></media-playback-rate-button>
85
+ <media-tooltip id="playback-rate-tooltip" side="top" class="media-tooltip">
86
+ Toggle playback rate
87
+ </media-tooltip>
88
+
89
+ <media-mute-button commandfor="video-volume-popover" class="media-button media-button--icon media-button--mute">
90
+ ${renderIcon("volume-off", { class: "media-icon media-icon--volume-off" })}
91
+ ${renderIcon("volume-low", { class: "media-icon media-icon--volume-low" })}
92
+ ${renderIcon("volume-high", { class: "media-icon media-icon--volume-high" })}
93
+ </media-mute-button>
94
+
95
+ <media-popover id="video-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="media-popover media-popover--volume">
96
+ <media-volume-slider class="media-slider" orientation="vertical" thumb-alignment="edge">
97
+ <media-slider-track class="media-slider__track">
98
+ <media-slider-fill class="media-slider__fill"></media-slider-fill>
99
+ </media-slider-track>
100
+ <media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb>
101
+ </media-volume-slider>
102
+ </media-popover>
103
+
104
+ <media-captions-button commandfor="captions-tooltip" class="media-button media-button--icon media-button--captions">
105
+ ${renderIcon("captions-off", { class: "media-icon media-icon--captions-off" })}
106
+ ${renderIcon("captions-on", { class: "media-icon media-icon--captions-on" })}
107
+ </media-captions-button>
108
+ <media-tooltip id="captions-tooltip" side="top" class="media-tooltip">
109
+ Toggle captions
110
+ </media-tooltip>
111
+
112
+ <media-pip-button commandfor="pip-tooltip" class="media-button media-button--icon">
113
+ ${renderIcon("pip", { class: "media-icon" })}
114
+ </media-pip-button>
115
+ <media-tooltip id="pip-tooltip" side="top" class="media-tooltip">
116
+ <span class="media-tooltip-label media-tooltip-label--enter-pip">Enter picture-in-picture</span>
117
+ <span class="media-tooltip-label media-tooltip-label--exit-pip">Exit picture-in-picture</span>
118
+ </media-tooltip>
119
+
120
+ <media-fullscreen-button commandfor="fullscreen-tooltip" class="media-button media-button--icon media-button--fullscreen">
121
+ ${renderIcon("fullscreen-enter", { class: "media-icon media-icon--fullscreen-enter" })}
122
+ ${renderIcon("fullscreen-exit", { class: "media-icon media-icon--fullscreen-exit" })}
123
+ </media-fullscreen-button>
124
+ <media-tooltip id="fullscreen-tooltip" side="top" class="media-tooltip">
125
+ <span class="media-tooltip-label media-tooltip-label--enter-fullscreen">Enter fullscreen</span>
126
+ <span class="media-tooltip-label media-tooltip-label--exit-fullscreen">Exit fullscreen</span>
127
+ </media-tooltip>
128
+ </div>
129
+ </media-tooltip-group>
139
130
  </media-controls>
140
131
 
141
132
  <div class="media-overlay"></div>
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.js","names":["styles"],"sources":["../../../../src/define/video/minimal-skin.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport { createStyles, SkinMixin } from '../skin-mixin';\nimport styles from './minimal-skin.css?inline';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/buffering-indicator';\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';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-minimal-skin media-minimal-skin--video\">\n <slot name=\"media\"></slot>\n\n <media-buffering-indicator class=\"media-buffering-indicator\">\n ${renderIcon('spinner', { class: 'media-icon' })}\n </media-buffering-indicator>\n\n <!--<div class=\"media-error\" role=\"alertdialog\" aria-labelledby=\"media-error-title\" aria-describedby=\"media-error-description\">\n <div class=\"media-error__dialog\">\n <div class=\"media-error__content\">\n <p id=\"media-error-title\" class=\"media-error__title\">Something went wrong.</p>\n <p id=\"media-error-description\" class=\"media-error__description\">An error occurred while trying to play the video. Please try again.</p>\n </div>\n <div class=\"media-error__actions\">\n <button type=\"button\" class=\"media-button\">OK</button>\n </div>\n </div>\n </div>-->\n\n <media-controls class=\"media-controls\">\n <span class=\"media-button-group\">\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--replay\">Replay</span>\n <span class=\"media-tooltip-label media-tooltip-label--play\">Play</span>\n <span class=\"media-tooltip-label media-tooltip-label--pause\">Pause</span>\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--flipped' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"media-tooltip\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"media-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </span>\n\n <span class=\"media-time-controls\">\n <media-time-group class=\"media-time\">\n <media-time type=\"current\" class=\"media-time__value media-time__value--current\"></media-time>\n <media-time-separator class=\"media-time__separator\"></media-time-separator>\n <media-time type=\"duration\" class=\"media-time__value media-time__value--duration\"></media-time>\n </media-time-group>\n\n <media-time-slider class=\"media-slider\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n <media-slider-buffer class=\"media-slider__buffer\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb\"></media-slider-thumb>\n </media-time-slider>\n </span>\n\n <span class=\"media-button-group\">\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"media-button media-button--icon media-button--playback-rate\"></media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"media-tooltip\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"video-volume-popover\" class=\"media-button media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <media-captions-button commandfor=\"captions-tooltip\" class=\"media-button media-button--icon media-button--captions\">\n ${renderIcon('captions-off', { class: 'media-icon media-icon--captions-off' })}\n ${renderIcon('captions-on', { class: 'media-icon media-icon--captions-on' })}\n </media-captions-button>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"media-tooltip\">\n Toggle captions\n </media-tooltip>\n\n <media-pip-button commandfor=\"pip-tooltip\" class=\"media-button media-button--icon\">\n ${renderIcon('pip', { class: 'media-icon' })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--enter-pip\">Enter picture-in-picture</span>\n <span class=\"media-tooltip-label media-tooltip-label--exit-pip\">Exit picture-in-picture</span>\n </media-tooltip>\n\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"media-button media-button--icon media-button--fullscreen\">\n ${renderIcon('fullscreen-enter', { class: 'media-icon media-icon--fullscreen-enter' })}\n ${renderIcon('fullscreen-exit', { class: 'media-icon media-icon--fullscreen-exit' })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--enter-fullscreen\">Enter fullscreen</span>\n <span class=\"media-tooltip-label media-tooltip-label--exit-fullscreen\">Exit fullscreen</span>\n </media-tooltip>\n </span>\n </media-controls>\n\n <div class=\"media-overlay\"></div>\n </media-container>\n `;\n}\n\nexport class MinimalVideoSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-minimal-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalVideoSkinElement.tagName, MinimalVideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalVideoSkinElement.tagName]: MinimalVideoSkinElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;;;;;UAKR,WAAW,WAAW,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;;;;;;;;;;;;cAkB3C,WAAW,WAAW,EAAE,OAAO,kCAAkC,CAAC,CAAC;cACnE,WAAW,QAAQ,EAAE,OAAO,+BAA+B,CAAC,CAAC;cAC7D,WAAW,SAAS,EAAE,OAAO,gCAAgC,CAAC,CAAC;;;;;;;;2EAQF,CAAC,UAAU;;gBAEtE,WAAW,QAAQ,EAAE,OAAO,kCAAkC,CAAC,CAAC;gDAChC,UAAU;;;;4BAI9B,UAAU;;;0EAGoC,UAAU;;gBAEpE,WAAW,QAAQ,EAAE,OAAO,cAAc,CAAC,CAAC;gDACZ,UAAU;;;;2BAI/B,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2BvB,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;cACzE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;cACzE,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;;;;;;;cAa3E,WAAW,gBAAgB,EAAE,OAAO,uCAAuC,CAAC,CAAC;cAC7E,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;cAO3E,WAAW,OAAO,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;;cAQ3C,WAAW,oBAAoB,EAAE,OAAO,2CAA2C,CAAC,CAAC;cACrF,WAAW,mBAAmB,EAAE,OAAO,0CAA0C,CAAC,CAAC;;;;;;;;;;;;;AAcjG,IAAa,0BAAb,cAA6C,UAAU,gBAAgB,CAAC;;iBAC5C;;;gBACV,aAAaA,qBAAO;;;yBACX;;;AAG3B,eAAe,OAAO,wBAAwB,SAAS,wBAAwB"}
1
+ {"version":3,"file":"minimal-skin.js","names":["styles"],"sources":["../../../../src/define/video/minimal-skin.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport { createStyles, SkinMixin } from '../skin-mixin';\nimport styles from './minimal-skin.css?inline';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/buffering-indicator';\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';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-minimal-skin media-minimal-skin--video\">\n <slot name=\"media\"></slot>\n\n <media-buffering-indicator class=\"media-buffering-indicator\">\n ${renderIcon('spinner', { class: 'media-icon' })}\n </media-buffering-indicator>\n\n <media-controls class=\"media-controls\">\n <media-tooltip-group>\n <div class=\"media-button-group\">\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--replay\">Replay</span>\n <span class=\"media-tooltip-label media-tooltip-label--play\">Play</span>\n <span class=\"media-tooltip-label media-tooltip-label--pause\">Pause</span>\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-backward-tooltip\" seconds=\"${-SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--flipped' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-backward-tooltip\" side=\"top\" class=\"media-tooltip\">\n Seek backward ${SEEK_TIME} seconds\n </media-tooltip>\n\n <media-seek-button commandfor=\"seek-forward-tooltip\" seconds=\"${SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n <media-tooltip id=\"seek-forward-tooltip\" side=\"top\" class=\"media-tooltip\">\n Seek forward ${SEEK_TIME} seconds\n </media-tooltip>\n </div>\n\n <div class=\"media-time-controls\">\n <media-time-group class=\"media-time\">\n <media-time type=\"current\" class=\"media-time__value media-time__value--current\"></media-time>\n <media-time-separator class=\"media-time__separator\"></media-time-separator>\n <media-time type=\"duration\" class=\"media-time__value media-time__value--duration\"></media-time>\n </media-time-group>\n\n <media-time-slider class=\"media-slider\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n <media-slider-buffer class=\"media-slider__buffer\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb\"></media-slider-thumb>\n </media-time-slider>\n </div>\n\n <div class=\"media-button-group\">\n <media-playback-rate-button commandfor=\"playback-rate-tooltip\" class=\"media-button media-button--icon media-button--playback-rate\"></media-playback-rate-button>\n <media-tooltip id=\"playback-rate-tooltip\" side=\"top\" class=\"media-tooltip\">\n Toggle playback rate\n </media-tooltip>\n\n <media-mute-button commandfor=\"video-volume-popover\" class=\"media-button media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <media-captions-button commandfor=\"captions-tooltip\" class=\"media-button media-button--icon media-button--captions\">\n ${renderIcon('captions-off', { class: 'media-icon media-icon--captions-off' })}\n ${renderIcon('captions-on', { class: 'media-icon media-icon--captions-on' })}\n </media-captions-button>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"media-tooltip\">\n Toggle captions\n </media-tooltip>\n\n <media-pip-button commandfor=\"pip-tooltip\" class=\"media-button media-button--icon\">\n ${renderIcon('pip', { class: 'media-icon' })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--enter-pip\">Enter picture-in-picture</span>\n <span class=\"media-tooltip-label media-tooltip-label--exit-pip\">Exit picture-in-picture</span>\n </media-tooltip>\n\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"media-button media-button--icon media-button--fullscreen\">\n ${renderIcon('fullscreen-enter', { class: 'media-icon media-icon--fullscreen-enter' })}\n ${renderIcon('fullscreen-exit', { class: 'media-icon media-icon--fullscreen-exit' })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"media-tooltip\">\n <span class=\"media-tooltip-label media-tooltip-label--enter-fullscreen\">Enter fullscreen</span>\n <span class=\"media-tooltip-label media-tooltip-label--exit-fullscreen\">Exit fullscreen</span>\n </media-tooltip>\n </div>\n </media-tooltip-group>\n </media-controls>\n\n <div class=\"media-overlay\"></div>\n </media-container>\n `;\n}\n\nexport class MinimalVideoSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-minimal-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalVideoSkinElement.tagName, MinimalVideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalVideoSkinElement.tagName]: MinimalVideoSkinElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;;;;;UAKR,WAAW,WAAW,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;gBAOzC,WAAW,WAAW,EAAE,OAAO,kCAAkC,CAAC,CAAC;gBACnE,WAAW,QAAQ,EAAE,OAAO,+BAA+B,CAAC,CAAC;gBAC7D,WAAW,SAAS,EAAE,OAAO,gCAAgC,CAAC,CAAC;;;;;;;;6EAQF,CAAC,UAAU;;kBAEtE,WAAW,QAAQ,EAAE,OAAO,kCAAkC,CAAC,CAAC;kDAChC,UAAU;;;;8BAI9B,UAAU;;;4EAGoC,UAAU;;kBAEpE,WAAW,QAAQ,EAAE,OAAO,cAAc,CAAC,CAAC;kDACZ,UAAU;;;;6BAI/B,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA2BvB,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;;;;;;;gBAa3E,WAAW,gBAAgB,EAAE,OAAO,uCAAuC,CAAC,CAAC;gBAC7E,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;gBAO3E,WAAW,OAAO,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;;gBAQ3C,WAAW,oBAAoB,EAAE,OAAO,2CAA2C,CAAC,CAAC;gBACrF,WAAW,mBAAmB,EAAE,OAAO,0CAA0C,CAAC,CAAC;;;;;;;;;;;;;;AAenG,IAAa,0BAAb,cAA6C,UAAU,gBAAgB,CAAC;;iBAC5C;;;gBACV,aAAaA,qBAAO;;;yBACX;;;AAG3B,eAAe,OAAO,wBAAwB,SAAS,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.tailwind.d.ts","names":[],"sources":["../../../../src/define/video/minimal-skin.tailwind.ts"],"mappings":";;;iBA2CS,eAAA,CAAA;AAAA,cAAe,oCAAA;;;;cAsIX,+BAAA,SAAwC,oCAAA;EAAA,gBACnC,OAAA;EAAA,OACT,eAAA,SAAe,eAAA;AAAA;AAAA,QAKhB,MAAA;EAAA,UACI,qBAAA;IAAA,CACP,+BAAA,CAAgC,OAAA,GAAU,+BAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"minimal-skin.tailwind.d.ts","names":[],"sources":["../../../../src/define/video/minimal-skin.tailwind.ts"],"mappings":";;;iBA2CS,eAAA,CAAA;AAAA,cAAe,oCAAA;;;;cA4HX,+BAAA,SAAwC,oCAAA;EAAA,gBACnC,OAAA;EAAA,OACT,eAAA,SAAe,eAAA;AAAA;AAAA,QAKhB,MAAA;EAAA,UACI,qBAAA;IAAA,CACP,+BAAA,CAAgC,OAAA,GAAU,+BAAA;EAAA;AAAA"}
@@ -1,15 +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
- import { error } from "../../skins/dist/default/minimal/tailwind/components/error.js";
7
8
  import { icon, iconContainer, iconFlipped } from "../../skins/dist/default/minimal/tailwind/components/icon.js";
8
9
  import { seek } from "../../skins/dist/default/minimal/tailwind/components/seek.js";
9
10
  import { time } from "../../skins/dist/default/minimal/tailwind/components/time.js";
10
- import { iconState } from "../../skins/dist/default/minimal/tailwind/components/icon-state.js";
11
11
  import { overlay } from "../../skins/dist/default/minimal/tailwind/components/overlay.js";
12
- import { tooltipState } from "../../skins/dist/default/minimal/tailwind/components/tooltip-state.js";
13
12
  import { controls, popup, root, slider } from "../../skins/dist/default/minimal/tailwind/video.tailwind.js";
14
13
  import "../media/container.js";
15
14
  import "../ui/buffering-indicator.js";
@@ -25,6 +24,7 @@ import "../ui/seek-button.js";
25
24
  import "../ui/time.js";
26
25
  import "../ui/time-slider.js";
27
26
  import "../ui/tooltip.js";
27
+ import "../ui/tooltip-group.js";
28
28
  import "../ui/volume-slider.js";
29
29
  import { playbackRate } from "../../skins/dist/default/default/tailwind/components/playback-rate.js";
30
30
  import { ReactiveElement } from "@videojs/element";
@@ -41,124 +41,114 @@ function getTemplateHTML() {
41
41
  ${renderIcon("spinner")}
42
42
  </media-buffering-indicator>
43
43
 
44
- <!--<div class="${error.root}" role="alertdialog" aria-labelledby="media-error-title" aria-describedby="media-error-description">
45
- <div class="${error.dialog}">
46
- <div class="${error.content}">
47
- <p id="media-error-title" class="${error.title}">Something went wrong.</p>
48
- <p id="media-error-description">An error occurred while trying to play the video. Please try again.</p>
49
- </div>
50
- <div class="${error.actions}">
51
- <button type="button" class="${cn(button.base, button.default)}">OK</button>
52
- </div>
53
- </div>
54
- </div>-->
55
-
56
44
  <media-controls data-controls="" class="${controls}">
57
- <span class="${buttonGroup}">
58
- <span class="${tooltipState.play.wrapper}">
59
- <media-play-button commandfor="play-tooltip" class="${cn(button.base, button.icon, iconState.play.button)}">
60
- ${renderIcon("restart", { class: cn(icon, iconState.play.restart) })}
61
- ${renderIcon("play", { class: cn(icon, iconState.play.play) })}
62
- ${renderIcon("pause", { class: cn(icon, iconState.play.pause) })}
63
- </media-play-button>
64
- <media-tooltip id="play-tooltip" side="top" class="${cn(popup.tooltip)}">
65
- <span class="${tooltipState.play.replay}">Replay</span>
66
- <span class="${tooltipState.play.play}">Play</span>
67
- <span class="${tooltipState.play.pause}">Pause</span>
68
- </media-tooltip>
69
- </span>
70
-
71
- <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
72
- <span class="${iconContainer}">
73
- ${renderIcon("seek", { class: cn(icon, iconFlipped) })}
74
- <span class="${cn(seek.label, seek.labelBackward)}">${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>
75
58
  </span>
76
- </media-seek-button>
77
- <media-tooltip id="seek-backward-tooltip" side="top" class="${cn(popup.tooltip)}">
78
- Seek backward ${SEEK_TIME} seconds
79
- </media-tooltip>
80
59
 
81
- <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
82
- <span class="${iconContainer}">
83
- ${renderIcon("seek", { class: icon })}
84
- <span class="${cn(seek.label, seek.labelForward)}">${SEEK_TIME}</span>
85
- </span>
86
- </media-seek-button>
87
- <media-tooltip id="seek-forward-tooltip" side="top" class="${cn(popup.tooltip)}">
88
- Seek forward ${SEEK_TIME} seconds
89
- </media-tooltip>
90
- </span>
91
-
92
- <span class="${time.controls}">
93
- <media-time-group class="${time.group}">
94
- <media-time type="current" class="${time.current}"></media-time>
95
- <media-time-separator class="${time.separator}"></media-time-separator>
96
- <media-time type="duration" class="${time.duration}"></media-time>
97
- </media-time-group>
98
-
99
- <media-time-slider class="${slider.root}">
100
- <media-slider-track class="${slider.track}">
101
- <media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill>
102
- <media-slider-buffer class="${cn(slider.fill.base, slider.fill.buffer)}"></media-slider-buffer>
103
- </media-slider-track>
104
- <media-slider-thumb class="${cn(slider.thumb.base, slider.thumb.interactive)}"></media-slider-thumb>
105
- </media-time-slider>
106
- </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>
107
69
 
108
- <span class="${buttonGroup}">
109
- <media-playback-rate-button commandfor="playback-rate-tooltip" class="${cn(button.base, button.icon, playbackRate.button)}">
110
- </media-playback-rate-button>
111
- <media-tooltip id="playback-rate-tooltip" side="top" class="${cn(popup.tooltip)}">
112
- Toggle playback rate
113
- </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>
114
80
 
115
- <media-mute-button commandfor="video-volume-popover" class="${cn(button.base, button.icon, iconState.mute.button)}">
116
- ${renderIcon("volume-off", { class: cn(icon, iconState.mute.volumeOff) })}
117
- ${renderIcon("volume-low", { class: cn(icon, iconState.mute.volumeLow) })}
118
- ${renderIcon("volume-high", { class: cn(icon, iconState.mute.volumeHigh) })}
119
- </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>
120
87
 
121
- <media-popover id="video-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="${cn(popup.volume)}">
122
- <media-volume-slider class="${slider.root}" orientation="vertical" thumb-alignment="edge">
88
+ <media-time-slider class="${slider.root}">
123
89
  <media-slider-track class="${slider.track}">
124
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>
125
92
  </media-slider-track>
126
- <media-slider-thumb class="${slider.thumb.base}"></media-slider-thumb>
127
- </media-volume-slider>
128
- </media-popover>
93
+ <media-slider-thumb class="${cn(slider.thumb.base, slider.thumb.interactive)}"></media-slider-thumb>
94
+ </media-time-slider>
95
+ </div>
129
96
 
130
- <span class="${tooltipState.captions.wrapper}">
131
- <media-captions-button commandfor="captions-tooltip" class="${cn(button.base, button.icon, iconState.captions.button)}">
132
- ${renderIcon("captions-off", { class: cn(icon, iconState.captions.off) })}
133
- ${renderIcon("captions-on", { class: cn(icon, iconState.captions.on) })}
134
- </media-captions-button>
135
- <media-tooltip id="captions-tooltip" side="top" class="${cn(popup.tooltip)}">
136
- <span class="${tooltipState.captions.enable}">Enable captions</span>
137
- <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
138
102
  </media-tooltip>
139
- </span>
140
103
 
141
- <span class="${tooltipState.pip.wrapper}">
142
- <media-pip-button commandfor="pip-tooltip" class="${cn(button.base, button.icon)}">
143
- ${renderIcon("pip", { class: icon })}
144
- </media-pip-button>
145
- <media-tooltip id="pip-tooltip" side="top" class="${cn(popup.tooltip)}">
146
- <span class="${tooltipState.pip.enter}">Enter picture-in-picture</span>
147
- <span class="${tooltipState.pip.exit}">Exit picture-in-picture</span>
148
- </media-tooltip>
149
- </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>
109
+
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>
150
129
 
151
- <span class="${tooltipState.fullscreen.wrapper}">
152
- <media-fullscreen-button commandfor="fullscreen-tooltip" class="${cn(button.base, button.icon, iconState.fullscreen.button)}">
153
- ${renderIcon("fullscreen-enter", { class: cn(icon, iconState.fullscreen.enter) })}
154
- ${renderIcon("fullscreen-exit", { class: cn(icon, iconState.fullscreen.exit) })}
155
- </media-fullscreen-button>
156
- <media-tooltip id="fullscreen-tooltip" side="top" class="${cn(popup.tooltip)}">
157
- <span class="${tooltipState.fullscreen.enter}">Enter fullscreen</span>
158
- <span class="${tooltipState.fullscreen.exit}">Exit fullscreen</span>
159
- </media-tooltip>
160
- </span>
161
- </span>
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>
162
152
  </media-controls>
163
153
 
164
154
  <div class="${overlay}"></div>