@twick/player-react 0.14.21 → 0.15.0
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/dist/index.cjs +729 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.cts +42 -0
- package/dist/index.d.ts +8 -7
- package/dist/index.js +443 -119
- package/dist/index.js.map +1 -1
- package/dist/internal-H4HUGGQY.js +244 -0
- package/dist/internal-H4HUGGQY.js.map +1 -0
- package/package.json +31 -12
- package/dist/controls.d.ts +0 -11
- package/dist/controls.d.ts.map +0 -1
- package/dist/controls.js +0 -40
- package/dist/controls.js.map +0 -1
- package/dist/icons.d.ts +0 -5
- package/dist/icons.d.ts.map +0 -1
- package/dist/icons.js +0 -14
- package/dist/icons.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/internal.d.ts +0 -2
- package/dist/internal.d.ts.map +0 -1
- package/dist/internal.js +0 -249
- package/dist/internal.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/utils.d.ts +0 -3
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -28
- package/dist/utils.js.map +0 -1
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
// src/internal.ts
|
|
2
|
+
import { Player, Stage, getFullPreviewSettings } from "@twick/core";
|
|
3
|
+
import { Vector2 } from "@twick/core";
|
|
4
|
+
var stylesNew = `
|
|
5
|
+
.overlay {
|
|
6
|
+
position: absolute;
|
|
7
|
+
left: 0;
|
|
8
|
+
right: 0;
|
|
9
|
+
top: 0;
|
|
10
|
+
bottom: 0;
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
justify-content: center;
|
|
14
|
+
opacity: 0;
|
|
15
|
+
transition: opacity 0.1s;
|
|
16
|
+
z-index: 0;
|
|
17
|
+
}
|
|
18
|
+
.canvas {
|
|
19
|
+
width: 100%;
|
|
20
|
+
display: block;
|
|
21
|
+
opacity: 1;
|
|
22
|
+
transition: opacity 0.1s;
|
|
23
|
+
}
|
|
24
|
+
`;
|
|
25
|
+
var TEMPLATE = `<style>${stylesNew}</style><div class="overlay"></div>`;
|
|
26
|
+
var ID = "twick-player";
|
|
27
|
+
var TwickPlayer = class extends HTMLElement {
|
|
28
|
+
static get observedAttributes() {
|
|
29
|
+
return [
|
|
30
|
+
"playing",
|
|
31
|
+
"variables",
|
|
32
|
+
"looping",
|
|
33
|
+
"fps",
|
|
34
|
+
"quality",
|
|
35
|
+
"width",
|
|
36
|
+
"height",
|
|
37
|
+
"volume"
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
get fps() {
|
|
41
|
+
const attr = this.getAttribute("fps");
|
|
42
|
+
return attr ? parseFloat(attr) : this.defaultSettings?.fps ?? 60;
|
|
43
|
+
}
|
|
44
|
+
get quality() {
|
|
45
|
+
const attr = this.getAttribute("quality");
|
|
46
|
+
return attr ? parseFloat(attr) : this.defaultSettings?.resolutionScale ?? 1;
|
|
47
|
+
}
|
|
48
|
+
get width() {
|
|
49
|
+
const attr = this.getAttribute("width");
|
|
50
|
+
return attr ? parseFloat(attr) : this.defaultSettings?.size.width ?? 0;
|
|
51
|
+
}
|
|
52
|
+
get height() {
|
|
53
|
+
const attr = this.getAttribute("height");
|
|
54
|
+
return attr ? parseFloat(attr) : this.defaultSettings?.size.height ?? 0;
|
|
55
|
+
}
|
|
56
|
+
get variables() {
|
|
57
|
+
try {
|
|
58
|
+
const attr = this.getAttribute("variables");
|
|
59
|
+
return attr ? JSON.parse(attr) : {};
|
|
60
|
+
} catch {
|
|
61
|
+
this.project?.logger.warn(`Project variables could not be parsed.`);
|
|
62
|
+
return {};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
root;
|
|
66
|
+
canvas;
|
|
67
|
+
overlay;
|
|
68
|
+
state = "initial" /* Initial */;
|
|
69
|
+
project = null;
|
|
70
|
+
player = null;
|
|
71
|
+
defaultSettings;
|
|
72
|
+
abortController = null;
|
|
73
|
+
playing = false;
|
|
74
|
+
stage = new Stage();
|
|
75
|
+
time = 0;
|
|
76
|
+
duration = 0;
|
|
77
|
+
// in frames
|
|
78
|
+
looping = true;
|
|
79
|
+
volume = 1;
|
|
80
|
+
volumeChangeRequested = true;
|
|
81
|
+
constructor() {
|
|
82
|
+
super();
|
|
83
|
+
this.root = this.attachShadow({ mode: "open" });
|
|
84
|
+
this.root.innerHTML = TEMPLATE;
|
|
85
|
+
this.overlay = this.root.querySelector(".overlay");
|
|
86
|
+
this.canvas = this.stage.finalBuffer;
|
|
87
|
+
this.canvas.classList.add("canvas");
|
|
88
|
+
this.root.prepend(this.canvas);
|
|
89
|
+
this.setState("initial" /* Initial */);
|
|
90
|
+
}
|
|
91
|
+
setProject(project) {
|
|
92
|
+
this.updateProject(project);
|
|
93
|
+
}
|
|
94
|
+
setState(state) {
|
|
95
|
+
this.state = state;
|
|
96
|
+
this.setPlaying(this.playing);
|
|
97
|
+
}
|
|
98
|
+
setPlaying(value) {
|
|
99
|
+
if (this.state === "ready" /* Ready */ && value) {
|
|
100
|
+
this.player?.togglePlayback(true);
|
|
101
|
+
this.playing = true;
|
|
102
|
+
} else {
|
|
103
|
+
this.player?.togglePlayback(false);
|
|
104
|
+
this.playing = false;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
async updateProject(project) {
|
|
108
|
+
const playing = this.playing;
|
|
109
|
+
this.setState("initial" /* Initial */);
|
|
110
|
+
this.abortController?.abort();
|
|
111
|
+
this.abortController = new AbortController();
|
|
112
|
+
this.project = project;
|
|
113
|
+
console.log(project);
|
|
114
|
+
this.defaultSettings = getFullPreviewSettings(this.project);
|
|
115
|
+
const player = new Player(this.project);
|
|
116
|
+
player.setVariables(this.variables);
|
|
117
|
+
player.toggleLoop(this.looping);
|
|
118
|
+
this.player?.onRender.unsubscribe(this.render);
|
|
119
|
+
this.player?.onFrameChanged.unsubscribe(this.handleFrameChanged);
|
|
120
|
+
this.player?.togglePlayback(false);
|
|
121
|
+
this.player?.deactivate();
|
|
122
|
+
this.player = player;
|
|
123
|
+
this.updateSettings();
|
|
124
|
+
this.setState("ready" /* Ready */);
|
|
125
|
+
this.dispatchEvent(new CustomEvent("playerready", { detail: this.player }));
|
|
126
|
+
this.setPlaying(playing);
|
|
127
|
+
this.player.onRender.subscribe(this.render);
|
|
128
|
+
this.player.onFrameChanged.subscribe(this.handleFrameChanged);
|
|
129
|
+
}
|
|
130
|
+
attributeChangedCallback(name, _, newValue) {
|
|
131
|
+
switch (name) {
|
|
132
|
+
case "playing":
|
|
133
|
+
this.setPlaying(newValue === "true");
|
|
134
|
+
break;
|
|
135
|
+
case "variables":
|
|
136
|
+
this.player?.setVariables(this.variables);
|
|
137
|
+
this.player?.requestSeek(this.player.playback.frame);
|
|
138
|
+
this.player?.playback.reload();
|
|
139
|
+
break;
|
|
140
|
+
case "looping":
|
|
141
|
+
this.looping = newValue === "true";
|
|
142
|
+
this.player?.toggleLoop(newValue === "true");
|
|
143
|
+
break;
|
|
144
|
+
case "fps":
|
|
145
|
+
case "quality":
|
|
146
|
+
case "width":
|
|
147
|
+
case "height":
|
|
148
|
+
this.updateSettings();
|
|
149
|
+
break;
|
|
150
|
+
case "volume":
|
|
151
|
+
this.volume = newValue;
|
|
152
|
+
this.volumeChangeRequested = true;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Runs when the element is removed from the DOM.
|
|
157
|
+
*/
|
|
158
|
+
disconnectedCallback() {
|
|
159
|
+
this.player?.deactivate();
|
|
160
|
+
this.player?.onRender.unsubscribe(this.render);
|
|
161
|
+
this.removeEventListener("seekto", this.handleSeekTo);
|
|
162
|
+
this.removeEventListener("volumechange", this.handleVolumeChange);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Runs when the element is added to the DOM.
|
|
166
|
+
*/
|
|
167
|
+
connectedCallback() {
|
|
168
|
+
this.player?.activate();
|
|
169
|
+
this.player?.onRender.subscribe(this.render);
|
|
170
|
+
this.addEventListener("seekto", this.handleSeekTo);
|
|
171
|
+
this.addEventListener("volumechange", this.handleVolumeChange);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Triggered by the timeline.
|
|
175
|
+
*/
|
|
176
|
+
handleSeekTo = (event) => {
|
|
177
|
+
if (!this.project) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
const e = event;
|
|
181
|
+
this.time = e.detail;
|
|
182
|
+
this.player?.requestSeek(e.detail * this.player.playback.fps);
|
|
183
|
+
this.volumeChangeRequested = true;
|
|
184
|
+
};
|
|
185
|
+
handleVolumeChange = (event) => {
|
|
186
|
+
if (!this.project) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const e = event;
|
|
190
|
+
this.volume = e.detail;
|
|
191
|
+
this.player?.playback.currentScene.adjustVolume(this.volume);
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* Triggered by the player.
|
|
195
|
+
*/
|
|
196
|
+
handleFrameChanged = (frame) => {
|
|
197
|
+
if (!this.project || !this.player) {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
this.time = frame / this.player.playback.fps;
|
|
201
|
+
if (this.volumeChangeRequested || frame === 0) {
|
|
202
|
+
this.player?.playback.currentScene.adjustVolume(this.volume);
|
|
203
|
+
this.volumeChangeRequested = false;
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Called on every frame.
|
|
208
|
+
*/
|
|
209
|
+
render = async () => {
|
|
210
|
+
if (this.player && this.project) {
|
|
211
|
+
await this.stage.render(
|
|
212
|
+
this.player.playback.currentScene,
|
|
213
|
+
this.player.playback.previousScene
|
|
214
|
+
);
|
|
215
|
+
this.dispatchEvent(new CustomEvent("timeupdate", { detail: this.time }));
|
|
216
|
+
const durationInFrames = this.player.playback.duration;
|
|
217
|
+
if (durationInFrames === this.duration) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
this.duration = durationInFrames;
|
|
221
|
+
const durationInSeconds = durationInFrames / this.player.playback.fps;
|
|
222
|
+
this.dispatchEvent(
|
|
223
|
+
new CustomEvent("duration", { detail: durationInSeconds })
|
|
224
|
+
);
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
updateSettings() {
|
|
228
|
+
if (!this.defaultSettings) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
const settings = {
|
|
232
|
+
...this.defaultSettings,
|
|
233
|
+
size: new Vector2(this.width, this.height),
|
|
234
|
+
resolutionScale: this.quality,
|
|
235
|
+
fps: this.fps
|
|
236
|
+
};
|
|
237
|
+
this.stage.configure(settings);
|
|
238
|
+
this.player?.configure(settings);
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
if (!customElements.get(ID)) {
|
|
242
|
+
customElements.define(ID, TwickPlayer);
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=internal-H4HUGGQY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal.ts"],"sourcesContent":["import type {Project} from '@twick/core';\nimport {Player, Stage, getFullPreviewSettings} from '@twick/core';\n\nimport {Vector2} from '@twick/core';\n\nconst stylesNew = `\n.overlay {\n\tposition: absolute;\n\tleft: 0;\n\tright: 0;\n\ttop: 0;\n\tbottom: 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\topacity: 0;\n\ttransition: opacity 0.1s;\n\tz-index: 0;\n }\n .canvas {\n\twidth: 100%;\n\tdisplay: block;\n\topacity: 1;\n\ttransition: opacity 0.1s;\n }\n`;\n\nconst TEMPLATE = `<style>${stylesNew}</style><div class=\"overlay\"></div>`;\nconst ID = 'twick-player';\n\nenum State {\n Initial = 'initial',\n Loading = 'loading',\n Ready = 'ready',\n Error = 'error',\n}\n\nclass TwickPlayer extends HTMLElement {\n public static get observedAttributes() {\n return [\n 'playing',\n 'variables',\n 'looping',\n 'fps',\n 'quality',\n 'width',\n 'height',\n 'volume',\n ];\n }\n\n private get fps() {\n const attr = this.getAttribute('fps');\n return attr ? parseFloat(attr) : (this.defaultSettings?.fps ?? 60);\n }\n\n private get quality() {\n const attr = this.getAttribute('quality');\n return attr\n ? parseFloat(attr)\n : (this.defaultSettings?.resolutionScale ?? 1);\n }\n\n private get width() {\n const attr = this.getAttribute('width');\n return attr ? parseFloat(attr) : (this.defaultSettings?.size.width ?? 0);\n }\n\n private get height() {\n const attr = this.getAttribute('height');\n return attr ? parseFloat(attr) : (this.defaultSettings?.size.height ?? 0);\n }\n\n private get variables() {\n try {\n const attr = this.getAttribute('variables');\n return attr ? JSON.parse(attr) : {};\n } catch {\n this.project?.logger.warn(`Project variables could not be parsed.`);\n return {};\n }\n }\n\n private readonly root: ShadowRoot;\n private readonly canvas: HTMLCanvasElement;\n private readonly overlay: HTMLCanvasElement;\n\n private state = State.Initial;\n private project: Project | null = null;\n private player: Player | null = null;\n private defaultSettings:\n | ReturnType<typeof getFullPreviewSettings>\n | undefined;\n private abortController: AbortController | null = null;\n private playing = false;\n private stage = new Stage();\n\n private time: number = 0;\n private duration: number = 0; // in frames\n private looping = true;\n private volume = 1;\n private volumeChangeRequested = true;\n\n public constructor() {\n super();\n this.root = this.attachShadow({mode: 'open'});\n this.root.innerHTML = TEMPLATE;\n\n this.overlay = this.root.querySelector('.overlay')!;\n this.canvas = this.stage.finalBuffer;\n this.canvas.classList.add('canvas');\n this.root.prepend(this.canvas);\n this.setState(State.Initial);\n }\n\n public setProject(project: Project) {\n this.updateProject(project);\n }\n\n private setState(state: State) {\n this.state = state;\n this.setPlaying(this.playing);\n }\n\n private setPlaying(value: boolean) {\n if (this.state === State.Ready && value) {\n this.player?.togglePlayback(true);\n this.playing = true;\n } else {\n this.player?.togglePlayback(false);\n this.playing = false;\n }\n }\n\n private async updateProject(project: Project) {\n const playing = this.playing;\n this.setState(State.Initial);\n\n this.abortController?.abort();\n this.abortController = new AbortController();\n\n this.project = project;\n console.log(project);\n this.defaultSettings = getFullPreviewSettings(this.project);\n\n const player = new Player(this.project);\n player.setVariables(this.variables);\n player.toggleLoop(this.looping);\n\n this.player?.onRender.unsubscribe(this.render);\n this.player?.onFrameChanged.unsubscribe(this.handleFrameChanged);\n this.player?.togglePlayback(false);\n this.player?.deactivate();\n\n this.player = player;\n this.updateSettings();\n\n this.setState(State.Ready);\n this.dispatchEvent(new CustomEvent('playerready', {detail: this.player}));\n\n // Restore previous state\n this.setPlaying(playing);\n this.player.onRender.subscribe(this.render);\n this.player.onFrameChanged.subscribe(this.handleFrameChanged);\n }\n\n public attributeChangedCallback(name: string, _: any, newValue: any) {\n switch (name) {\n case 'playing':\n this.setPlaying(newValue === 'true');\n break;\n case 'variables':\n this.player?.setVariables(this.variables);\n this.player?.requestSeek(this.player.playback.frame);\n this.player?.playback.reload();\n break;\n case 'looping':\n this.looping = newValue === 'true';\n this.player?.toggleLoop(newValue === 'true');\n break;\n case 'fps':\n case 'quality':\n case 'width':\n case 'height':\n this.updateSettings();\n break;\n case 'volume':\n this.volume = newValue;\n this.volumeChangeRequested = true;\n }\n }\n\n /**\n * Runs when the element is removed from the DOM.\n */\n public disconnectedCallback() {\n this.player?.deactivate();\n this.player?.onRender.unsubscribe(this.render);\n\n this.removeEventListener('seekto', this.handleSeekTo);\n this.removeEventListener('volumechange', this.handleVolumeChange);\n }\n\n /**\n * Runs when the element is added to the DOM.\n */\n public connectedCallback() {\n this.player?.activate();\n this.player?.onRender.subscribe(this.render);\n\n this.addEventListener('seekto', this.handleSeekTo);\n this.addEventListener('volumechange', this.handleVolumeChange);\n }\n\n /**\n * Triggered by the timeline.\n */\n private handleSeekTo = (event: Event) => {\n if (!this.project) {\n return;\n }\n\n const e = event as CustomEvent;\n this.time = e.detail;\n this.player?.requestSeek(e.detail * this.player.playback.fps);\n this.volumeChangeRequested = true;\n };\n\n private handleVolumeChange = (event: Event) => {\n if (!this.project) {\n return;\n }\n\n const e = event as CustomEvent;\n this.volume = e.detail;\n\n this.player?.playback.currentScene.adjustVolume(this.volume);\n };\n\n /**\n * Triggered by the player.\n */\n private handleFrameChanged = (frame: number) => {\n if (!this.project || !this.player) {\n return;\n }\n this.time = frame / this.player.playback.fps;\n\n if (this.volumeChangeRequested || frame === 0) {\n this.player?.playback.currentScene.adjustVolume(this.volume);\n this.volumeChangeRequested = false;\n }\n };\n\n /**\n * Called on every frame.\n */\n private render = async () => {\n if (this.player && this.project) {\n await this.stage.render(\n this.player.playback.currentScene,\n this.player.playback.previousScene,\n );\n\n this.dispatchEvent(new CustomEvent('timeupdate', {detail: this.time}));\n\n const durationInFrames = this.player.playback.duration;\n if (durationInFrames === this.duration) {\n return;\n }\n\n this.duration = durationInFrames;\n\n const durationInSeconds = durationInFrames / this.player.playback.fps;\n this.dispatchEvent(\n new CustomEvent('duration', {detail: durationInSeconds}),\n );\n }\n };\n\n private updateSettings() {\n if (!this.defaultSettings) {\n return;\n }\n\n const settings = {\n ...this.defaultSettings,\n size: new Vector2(this.width, this.height),\n resolutionScale: this.quality,\n fps: this.fps,\n };\n this.stage.configure(settings);\n this.player?.configure(settings);\n }\n}\n\nif (!customElements.get(ID)) {\n customElements.define(ID, TwickPlayer);\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,17 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twick/player-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "",
|
|
5
|
-
"
|
|
5
|
+
"author": "twick",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/index.cjs",
|
|
9
|
+
"module": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js",
|
|
15
|
+
"require": "./dist/index.cjs"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"sideEffects": false,
|
|
6
19
|
"files": [
|
|
7
20
|
"dist"
|
|
8
21
|
],
|
|
9
22
|
"scripts": {
|
|
10
|
-
"
|
|
23
|
+
"dev": "tsup --watch",
|
|
24
|
+
"build": "tsup && postcss src/**/*.css --dir dist"
|
|
11
25
|
},
|
|
12
26
|
"keywords": [],
|
|
13
|
-
"
|
|
14
|
-
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@twick/core": "0.15.0",
|
|
29
|
+
"react": "^18",
|
|
30
|
+
"react-dom": "^18",
|
|
31
|
+
"uuid": "^10.0.0"
|
|
32
|
+
},
|
|
15
33
|
"devDependencies": {
|
|
16
34
|
"@types/react": "^18",
|
|
17
35
|
"@types/react-dom": "^18",
|
|
@@ -19,13 +37,14 @@
|
|
|
19
37
|
"cssnano": "^7.0.6",
|
|
20
38
|
"postcss": "^8.4.47",
|
|
21
39
|
"postcss-cli": "^11.0.0",
|
|
22
|
-
"tailwindcss": "^3.4.12"
|
|
40
|
+
"tailwindcss": "^3.4.12",
|
|
41
|
+
"tsup": "^8.0.0",
|
|
42
|
+
"typescript": "^5.5.0"
|
|
23
43
|
},
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"react-dom": "^18",
|
|
28
|
-
"uuid": "^10.0.0"
|
|
44
|
+
"repository": {
|
|
45
|
+
"type": "git",
|
|
46
|
+
"url": "https://github.com/ncounterspecialist/twick-base.git"
|
|
29
47
|
},
|
|
30
|
-
"
|
|
48
|
+
"bugs": "https://github.com/ncounterspecialist/twick-base/issues",
|
|
49
|
+
"gitHead": "232564ca74e12d1cc192ff7f5896d54e48212753"
|
|
31
50
|
}
|
package/dist/controls.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare function Controls({ duration, playing, setPlaying, currentTime, setForcedTime, timeDisplayFormat, volume, setVolume, }: {
|
|
2
|
-
duration: number;
|
|
3
|
-
playing: boolean;
|
|
4
|
-
setPlaying: (playing: boolean) => void;
|
|
5
|
-
currentTime: number;
|
|
6
|
-
setForcedTime: (currentTime: number) => void;
|
|
7
|
-
timeDisplayFormat: 'MM:SS' | 'MM:SS.m' | 'MM:SS.mm';
|
|
8
|
-
volume: number;
|
|
9
|
-
setVolume: (volume: number) => void;
|
|
10
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
//# sourceMappingURL=controls.d.ts.map
|
package/dist/controls.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../src/controls.tsx"],"names":[],"mappings":"AAoHA,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,UAAU,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,2CAsBA"}
|
package/dist/controls.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { MutedSoundIcon, PauseButton, PlayButton, SoundIcon } from './icons';
|
|
4
|
-
import { getFormattedTime } from './utils';
|
|
5
|
-
function PlayPause({ playing, setPlaying, }) {
|
|
6
|
-
return (_jsx("button", { type: "button", className: "p-1", onClick: () => setPlaying(!playing), children: playing ? _jsx(PauseButton, {}) : _jsx(PlayButton, {}) }));
|
|
7
|
-
}
|
|
8
|
-
function VolumeSlider({ volume, setVolume, }) {
|
|
9
|
-
const [isHovering, setIsHovering] = useState(false);
|
|
10
|
-
const [isInteracting, setIsInteracting] = useState(false);
|
|
11
|
-
const [previousVolume, setPreviousVolume] = useState(1);
|
|
12
|
-
const handleIconClick = () => {
|
|
13
|
-
if (volume > 0) {
|
|
14
|
-
setPreviousVolume(volume);
|
|
15
|
-
setVolume(0);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
setVolume(previousVolume);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
return (_jsxs("div", { className: "flex items-center space-x-2 relative", onMouseEnter: () => setIsHovering(true), onMouseLeave: () => {
|
|
22
|
-
if (!isInteracting) {
|
|
23
|
-
setIsHovering(false);
|
|
24
|
-
}
|
|
25
|
-
}, children: [_jsx("div", { className: "w-6 h-6 flex items-center justify-center cursor-pointer", onClick: handleIconClick, children: volume === 0 ? _jsx(MutedSoundIcon, {}) : _jsx(SoundIcon, {}) }), (isHovering || isInteracting) && (_jsx("div", { className: "flex items-center h-1.5 whitespace-nowrap", children: _jsxs("div", { className: "relative w-20 h-1.5 bg-gray-300 rounded-full", children: [_jsx("div", { className: "absolute top-0 left-0 h-full bg-gray-100 rounded-full", style: { width: `${volume * 100}%` } }), _jsx("input", { type: "range", min: 0, max: 1, step: 0.01, value: volume, onChange: e => {
|
|
26
|
-
const newVolume = Number(e.target.value);
|
|
27
|
-
setVolume(newVolume);
|
|
28
|
-
if (newVolume > 0) {
|
|
29
|
-
setPreviousVolume(newVolume);
|
|
30
|
-
}
|
|
31
|
-
}, onMouseDown: () => setIsInteracting(true), onMouseUp: () => setIsInteracting(false), onMouseLeave: () => setIsInteracting(false), className: "absolute top-0 left-0 w-full h-full opacity-0 cursor-pointer" })] }) }))] }));
|
|
32
|
-
}
|
|
33
|
-
function Timeline({ currentTime, duration, setCurrentTime, }) {
|
|
34
|
-
const progressPercentage = (currentTime / duration) * 100;
|
|
35
|
-
return (_jsxs("div", { className: "relative flex-1 w-full h-1.5 bg-gray-300 rounded-full overflow-hidden", children: [_jsx("div", { className: "absolute top-0 left-0 h-full bg-gray-100", style: { width: `${progressPercentage}%` } }), _jsx("input", { type: "range", value: currentTime, min: 0, max: duration, step: 0.01, className: "absolute top-0 left-0 w-full h-full opacity-0 cursor-pointer", onChange: event => setCurrentTime(Number(event.target.value)) })] }));
|
|
36
|
-
}
|
|
37
|
-
export function Controls({ duration, playing, setPlaying, currentTime, setForcedTime, timeDisplayFormat, volume, setVolume, }) {
|
|
38
|
-
return (_jsxs("div", { className: "text-white p-4 flex-col space-y-2 bg-gradient-to-t from-gray-500 to-transparent", children: [_jsxs("div", { className: "flex items-center space-x-2", children: [_jsx(PlayPause, { playing: playing, setPlaying: setPlaying }), _jsxs("div", { className: "flex items-center space-x-2", children: [_jsx(VolumeSlider, { volume: volume, setVolume: setVolume }), _jsx("div", { children: _jsx("span", { children: getFormattedTime(currentTime, duration, timeDisplayFormat) }) })] }), _jsx("div", { className: "flex-grow" })] }), _jsx(Timeline, { currentTime: currentTime, duration: duration, setCurrentTime: setForcedTime })] }));
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=controls.js.map
|
package/dist/controls.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../src/controls.tsx"],"names":[],"mappings":"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"}
|
package/dist/icons.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare function PlayButton(): import("react/jsx-runtime").JSX.Element;
|
|
2
|
-
export declare function PauseButton(): import("react/jsx-runtime").JSX.Element;
|
|
3
|
-
export declare function SoundIcon(): import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
export declare function MutedSoundIcon(): import("react/jsx-runtime").JSX.Element;
|
|
5
|
-
//# sourceMappingURL=icons.d.ts.map
|
package/dist/icons.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,4CAezB;AAED,wBAAgB,WAAW,4CAe1B;AAED,wBAAgB,SAAS,4CAaxB;AAED,wBAAgB,cAAc,4CAa7B"}
|
package/dist/icons.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
export function PlayButton() {
|
|
3
|
-
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", className: "w-6 h-6", children: _jsx("path", { fillRule: "evenodd", d: "M4.5 5.653c0-1.427 1.529-2.33 2.779-1.643l11.54 6.347c1.295.712 1.295 2.573 0 3.286L7.28 19.99c-1.25.687-2.779-.217-2.779-1.643V5.653Z", clipRule: "evenodd" }) }));
|
|
4
|
-
}
|
|
5
|
-
export function PauseButton() {
|
|
6
|
-
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", className: "w-6 h-6", children: _jsx("path", { fillRule: "evenodd", d: "M6.75 5.25a.75.75 0 0 1 .75-.75H9a.75.75 0 0 1 .75.75v13.5a.75.75 0 0 1-.75.75H7.5a.75.75 0 0 1-.75-.75V5.25Zm7.5 0A.75.75 0 0 1 15 4.5h1.5a.75.75 0 0 1 .75.75v13.5a.75.75 0 0 1-.75.75H15a.75.75 0 0 1-.75-.75V5.25Z", clipRule: "evenodd" }) }));
|
|
7
|
-
}
|
|
8
|
-
export function SoundIcon() {
|
|
9
|
-
return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", className: "p-w-6 p-h-6", children: [_jsx("path", { d: "M18.36,19.36a1,1,0,0,1-.7-.29,1,1,0,0,1,0-1.41,8,8,0,0,0,0-11.32,1,1,0,0,1,1.41-1.41,10,10,0,0,1,0,14.14A1,1,0,0,1,18.36,19.36Z" }), _jsx("path", { d: "M15.54,16.54a1,1,0,0,1-.71-.3,1,1,0,0,1,0-1.41,4,4,0,0,0,0-5.66,1,1,0,0,1,1.41-1.41,6,6,0,0,1,0,8.48A1,1,0,0,1,15.54,16.54Z" }), _jsx("path", { d: "M11.38,4.08a1,1,0,0,0-1.09.21L6.59,8H4a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2H6.59l3.7,3.71A1,1,0,0,0,11,20a.84.84,0,0,0,.38-.08A1,1,0,0,0,12,19V5A1,1,0,0,0,11.38,4.08Z" })] }));
|
|
10
|
-
}
|
|
11
|
-
export function MutedSoundIcon() {
|
|
12
|
-
return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", className: "p-w-6 p-h-6", children: [_jsx("path", { d: "M11.38,4.08a1,1,0,0,0-1.09.21L6.59,8H4a2,2,0,0,0-2,2v4a2,2,0,0,0,2,2H6.59l3.7,3.71A1,1,0,0,0,11,20a.84.84,0,0,0,.38-.08A1,1,0,0,0,12,19V5A1,1,0,0,0,11.38,4.08Z" }), _jsx("path", { d: "M16,15.5a1,1,0,0,1-.71-.29,1,1,0,0,1,0-1.42l5-5a1,1,0,0,1,1.42,1.42l-5,5A1,1,0,0,1,16,15.5Z" }), _jsx("path", { d: "M21,15.5a1,1,0,0,1-.71-.29l-5-5a1,1,0,0,1,1.42-1.42l5,5a1,1,0,0,1,0,1.42A1,1,0,0,1,21,15.5Z" })] }));
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=icons.js.map
|
package/dist/icons.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,UAAU;IACxB,OAAO,CACL,cACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,SAAS,EAAC,SAAS,YAEnB,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,wIAAwI,EAC1I,QAAQ,EAAC,SAAS,GAClB,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,cACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,SAAS,EAAC,SAAS,YAEnB,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,wNAAwN,EAC1N,QAAQ,EAAC,SAAS,GAClB,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,eACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,SAAS,EAAC,aAAa,aAEvB,eAAM,CAAC,EAAC,iIAAiI,GAAG,EAC5I,eAAM,CAAC,EAAC,6HAA6H,GAAG,EACxI,eAAM,CAAC,EAAC,iKAAiK,GAAG,IACxK,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,CACL,eACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,SAAS,EAAC,aAAa,aAEvB,eAAM,CAAC,EAAC,iKAAiK,GAAG,EAC5K,eAAM,CAAC,EAAC,6FAA6F,GAAG,EACxG,eAAM,CAAC,EAAC,6FAA6F,GAAG,IACpG,CACP,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,IAAI,UAAU,EAAE,OAAO,EAAC,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AAG1C,OAAO,aAAa,CAAC;AAGrB,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,UAAU,iBAAiB;YAEzB,cAAc,EAAE,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;SAC1D;KACF;CACF;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IAErD,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,QAAe,EACf,SAAc,EACd,OAAe,EACf,WAAe,EACf,MAAU,EACV,OAAc,EACd,GAAQ,EAER,KAAiB,EACjB,MAAkB,EAClB,OAAmB,EACnB,iBAA2B,EAE3B,gBAA2B,EAC3B,YAAuB,EACvB,aAAwB,EACxB,cAAyB,GAC1B,EAAE,WAAW,2CAgMb"}
|
package/dist/internal.d.ts
DELETED
package/dist/internal.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":""}
|