@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
@@ -9,6 +9,7 @@ import "../ui/seek-button.js";
9
9
  import "../ui/time.js";
10
10
  import "../ui/time-slider.js";
11
11
  import "../ui/tooltip.js";
12
+ import "../ui/tooltip-group.js";
12
13
  import "../ui/volume-slider.js";
13
14
  import minimal_skin_default from "../../_virtual/inline-css_src/define/audio/minimal-skin.js";
14
15
  import { ReactiveElement } from "@videojs/element";
@@ -21,77 +22,79 @@ function getTemplateHTML() {
21
22
  <slot name="media"></slot>
22
23
 
23
24
  <div class="media-controls">
24
- <span class="media-button-group">
25
- <media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play">
26
- ${renderIcon("restart", { class: "media-icon media-icon--restart" })}
27
- ${renderIcon("play", { class: "media-icon media-icon--play" })}
28
- ${renderIcon("pause", { class: "media-icon media-icon--pause" })}
29
- </media-play-button>
30
- <media-tooltip id="play-tooltip" side="top" class="media-tooltip">
31
- <span class="media-tooltip-label media-tooltip-label--replay">Replay</span>
32
- <span class="media-tooltip-label media-tooltip-label--play">Play</span>
33
- <span class="media-tooltip-label media-tooltip-label--pause">Pause</span>
34
- </media-tooltip>
25
+ <media-tooltip-group>
26
+ <div class="media-button-group">
27
+ <media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play">
28
+ ${renderIcon("restart", { class: "media-icon media-icon--restart" })}
29
+ ${renderIcon("play", { class: "media-icon media-icon--play" })}
30
+ ${renderIcon("pause", { class: "media-icon media-icon--pause" })}
31
+ </media-play-button>
32
+ <media-tooltip id="play-tooltip" side="top" class="media-tooltip">
33
+ <span class="media-tooltip-label media-tooltip-label--replay">Replay</span>
34
+ <span class="media-tooltip-label media-tooltip-label--play">Play</span>
35
+ <span class="media-tooltip-label media-tooltip-label--pause">Pause</span>
36
+ </media-tooltip>
35
37
 
36
- <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="media-button media-button--icon media-button--seek">
37
- <span class="media-icon__container">
38
- ${renderIcon("seek", { class: "media-icon media-icon--seek media-icon--flipped" })}
39
- <span class="media-icon__label">${SEEK_TIME}</span>
40
- </span>
41
- </media-seek-button>
42
- <media-tooltip id="seek-backward-tooltip" side="top" class="media-tooltip">
43
- Seek backward ${SEEK_TIME} seconds
44
- </media-tooltip>
38
+ <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="media-button media-button--icon media-button--seek">
39
+ <span class="media-icon__container">
40
+ ${renderIcon("seek", { class: "media-icon media-icon--seek media-icon--flipped" })}
41
+ <span class="media-icon__label">${SEEK_TIME}</span>
42
+ </span>
43
+ </media-seek-button>
44
+ <media-tooltip id="seek-backward-tooltip" side="top" class="media-tooltip">
45
+ Seek backward ${SEEK_TIME} seconds
46
+ </media-tooltip>
45
47
 
46
- <media-seek-button commandfor="seek-forward-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--seek" })}
49
- <span class="media-icon__label">${SEEK_TIME}</span>
50
- </span>
51
- </media-seek-button>
52
- <media-tooltip id="seek-forward-tooltip" side="top" class="media-tooltip">
53
- Seek forward ${SEEK_TIME} seconds
54
- </media-tooltip>
55
- </span>
48
+ <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="media-button media-button--icon media-button--seek">
49
+ <span class="media-icon__container">
50
+ ${renderIcon("seek", { class: "media-icon media-icon--seek" })}
51
+ <span class="media-icon__label">${SEEK_TIME}</span>
52
+ </span>
53
+ </media-seek-button>
54
+ <media-tooltip id="seek-forward-tooltip" side="top" class="media-tooltip">
55
+ Seek forward ${SEEK_TIME} seconds
56
+ </media-tooltip>
57
+ </div>
56
58
 
57
- <span class="media-time-controls">
58
- <media-time-group class="media-time">
59
- <media-time type="current" class="media-time__value media-time__value--current"></media-time>
60
- <media-time-separator class="media-time__separator"></media-time-separator>
61
- <media-time type="duration" class="media-time__value media-time__value--duration"></media-time>
62
- </media-time-group>
59
+ <div class="media-time-controls">
60
+ <media-time-group class="media-time">
61
+ <media-time type="current" class="media-time__value media-time__value--current"></media-time>
62
+ <media-time-separator class="media-time__separator"></media-time-separator>
63
+ <media-time type="duration" class="media-time__value media-time__value--duration"></media-time>
64
+ </media-time-group>
63
65
 
64
- <media-time-slider class="media-slider">
65
- <media-slider-track class="media-slider__track">
66
- <media-slider-fill class="media-slider__fill"></media-slider-fill>
67
- <media-slider-buffer class="media-slider__buffer"></media-slider-buffer>
68
- </media-slider-track>
69
- <media-slider-thumb class="media-slider__thumb"></media-slider-thumb>
70
- </media-time-slider>
71
- </span>
72
-
73
- <span class="media-button-group">
74
- <media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate">
75
- </media-playback-rate-button>
76
- <media-tooltip id="playback-rate-tooltip" side="top" class="media-tooltip">
77
- Toggle playback rate
78
- </media-tooltip>
79
-
80
- <media-mute-button commandfor="audio-volume-popover" class="media-button media-button--icon media-button--mute">
81
- ${renderIcon("volume-off", { class: "media-icon media-icon--volume-off" })}
82
- ${renderIcon("volume-low", { class: "media-icon media-icon--volume-low" })}
83
- ${renderIcon("volume-high", { class: "media-icon media-icon--volume-high" })}
84
- </media-mute-button>
85
-
86
- <media-popover id="audio-volume-popover" open-on-hover delay="200" close-delay="100" side="left" class="media-popover media-popover--volume">
87
- <media-volume-slider class="media-slider" orientation="horizontal" thumb-alignment="edge">
66
+ <media-time-slider class="media-slider">
88
67
  <media-slider-track class="media-slider__track">
89
68
  <media-slider-fill class="media-slider__fill"></media-slider-fill>
69
+ <media-slider-buffer class="media-slider__buffer"></media-slider-buffer>
90
70
  </media-slider-track>
91
- <media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb>
92
- </media-volume-slider>
93
- </media-popover>
94
- </span>
71
+ <media-slider-thumb class="media-slider__thumb"></media-slider-thumb>
72
+ </media-time-slider>
73
+ </div>
74
+
75
+ <div class="media-button-group">
76
+ <media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate">
77
+ </media-playback-rate-button>
78
+ <media-tooltip id="playback-rate-tooltip" side="top" class="media-tooltip">
79
+ Toggle playback rate
80
+ </media-tooltip>
81
+
82
+ <media-mute-button commandfor="audio-volume-popover" class="media-button media-button--icon media-button--mute">
83
+ ${renderIcon("volume-off", { class: "media-icon media-icon--volume-off" })}
84
+ ${renderIcon("volume-low", { class: "media-icon media-icon--volume-low" })}
85
+ ${renderIcon("volume-high", { class: "media-icon media-icon--volume-high" })}
86
+ </media-mute-button>
87
+
88
+ <media-popover id="audio-volume-popover" open-on-hover delay="200" close-delay="100" side="left" class="media-popover media-popover--volume">
89
+ <media-volume-slider class="media-slider" orientation="horizontal" thumb-alignment="edge">
90
+ <media-slider-track class="media-slider__track">
91
+ <media-slider-fill class="media-slider__fill"></media-slider-fill>
92
+ </media-slider-track>
93
+ <media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb>
94
+ </media-volume-slider>
95
+ </media-popover>
96
+ </div>
97
+ </media-tooltip-group>
95
98
  </div>
96
99
  </media-container>
97
100
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.js","names":["styles"],"sources":["../../../../src/define/audio/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/mute-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--audio\">\n <slot name=\"media\"></slot>\n\n <div 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--seek 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 media-icon--seek' })}\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\">\n </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=\"audio-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=\"audio-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"left\" class=\"media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"horizontal\" 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 </span>\n </div>\n </media-container>\n `;\n}\n\nexport class MinimalAudioSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'audio-minimal-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalAudioSkinElement.tagName, MinimalAudioSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalAudioSkinElement.tagName]: MinimalAudioSkinElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;;;;;;;cAOJ,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,mDAAmD,CAAC,CAAC;gDACjD,UAAU;;;;4BAI9B,UAAU;;;0EAGoC,UAAU;;gBAEpE,WAAW,QAAQ,EAAE,OAAO,+BAA+B,CAAC,CAAC;gDAC7B,UAAU;;;;2BAI/B,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4BvB,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;cACzE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;cACzE,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;;;;;;;;;;AAiBzF,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/audio/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/mute-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--audio\">\n <slot name=\"media\"></slot>\n\n <div 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--seek 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 media-icon--seek' })}\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\">\n </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=\"audio-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=\"audio-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"left\" class=\"media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"horizontal\" 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 </div>\n </media-tooltip-group>\n </div>\n </media-container>\n `;\n}\n\nexport class MinimalAudioSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'audio-minimal-skin';\n static styles = createStyles(styles);\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalAudioSkinElement.tagName, MinimalAudioSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalAudioSkinElement.tagName]: MinimalAudioSkinElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;;;;;;;;gBAQF,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,mDAAmD,CAAC,CAAC;kDACjD,UAAU;;;;8BAI9B,UAAU;;;4EAGoC,UAAU;;kBAEpE,WAAW,QAAQ,EAAE,OAAO,+BAA+B,CAAC,CAAC;kDAC7B,UAAU;;;;6BAI/B,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA4BvB,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;gBACzE,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;;;;;;;;;;;AAkB3F,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/audio/minimal-skin.tailwind.ts"],"mappings":";;;iBAmCS,eAAA,CAAA;AAAA,cAAe,oCAAA;;;;cAoFX,+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/audio/minimal-skin.tailwind.ts"],"mappings":";;;iBAoCS,eAAA,CAAA;AAAA,cAAe,oCAAA;;;;cAsFX,+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,5 +1,7 @@
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 { button } from "../../skins/dist/default/minimal/tailwind/components/button.js";
4
6
  import { buttonGroup } from "../../skins/dist/default/minimal/tailwind/components/button-group.js";
5
7
  import { icon, iconContainer, iconFlipped } from "../../skins/dist/default/minimal/tailwind/components/icon.js";
@@ -15,9 +17,10 @@ import "../ui/seek-button.js";
15
17
  import "../ui/time.js";
16
18
  import "../ui/time-slider.js";
17
19
  import "../ui/tooltip.js";
20
+ import "../ui/tooltip-group.js";
18
21
  import "../ui/volume-slider.js";
19
22
  import { playbackRate } from "../../skins/dist/default/default/tailwind/components/playback-rate.js";
20
- import { controls, iconState, popup, root, tooltipState } from "../../skins/dist/default/minimal/tailwind/audio.tailwind.js";
23
+ import { controls, popup, root } from "../../skins/dist/default/minimal/tailwind/audio.tailwind.js";
21
24
  import { ReactiveElement } from "@videojs/element";
22
25
  import { cn } from "@videojs/utils/style";
23
26
 
@@ -29,79 +32,81 @@ function getTemplateHTML() {
29
32
  <slot name="media"></slot>
30
33
 
31
34
  <div class="${controls}">
32
- <span class="${buttonGroup}">
33
- <span class="${tooltipState.play.wrapper}">
34
- <media-play-button commandfor="play-tooltip" class="${cn(button.base, button.icon, iconState.play.button)}">
35
- ${renderIcon("restart", { class: cn(icon, iconState.play.restart) })}
36
- ${renderIcon("play", { class: cn(icon, iconState.play.play) })}
37
- ${renderIcon("pause", { class: cn(icon, iconState.play.pause) })}
38
- </media-play-button>
39
- <media-tooltip id="play-tooltip" side="top" class="${cn(popup.tooltip)}">
40
- <span class="${tooltipState.play.replay}">Replay</span>
41
- <span class="${tooltipState.play.play}">Play</span>
42
- <span class="${tooltipState.play.pause}">Pause</span>
43
- </media-tooltip>
44
- </span>
45
-
46
- <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
47
- <span class="${iconContainer}">
48
- ${renderIcon("seek", { class: cn(icon, iconFlipped) })}
49
- <span class="${cn(seek.label, seek.labelBackward)}">${SEEK_TIME}</span>
50
- </span>
51
- </media-seek-button>
52
- <media-tooltip id="seek-backward-tooltip" side="top" class="${cn(popup.tooltip)}">
53
- Seek backward ${SEEK_TIME} seconds
54
- </media-tooltip>
55
-
56
- <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
57
- <span class="${iconContainer}">
58
- ${renderIcon("seek", { class: icon })}
59
- <span class="${cn(seek.label, seek.labelForward)}">${SEEK_TIME}</span>
35
+ <media-tooltip-group class="contents">
36
+ <div class="${buttonGroup}">
37
+ <span class="${tooltipState.play.wrapper}">
38
+ <media-play-button commandfor="play-tooltip" class="${cn(button.base, button.icon, iconState.play.button)}">
39
+ ${renderIcon("restart", { class: cn(icon, iconState.play.restart) })}
40
+ ${renderIcon("play", { class: cn(icon, iconState.play.play) })}
41
+ ${renderIcon("pause", { class: cn(icon, iconState.play.pause) })}
42
+ </media-play-button>
43
+ <media-tooltip id="play-tooltip" side="top" class="${cn(popup.tooltip)}">
44
+ <span class="${tooltipState.play.replay}">Replay</span>
45
+ <span class="${tooltipState.play.play}">Play</span>
46
+ <span class="${tooltipState.play.pause}">Pause</span>
47
+ </media-tooltip>
60
48
  </span>
61
- </media-seek-button>
62
- <media-tooltip id="seek-forward-tooltip" side="top" class="${cn(popup.tooltip)}">
63
- Seek forward ${SEEK_TIME} seconds
64
- </media-tooltip>
65
- </span>
66
-
67
- <span class="${time.controls}">
68
- <media-time-group class="${time.group}">
69
- <media-time type="current" class="${time.current}"></media-time>
70
- <media-time-separator class="${time.separator}"></media-time-separator>
71
- <media-time type="duration" class="${time.duration}"></media-time>
72
- </media-time-group>
73
49
 
74
- <media-time-slider class="${slider.root}">
75
- <media-slider-track class="${slider.track}">
76
- <media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill>
77
- <media-slider-buffer class="${cn(slider.fill.base, slider.fill.buffer)}"></media-slider-buffer>
78
- </media-slider-track>
79
- <media-slider-thumb class="${cn(slider.thumb.base, slider.thumb.interactive)}"></media-slider-thumb>
80
- </media-time-slider>
81
- </span>
50
+ <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
51
+ <span class="${iconContainer}">
52
+ ${renderIcon("seek", { class: cn(icon, iconFlipped) })}
53
+ <span class="${cn(seek.label, seek.labelBackward)}">${SEEK_TIME}</span>
54
+ </span>
55
+ </media-seek-button>
56
+ <media-tooltip id="seek-backward-tooltip" side="top" class="${cn(popup.tooltip)}">
57
+ Seek backward ${SEEK_TIME} seconds
58
+ </media-tooltip>
82
59
 
83
- <span class="${buttonGroup}">
84
- <media-playback-rate-button commandfor="playback-rate-tooltip" class="${cn(button.base, button.icon, playbackRate.button)}">
85
- </media-playback-rate-button>
86
- <media-tooltip id="playback-rate-tooltip" side="top" class="${cn(popup.tooltip)}">
87
- Toggle playback rate
88
- </media-tooltip>
60
+ <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
61
+ <span class="${iconContainer}">
62
+ ${renderIcon("seek", { class: icon })}
63
+ <span class="${cn(seek.label, seek.labelForward)}">${SEEK_TIME}</span>
64
+ </span>
65
+ </media-seek-button>
66
+ <media-tooltip id="seek-forward-tooltip" side="top" class="${cn(popup.tooltip)}">
67
+ Seek forward ${SEEK_TIME} seconds
68
+ </media-tooltip>
69
+ </div>
89
70
 
90
- <media-mute-button commandfor="audio-volume-popover" class="${cn(button.base, button.icon, iconState.mute.button)}">
91
- ${renderIcon("volume-off", { class: cn(icon, iconState.mute.volumeOff) })}
92
- ${renderIcon("volume-low", { class: cn(icon, iconState.mute.volumeLow) })}
93
- ${renderIcon("volume-high", { class: cn(icon, iconState.mute.volumeHigh) })}
94
- </media-mute-button>
71
+ <div class="${time.controls}">
72
+ <media-time-group class="${time.group}">
73
+ <media-time type="current" class="${time.current}"></media-time>
74
+ <media-time-separator class="${time.separator}"></media-time-separator>
75
+ <media-time type="duration" class="${time.duration}"></media-time>
76
+ </media-time-group>
95
77
 
96
- <media-popover id="audio-volume-popover" open-on-hover delay="200" close-delay="100" side="left" class="${cn(popup.volume)}">
97
- <media-volume-slider class="${slider.root}" orientation="horizontal" thumb-alignment="edge">
78
+ <media-time-slider class="${slider.root}">
98
79
  <media-slider-track class="${slider.track}">
99
80
  <media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill>
81
+ <media-slider-buffer class="${cn(slider.fill.base, slider.fill.buffer)}"></media-slider-buffer>
100
82
  </media-slider-track>
101
- <media-slider-thumb class="${slider.thumb.base}"></media-slider-thumb>
102
- </media-volume-slider>
103
- </media-popover>
104
- </span>
83
+ <media-slider-thumb class="${cn(slider.thumb.base, slider.thumb.interactive)}"></media-slider-thumb>
84
+ </media-time-slider>
85
+ </div>
86
+
87
+ <div class="${buttonGroup}">
88
+ <media-playback-rate-button commandfor="playback-rate-tooltip" class="${cn(button.base, button.icon, playbackRate.button)}">
89
+ </media-playback-rate-button>
90
+ <media-tooltip id="playback-rate-tooltip" side="top" class="${cn(popup.tooltip)}">
91
+ Toggle playback rate
92
+ </media-tooltip>
93
+
94
+ <media-mute-button commandfor="audio-volume-popover" class="${cn(button.base, button.icon, iconState.mute.button)}">
95
+ ${renderIcon("volume-off", { class: cn(icon, iconState.mute.volumeOff) })}
96
+ ${renderIcon("volume-low", { class: cn(icon, iconState.mute.volumeLow) })}
97
+ ${renderIcon("volume-high", { class: cn(icon, iconState.mute.volumeHigh) })}
98
+ </media-mute-button>
99
+
100
+ <media-popover id="audio-volume-popover" open-on-hover delay="200" close-delay="100" side="left" class="${cn(popup.volume)}">
101
+ <media-volume-slider class="${slider.root}" orientation="horizontal" thumb-alignment="edge">
102
+ <media-slider-track class="${slider.track}">
103
+ <media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill>
104
+ </media-slider-track>
105
+ <media-slider-thumb class="${slider.thumb.base}"></media-slider-thumb>
106
+ </media-volume-slider>
107
+ </media-popover>
108
+ </div>
109
+ </media-tooltip-group>
105
110
  </div>
106
111
  </media-container>
107
112
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.tailwind.js","names":[],"sources":["../../../../src/define/audio/minimal-skin.tailwind.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport { playbackRate } from '@videojs/skins/default/tailwind/audio.tailwind';\nimport {\n button,\n buttonGroup,\n controls,\n icon,\n iconContainer,\n iconFlipped,\n iconState,\n popup,\n root,\n seek,\n slider,\n time,\n tooltipState,\n} from '@videojs/skins/minimal/tailwind/audio.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/mute-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=\"${root}\">\n <slot name=\"media\"></slot>\n\n <div 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=\"audio-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=\"audio-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"left\" class=\"${cn(popup.volume)}\">\n <media-volume-slider class=\"${slider.root}\" orientation=\"horizontal\" 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 </span>\n </div>\n </media-container>\n `;\n}\n\nexport class MinimalAudioSkinTailwindElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'audio-minimal-skin-tailwind';\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalAudioSkinTailwindElement.tagName, MinimalAudioSkinTailwindElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalAudioSkinTailwindElement.tagName]: MinimalAudioSkinTailwindElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAiCA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;8BACY,KAAK;;;oBAGf,SAAS;uBACN,YAAY;yBACV,aAAa,KAAK,QAAQ;kEACe,GAAG,OAAO,MAAM,OAAO,MAAM,UAAU,KAAK,OAAO,CAAC;gBACtG,WAAW,WAAW,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,QAAQ,EAAE,CAAC,CAAC;gBACnE,WAAW,QAAQ,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;gBAC7D,WAAW,SAAS,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;;iEAEd,GAAG,MAAM,QAAQ,CAAC;6BACtD,aAAa,KAAK,OAAO;6BACzB,aAAa,KAAK,KAAK;6BACvB,aAAa,KAAK,MAAM;;;;2EAIsB,CAAC,UAAU,WAAW,GAAG,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,CAAC;2BAChH,cAAc;gBACzB,WAAW,QAAQ,EAAE,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC,CAAC;6BACxC,GAAG,KAAK,OAAO,KAAK,cAAc,CAAC,IAAI,UAAU;;;wEAGN,GAAG,MAAM,QAAQ,CAAC;4BAC9D,UAAU;;;0EAGoC,UAAU,WAAW,GAAG,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,CAAC;2BAC9G,cAAc;gBACzB,WAAW,QAAQ,EAAE,OAAO,MAAM,CAAC,CAAC;6BACvB,GAAG,KAAK,OAAO,KAAK,aAAa,CAAC,IAAI,UAAU;;;uEAGN,GAAG,MAAM,QAAQ,CAAC;2BAC9D,UAAU;;;;uBAId,KAAK,SAAS;qCACA,KAAK,MAAM;gDACA,KAAK,QAAQ;2CAClB,KAAK,UAAU;iDACT,KAAK,SAAS;;;sCAGzB,OAAO,KAAK;yCACT,OAAO,MAAM;0CACZ,GAAG,OAAO,KAAK,MAAM,OAAO,KAAK,KAAK,CAAC;4CACrC,GAAG,OAAO,KAAK,MAAM,OAAO,KAAK,OAAO,CAAC;;yCAE5C,GAAG,OAAO,MAAM,MAAM,OAAO,MAAM,YAAY,CAAC;;;;uBAIlE,YAAY;mFACgD,GAAG,OAAO,MAAM,OAAO,MAAM,aAAa,OAAO,CAAC;;wEAE7D,GAAG,MAAM,QAAQ,CAAC;;;;wEAIlB,GAAG,OAAO,MAAM,OAAO,MAAM,UAAU,KAAK,OAAO,CAAC;cAC9G,WAAW,cAAc,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,UAAU,EAAE,CAAC,CAAC;cACxE,WAAW,cAAc,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,UAAU,EAAE,CAAC,CAAC;cACxE,WAAW,eAAe,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,WAAW,EAAE,CAAC,CAAC;;;oHAG4B,GAAG,MAAM,OAAO,CAAC;0CAC3F,OAAO,KAAK;2CACX,OAAO,MAAM;4CACZ,GAAG,OAAO,KAAK,MAAM,OAAO,KAAK,KAAK,CAAC;;2CAExC,OAAO,MAAM,KAAK;;;;;;;;AAS7D,IAAa,kCAAb,cAAqD,UAAU,gBAAgB,CAAC;;iBACpD;;;yBACD;;;AAG3B,eAAe,OAAO,gCAAgC,SAAS,gCAAgC"}
1
+ {"version":3,"file":"minimal-skin.tailwind.js","names":[],"sources":["../../../../src/define/audio/minimal-skin.tailwind.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render/minimal';\nimport { playbackRate } from '@videojs/skins/default/tailwind/audio.tailwind';\nimport {\n button,\n buttonGroup,\n controls,\n icon,\n iconContainer,\n iconFlipped,\n iconState,\n popup,\n root,\n seek,\n slider,\n time,\n tooltipState,\n} from '@videojs/skins/minimal/tailwind/audio.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/mute-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=\"${root}\">\n <slot name=\"media\"></slot>\n\n <div 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=\"audio-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=\"audio-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"left\" class=\"${cn(popup.volume)}\">\n <media-volume-slider class=\"${slider.root}\" orientation=\"horizontal\" 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 </div>\n </media-tooltip-group>\n </div>\n </media-container>\n `;\n}\n\nexport class MinimalAudioSkinTailwindElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'audio-minimal-skin-tailwind';\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(MinimalAudioSkinTailwindElement.tagName, MinimalAudioSkinTailwindElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalAudioSkinTailwindElement.tagName]: MinimalAudioSkinTailwindElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;8BACY,KAAK;;;oBAGf,SAAS;;wBAEL,YAAY;2BACT,aAAa,KAAK,QAAQ;oEACe,GAAG,OAAO,MAAM,OAAO,MAAM,UAAU,KAAK,OAAO,CAAC;kBACtG,WAAW,WAAW,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,QAAQ,EAAE,CAAC,CAAC;kBACnE,WAAW,QAAQ,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;kBAC7D,WAAW,SAAS,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;;mEAEd,GAAG,MAAM,QAAQ,CAAC;+BACtD,aAAa,KAAK,OAAO;+BACzB,aAAa,KAAK,KAAK;+BACvB,aAAa,KAAK,MAAM;;;;6EAIsB,CAAC,UAAU,WAAW,GAAG,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,CAAC;6BAChH,cAAc;kBACzB,WAAW,QAAQ,EAAE,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC,CAAC;+BACxC,GAAG,KAAK,OAAO,KAAK,cAAc,CAAC,IAAI,UAAU;;;0EAGN,GAAG,MAAM,QAAQ,CAAC;8BAC9D,UAAU;;;4EAGoC,UAAU,WAAW,GAAG,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,CAAC;6BAC9G,cAAc;kBACzB,WAAW,QAAQ,EAAE,OAAO,MAAM,CAAC,CAAC;+BACvB,GAAG,KAAK,OAAO,KAAK,aAAa,CAAC,IAAI,UAAU;;;yEAGN,GAAG,MAAM,QAAQ,CAAC;6BAC9D,UAAU;;;;wBAIf,KAAK,SAAS;uCACC,KAAK,MAAM;kDACA,KAAK,QAAQ;6CAClB,KAAK,UAAU;mDACT,KAAK,SAAS;;;wCAGzB,OAAO,KAAK;2CACT,OAAO,MAAM;4CACZ,GAAG,OAAO,KAAK,MAAM,OAAO,KAAK,KAAK,CAAC;8CACrC,GAAG,OAAO,KAAK,MAAM,OAAO,KAAK,OAAO,CAAC;;2CAE5C,GAAG,OAAO,MAAM,MAAM,OAAO,MAAM,YAAY,CAAC;;;;wBAInE,YAAY;qFACiD,GAAG,OAAO,MAAM,OAAO,MAAM,aAAa,OAAO,CAAC;;0EAE7D,GAAG,MAAM,QAAQ,CAAC;;;;0EAIlB,GAAG,OAAO,MAAM,OAAO,MAAM,UAAU,KAAK,OAAO,CAAC;gBAC9G,WAAW,cAAc,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,UAAU,EAAE,CAAC,CAAC;gBACxE,WAAW,cAAc,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,UAAU,EAAE,CAAC,CAAC;gBACxE,WAAW,eAAe,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,WAAW,EAAE,CAAC,CAAC;;;sHAG4B,GAAG,MAAM,OAAO,CAAC;4CAC3F,OAAO,KAAK;6CACX,OAAO,MAAM;8CACZ,GAAG,OAAO,KAAK,MAAM,OAAO,KAAK,KAAK,CAAC;;6CAExC,OAAO,MAAM,KAAK;;;;;;;;;AAU/D,IAAa,kCAAb,cAAqD,UAAU,gBAAgB,CAAC;;iBACpD;;;yBACD;;;AAG3B,eAAe,OAAO,gCAAgC,SAAS,gCAAgC"}
@@ -95,6 +95,8 @@
95
95
  position: relative;
96
96
  isolation: isolate;
97
97
  display: block;
98
+ height: 100%;
99
+ width: 100%;
98
100
  container: media-root / inline-size;
99
101
  border-radius: var(--media-border-radius, 2rem);
100
102
  font-family:
@@ -108,10 +110,6 @@
108
110
  letter-spacing: normal;
109
111
  -webkit-font-smoothing: auto;
110
112
  -moz-osx-font-smoothing: auto;
111
-
112
- &:fullscreen {
113
- border-radius: 0;
114
- }
115
113
  }
116
114
 
117
115
  /* ==========================================================================
@@ -629,7 +627,7 @@
629
627
  --media-surface-inner-border-color: oklch(1 0 0 / 0.1);
630
628
  --media-surface-outer-border-color: oklch(0 0 0 / 0.05);
631
629
  --media-surface-shadow-color: oklch(0 0 0 / 0.15);
632
- --media-surface-backdrop-filter: blur(8px) brightness(0.98) saturate(1.2);
630
+ --media-surface-backdrop-filter: blur(16px) saturate(1.5);
633
631
 
634
632
  @media (prefers-color-scheme: dark) {
635
633
  --media-border-color: oklch(1 0 0 / 0.1);
@@ -659,3 +657,7 @@
659
657
  }
660
658
  }
661
659
 
660
+ media-tooltip-group {
661
+ display: contents;
662
+ }
663
+
@@ -1 +1 @@
1
- {"version":3,"file":"skin.d.ts","names":[],"sources":["../../../../src/define/audio/skin.ts"],"mappings":";;;iBAmBS,eAAA,CAAA;AAAA,cAAe,qBAAA;;;;cAyEX,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/audio/skin.ts"],"mappings":";;;iBAoBS,eAAA,CAAA;AAAA,cAAe,qBAAA;;;;cA2EX,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"}
@@ -8,6 +8,7 @@ import "../ui/seek-button.js";
8
8
  import "../ui/time.js";
9
9
  import "../ui/time-slider.js";
10
10
  import "../ui/tooltip.js";
11
+ import "../ui/tooltip-group.js";
11
12
  import "../ui/volume-slider.js";
12
13
  import { renderIcon } from "../../icons/dist/render/default/index.js";
13
14
  import skin_default from "../../_virtual/inline-css_src/define/audio/skin.js";
@@ -21,68 +22,70 @@ function getTemplateHTML() {
21
22
  <slot name="media"></slot>
22
23
 
23
24
  <div class="media-surface media-controls">
24
- <media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play">
25
- ${renderIcon("restart", { class: "media-icon media-icon--restart" })}
26
- ${renderIcon("play", { class: "media-icon media-icon--play" })}
27
- ${renderIcon("pause", { class: "media-icon media-icon--pause" })}
28
- </media-play-button>
29
- <media-tooltip id="play-tooltip" side="top" class="media-surface media-tooltip">
30
- <span class="media-tooltip-label media-tooltip-label--replay">Replay</span>
31
- <span class="media-tooltip-label media-tooltip-label--play">Play</span>
32
- <span class="media-tooltip-label media-tooltip-label--pause">Pause</span>
33
- </media-tooltip>
25
+ <media-tooltip-group>
26
+ <media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play">
27
+ ${renderIcon("restart", { class: "media-icon media-icon--restart" })}
28
+ ${renderIcon("play", { class: "media-icon media-icon--play" })}
29
+ ${renderIcon("pause", { class: "media-icon media-icon--pause" })}
30
+ </media-play-button>
31
+ <media-tooltip id="play-tooltip" side="top" class="media-surface media-tooltip">
32
+ <span class="media-tooltip-label media-tooltip-label--replay">Replay</span>
33
+ <span class="media-tooltip-label media-tooltip-label--play">Play</span>
34
+ <span class="media-tooltip-label media-tooltip-label--pause">Pause</span>
35
+ </media-tooltip>
34
36
 
35
- <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="media-button media-button--icon media-button--seek">
36
- <span class="media-icon__container">
37
- ${renderIcon("seek", { class: "media-icon media-icon--seek media-icon--flipped" })}
38
- <span class="media-icon__label">${SEEK_TIME}</span>
39
- </span>
40
- </media-seek-button>
41
- <media-tooltip id="seek-backward-tooltip" side="top" class="media-surface media-tooltip">
42
- Seek backward ${SEEK_TIME} seconds
43
- </media-tooltip>
37
+ <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="media-button media-button--icon media-button--seek">
38
+ <span class="media-icon__container">
39
+ ${renderIcon("seek", { class: "media-icon media-icon--seek media-icon--flipped" })}
40
+ <span class="media-icon__label">${SEEK_TIME}</span>
41
+ </span>
42
+ </media-seek-button>
43
+ <media-tooltip id="seek-backward-tooltip" side="top" class="media-surface media-tooltip">
44
+ Seek backward ${SEEK_TIME} seconds
45
+ </media-tooltip>
44
46
 
45
- <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="media-button media-button--icon media-button--seek">
46
- <span class="media-icon__container">
47
- ${renderIcon("seek", { class: "media-icon media-icon--seek" })}
48
- <span class="media-icon__label">${SEEK_TIME}</span>
49
- </span>
50
- </media-seek-button>
51
- <media-tooltip id="seek-forward-tooltip" side="top" class="media-surface media-tooltip">
52
- Seek forward ${SEEK_TIME} seconds
53
- </media-tooltip>
47
+ <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="media-button media-button--icon media-button--seek">
48
+ <span class="media-icon__container">
49
+ ${renderIcon("seek", { class: "media-icon media-icon--seek" })}
50
+ <span class="media-icon__label">${SEEK_TIME}</span>
51
+ </span>
52
+ </media-seek-button>
53
+ <media-tooltip id="seek-forward-tooltip" side="top" class="media-surface media-tooltip">
54
+ Seek forward ${SEEK_TIME} seconds
55
+ </media-tooltip>
54
56
 
55
- <media-time-group class="media-time">
56
- <media-time type="current" class="media-time__value"></media-time>
57
- <media-time-slider class="media-slider">
58
- <media-slider-track class="media-slider__track">
59
- <media-slider-fill class="media-slider__fill"></media-slider-fill>
60
- <media-slider-buffer class="media-slider__buffer"></media-slider-buffer>
61
- </media-slider-track>
62
- <media-slider-thumb class="media-slider__thumb"></media-slider-thumb>
63
- </media-time-slider>
64
- <media-time type="duration" class="media-time__value"></media-time>
65
- </media-time-group>
57
+ <media-time-group class="media-time">
58
+ <media-time type="current" class="media-time__value"></media-time>
59
+ <media-time-slider class="media-slider">
60
+ <media-slider-track class="media-slider__track">
61
+ <media-slider-fill class="media-slider__fill"></media-slider-fill>
62
+ <media-slider-buffer class="media-slider__buffer"></media-slider-buffer>
63
+ </media-slider-track>
64
+ <media-slider-thumb class="media-slider__thumb"></media-slider-thumb>
65
+ </media-time-slider>
66
+ <media-time type="duration" class="media-time__value"></media-time>
67
+ </media-time-group>
66
68
 
67
- <media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate"></media-playback-rate-button>
68
- <media-tooltip id="playback-rate-tooltip" side="top" class="media-surface media-tooltip">
69
- Toggle playback rate
70
- </media-tooltip>
69
+ <media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate"></media-playback-rate-button>
70
+ <media-tooltip id="playback-rate-tooltip" side="top" class="media-surface media-tooltip">
71
+ Toggle playback rate
72
+ </media-tooltip>
71
73
 
72
- <media-mute-button commandfor="audio-volume-popover" class="media-button media-button--icon media-button--mute">
73
- ${renderIcon("volume-off", { class: "media-icon media-icon--volume-off" })}
74
- ${renderIcon("volume-low", { class: "media-icon media-icon--volume-low" })}
75
- ${renderIcon("volume-high", { class: "media-icon media-icon--volume-high" })}
76
- </media-mute-button>
74
+ <media-mute-button commandfor="audio-volume-popover" class="media-button media-button--icon media-button--mute">
75
+ ${renderIcon("volume-off", { class: "media-icon media-icon--volume-off" })}
76
+ ${renderIcon("volume-low", { class: "media-icon media-icon--volume-low" })}
77
+ ${renderIcon("volume-high", { class: "media-icon media-icon--volume-high" })}
78
+ </media-mute-button>
77
79
 
78
- <media-popover id="audio-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="media-surface media-popover media-popover--volume">
79
- <media-volume-slider class="media-slider" orientation="vertical" thumb-alignment="edge">
80
- <media-slider-track class="media-slider__track">
81
- <media-slider-fill class="media-slider__fill"></media-slider-fill>
82
- </media-slider-track>
83
- <media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb>
84
- </media-volume-slider>
85
- </media-popover>
80
+ <media-popover id="audio-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="media-surface media-popover media-popover--volume">
81
+ <media-volume-slider class="media-slider" orientation="vertical" thumb-alignment="edge">
82
+ <media-slider-track class="media-slider__track">
83
+ <media-slider-fill class="media-slider__fill"></media-slider-fill>
84
+ </media-slider-track>
85
+ <media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb>
86
+ </media-volume-slider>
87
+ </media-popover>
88
+ </media-tooltip-group>
86
89
  </div>
87
90
  </media-container>
88
91
  `;