@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.
@@ -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.14.21",
3
+ "version": "0.15.0",
4
4
  "description": "",
5
- "main": "dist/index.js",
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
- "build": "tsc && postcss src/**/*.css --dir dist"
23
+ "dev": "tsup --watch",
24
+ "build": "tsup && postcss src/**/*.css --dir dist"
11
25
  },
12
26
  "keywords": [],
13
- "author": "twick",
14
- "license": "MIT",
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
- "dependencies": {
25
- "@twick/core": "0.14.21",
26
- "react": "^18",
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
- "gitHead": "597a0cb90db00991294a13ac41c2b86f4e11e13f"
48
+ "bugs": "https://github.com/ncounterspecialist/twick-base/issues",
49
+ "gitHead": "232564ca74e12d1cc192ff7f5896d54e48212753"
31
50
  }
@@ -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
@@ -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
@@ -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
@@ -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"}
@@ -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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=internal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":""}