@videojs/react 10.0.0-beta.8 → 10.0.0-beta.9

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 (118) hide show
  1. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  2. package/dist/default/presets/audio/minimal-skin.css +161 -141
  3. package/dist/default/presets/audio/minimal-skin.js +110 -100
  4. package/dist/default/presets/audio/minimal-skin.js.map +1 -1
  5. package/dist/default/presets/audio/minimal-skin.tailwind.js +120 -111
  6. package/dist/default/presets/audio/minimal-skin.tailwind.js.map +1 -1
  7. package/dist/default/presets/audio/skin.css +164 -132
  8. package/dist/default/presets/audio/skin.js +101 -91
  9. package/dist/default/presets/audio/skin.js.map +1 -1
  10. package/dist/default/presets/audio/skin.tailwind.js +111 -102
  11. package/dist/default/presets/audio/skin.tailwind.js.map +1 -1
  12. package/dist/default/presets/{video/error-dialog.js → error-dialog.js} +18 -18
  13. package/dist/default/presets/error-dialog.js.map +1 -0
  14. package/dist/default/presets/video/minimal-skin.css +224 -192
  15. package/dist/default/presets/video/minimal-skin.js +58 -62
  16. package/dist/default/presets/video/minimal-skin.js.map +1 -1
  17. package/dist/default/presets/video/minimal-skin.tailwind.js +70 -78
  18. package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
  19. package/dist/default/presets/video/skin.css +238 -189
  20. package/dist/default/presets/video/skin.js +58 -62
  21. package/dist/default/presets/video/skin.js.map +1 -1
  22. package/dist/default/presets/video/skin.tailwind.js +69 -77
  23. package/dist/default/presets/video/skin.tailwind.js.map +1 -1
  24. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +5 -4
  25. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  26. package/dist/default/skins/dist/default/default/tailwind/components/button.js +4 -3
  27. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  28. package/dist/default/skins/dist/default/default/tailwind/components/error.js +2 -2
  29. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  30. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  31. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  32. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +1 -1
  33. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  34. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +1 -1
  35. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  36. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +5 -3
  37. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  38. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +9 -4
  39. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  40. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +4 -3
  41. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  42. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +2 -2
  43. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  44. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  45. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  46. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +1 -1
  47. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  48. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +1 -1
  49. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  50. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
  51. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  52. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +10 -4
  53. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  54. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  55. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  56. package/dist/dev/presets/audio/minimal-skin.css +161 -141
  57. package/dist/dev/presets/audio/minimal-skin.d.ts.map +1 -1
  58. package/dist/dev/presets/audio/minimal-skin.js +110 -100
  59. package/dist/dev/presets/audio/minimal-skin.js.map +1 -1
  60. package/dist/dev/presets/audio/minimal-skin.tailwind.d.ts.map +1 -1
  61. package/dist/dev/presets/audio/minimal-skin.tailwind.js +120 -111
  62. package/dist/dev/presets/audio/minimal-skin.tailwind.js.map +1 -1
  63. package/dist/dev/presets/audio/skin.css +164 -132
  64. package/dist/dev/presets/audio/skin.d.ts.map +1 -1
  65. package/dist/dev/presets/audio/skin.js +101 -91
  66. package/dist/dev/presets/audio/skin.js.map +1 -1
  67. package/dist/dev/presets/audio/skin.tailwind.d.ts.map +1 -1
  68. package/dist/dev/presets/audio/skin.tailwind.js +111 -102
  69. package/dist/dev/presets/audio/skin.tailwind.js.map +1 -1
  70. package/dist/dev/presets/{video/error-dialog.js → error-dialog.js} +18 -18
  71. package/dist/dev/presets/error-dialog.js.map +1 -0
  72. package/dist/dev/presets/video/minimal-skin.css +224 -192
  73. package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
  74. package/dist/dev/presets/video/minimal-skin.js +58 -62
  75. package/dist/dev/presets/video/minimal-skin.js.map +1 -1
  76. package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
  77. package/dist/dev/presets/video/minimal-skin.tailwind.js +70 -78
  78. package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
  79. package/dist/dev/presets/video/skin.css +238 -189
  80. package/dist/dev/presets/video/skin.d.ts.map +1 -1
  81. package/dist/dev/presets/video/skin.js +58 -62
  82. package/dist/dev/presets/video/skin.js.map +1 -1
  83. package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
  84. package/dist/dev/presets/video/skin.tailwind.js +69 -77
  85. package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
  86. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +5 -4
  87. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  88. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +4 -3
  89. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  90. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +2 -2
  91. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  92. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +1 -1
  93. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  94. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +1 -1
  95. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  96. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +1 -1
  97. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  98. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +5 -3
  99. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  100. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +9 -4
  101. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  102. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +4 -3
  103. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  104. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +2 -2
  105. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  106. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +1 -1
  107. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  108. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +1 -1
  109. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  110. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +1 -1
  111. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  112. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +1 -1
  113. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  114. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +10 -4
  115. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  116. package/package.json +7 -7
  117. package/dist/default/presets/video/error-dialog.js.map +0 -1
  118. package/dist/dev/presets/video/error-dialog.js.map +0 -1
@@ -42,56 +42,56 @@ import SpinnerIcon from "../../icons/dist/react/minimal/spinner.js";
42
42
  import VolumeHighIcon from "../../icons/dist/react/minimal/volume-high.js";
43
43
  import VolumeLowIcon from "../../icons/dist/react/minimal/volume-low.js";
44
44
  import VolumeOffIcon from "../../icons/dist/react/minimal/volume-off.js";
45
- import { ErrorDialog } from "./error-dialog.js";
45
+ import { ErrorDialog } from "../error-dialog.js";
46
46
  import { forwardRef } from "react";
47
47
  import { isString } from "@videojs/utils/predicate";
48
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
48
+ import { jsx, jsxs } from "react/jsx-runtime";
49
49
  import { cn } from "@videojs/utils/style";
50
50
 
51
51
  //#region src/presets/video/minimal-skin.tsx
52
52
  const SEEK_TIME = 10;
53
- const Button = forwardRef(function Button({ className, ...props }, ref) {
54
- return /* @__PURE__ */ jsx("button", {
55
- ref,
56
- type: "button",
57
- className: cn("media-button", className),
58
- ...props
59
- });
60
- });
61
- const errorClasses = {
53
+ const ERROR_CLASSNAMES = {
62
54
  root: "media-error",
63
55
  dialog: "media-error__dialog",
64
56
  content: "media-error__content",
65
57
  title: "media-error__title",
66
58
  description: "media-error__description",
67
59
  actions: "media-error__actions",
68
- close: "media-button"
60
+ close: "media-button media-button--primary"
69
61
  };
62
+ const Button = forwardRef(function Button({ className, ...props }, ref) {
63
+ return /* @__PURE__ */ jsx("button", {
64
+ ref,
65
+ type: "button",
66
+ className: cn("media-button media-button--subtle media-button--icon", className),
67
+ ...props
68
+ });
69
+ });
70
70
  function PlayLabel() {
71
71
  const paused = usePlayer((s) => Boolean(s.paused));
72
- if (usePlayer((s) => Boolean(s.ended))) return /* @__PURE__ */ jsx(Fragment, { children: "Replay" });
73
- return paused ? /* @__PURE__ */ jsx(Fragment, { children: "Play" }) : /* @__PURE__ */ jsx(Fragment, { children: "Pause" });
72
+ if (usePlayer((s) => Boolean(s.ended))) return "Replay";
73
+ return paused ? "Play" : "Pause";
74
74
  }
75
75
  function CaptionsLabel() {
76
- return usePlayer((s) => Boolean(s.subtitlesShowing)) ? /* @__PURE__ */ jsx(Fragment, { children: "Disable captions" }) : /* @__PURE__ */ jsx(Fragment, { children: "Enable captions" });
76
+ return usePlayer((s) => Boolean(s.subtitlesShowing)) ? "Disable captions" : "Enable captions";
77
77
  }
78
78
  function PiPLabel() {
79
- return usePlayer((s) => Boolean(s.pip)) ? /* @__PURE__ */ jsx(Fragment, { children: "Exit picture-in-picture" }) : /* @__PURE__ */ jsx(Fragment, { children: "Enter picture-in-picture" });
79
+ return usePlayer((s) => Boolean(s.pip)) ? "Exit picture-in-picture" : "Enter picture-in-picture";
80
80
  }
81
81
  function FullscreenLabel() {
82
- return usePlayer((s) => Boolean(s.fullscreen)) ? /* @__PURE__ */ jsx(Fragment, { children: "Exit fullscreen" }) : /* @__PURE__ */ jsx(Fragment, { children: "Enter fullscreen" });
82
+ return usePlayer((s) => Boolean(s.fullscreen)) ? "Exit fullscreen" : "Enter fullscreen";
83
83
  }
84
84
  function VolumePopover() {
85
85
  const volumeUnsupported = usePlayer((s) => s.volumeAvailability === "unsupported");
86
- const muteButton = /* @__PURE__ */ jsx(MuteButton, { render: (props) => /* @__PURE__ */ jsxs(Button, {
87
- ...props,
88
- className: "media-button--icon media-button--mute",
86
+ const muteButton = /* @__PURE__ */ jsxs(MuteButton, {
87
+ className: "media-button--mute",
88
+ render: /* @__PURE__ */ jsx(Button, {}),
89
89
  children: [
90
90
  /* @__PURE__ */ jsx(VolumeOffIcon, { className: "media-icon media-icon--volume-off" }),
91
91
  /* @__PURE__ */ jsx(VolumeLowIcon, { className: "media-icon media-icon--volume-low" }),
92
92
  /* @__PURE__ */ jsx(VolumeHighIcon, { className: "media-icon media-icon--volume-high" })
93
93
  ]
94
- }) });
94
+ });
95
95
  if (volumeUnsupported) return muteButton;
96
96
  return /* @__PURE__ */ jsxs(PopoverRoot, {
97
97
  openOnHover: true,
@@ -128,7 +128,7 @@ function MinimalVideoSkin(props) {
128
128
  className: "media-buffering-indicator",
129
129
  children: /* @__PURE__ */ jsx(SpinnerIcon, { className: "media-icon" })
130
130
  }) }),
131
- /* @__PURE__ */ jsx(ErrorDialog, { classes: errorClasses }),
131
+ /* @__PURE__ */ jsx(ErrorDialog, { classNames: ERROR_CLASSNAMES }),
132
132
  /* @__PURE__ */ jsx(ControlsRoot, {
133
133
  className: "media-controls",
134
134
  children: /* @__PURE__ */ jsxs(TooltipProvider, { children: [
@@ -137,15 +137,15 @@ function MinimalVideoSkin(props) {
137
137
  children: [
138
138
  /* @__PURE__ */ jsxs(TooltipRoot, {
139
139
  side: "top",
140
- children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(PlayButton, { render: (props) => /* @__PURE__ */ jsxs(Button, {
141
- ...props,
142
- className: "media-button--icon media-button--play",
140
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsxs(PlayButton, {
141
+ className: "media-button--play",
142
+ render: /* @__PURE__ */ jsx(Button, {}),
143
143
  children: [
144
144
  /* @__PURE__ */ jsx(RestartIcon, { className: "media-icon media-icon--restart" }),
145
145
  /* @__PURE__ */ jsx(PlayIcon, { className: "media-icon media-icon--play" }),
146
146
  /* @__PURE__ */ jsx(PauseIcon, { className: "media-icon media-icon--pause" })
147
147
  ]
148
- }) }) }), /* @__PURE__ */ jsx(TooltipPopup, {
148
+ }) }), /* @__PURE__ */ jsx(TooltipPopup, {
149
149
  className: "media-tooltip",
150
150
  children: /* @__PURE__ */ jsx(PlayLabel, {})
151
151
  })]
@@ -154,16 +154,14 @@ function MinimalVideoSkin(props) {
154
154
  side: "top",
155
155
  children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(SeekButton, {
156
156
  seconds: -SEEK_TIME,
157
- render: (props) => /* @__PURE__ */ jsx(Button, {
158
- ...props,
159
- className: "media-button--icon media-button--seek",
160
- children: /* @__PURE__ */ jsxs("span", {
161
- className: "media-icon__container",
162
- children: [/* @__PURE__ */ jsx(SeekIcon, { className: "media-icon media-icon--seek media-icon--flipped" }), /* @__PURE__ */ jsx("span", {
163
- className: "media-icon__label",
164
- children: SEEK_TIME
165
- })]
166
- })
157
+ className: "media-button--seek",
158
+ render: /* @__PURE__ */ jsx(Button, {}),
159
+ children: /* @__PURE__ */ jsxs("span", {
160
+ className: "media-icon__container",
161
+ children: [/* @__PURE__ */ jsx(SeekIcon, { className: "media-icon media-icon--seek media-icon--flipped" }), /* @__PURE__ */ jsx("span", {
162
+ className: "media-icon__label",
163
+ children: SEEK_TIME
164
+ })]
167
165
  })
168
166
  }) }), /* @__PURE__ */ jsxs(TooltipPopup, {
169
167
  className: "media-tooltip",
@@ -178,16 +176,14 @@ function MinimalVideoSkin(props) {
178
176
  side: "top",
179
177
  children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(SeekButton, {
180
178
  seconds: SEEK_TIME,
181
- render: (props) => /* @__PURE__ */ jsx(Button, {
182
- ...props,
183
- className: "media-button--icon media-button--seek",
184
- children: /* @__PURE__ */ jsxs("span", {
185
- className: "media-icon__container",
186
- children: [/* @__PURE__ */ jsx(SeekIcon, { className: "media-icon media-icon--seek" }), /* @__PURE__ */ jsx("span", {
187
- className: "media-icon__label",
188
- children: SEEK_TIME
189
- })]
190
- })
179
+ className: "media-button--seek",
180
+ render: /* @__PURE__ */ jsx(Button, {}),
181
+ children: /* @__PURE__ */ jsxs("span", {
182
+ className: "media-icon__container",
183
+ children: [/* @__PURE__ */ jsx(SeekIcon, { className: "media-icon media-icon--seek" }), /* @__PURE__ */ jsx("span", {
184
+ className: "media-icon__label",
185
+ children: SEEK_TIME
186
+ })]
191
187
  })
192
188
  }) }), /* @__PURE__ */ jsxs(TooltipPopup, {
193
189
  className: "media-tooltip",
@@ -245,10 +241,10 @@ function MinimalVideoSkin(props) {
245
241
  children: [
246
242
  /* @__PURE__ */ jsxs(TooltipRoot, {
247
243
  side: "top",
248
- children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(PlaybackRateButton, { render: (props) => /* @__PURE__ */ jsx(Button, {
249
- ...props,
250
- className: "media-button--icon media-button--playback-rate"
251
- }) }) }), /* @__PURE__ */ jsx(TooltipPopup, {
244
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(PlaybackRateButton, {
245
+ className: "media-button--playback-rate",
246
+ render: /* @__PURE__ */ jsx(Button, {})
247
+ }) }), /* @__PURE__ */ jsx(TooltipPopup, {
252
248
  className: "media-tooltip",
253
249
  children: "Toggle playback rate"
254
250
  })]
@@ -256,33 +252,33 @@ function MinimalVideoSkin(props) {
256
252
  /* @__PURE__ */ jsx(VolumePopover, {}),
257
253
  /* @__PURE__ */ jsxs(TooltipRoot, {
258
254
  side: "top",
259
- children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(CaptionsButton, { render: (props) => /* @__PURE__ */ jsxs(Button, {
260
- ...props,
261
- className: "media-button--icon media-button--captions",
255
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsxs(CaptionsButton, {
256
+ className: "media-button--captions",
257
+ render: /* @__PURE__ */ jsx(Button, {}),
262
258
  children: [/* @__PURE__ */ jsx(CaptionsOffIcon, { className: "media-icon media-icon--captions-off" }), /* @__PURE__ */ jsx(CaptionsOnIcon, { className: "media-icon media-icon--captions-on" })]
263
- }) }) }), /* @__PURE__ */ jsx(TooltipPopup, {
259
+ }) }), /* @__PURE__ */ jsx(TooltipPopup, {
264
260
  className: "media-tooltip",
265
261
  children: /* @__PURE__ */ jsx(CaptionsLabel, {})
266
262
  })]
267
263
  }),
268
264
  /* @__PURE__ */ jsxs(TooltipRoot, {
269
265
  side: "top",
270
- children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(PiPButton, { render: (props) => /* @__PURE__ */ jsxs(Button, {
271
- ...props,
272
- className: "media-button--icon media-button--pip",
266
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsxs(PiPButton, {
267
+ className: "media-button--pip",
268
+ render: /* @__PURE__ */ jsx(Button, {}),
273
269
  children: [/* @__PURE__ */ jsx(PipEnterIcon, { className: "media-icon media-icon--pip-enter" }), /* @__PURE__ */ jsx(PipExitIcon, { className: "media-icon media-icon--pip-exit" })]
274
- }) }) }), /* @__PURE__ */ jsx(TooltipPopup, {
270
+ }) }), /* @__PURE__ */ jsx(TooltipPopup, {
275
271
  className: "media-tooltip",
276
272
  children: /* @__PURE__ */ jsx(PiPLabel, {})
277
273
  })]
278
274
  }),
279
275
  /* @__PURE__ */ jsxs(TooltipRoot, {
280
276
  side: "top",
281
- children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(FullscreenButton, { render: (props) => /* @__PURE__ */ jsxs(Button, {
282
- ...props,
283
- className: "media-button--icon media-button--fullscreen",
277
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsxs(FullscreenButton, {
278
+ className: "media-button--fullscreen",
279
+ render: /* @__PURE__ */ jsx(Button, {}),
284
280
  children: [/* @__PURE__ */ jsx(FullscreenEnterIcon, { className: "media-icon media-icon--fullscreen-enter" }), /* @__PURE__ */ jsx(FullscreenExitIcon, { className: "media-icon media-icon--fullscreen-exit" })]
285
- }) }) }), /* @__PURE__ */ jsx(TooltipPopup, {
281
+ }) }), /* @__PURE__ */ jsx(TooltipPopup, {
286
282
  className: "media-tooltip",
287
283
  children: /* @__PURE__ */ jsx(FullscreenLabel, {})
288
284
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.js","names":["Popover.Root","Popover.Trigger","Popover.Popup","VolumeSlider.Root","VolumeSlider.Track","VolumeSlider.Fill","VolumeSlider.Thumb","Controls.Root","Tooltip.Provider","Tooltip.Root","Tooltip.Trigger","Tooltip.Popup","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Track","TimeSlider.Fill","TimeSlider.Buffer","TimeSlider.Thumb","Slider.Thumbnail","TimeSlider.Value"],"sources":["../../../../src/presets/video/minimal-skin.tsx"],"sourcesContent":["import {\n CaptionsOffIcon,\n CaptionsOnIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n RestartIcon,\n SeekIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@videojs/icons/react/minimal';\nimport { isString } from '@videojs/utils/predicate';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, forwardRef, type ReactNode } from 'react';\nimport { Container, usePlayer } from '@/player/context';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { Controls } from '@/ui/controls';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { PlaybackRateButton } from '@/ui/playback-rate-button';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { SeekButton } from '@/ui/seek-button';\nimport { Slider } from '@/ui/slider';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport { isRenderProp } from '@/utils/use-render';\nimport type { BaseVideoSkinProps } from '../types';\nimport { ErrorDialog } from './error-dialog';\n\nconst SEEK_TIME = 10;\n\nexport type MinimalVideoSkinProps = BaseVideoSkinProps;\n\nconst Button = forwardRef<HTMLButtonElement, ComponentProps<'button'>>(function Button({ className, ...props }, ref) {\n return <button ref={ref} type=\"button\" className={cn('media-button', className)} {...props} />;\n});\n\nconst errorClasses = {\n root: 'media-error',\n dialog: 'media-error__dialog',\n content: 'media-error__content',\n title: 'media-error__title',\n description: 'media-error__description',\n actions: 'media-error__actions',\n close: 'media-button',\n};\n\nfunction PlayLabel(): ReactNode {\n const paused = usePlayer((s) => Boolean(s.paused));\n const ended = usePlayer((s) => Boolean(s.ended));\n if (ended) return <>Replay</>;\n return paused ? <>Play</> : <>Pause</>;\n}\n\nfunction CaptionsLabel(): ReactNode {\n const active = usePlayer((s) => Boolean(s.subtitlesShowing));\n return active ? <>Disable captions</> : <>Enable captions</>;\n}\n\nfunction PiPLabel(): ReactNode {\n const pip = usePlayer((s) => Boolean(s.pip));\n return pip ? <>Exit picture-in-picture</> : <>Enter picture-in-picture</>;\n}\n\nfunction FullscreenLabel(): ReactNode {\n const fullscreen = usePlayer((s) => Boolean(s.fullscreen));\n return fullscreen ? <>Exit fullscreen</> : <>Enter fullscreen</>;\n}\n\nfunction VolumePopover(): ReactNode {\n const volumeUnsupported = usePlayer((s) => s.volumeAvailability === 'unsupported');\n\n const muteButton = (\n <MuteButton\n render={(props) => (\n <Button {...props} className=\"media-button--icon media-button--mute\">\n <VolumeOffIcon className=\"media-icon media-icon--volume-off\" />\n <VolumeLowIcon className=\"media-icon media-icon--volume-low\" />\n <VolumeHighIcon className=\"media-icon media-icon--volume-high\" />\n </Button>\n )}\n />\n );\n\n if (volumeUnsupported) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"top\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className=\"media-popover media-popover--volume\">\n <VolumeSlider.Root className=\"media-slider\" orientation=\"vertical\" thumbAlignment=\"edge\">\n <VolumeSlider.Track className=\"media-slider__track\">\n <VolumeSlider.Fill className=\"media-slider__fill\" />\n </VolumeSlider.Track>\n <VolumeSlider.Thumb className=\"media-slider__thumb media-slider__thumb--persistent\" />\n </VolumeSlider.Root>\n </Popover.Popup>\n </Popover.Root>\n );\n}\n\nexport function MinimalVideoSkin(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, poster, ...rest } = props;\n\n return (\n <Container className={cn('media-minimal-skin media-minimal-skin--video', className)} {...rest}>\n {children}\n\n {poster && (\n <Poster src={isString(poster) ? poster : undefined} render={isRenderProp(poster) ? poster : undefined} />\n )}\n\n <BufferingIndicator\n render={(props) => (\n <div {...props} className=\"media-buffering-indicator\">\n <SpinnerIcon className=\"media-icon\" />\n </div>\n )}\n />\n\n <ErrorDialog classes={errorClasses} />\n\n <Controls.Root className=\"media-controls\">\n <Tooltip.Provider>\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PlayButton\n render={(props) => (\n <Button {...props} className=\"media-button--icon media-button--play\">\n <RestartIcon className=\"media-icon media-icon--restart\" />\n <PlayIcon className=\"media-icon media-icon--play\" />\n <PauseIcon className=\"media-icon media-icon--pause\" />\n </Button>\n )}\n />\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <PlayLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <SeekButton\n seconds={-SEEK_TIME}\n render={(props) => (\n <Button {...props} className=\"media-button--icon media-button--seek\">\n <span className=\"media-icon__container\">\n <SeekIcon className=\"media-icon media-icon--seek media-icon--flipped\" />\n <span className=\"media-icon__label\">{SEEK_TIME}</span>\n </span>\n </Button>\n )}\n />\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">Seek backward {SEEK_TIME} seconds</Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <SeekButton\n seconds={SEEK_TIME}\n render={(props) => (\n <Button {...props} className=\"media-button--icon media-button--seek\">\n <span className=\"media-icon__container\">\n <SeekIcon className=\"media-icon media-icon--seek\" />\n <span className=\"media-icon__label\">{SEEK_TIME}</span>\n </span>\n </Button>\n )}\n />\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">Seek forward {SEEK_TIME} seconds</Tooltip.Popup>\n </Tooltip.Root>\n </div>\n\n <div className=\"media-time-controls\">\n <Time.Group className=\"media-time\">\n <Time.Value type=\"current\" className=\"media-time__value media-time__value--current\" />\n <Time.Separator className=\"media-time__separator\" />\n <Time.Value type=\"duration\" className=\"media-time__value media-time__value--duration\" />\n </Time.Group>\n\n <TimeSlider.Root className=\"media-slider\">\n <TimeSlider.Track className=\"media-slider__track\">\n <TimeSlider.Fill className=\"media-slider__fill\" />\n <TimeSlider.Buffer className=\"media-slider__buffer\" />\n </TimeSlider.Track>\n <TimeSlider.Thumb className=\"media-slider__thumb\" />\n\n <div className=\"media-preview media-slider__preview\">\n <div className=\"media-preview__thumbnail-wrapper\">\n <Slider.Thumbnail className=\"media-preview__thumbnail\" />\n </div>\n <TimeSlider.Value type=\"pointer\" className=\"media-preview__timestamp\" />\n <SpinnerIcon className=\"media-preview__spinner media-icon\" />\n </div>\n </TimeSlider.Root>\n </div>\n\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PlaybackRateButton\n render={(props) => <Button {...props} className=\"media-button--icon media-button--playback-rate\" />}\n />\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">Toggle playback rate</Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CaptionsButton\n render={(props) => (\n <Button {...props} className=\"media-button--icon media-button--captions\">\n <CaptionsOffIcon className=\"media-icon media-icon--captions-off\" />\n <CaptionsOnIcon className=\"media-icon media-icon--captions-on\" />\n </Button>\n )}\n />\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <CaptionsLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PiPButton\n render={(props) => (\n <Button {...props} className=\"media-button--icon media-button--pip\">\n <PipEnterIcon className=\"media-icon media-icon--pip-enter\" />\n <PipExitIcon className=\"media-icon media-icon--pip-exit\" />\n </Button>\n )}\n />\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <PiPLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <FullscreenButton\n render={(props) => (\n <Button {...props} className=\"media-button--icon media-button--fullscreen\">\n <FullscreenEnterIcon className=\"media-icon media-icon--fullscreen-enter\" />\n <FullscreenExitIcon className=\"media-icon media-icon--fullscreen-exit\" />\n </Button>\n )}\n />\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <FullscreenLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className=\"media-overlay\" />\n </Container>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"minimal-skin.js","names":["Popover.Root","Popover.Trigger","Popover.Popup","VolumeSlider.Root","VolumeSlider.Track","VolumeSlider.Fill","VolumeSlider.Thumb","Controls.Root","Tooltip.Provider","Tooltip.Root","Tooltip.Trigger","Tooltip.Popup","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Track","TimeSlider.Fill","TimeSlider.Buffer","TimeSlider.Thumb","Slider.Thumbnail","TimeSlider.Value"],"sources":["../../../../src/presets/video/minimal-skin.tsx"],"sourcesContent":["import {\n CaptionsOffIcon,\n CaptionsOnIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n RestartIcon,\n SeekIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@videojs/icons/react/minimal';\nimport { isString } from '@videojs/utils/predicate';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, forwardRef, type ReactNode } from 'react';\nimport { Container, usePlayer } from '@/player/context';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { Controls } from '@/ui/controls';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { PlaybackRateButton } from '@/ui/playback-rate-button';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { SeekButton } from '@/ui/seek-button';\nimport { Slider } from '@/ui/slider';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport { isRenderProp } from '@/utils/use-render';\nimport { ErrorDialog } from '../error-dialog';\nimport type { BaseVideoSkinProps } from '../types';\n\nconst SEEK_TIME = 10;\n\nconst ERROR_CLASSNAMES = {\n root: 'media-error',\n dialog: 'media-error__dialog',\n content: 'media-error__content',\n title: 'media-error__title',\n description: 'media-error__description',\n actions: 'media-error__actions',\n close: 'media-button media-button--primary',\n};\n\nexport type MinimalVideoSkinProps = BaseVideoSkinProps;\n\nconst Button = forwardRef<HTMLButtonElement, ComponentProps<'button'>>(function Button({ className, ...props }, ref) {\n return (\n <button\n ref={ref}\n type=\"button\"\n className={cn('media-button media-button--subtle media-button--icon', className)}\n {...props}\n />\n );\n});\n\nfunction PlayLabel(): string {\n const paused = usePlayer((s) => Boolean(s.paused));\n const ended = usePlayer((s) => Boolean(s.ended));\n if (ended) return 'Replay';\n return paused ? 'Play' : 'Pause';\n}\n\nfunction CaptionsLabel(): string {\n const active = usePlayer((s) => Boolean(s.subtitlesShowing));\n return active ? 'Disable captions' : 'Enable captions';\n}\n\nfunction PiPLabel(): string {\n const pip = usePlayer((s) => Boolean(s.pip));\n return pip ? 'Exit picture-in-picture' : 'Enter picture-in-picture';\n}\n\nfunction FullscreenLabel(): string {\n const fullscreen = usePlayer((s) => Boolean(s.fullscreen));\n return fullscreen ? 'Exit fullscreen' : 'Enter fullscreen';\n}\n\nfunction VolumePopover(): ReactNode {\n const volumeUnsupported = usePlayer((s) => s.volumeAvailability === 'unsupported');\n\n const muteButton = (\n <MuteButton className=\"media-button--mute\" render={<Button />}>\n <VolumeOffIcon className=\"media-icon media-icon--volume-off\" />\n <VolumeLowIcon className=\"media-icon media-icon--volume-low\" />\n <VolumeHighIcon className=\"media-icon media-icon--volume-high\" />\n </MuteButton>\n );\n\n if (volumeUnsupported) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"top\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className=\"media-popover media-popover--volume\">\n <VolumeSlider.Root className=\"media-slider\" orientation=\"vertical\" thumbAlignment=\"edge\">\n <VolumeSlider.Track className=\"media-slider__track\">\n <VolumeSlider.Fill className=\"media-slider__fill\" />\n </VolumeSlider.Track>\n <VolumeSlider.Thumb className=\"media-slider__thumb media-slider__thumb--persistent\" />\n </VolumeSlider.Root>\n </Popover.Popup>\n </Popover.Root>\n );\n}\n\nexport function MinimalVideoSkin(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, poster, ...rest } = props;\n\n return (\n <Container className={cn('media-minimal-skin media-minimal-skin--video', className)} {...rest}>\n {children}\n\n {poster && (\n <Poster src={isString(poster) ? poster : undefined} render={isRenderProp(poster) ? poster : undefined} />\n )}\n\n <BufferingIndicator\n render={(props) => (\n <div {...props} className=\"media-buffering-indicator\">\n <SpinnerIcon className=\"media-icon\" />\n </div>\n )}\n />\n\n <ErrorDialog classNames={ERROR_CLASSNAMES} />\n\n <Controls.Root className=\"media-controls\">\n <Tooltip.Provider>\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PlayButton className=\"media-button--play\" render={<Button />}>\n <RestartIcon className=\"media-icon media-icon--restart\" />\n <PlayIcon className=\"media-icon media-icon--play\" />\n <PauseIcon className=\"media-icon media-icon--pause\" />\n </PlayButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <PlayLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <SeekButton seconds={-SEEK_TIME} className=\"media-button--seek\" render={<Button />}>\n <span className=\"media-icon__container\">\n <SeekIcon className=\"media-icon media-icon--seek media-icon--flipped\" />\n <span className=\"media-icon__label\">{SEEK_TIME}</span>\n </span>\n </SeekButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">Seek backward {SEEK_TIME} seconds</Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <SeekButton seconds={SEEK_TIME} className=\"media-button--seek\" render={<Button />}>\n <span className=\"media-icon__container\">\n <SeekIcon className=\"media-icon media-icon--seek\" />\n <span className=\"media-icon__label\">{SEEK_TIME}</span>\n </span>\n </SeekButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">Seek forward {SEEK_TIME} seconds</Tooltip.Popup>\n </Tooltip.Root>\n </div>\n\n <div className=\"media-time-controls\">\n <Time.Group className=\"media-time\">\n <Time.Value type=\"current\" className=\"media-time__value media-time__value--current\" />\n <Time.Separator className=\"media-time__separator\" />\n <Time.Value type=\"duration\" className=\"media-time__value media-time__value--duration\" />\n </Time.Group>\n\n <TimeSlider.Root className=\"media-slider\">\n <TimeSlider.Track className=\"media-slider__track\">\n <TimeSlider.Fill className=\"media-slider__fill\" />\n <TimeSlider.Buffer className=\"media-slider__buffer\" />\n </TimeSlider.Track>\n <TimeSlider.Thumb className=\"media-slider__thumb\" />\n\n <div className=\"media-preview media-slider__preview\">\n <div className=\"media-preview__thumbnail-wrapper\">\n <Slider.Thumbnail className=\"media-preview__thumbnail\" />\n </div>\n <TimeSlider.Value type=\"pointer\" className=\"media-preview__timestamp\" />\n <SpinnerIcon className=\"media-preview__spinner media-icon\" />\n </div>\n </TimeSlider.Root>\n </div>\n\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={<PlaybackRateButton className=\"media-button--playback-rate\" render={<Button />} />}\n />\n <Tooltip.Popup className=\"media-tooltip\">Toggle playback rate</Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CaptionsButton className=\"media-button--captions\" render={<Button />}>\n <CaptionsOffIcon className=\"media-icon media-icon--captions-off\" />\n <CaptionsOnIcon className=\"media-icon media-icon--captions-on\" />\n </CaptionsButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <CaptionsLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PiPButton className=\"media-button--pip\" render={<Button />}>\n <PipEnterIcon className=\"media-icon media-icon--pip-enter\" />\n <PipExitIcon className=\"media-icon media-icon--pip-exit\" />\n </PiPButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <PiPLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <FullscreenButton className=\"media-button--fullscreen\" render={<Button />}>\n <FullscreenEnterIcon className=\"media-icon media-icon--fullscreen-enter\" />\n <FullscreenExitIcon className=\"media-icon media-icon--fullscreen-exit\" />\n </FullscreenButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <FullscreenLabel />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className=\"media-overlay\" />\n </Container>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-skin.tailwind.d.ts","names":[],"sources":["../../../../src/presets/video/minimal-skin.tailwind.tsx"],"mappings":";;;;iBAoLgB,wBAAA,CAAyB,KAAA,EAAO,qBAAA,GAAwB,SAAA"}
1
+ {"version":3,"file":"minimal-skin.tailwind.d.ts","names":[],"sources":["../../../../src/presets/video/minimal-skin.tailwind.tsx"],"mappings":";;;;iBA6KgB,wBAAA,CAAyB,KAAA,EAAO,qBAAA,GAAwB,SAAA"}
@@ -13,7 +13,7 @@ import { PopoverRoot } from "../../ui/popover/popover-root.js";
13
13
  import { PopoverTrigger } from "../../ui/popover/popover-trigger.js";
14
14
  import { Poster } from "../../ui/poster/poster.js";
15
15
  import { SeekButton } from "../../ui/seek-button/seek-button.js";
16
- import { SliderBuffer } from "../../ui/slider/slider-buffer.js";
16
+ import { SliderBuffer as SliderBuffer$1 } from "../../ui/slider/slider-buffer.js";
17
17
  import { SliderFill as SliderFill$1 } from "../../ui/slider/slider-fill.js";
18
18
  import { SliderThumb as SliderThumb$1 } from "../../ui/slider/slider-thumb.js";
19
19
  import { SliderThumbnail } from "../../ui/slider/slider-thumbnail.js";
@@ -42,31 +42,39 @@ import SpinnerIcon from "../../icons/dist/react/minimal/spinner.js";
42
42
  import VolumeHighIcon from "../../icons/dist/react/minimal/volume-high.js";
43
43
  import VolumeLowIcon from "../../icons/dist/react/minimal/volume-low.js";
44
44
  import VolumeOffIcon from "../../icons/dist/react/minimal/volume-off.js";
45
+ import { ErrorDialog } from "../error-dialog.js";
45
46
  import { iconState } from "../../skins/dist/default/shared/tailwind/icon-state.js";
46
47
  import { playbackRate } from "../../skins/dist/default/default/tailwind/components/playback-rate.js";
47
48
  import { bufferingIndicator } from "../../skins/dist/default/minimal/tailwind/components/buffering.js";
48
49
  import { button } from "../../skins/dist/default/minimal/tailwind/components/button.js";
49
50
  import { buttonGroup } from "../../skins/dist/default/minimal/tailwind/components/button-group.js";
50
- import { error } from "../../skins/dist/default/minimal/tailwind/components/error.js";
51
51
  import { icon, iconContainer, iconFlipped } from "../../skins/dist/default/minimal/tailwind/components/icon.js";
52
52
  import { seek } from "../../skins/dist/default/minimal/tailwind/components/seek.js";
53
53
  import { time } from "../../skins/dist/default/minimal/tailwind/components/time.js";
54
- import { ErrorDialog } from "./error-dialog.js";
55
54
  import { overlay } from "../../skins/dist/default/minimal/tailwind/components/overlay.js";
56
55
  import { poster } from "../../skins/dist/default/minimal/tailwind/components/poster.js";
57
- import { controls, popup, preview, root, slider } from "../../skins/dist/default/minimal/tailwind/video.tailwind.js";
56
+ import { controls, error, popup, preview, root, slider } from "../../skins/dist/default/minimal/tailwind/video.tailwind.js";
58
57
  import { forwardRef } from "react";
59
58
  import { isString } from "@videojs/utils/predicate";
60
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
59
+ import { jsx, jsxs } from "react/jsx-runtime";
61
60
  import { cn } from "@videojs/utils/style";
62
61
 
63
62
  //#region src/presets/video/minimal-skin.tailwind.tsx
64
63
  const SEEK_TIME = 10;
65
- const Button = forwardRef(function Button({ className, variant, ...props }, ref) {
64
+ const ERROR_CLASSNAMES = {
65
+ root: error.root,
66
+ dialog: error.dialog,
67
+ content: error.content,
68
+ title: error.title,
69
+ description: error.description,
70
+ actions: error.actions,
71
+ close: cn(button.base, button.primary)
72
+ };
73
+ const Button = forwardRef(function Button({ className, ...props }, ref) {
66
74
  return /* @__PURE__ */ jsx("button", {
67
75
  ref,
68
76
  type: "button",
69
- className: cn(button.base, variant === "icon" ? button.icon : button.default, className),
77
+ className: cn(button.base, button.subtle, button.icon, className),
70
78
  ...props
71
79
  });
72
80
  });
@@ -91,6 +99,13 @@ const SliderFill = forwardRef(function SliderFill({ type = "fill", className, ..
91
99
  ...props
92
100
  });
93
101
  });
102
+ const SliderBuffer = forwardRef(function SliderBuffer(props, ref) {
103
+ return /* @__PURE__ */ jsx(SliderFill, {
104
+ type: "buffer",
105
+ ref,
106
+ ...props
107
+ });
108
+ });
94
109
  const SliderThumb = forwardRef(function SliderThumb({ persistent, className, ...props }, ref) {
95
110
  return /* @__PURE__ */ jsx("div", {
96
111
  ref,
@@ -98,40 +113,31 @@ const SliderThumb = forwardRef(function SliderThumb({ persistent, className, ...
98
113
  ...props
99
114
  });
100
115
  });
101
- const errorClasses = {
102
- root: error.root,
103
- dialog: error.dialog,
104
- content: error.content,
105
- title: error.title,
106
- actions: error.actions,
107
- close: cn(button.base, button.default)
108
- };
109
116
  function PlayLabel() {
110
117
  const paused = usePlayer((s) => Boolean(s.paused));
111
- if (usePlayer((s) => Boolean(s.ended))) return /* @__PURE__ */ jsx(Fragment, { children: "Replay" });
112
- return paused ? /* @__PURE__ */ jsx(Fragment, { children: "Play" }) : /* @__PURE__ */ jsx(Fragment, { children: "Pause" });
118
+ if (usePlayer((s) => Boolean(s.ended))) return "Replay";
119
+ return paused ? "Play" : "Pause";
113
120
  }
114
121
  function CaptionsLabel() {
115
- return usePlayer((s) => Boolean(s.subtitlesShowing)) ? /* @__PURE__ */ jsx(Fragment, { children: "Disable captions" }) : /* @__PURE__ */ jsx(Fragment, { children: "Enable captions" });
122
+ return usePlayer((s) => Boolean(s.subtitlesShowing)) ? "Disable captions" : "Enable captions";
116
123
  }
117
124
  function PiPLabel() {
118
- return usePlayer((s) => Boolean(s.pip)) ? /* @__PURE__ */ jsx(Fragment, { children: "Exit picture-in-picture" }) : /* @__PURE__ */ jsx(Fragment, { children: "Enter picture-in-picture" });
125
+ return usePlayer((s) => Boolean(s.pip)) ? "Exit picture-in-picture" : "Enter picture-in-picture";
119
126
  }
120
127
  function FullscreenLabel() {
121
- return usePlayer((s) => Boolean(s.fullscreen)) ? /* @__PURE__ */ jsx(Fragment, { children: "Exit fullscreen" }) : /* @__PURE__ */ jsx(Fragment, { children: "Enter fullscreen" });
128
+ return usePlayer((s) => Boolean(s.fullscreen)) ? "Exit fullscreen" : "Enter fullscreen";
122
129
  }
123
130
  function VolumePopover() {
124
131
  const volumeUnsupported = usePlayer((s) => s.volumeAvailability === "unsupported");
125
- const muteButton = /* @__PURE__ */ jsx(MuteButton, { render: (props) => /* @__PURE__ */ jsxs(Button, {
126
- variant: "icon",
127
- ...props,
132
+ const muteButton = /* @__PURE__ */ jsxs(MuteButton, {
128
133
  className: iconState.mute.button,
134
+ render: /* @__PURE__ */ jsx(Button, {}),
129
135
  children: [
130
136
  /* @__PURE__ */ jsx(VolumeOffIcon, { className: cn(icon, iconState.mute.volumeOff) }),
131
137
  /* @__PURE__ */ jsx(VolumeLowIcon, { className: cn(icon, iconState.mute.volumeLow) }),
132
138
  /* @__PURE__ */ jsx(VolumeHighIcon, { className: cn(icon, iconState.mute.volumeHigh) })
133
139
  ]
134
- }) });
140
+ });
135
141
  if (volumeUnsupported) return muteButton;
136
142
  return /* @__PURE__ */ jsxs(PopoverRoot, {
137
143
  openOnHover: true,
@@ -143,10 +149,10 @@ function VolumePopover() {
143
149
  children: /* @__PURE__ */ jsxs(VolumeSliderRoot, {
144
150
  orientation: "vertical",
145
151
  thumbAlignment: "edge",
146
- render: (props) => /* @__PURE__ */ jsx(SliderRoot, { ...props }),
152
+ render: /* @__PURE__ */ jsx(SliderRoot, {}),
147
153
  children: [/* @__PURE__ */ jsx(SliderTrack$1, {
148
- render: (props) => /* @__PURE__ */ jsx(SliderTrack, { ...props }),
149
- children: /* @__PURE__ */ jsx(SliderFill$1, { render: (props) => /* @__PURE__ */ jsx(SliderFill, { ...props }) })
154
+ render: /* @__PURE__ */ jsx(SliderTrack, {}),
155
+ children: /* @__PURE__ */ jsx(SliderFill$1, { render: /* @__PURE__ */ jsx(SliderFill, {}) })
150
156
  }), /* @__PURE__ */ jsx(SliderThumb$1, { render: (props) => /* @__PURE__ */ jsx(SliderThumb, {
151
157
  persistent: true,
152
158
  ...props
@@ -172,7 +178,7 @@ function MinimalVideoSkinTailwind(props) {
172
178
  className: bufferingIndicator,
173
179
  children: /* @__PURE__ */ jsx(SpinnerIcon, { className: icon })
174
180
  }) }),
175
- /* @__PURE__ */ jsx(ErrorDialog, { classes: errorClasses }),
181
+ /* @__PURE__ */ jsx(ErrorDialog, { classNames: ERROR_CLASSNAMES }),
176
182
  /* @__PURE__ */ jsx(ControlsRoot, {
177
183
  "data-controls": "",
178
184
  className: controls,
@@ -182,16 +188,15 @@ function MinimalVideoSkinTailwind(props) {
182
188
  children: [
183
189
  /* @__PURE__ */ jsxs(TooltipRoot, {
184
190
  side: "top",
185
- children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(PlayButton, { render: (props) => /* @__PURE__ */ jsxs(Button, {
186
- variant: "icon",
187
- ...props,
191
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsxs(PlayButton, {
188
192
  className: iconState.play.button,
193
+ render: /* @__PURE__ */ jsx(Button, {}),
189
194
  children: [
190
195
  /* @__PURE__ */ jsx(RestartIcon, { className: cn(icon, iconState.play.restart) }),
191
196
  /* @__PURE__ */ jsx(PlayIcon, { className: cn(icon, iconState.play.play) }),
192
197
  /* @__PURE__ */ jsx(PauseIcon, { className: cn(icon, iconState.play.pause) })
193
198
  ]
194
- }) }) }), /* @__PURE__ */ jsx(TooltipPopup, {
199
+ }) }), /* @__PURE__ */ jsx(TooltipPopup, {
195
200
  className: cn(popup.tooltip),
196
201
  children: /* @__PURE__ */ jsx(PlayLabel, {})
197
202
  })]
@@ -200,17 +205,14 @@ function MinimalVideoSkinTailwind(props) {
200
205
  side: "top",
201
206
  children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(SeekButton, {
202
207
  seconds: -SEEK_TIME,
203
- render: (props) => /* @__PURE__ */ jsx(Button, {
204
- variant: "icon",
205
- ...props,
206
- className: seek.button,
207
- children: /* @__PURE__ */ jsxs("span", {
208
- className: iconContainer,
209
- children: [/* @__PURE__ */ jsx(SeekIcon, { className: cn(icon, iconFlipped) }), /* @__PURE__ */ jsx("span", {
210
- className: cn(seek.label, seek.labelBackward),
211
- children: SEEK_TIME
212
- })]
213
- })
208
+ className: seek.button,
209
+ render: /* @__PURE__ */ jsx(Button, {}),
210
+ children: /* @__PURE__ */ jsxs("span", {
211
+ className: iconContainer,
212
+ children: [/* @__PURE__ */ jsx(SeekIcon, { className: cn(icon, iconFlipped) }), /* @__PURE__ */ jsx("span", {
213
+ className: cn(seek.label, seek.labelBackward),
214
+ children: SEEK_TIME
215
+ })]
214
216
  })
215
217
  }) }), /* @__PURE__ */ jsxs(TooltipPopup, {
216
218
  className: cn(popup.tooltip),
@@ -225,17 +227,14 @@ function MinimalVideoSkinTailwind(props) {
225
227
  side: "top",
226
228
  children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(SeekButton, {
227
229
  seconds: SEEK_TIME,
228
- render: (props) => /* @__PURE__ */ jsx(Button, {
229
- variant: "icon",
230
- ...props,
231
- className: seek.button,
232
- children: /* @__PURE__ */ jsxs("span", {
233
- className: iconContainer,
234
- children: [/* @__PURE__ */ jsx(SeekIcon, { className: icon }), /* @__PURE__ */ jsx("span", {
235
- className: cn(seek.label, seek.labelForward),
236
- children: SEEK_TIME
237
- })]
238
- })
230
+ className: seek.button,
231
+ render: /* @__PURE__ */ jsx(Button, {}),
232
+ children: /* @__PURE__ */ jsxs("span", {
233
+ className: iconContainer,
234
+ children: [/* @__PURE__ */ jsx(SeekIcon, { className: icon }), /* @__PURE__ */ jsx("span", {
235
+ className: cn(seek.label, seek.labelForward),
236
+ children: SEEK_TIME
237
+ })]
239
238
  })
240
239
  }) }), /* @__PURE__ */ jsxs(TooltipPopup, {
241
240
  className: cn(popup.tooltip),
@@ -264,16 +263,13 @@ function MinimalVideoSkinTailwind(props) {
264
263
  })
265
264
  ]
266
265
  }), /* @__PURE__ */ jsxs(TimeSliderRoot, {
267
- render: (props) => /* @__PURE__ */ jsx(SliderRoot, { ...props }),
266
+ render: /* @__PURE__ */ jsx(SliderRoot, {}),
268
267
  children: [
269
268
  /* @__PURE__ */ jsxs(SliderTrack$1, {
270
- render: (props) => /* @__PURE__ */ jsx(SliderTrack, { ...props }),
271
- children: [/* @__PURE__ */ jsx(SliderFill$1, { render: (props) => /* @__PURE__ */ jsx(SliderFill, { ...props }) }), /* @__PURE__ */ jsx(SliderBuffer, { render: (props) => /* @__PURE__ */ jsx(SliderFill, {
272
- type: "buffer",
273
- ...props
274
- }) })]
269
+ render: /* @__PURE__ */ jsx(SliderTrack, {}),
270
+ children: [/* @__PURE__ */ jsx(SliderFill$1, { render: /* @__PURE__ */ jsx(SliderFill, {}) }), /* @__PURE__ */ jsx(SliderBuffer$1, { render: /* @__PURE__ */ jsx(SliderBuffer, {}) })]
275
271
  }),
276
- /* @__PURE__ */ jsx(SliderThumb$1, { render: (props) => /* @__PURE__ */ jsx(SliderThumb, { ...props }) }),
272
+ /* @__PURE__ */ jsx(SliderThumb$1, { render: /* @__PURE__ */ jsx(SliderThumb, {}) }),
277
273
  /* @__PURE__ */ jsxs("div", {
278
274
  className: preview.root,
279
275
  children: [
@@ -296,11 +292,10 @@ function MinimalVideoSkinTailwind(props) {
296
292
  children: [
297
293
  /* @__PURE__ */ jsxs(TooltipRoot, {
298
294
  side: "top",
299
- children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(PlaybackRateButton, { render: (props) => /* @__PURE__ */ jsx(Button, {
300
- variant: "icon",
301
- ...props,
302
- className: playbackRate.button
303
- }) }) }), /* @__PURE__ */ jsx(TooltipPopup, {
295
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(PlaybackRateButton, {
296
+ className: playbackRate.button,
297
+ render: /* @__PURE__ */ jsx(Button, {})
298
+ }) }), /* @__PURE__ */ jsx(TooltipPopup, {
304
299
  className: cn(popup.tooltip),
305
300
  children: "Toggle playback rate"
306
301
  })]
@@ -308,36 +303,33 @@ function MinimalVideoSkinTailwind(props) {
308
303
  /* @__PURE__ */ jsx(VolumePopover, {}),
309
304
  /* @__PURE__ */ jsxs(TooltipRoot, {
310
305
  side: "top",
311
- children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(CaptionsButton, { render: (props) => /* @__PURE__ */ jsxs(Button, {
312
- variant: "icon",
313
- ...props,
306
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsxs(CaptionsButton, {
314
307
  className: iconState.captions.button,
308
+ render: /* @__PURE__ */ jsx(Button, {}),
315
309
  children: [/* @__PURE__ */ jsx(CaptionsOffIcon, { className: cn(icon, iconState.captions.off) }), /* @__PURE__ */ jsx(CaptionsOnIcon, { className: cn(icon, iconState.captions.on) })]
316
- }) }) }), /* @__PURE__ */ jsx(TooltipPopup, {
310
+ }) }), /* @__PURE__ */ jsx(TooltipPopup, {
317
311
  className: cn(popup.tooltip),
318
312
  children: /* @__PURE__ */ jsx(CaptionsLabel, {})
319
313
  })]
320
314
  }),
321
315
  /* @__PURE__ */ jsxs(TooltipRoot, {
322
316
  side: "top",
323
- children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(PiPButton, { render: (props) => /* @__PURE__ */ jsxs(Button, {
324
- variant: "icon",
325
- ...props,
317
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsxs(PiPButton, {
326
318
  className: iconState.pip.button,
319
+ render: /* @__PURE__ */ jsx(Button, {}),
327
320
  children: [/* @__PURE__ */ jsx(PipEnterIcon, { className: cn(icon, iconState.pip.off) }), /* @__PURE__ */ jsx(PipExitIcon, { className: cn(icon, iconState.pip.on) })]
328
- }) }) }), /* @__PURE__ */ jsx(TooltipPopup, {
321
+ }) }), /* @__PURE__ */ jsx(TooltipPopup, {
329
322
  className: cn(popup.tooltip),
330
323
  children: /* @__PURE__ */ jsx(PiPLabel, {})
331
324
  })]
332
325
  }),
333
326
  /* @__PURE__ */ jsxs(TooltipRoot, {
334
327
  side: "top",
335
- children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(FullscreenButton, { render: (props) => /* @__PURE__ */ jsxs(Button, {
336
- variant: "icon",
337
- ...props,
328
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsxs(FullscreenButton, {
338
329
  className: iconState.fullscreen.button,
330
+ render: /* @__PURE__ */ jsx(Button, {}),
339
331
  children: [/* @__PURE__ */ jsx(FullscreenEnterIcon, { className: cn(icon, iconState.fullscreen.enter) }), /* @__PURE__ */ jsx(FullscreenExitIcon, { className: cn(icon, iconState.fullscreen.exit) })]
340
- }) }) }), /* @__PURE__ */ jsx(TooltipPopup, {
332
+ }) }), /* @__PURE__ */ jsx(TooltipPopup, {
341
333
  className: cn(popup.tooltip),
342
334
  children: /* @__PURE__ */ jsx(FullscreenLabel, {})
343
335
  })]