@scarlett-player/ui 0.1.0 → 0.1.2

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.
package/README.md ADDED
@@ -0,0 +1,69 @@
1
+ # @scarlett-player/ui
2
+
3
+ UI controls plugin for Scarlett Player. Provides a modern, customizable player interface.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @scarlett-player/core @scarlett-player/ui
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import { ScarlettPlayer } from '@scarlett-player/core';
15
+ import { createHLSPlugin } from '@scarlett-player/hls';
16
+ import { uiPlugin } from '@scarlett-player/ui';
17
+
18
+ const player = new ScarlettPlayer({
19
+ container: document.getElementById('player'),
20
+ plugins: [
21
+ createHLSPlugin(),
22
+ uiPlugin({
23
+ theme: { accentColor: '#e50914' },
24
+ }),
25
+ ],
26
+ });
27
+ ```
28
+
29
+ ## Features
30
+
31
+ - Play/pause, seek, volume controls
32
+ - Fullscreen toggle
33
+ - Quality selector
34
+ - Progress bar with buffering indicator
35
+ - Time display (current / duration)
36
+ - Keyboard shortcuts
37
+ - Customizable theming
38
+ - Auto-hide controls
39
+
40
+ ## Keyboard Shortcuts
41
+
42
+ | Key | Action |
43
+ |-----|--------|
44
+ | Space / K | Play/Pause |
45
+ | M | Toggle mute |
46
+ | F | Toggle fullscreen |
47
+ | Left Arrow | Seek -5s |
48
+ | Right Arrow | Seek +5s |
49
+ | Up Arrow | Volume +10% |
50
+ | Down Arrow | Volume -10% |
51
+
52
+ ## Theming
53
+
54
+ ```typescript
55
+ uiPlugin({
56
+ theme: {
57
+ accentColor: '#e50914', // Progress bar, highlights
58
+ primaryColor: '#ffffff', // Text, icons
59
+ backgroundColor: 'rgba(0, 0, 0, 0.8)',
60
+ controlBarHeight: 48,
61
+ iconSize: 24,
62
+ },
63
+ hideDelay: 3000, // Auto-hide delay in ms
64
+ });
65
+ ```
66
+
67
+ ## License
68
+
69
+ MIT
package/dist/index.cjs CHANGED
@@ -696,8 +696,12 @@ var ProgressBar = class {
696
696
  if (this.wasPlayingBeforeDrag) {
697
697
  const video = getVideo(this.api.container);
698
698
  if (video && video.paused) {
699
- video.play().catch(() => {
700
- });
699
+ const resumePlayback = () => {
700
+ video.removeEventListener("seeked", resumePlayback);
701
+ video.play().catch(() => {
702
+ });
703
+ };
704
+ video.addEventListener("seeked", resumePlayback);
701
705
  }
702
706
  }
703
707
  }
package/dist/index.js CHANGED
@@ -665,8 +665,12 @@ var ProgressBar = class {
665
665
  if (this.wasPlayingBeforeDrag) {
666
666
  const video = getVideo(this.api.container);
667
667
  if (video && video.paused) {
668
- video.play().catch(() => {
669
- });
668
+ const resumePlayback = () => {
669
+ video.removeEventListener("seeked", resumePlayback);
670
+ video.play().catch(() => {
671
+ });
672
+ };
673
+ video.addEventListener("seeked", resumePlayback);
670
674
  }
671
675
  }
672
676
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scarlett-player/ui",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "UI Controls Plugin for Scarlett Player",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -32,7 +32,7 @@
32
32
  "@scarlett-player/core": "^0.1.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@scarlett-player/core": "file:../../core",
35
+ "@scarlett-player/core": "workspace:*",
36
36
  "tsup": "^8.0.0",
37
37
  "typescript": "^5.3.0",
38
38
  "vitest": "^1.6.0",
@@ -55,5 +55,5 @@
55
55
  "bugs": {
56
56
  "url": "https://github.com/Hackney-Enterprises-Inc/scarlett-player/issues"
57
57
  },
58
- "homepage": "https://github.com/Hackney-Enterprises-Inc/scarlett-player#readme"
58
+ "homepage": "https://scarlettplayer.com"
59
59
  }