@applemusic-like-lyrics/react-full 0.2.1 → 0.3.1
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/amll-react-framework.cjs +3981 -0
- package/dist/amll-react-framework.cjs.map +1 -0
- package/dist/amll-react-framework.d.cts +602 -0
- package/dist/amll-react-framework.d.mts +562 -0
- package/dist/amll-react-framework.mjs +3864 -0
- package/dist/amll-react-framework.mjs.map +1 -0
- package/dist/chunk-xCsw59S1.mjs +11 -0
- package/dist/style.css +901 -0
- package/package.json +76 -89
- package/LICENSE +0 -661
- package/dist/amll-react-framework.css +0 -1023
- package/dist/amll-react-framework.js +0 -13755
- package/dist/amll-react-framework.js.map +0 -1
- package/dist/components/AudioFFTVisualizer/index.d.ts +0 -5
- package/dist/components/AudioFFTVisualizer/index.d.ts.map +0 -1
- package/dist/components/AudioQualityTag/index.d.ts +0 -7
- package/dist/components/AudioQualityTag/index.d.ts.map +0 -1
- package/dist/components/BouncingSlider/index.d.ts +0 -18
- package/dist/components/BouncingSlider/index.d.ts.map +0 -1
- package/dist/components/ControlThumb/index.d.ts +0 -5
- package/dist/components/ControlThumb/index.d.ts.map +0 -1
- package/dist/components/Cover/index.d.ts +0 -12
- package/dist/components/Cover/index.d.ts.map +0 -1
- package/dist/components/MediaButton/index.d.ts +0 -3
- package/dist/components/MediaButton/index.d.ts.map +0 -1
- package/dist/components/MenuButton/index.d.ts +0 -3
- package/dist/components/MenuButton/index.d.ts.map +0 -1
- package/dist/components/MusicInfo/index.d.ts +0 -10
- package/dist/components/MusicInfo/index.d.ts.map +0 -1
- package/dist/components/PrebuiltLyricPlayer/index.d.ts +0 -8
- package/dist/components/PrebuiltLyricPlayer/index.d.ts.map +0 -1
- package/dist/components/TextMarquee/index.d.ts +0 -3
- package/dist/components/TextMarquee/index.d.ts.map +0 -1
- package/dist/components/ToggleIconButton/index.d.ts +0 -12
- package/dist/components/ToggleIconButton/index.d.ts.map +0 -1
- package/dist/components/ToggleIconButton/prebuilt-enum.d.ts +0 -9
- package/dist/components/ToggleIconButton/prebuilt-enum.d.ts.map +0 -1
- package/dist/components/VolumeControlSlider/index.d.ts +0 -4
- package/dist/components/VolumeControlSlider/index.d.ts.map +0 -1
- package/dist/components/index.d.ts +0 -14
- package/dist/components/index.d.ts.map +0 -1
- package/dist/hook/useThrottle.d.ts +0 -11
- package/dist/hook/useThrottle.d.ts.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/layout/auto.d.ts +0 -19
- package/dist/layout/auto.d.ts.map +0 -1
- package/dist/layout/horizontal.d.ts +0 -12
- package/dist/layout/horizontal.d.ts.map +0 -1
- package/dist/layout/index.d.ts +0 -4
- package/dist/layout/index.d.ts.map +0 -1
- package/dist/layout/vertical.d.ts +0 -12
- package/dist/layout/vertical.d.ts.map +0 -1
- package/dist/states/callbacks.d.ts +0 -93
- package/dist/states/callbacks.d.ts.map +0 -1
- package/dist/states/configAtoms.d.ts +0 -174
- package/dist/states/configAtoms.d.ts.map +0 -1
- package/dist/states/controlsAtoms.d.ts +0 -24
- package/dist/states/controlsAtoms.d.ts.map +0 -1
- package/dist/states/dataAtoms.d.ts +0 -144
- package/dist/states/dataAtoms.d.ts.map +0 -1
- package/dist/utils/duration.d.ts +0 -2
- package/dist/utils/duration.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.d.ts.map +0 -1
|
@@ -0,0 +1,3981 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region \0rolldown/runtime.js
|
|
3
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
4
|
+
cache: /* @__PURE__ */ new Map(),
|
|
5
|
+
get(name, inst) {
|
|
6
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
7
|
+
this.cache.set(name, inst);
|
|
8
|
+
return inst;
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
var __create = Object.create;
|
|
12
|
+
var __defProp = Object.defineProperty;
|
|
13
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
14
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
15
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
16
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
19
|
+
key = keys[i];
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
21
|
+
get: ((k) => from[k]).bind(null, key),
|
|
22
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return to;
|
|
26
|
+
};
|
|
27
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
+
value: mod,
|
|
29
|
+
enumerable: true
|
|
30
|
+
}) : target, mod));
|
|
31
|
+
//#endregion
|
|
32
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
33
|
+
let react_compiler_runtime = require("react/compiler-runtime");
|
|
34
|
+
let react = require("react");
|
|
35
|
+
react = __toESM(react);
|
|
36
|
+
let classnames = require("classnames");
|
|
37
|
+
classnames = __toESM(classnames);
|
|
38
|
+
let framer_motion = require("framer-motion");
|
|
39
|
+
let corner_smoothing = require("corner-smoothing");
|
|
40
|
+
let _applemusic_like_lyrics_react = require("@applemusic-like-lyrics/react");
|
|
41
|
+
let _ungap_structured_clone = require("@ungap/structured-clone");
|
|
42
|
+
_ungap_structured_clone = __toESM(_ungap_structured_clone);
|
|
43
|
+
let jotai = require("jotai");
|
|
44
|
+
let _applemusic_like_lyrics_core = require("@applemusic-like-lyrics/core");
|
|
45
|
+
let jotai_utils = require("jotai/utils");
|
|
46
|
+
//#region src/components/AudioFFTVisualizer/index.tsx
|
|
47
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
48
|
+
cache: /* @__PURE__ */ new Map(),
|
|
49
|
+
get(name, inst) {
|
|
50
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
51
|
+
this.cache.set(name, inst);
|
|
52
|
+
return inst;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const AudioFFTVisualizer = (t0) => {
|
|
56
|
+
const $ = (0, react_compiler_runtime.c)(10);
|
|
57
|
+
let fftData;
|
|
58
|
+
let props;
|
|
59
|
+
if ($[0] !== t0) {
|
|
60
|
+
({fftData, ...props} = t0);
|
|
61
|
+
$[0] = t0;
|
|
62
|
+
$[1] = fftData;
|
|
63
|
+
$[2] = props;
|
|
64
|
+
} else {
|
|
65
|
+
fftData = $[1];
|
|
66
|
+
props = $[2];
|
|
67
|
+
}
|
|
68
|
+
const canvasRef = (0, react.useRef)(null);
|
|
69
|
+
const fftDataRef = (0, react.useRef)(void 0);
|
|
70
|
+
if (fftDataRef.current === void 0) fftDataRef.current = fftData;
|
|
71
|
+
let t1;
|
|
72
|
+
let t2;
|
|
73
|
+
if ($[3] !== fftData) {
|
|
74
|
+
t1 = () => {
|
|
75
|
+
fftDataRef.current = fftData;
|
|
76
|
+
};
|
|
77
|
+
t2 = [fftData];
|
|
78
|
+
$[3] = fftData;
|
|
79
|
+
$[4] = t1;
|
|
80
|
+
$[5] = t2;
|
|
81
|
+
} else {
|
|
82
|
+
t1 = $[4];
|
|
83
|
+
t2 = $[5];
|
|
84
|
+
}
|
|
85
|
+
(0, react.useEffect)(t1, t2);
|
|
86
|
+
let t3;
|
|
87
|
+
let t4;
|
|
88
|
+
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
89
|
+
t3 = () => {
|
|
90
|
+
const canvas = canvasRef.current;
|
|
91
|
+
if (canvas) {
|
|
92
|
+
const ctx = canvas.getContext("2d");
|
|
93
|
+
if (ctx) {
|
|
94
|
+
let targetSize = {
|
|
95
|
+
width: 0,
|
|
96
|
+
height: 0
|
|
97
|
+
};
|
|
98
|
+
const obs = new ResizeObserver((sizes) => {
|
|
99
|
+
for (const size of sizes) targetSize = {
|
|
100
|
+
width: size.contentRect.width * window.devicePixelRatio,
|
|
101
|
+
height: size.contentRect.height * window.devicePixelRatio
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
obs.observe(canvas);
|
|
105
|
+
let maxValue = 100;
|
|
106
|
+
let stopped = false;
|
|
107
|
+
let buf = [];
|
|
108
|
+
const resampleLinear = function resampleLinear(src, dstLen) {
|
|
109
|
+
const n = src.length;
|
|
110
|
+
if (dstLen <= 0 || n === 0) return [];
|
|
111
|
+
if (n === dstLen) return src.slice();
|
|
112
|
+
const out = new Array(dstLen);
|
|
113
|
+
const scale = (n - 1) / Math.max(1, dstLen - 1);
|
|
114
|
+
for (let i = 0; i < dstLen; i++) {
|
|
115
|
+
const x = i * scale;
|
|
116
|
+
const x0 = Math.floor(x);
|
|
117
|
+
const x1 = Math.min(n - 1, x0 + 1);
|
|
118
|
+
const t = x - x0;
|
|
119
|
+
out[i] = src[x0] * (1 - t) + src[x1] * t;
|
|
120
|
+
}
|
|
121
|
+
return out;
|
|
122
|
+
};
|
|
123
|
+
function onFrame() {
|
|
124
|
+
if (!(canvas && ctx) || stopped) return;
|
|
125
|
+
const width = canvas.width;
|
|
126
|
+
const height = canvas.height;
|
|
127
|
+
if (targetSize.width !== width || targetSize.height !== height) {
|
|
128
|
+
canvas.width = targetSize.width;
|
|
129
|
+
canvas.height = targetSize.height;
|
|
130
|
+
}
|
|
131
|
+
const processed = fftDataRef.current ?? [];
|
|
132
|
+
if (buf.length !== processed.length) buf = [...processed];
|
|
133
|
+
else for (let i_0 = 0; i_0 < buf.length; i_0++) {
|
|
134
|
+
let t_0 = processed[i_0];
|
|
135
|
+
t_0 = t_0 * Math.min((i_0 + 5) / buf.length * 4, 1);
|
|
136
|
+
buf[i_0] = buf[i_0] + t_0 * 2;
|
|
137
|
+
buf[i_0] = buf[i_0] / 3;
|
|
138
|
+
}
|
|
139
|
+
ctx.clearRect(0, 0, width, height);
|
|
140
|
+
ctx.beginPath();
|
|
141
|
+
const dpr = window.devicePixelRatio || 1;
|
|
142
|
+
const desiredSpacing = 8 * dpr;
|
|
143
|
+
let desiredCount = Math.floor(width / Math.max(1, desiredSpacing));
|
|
144
|
+
desiredCount = Math.max(8, desiredCount);
|
|
145
|
+
const lineCount = buf.length > 0 ? Math.min(buf.length, desiredCount) : 0;
|
|
146
|
+
const display = lineCount > 0 ? resampleLinear(buf, lineCount) : [];
|
|
147
|
+
const targetMaxValue = display.length > 0 ? Math.max.apply(Math, display) : 0;
|
|
148
|
+
maxValue = Math.max(targetMaxValue * .1 + maxValue * .9, 100);
|
|
149
|
+
const barWidth = width / Math.max(1, display.length);
|
|
150
|
+
ctx.strokeStyle = "white";
|
|
151
|
+
ctx.lineWidth = 4 * dpr;
|
|
152
|
+
ctx.lineCap = "round";
|
|
153
|
+
ctx.lineJoin = "round";
|
|
154
|
+
const barBeginY = height - barWidth;
|
|
155
|
+
for (let i_1 = 0; i_1 < display.length; i_1++) {
|
|
156
|
+
const x_0 = barWidth * (i_1 + .5);
|
|
157
|
+
ctx.moveTo(x_0, barBeginY);
|
|
158
|
+
const norm = Math.min(1, Math.max(0, display[i_1] / maxValue));
|
|
159
|
+
ctx.lineTo(x_0, barBeginY - norm ** 2 * (height - barWidth * 2));
|
|
160
|
+
}
|
|
161
|
+
ctx.stroke();
|
|
162
|
+
requestAnimationFrame(onFrame);
|
|
163
|
+
}
|
|
164
|
+
onFrame();
|
|
165
|
+
return () => {
|
|
166
|
+
obs.disconnect();
|
|
167
|
+
stopped = true;
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
t4 = [];
|
|
173
|
+
$[6] = t3;
|
|
174
|
+
$[7] = t4;
|
|
175
|
+
} else {
|
|
176
|
+
t3 = $[6];
|
|
177
|
+
t4 = $[7];
|
|
178
|
+
}
|
|
179
|
+
(0, react.useLayoutEffect)(t3, t4);
|
|
180
|
+
let t5;
|
|
181
|
+
if ($[8] !== props) {
|
|
182
|
+
t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("canvas", {
|
|
183
|
+
ref: canvasRef,
|
|
184
|
+
...props
|
|
185
|
+
});
|
|
186
|
+
$[8] = props;
|
|
187
|
+
$[9] = t5;
|
|
188
|
+
} else t5 = $[9];
|
|
189
|
+
return t5;
|
|
190
|
+
};
|
|
191
|
+
//#endregion
|
|
192
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/AudioQualityTag/icon_dolby_atmos.svg
|
|
193
|
+
const SvgIconDolbyAtmos = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
194
|
+
width: 192,
|
|
195
|
+
height: 36,
|
|
196
|
+
viewBox: "0 0 192 36",
|
|
197
|
+
fill: "none",
|
|
198
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
199
|
+
ref,
|
|
200
|
+
...props,
|
|
201
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
202
|
+
fillRule: "evenodd",
|
|
203
|
+
clipRule: "evenodd",
|
|
204
|
+
d: "M139.11 15.884H135.582V23.8C135.582 24.6027 135.732 25.1814 136.03 25.536C136.329 25.872 136.805 26.04 137.458 26.04C137.701 26.04 137.962 26.012 138.242 25.956C138.522 25.9 138.774 25.816 138.998 25.704L139.082 27.86C138.765 27.972 138.41 28.056 138.018 28.112C137.645 28.1867 137.253 28.224 136.842 28.224C135.592 28.224 134.63 27.8787 133.958 27.188C133.305 26.4974 132.978 25.4614 132.978 24.08V15.884H130.43V13.728H132.978V7.92004H135.582V13.728H139.11V15.884ZM117.188 20.692H124.608L120.912 11.396L117.188 20.692ZM114.22 28H111.14L119.736 8.17604H122.256L130.768 28H127.632L125.616 23.128H116.208L114.22 28ZM145.441 15.12C144.713 15.6054 144.181 16.2027 143.845 16.912H143.761C143.761 16.632 143.752 16.2867 143.733 15.876C143.715 15.4467 143.687 15.064 143.649 14.728H141.157C141.195 15.1574 141.223 15.652 141.241 16.212C141.26 16.772 141.269 17.2294 141.269 17.584V28H143.901V20.944C143.901 19.6187 144.219 18.564 144.853 17.78C145.507 16.9774 146.319 16.576 147.289 16.576C147.812 16.576 148.251 16.6694 148.605 16.856C148.96 17.024 149.249 17.2667 149.473 17.584C149.697 17.8827 149.856 18.2467 149.949 18.676C150.043 19.1054 150.089 19.5814 150.089 20.104V28H152.721V20.832C152.721 20.3094 152.777 19.796 152.889 19.292C153.02 18.788 153.216 18.34 153.477 17.948C153.757 17.5374 154.112 17.2107 154.541 16.968C154.971 16.7067 155.484 16.576 156.081 16.576C156.66 16.576 157.136 16.688 157.509 16.912C157.883 17.136 158.181 17.4347 158.405 17.808C158.629 18.1814 158.788 18.6107 158.881 19.096C158.975 19.5814 159.021 20.0947 159.021 20.636V28H161.653V19.768C161.653 19.0214 161.551 18.3214 161.345 17.668C161.159 17.0147 160.86 16.4454 160.449 15.96C160.039 15.4747 159.525 15.092 158.909 14.812C158.293 14.5134 157.556 14.364 156.697 14.364C155.745 14.364 154.868 14.5974 154.065 15.064C153.263 15.512 152.637 16.1654 152.189 17.024C151.779 16.072 151.209 15.3907 150.481 14.98C149.772 14.5694 148.969 14.364 148.073 14.364C147.065 14.364 146.188 14.616 145.441 15.12ZM176.233 21.336C176.233 20.7014 176.131 20.0947 175.925 19.516C175.739 18.9374 175.459 18.4334 175.085 18.004C174.712 17.556 174.245 17.2014 173.685 16.94C173.144 16.6787 172.519 16.548 171.809 16.548C171.1 16.548 170.465 16.6787 169.905 16.94C169.364 17.2014 168.907 17.556 168.533 18.004C168.16 18.4334 167.871 18.9374 167.665 19.516C167.479 20.0947 167.385 20.7014 167.385 21.336C167.385 21.9707 167.479 22.5774 167.665 23.156C167.871 23.7347 168.16 24.248 168.533 24.696C168.907 25.144 169.364 25.4987 169.905 25.76C170.465 26.0214 171.1 26.152 171.809 26.152C172.519 26.152 173.144 26.0214 173.685 25.76C174.245 25.4987 174.712 25.144 175.085 24.696C175.459 24.248 175.739 23.7347 175.925 23.156C176.131 22.5774 176.233 21.9707 176.233 21.336ZM178.977 21.336C178.977 22.3627 178.791 23.3054 178.417 24.164C178.063 25.0227 177.559 25.7694 176.905 26.404C176.271 27.02 175.515 27.5054 174.637 27.86C173.76 28.196 172.817 28.364 171.809 28.364C170.801 28.364 169.859 28.196 168.981 27.86C168.104 27.5054 167.348 27.02 166.713 26.404C166.079 25.7694 165.575 25.0227 165.201 24.164C164.847 23.3054 164.669 22.3627 164.669 21.336C164.669 20.3094 164.847 19.376 165.201 18.536C165.575 17.6774 166.079 16.94 166.713 16.324C167.348 15.708 168.104 15.232 168.981 14.896C169.859 14.5414 170.801 14.364 171.809 14.364C172.817 14.364 173.76 14.5414 174.637 14.896C175.515 15.232 176.271 15.708 176.905 16.324C177.559 16.94 178.063 17.6774 178.417 18.536C178.791 19.376 178.977 20.3094 178.977 21.336ZM187.975 16.912C188.517 17.2107 188.937 17.6027 189.235 18.088L191.055 16.548C190.57 15.8387 189.879 15.2974 188.983 14.924C188.106 14.5507 187.191 14.364 186.239 14.364C185.605 14.364 184.989 14.448 184.391 14.616C183.794 14.7654 183.262 15.008 182.795 15.344C182.329 15.6614 181.946 16.0814 181.647 16.604C181.367 17.108 181.227 17.7147 181.227 18.424C181.227 19.04 181.339 19.5627 181.563 19.992C181.806 20.4027 182.114 20.748 182.487 21.028C182.861 21.308 183.271 21.532 183.719 21.7C184.186 21.8494 184.643 21.98 185.091 22.092C186.23 22.3534 187.089 22.6334 187.667 22.932C188.265 23.2307 188.563 23.688 188.563 24.304C188.563 24.6774 188.489 24.9854 188.339 25.228C188.19 25.4707 187.985 25.6667 187.723 25.816C187.481 25.9654 187.201 26.0774 186.883 26.152C186.585 26.208 186.267 26.236 185.931 26.236C185.185 26.236 184.494 26.0587 183.859 25.704C183.243 25.3494 182.758 24.9107 182.403 24.388L180.527 25.984C181.162 26.7867 181.955 27.384 182.907 27.776C183.878 28.168 184.867 28.364 185.875 28.364C186.547 28.364 187.201 28.2894 187.835 28.14C188.47 27.9907 189.03 27.748 189.515 27.412C190.019 27.0574 190.421 26.6094 190.719 26.068C191.018 25.5267 191.167 24.864 191.167 24.08C191.167 23.5014 191.055 22.9974 190.831 22.568C190.607 22.1387 190.29 21.7747 189.879 21.476C189.487 21.1587 189.021 20.8974 188.479 20.692C187.938 20.4867 187.35 20.3094 186.715 20.16C185.707 19.936 184.951 19.6934 184.447 19.432C183.943 19.152 183.691 18.732 183.691 18.172C183.691 17.8547 183.757 17.5934 183.887 17.388C184.037 17.164 184.223 16.9867 184.447 16.856C184.69 16.7067 184.961 16.604 185.259 16.548C185.558 16.4734 185.857 16.436 186.155 16.436C186.827 16.436 187.434 16.5947 187.975 16.912ZM2.95973 27.9533H0V7.93701H2.95973C8.48624 7.93701 12.9927 12.4323 12.9927 17.9451C12.9927 23.4579 8.48624 27.9533 2.95973 27.9533ZM25.5841 7.93701H28.5439V27.9533H25.5841C20.0576 27.9533 15.5511 23.4579 15.5511 17.9451C15.5511 12.4323 20.0576 7.93701 25.5841 7.93701ZM34.6222 7.93701H41.8682C47.4003 7.93701 51.9012 12.4268 51.9012 17.9451C51.9012 23.4635 47.4003 27.9533 41.8682 27.9533H34.6222V7.93701ZM37.6627 24.9175H41.8682C45.717 24.9175 48.8579 21.7871 48.8579 17.9424C48.8579 14.1031 45.7198 10.97 41.8682 10.97H37.6627V24.9175ZM53.4424 21.0365C53.4424 17.2112 56.561 14.1003 60.3958 14.1003C64.2307 14.1003 67.3492 17.2112 67.3492 21.0365C67.3492 24.8619 64.2307 27.9727 60.3958 27.9727C56.561 27.9727 53.4424 24.8619 53.4424 21.0365ZM56.2043 21.0115C56.2043 23.305 58.0687 25.1927 60.3958 25.1927C62.6978 25.1927 64.5874 23.3301 64.5874 21.0115C64.5874 18.718 62.695 16.8303 60.3958 16.8303C58.0966 16.8303 56.2043 18.6902 56.2043 21.0115ZM73.3574 27.9755H70.3168V7.93979H73.3574V27.9755ZM79.9647 15.3514C81.0906 14.5646 82.4618 14.1003 83.9389 14.1003C87.7709 14.1003 90.8895 17.2112 90.8923 21.0365C90.8923 24.8619 87.7737 27.9727 83.9389 27.9727C82.4618 27.9727 81.0934 27.5084 79.9647 26.7217V27.9755H76.9158V7.93979H79.9647V15.3514ZM79.9647 22.3292C80.5165 23.9861 82.08 25.1927 83.9389 25.1927C86.2381 25.1927 88.1304 23.3328 88.1304 21.0115C88.1304 18.718 86.2381 16.8303 83.9389 16.8303C82.0995 16.8303 80.5221 18.023 79.9647 19.691C79.8254 20.1052 79.7473 20.55 79.7473 21.0115C79.7473 21.473 79.8254 21.915 79.9647 22.3292ZM99.0715 22.9937L103.035 14.1059H106.357C105.983 14.9363 103.631 20.1804 101.593 24.7238C99.933 28.4242 98.4816 31.6599 98.4778 31.6674C97.5944 33.6468 95.2589 34.5419 93.283 33.6607L92.2295 33.1908L92.224 33.1881L93.453 30.4386L93.8905 30.6332C94.7043 30.9974 95.6658 30.6276 96.0309 29.8131C96.0337 29.8048 97.4104 26.7161 97.4104 26.7161L91.7864 14.1059H95.1084L99.0715 22.9937Z",
|
|
205
|
+
fill: "currentColor"
|
|
206
|
+
})
|
|
207
|
+
});
|
|
208
|
+
const ForwardRef$24 = (0, react.forwardRef)(SvgIconDolbyAtmos);
|
|
209
|
+
//#endregion
|
|
210
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/AudioQualityTag/icon_loseless.svg
|
|
211
|
+
const SvgIconLoseless = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
212
|
+
width: 30,
|
|
213
|
+
height: 20,
|
|
214
|
+
viewBox: "0 0 30 20",
|
|
215
|
+
fill: "none",
|
|
216
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
217
|
+
ref,
|
|
218
|
+
...props,
|
|
219
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("g", {
|
|
220
|
+
clipPath: "url(#clip0_207_8)",
|
|
221
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
222
|
+
d: "M16.0117 1.81812C18.4258 1.81812 19.8776 4.78099 20.958 7.92092L21.0631 8.23024L21.1659 8.54011L21.2666 8.84995C21.5987 9.88202 21.8972 10.9037 22.1828 11.8167C22.839 8.96008 22.4949 8.34671 23.1979 8.34671C23.4594 8.34671 23.724 8.53256 23.724 8.87123C23.724 9.0083 23.5105 10.461 23.2136 11.9166L23.1588 12.1809L23.1023 12.4436C23.0068 12.8791 22.9051 13.3002 22.8009 13.6704C25.8224 21.9469 28.0659 11.0453 28.3194 8.81691C28.3564 8.49556 28.5879 8.34672 28.8219 8.34672C29.1344 8.34672 29.3907 8.59283 29.3418 8.96318C28.8009 12.5671 27.9689 18.1818 24.5482 18.1818C22.6604 18.1818 21.5992 16.6374 20.7611 14.8678C20.179 13.6722 19.6841 12.2511 19.2288 10.8221L19.1203 10.4791C19.0844 10.3648 19.0487 10.2505 19.0132 10.1364L18.9073 9.79479C17.8713 6.44275 16.9926 3.33702 15.6457 3.33702C14.9875 3.33702 14.4995 4.05555 14.4657 4.05555C14.4036 4.05555 14.3548 3.76279 13.7401 2.96069C14.3251 2.26231 15.1314 1.81812 16.0117 1.81812ZM4.80934 1.82692C10.1957 1.82692 10.6747 16.6849 13.7232 16.6849C14.0811 16.6849 14.4669 16.4581 14.8886 15.9443C15.122 16.3577 15.3613 16.7247 15.6089 17.0478C15.0004 17.774 14.2433 18.1812 13.2952 18.1812C9.88906 18.1807 8.42559 12.2177 7.16605 8.19178C6.86941 9.48319 6.71544 10.6519 6.65516 11.1766C6.61775 11.5101 6.38397 11.662 6.14846 11.662C5.88728 11.662 5.62398 11.4752 5.62398 11.1416C5.62398 11.1167 5.62545 11.091 5.62848 11.0646C5.80292 9.74118 6.15443 7.73614 6.54802 6.3382C6.02411 4.90309 5.36971 3.33458 4.40561 3.33458C2.45924 3.33458 1.34461 8.44844 1.03117 11.1766C0.993764 11.5101 0.759979 11.662 0.524468 11.662C0.263303 11.662 0 11.4752 0 11.1416C0 11.1167 0.00146422 11.091 0.00449843 11.0646C0.0496669 10.7219 0.0980906 10.373 0.15073 10.0213L0.196904 9.71916C0.204779 9.66871 0.212746 9.61823 0.220807 9.56772L0.27033 9.26437C0.887195 5.57133 2.03712 1.82692 4.80934 1.82692ZM10.3981 1.81878C11.3654 1.81878 12.4031 2.34503 13.2976 3.57969C13.3476 3.63964 13.849 4.45427 14.0072 4.73669C14.554 5.77231 15.0302 7.038 15.4694 8.354L15.5832 8.69833C16.8447 12.5534 17.8174 16.7028 19.3326 16.7028C19.6918 16.7028 20.0814 16.4697 20.5126 15.9442C20.746 16.3575 20.9852 16.7245 21.2329 17.0476C20.6259 17.7724 19.8691 18.1812 18.9192 18.1812C13.565 18.1804 12.983 3.3313 10.0333 3.3313C9.36758 3.3313 8.87559 4.05559 8.84162 4.05559C8.7795 4.05559 8.7307 3.76287 8.11611 2.96083C8.7168 2.24348 9.52906 1.81878 10.3981 1.81878Z",
|
|
223
|
+
fill: "currentColor"
|
|
224
|
+
})
|
|
225
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("defs", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("clipPath", {
|
|
226
|
+
id: "clip0_207_8",
|
|
227
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
|
|
228
|
+
width: 30,
|
|
229
|
+
height: 20,
|
|
230
|
+
fill: "currentColor"
|
|
231
|
+
})
|
|
232
|
+
}) })]
|
|
233
|
+
});
|
|
234
|
+
const ForwardRef$23 = (0, react.forwardRef)(SvgIconLoseless);
|
|
235
|
+
//#endregion
|
|
236
|
+
//#region src/components/AudioQualityTag/index.module.css
|
|
237
|
+
var index_module_default$10 = {
|
|
238
|
+
"audioQualityTag": "nNqm_a_audioQualityTag",
|
|
239
|
+
"clickable": "nNqm_a_clickable",
|
|
240
|
+
"commonTag": "nNqm_a_commonTag",
|
|
241
|
+
"commonTagText": "nNqm_a_commonTagText",
|
|
242
|
+
"dolby-glow": "nNqm_a_dolby-glow",
|
|
243
|
+
"dolbyLogoGlow": "nNqm_a_dolbyLogoGlow"
|
|
244
|
+
};
|
|
245
|
+
//#endregion
|
|
246
|
+
//#region src/components/AudioQualityTag/index.tsx
|
|
247
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
248
|
+
cache: /* @__PURE__ */ new Map(),
|
|
249
|
+
get(name, inst) {
|
|
250
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
251
|
+
this.cache.set(name, inst);
|
|
252
|
+
return inst;
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
const COMMON_VARIENTS = {
|
|
256
|
+
hide: {
|
|
257
|
+
opacity: 0,
|
|
258
|
+
scale: .8,
|
|
259
|
+
transition: {
|
|
260
|
+
duration: .25,
|
|
261
|
+
ease: "circIn"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
show: {
|
|
265
|
+
opacity: 1,
|
|
266
|
+
scale: 1,
|
|
267
|
+
transition: {
|
|
268
|
+
duration: 1,
|
|
269
|
+
ease: [
|
|
270
|
+
0,
|
|
271
|
+
.71,
|
|
272
|
+
.2,
|
|
273
|
+
1.01
|
|
274
|
+
]
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
hover: { scale: .95 },
|
|
278
|
+
active: { scale: .9 }
|
|
279
|
+
};
|
|
280
|
+
const DOLBY_VARIENTS = {
|
|
281
|
+
hide: {
|
|
282
|
+
opacity: 0,
|
|
283
|
+
scale: .8,
|
|
284
|
+
transition: {
|
|
285
|
+
duration: .25,
|
|
286
|
+
ease: "circIn"
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
show: {
|
|
290
|
+
opacity: [0, 1],
|
|
291
|
+
scale: 1,
|
|
292
|
+
transition: {
|
|
293
|
+
duration: 1,
|
|
294
|
+
ease: [
|
|
295
|
+
0,
|
|
296
|
+
.71,
|
|
297
|
+
.2,
|
|
298
|
+
1.01
|
|
299
|
+
]
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
hover: { scale: .95 },
|
|
303
|
+
active: { scale: .9 }
|
|
304
|
+
};
|
|
305
|
+
const AudioQualityTag = (0, react.memo)((0, react.forwardRef)((t0, ref) => {
|
|
306
|
+
const $ = (0, react_compiler_runtime.c)(21);
|
|
307
|
+
let className;
|
|
308
|
+
let isDolbyAtmos;
|
|
309
|
+
let onClick;
|
|
310
|
+
let rest;
|
|
311
|
+
let tagIcon;
|
|
312
|
+
let tagText;
|
|
313
|
+
if ($[0] !== t0) {
|
|
314
|
+
({tagText, tagIcon, isDolbyAtmos, className, onClick, ...rest} = t0);
|
|
315
|
+
$[0] = t0;
|
|
316
|
+
$[1] = className;
|
|
317
|
+
$[2] = isDolbyAtmos;
|
|
318
|
+
$[3] = onClick;
|
|
319
|
+
$[4] = rest;
|
|
320
|
+
$[5] = tagIcon;
|
|
321
|
+
$[6] = tagText;
|
|
322
|
+
} else {
|
|
323
|
+
className = $[1];
|
|
324
|
+
isDolbyAtmos = $[2];
|
|
325
|
+
onClick = $[3];
|
|
326
|
+
rest = $[4];
|
|
327
|
+
tagIcon = $[5];
|
|
328
|
+
tagText = $[6];
|
|
329
|
+
}
|
|
330
|
+
const t1 = onClick && index_module_default$10.clickable;
|
|
331
|
+
let t2;
|
|
332
|
+
if ($[7] !== className || $[8] !== t1) {
|
|
333
|
+
t2 = (0, classnames.default)(className, index_module_default$10.audioQualityTag, t1);
|
|
334
|
+
$[7] = className;
|
|
335
|
+
$[8] = t1;
|
|
336
|
+
$[9] = t2;
|
|
337
|
+
} else t2 = $[9];
|
|
338
|
+
let t3;
|
|
339
|
+
if ($[10] !== isDolbyAtmos || $[11] !== onClick || $[12] !== tagIcon || $[13] !== tagText) {
|
|
340
|
+
t3 = isDolbyAtmos ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(framer_motion.motion.div, {
|
|
341
|
+
initial: "hide",
|
|
342
|
+
animate: "show",
|
|
343
|
+
whileHover: onClick ? "hover" : void 0,
|
|
344
|
+
whileTap: onClick ? "active" : void 0,
|
|
345
|
+
exit: "hide",
|
|
346
|
+
className: index_module_default$10.dolbyLogo,
|
|
347
|
+
variants: DOLBY_VARIENTS,
|
|
348
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$24, { className: index_module_default$10.dolbyLogoGlow }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$24, {})]
|
|
349
|
+
}, "dolby-atmos") : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
350
|
+
initial: "hide",
|
|
351
|
+
animate: "show",
|
|
352
|
+
whileHover: onClick ? "hover" : void 0,
|
|
353
|
+
whileTap: onClick ? "active" : void 0,
|
|
354
|
+
exit: "hide",
|
|
355
|
+
variants: COMMON_VARIENTS,
|
|
356
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
357
|
+
className: index_module_default$10.commonTag,
|
|
358
|
+
children: [tagIcon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$23, { height: "11px" }), tagText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
359
|
+
className: index_module_default$10.commonTagText,
|
|
360
|
+
children: tagText
|
|
361
|
+
})]
|
|
362
|
+
})
|
|
363
|
+
}, `common-tag-${tagIcon}-${tagText}`);
|
|
364
|
+
$[10] = isDolbyAtmos;
|
|
365
|
+
$[11] = onClick;
|
|
366
|
+
$[12] = tagIcon;
|
|
367
|
+
$[13] = tagText;
|
|
368
|
+
$[14] = t3;
|
|
369
|
+
} else t3 = $[14];
|
|
370
|
+
let t4;
|
|
371
|
+
if ($[15] !== onClick || $[16] !== ref || $[17] !== rest || $[18] !== t2 || $[19] !== t3) {
|
|
372
|
+
t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
373
|
+
className: t2,
|
|
374
|
+
onClick,
|
|
375
|
+
ref,
|
|
376
|
+
...rest,
|
|
377
|
+
children: t3
|
|
378
|
+
});
|
|
379
|
+
$[15] = onClick;
|
|
380
|
+
$[16] = ref;
|
|
381
|
+
$[17] = rest;
|
|
382
|
+
$[18] = t2;
|
|
383
|
+
$[19] = t3;
|
|
384
|
+
$[20] = t4;
|
|
385
|
+
} else t4 = $[20];
|
|
386
|
+
return t4;
|
|
387
|
+
}));
|
|
388
|
+
//#endregion
|
|
389
|
+
//#region src/components/BouncingSlider/index.module.css
|
|
390
|
+
var index_module_default$9 = {
|
|
391
|
+
"inner": "ah9gFq_inner",
|
|
392
|
+
"nowPlayingSlider": "ah9gFq_nowPlayingSlider",
|
|
393
|
+
"thumb": "ah9gFq_thumb"
|
|
394
|
+
};
|
|
395
|
+
//#endregion
|
|
396
|
+
//#region src/components/BouncingSlider/index.tsx
|
|
397
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
398
|
+
cache: /* @__PURE__ */ new Map(),
|
|
399
|
+
get(name, inst) {
|
|
400
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
401
|
+
this.cache.set(name, inst);
|
|
402
|
+
return inst;
|
|
403
|
+
}
|
|
404
|
+
};
|
|
405
|
+
const INITIAL_INSET = 12 / 2;
|
|
406
|
+
const MAX_BOUNCE_DISTANCE = 12;
|
|
407
|
+
const BouncingSlider = ({ className, style, value, min, max, isPlaying = false, onChange, onAfterChange, onBeforeChange, onSeeking, beforeIcon, afterIcon, changeOnDrag = false }) => {
|
|
408
|
+
const containerRef = (0, react.useRef)(null);
|
|
409
|
+
const innerRef = (0, react.useRef)(null);
|
|
410
|
+
const rectRef = (0, react.useRef)(null);
|
|
411
|
+
const isHoveringRef = (0, react.useRef)(false);
|
|
412
|
+
const progressMv = (0, framer_motion.useMotionValue)(0);
|
|
413
|
+
const scaleX = (0, framer_motion.useTransform)(progressMv, [0, 1], [0, 1]);
|
|
414
|
+
const insetMv = (0, framer_motion.useMotionValue)(INITIAL_INSET);
|
|
415
|
+
const clipPath = framer_motion.useMotionTemplate`inset(${insetMv}px 0px round 100px)`;
|
|
416
|
+
const bounceXSpring = (0, framer_motion.useSpring)(0, {
|
|
417
|
+
damping: 12,
|
|
418
|
+
stiffness: 300
|
|
419
|
+
});
|
|
420
|
+
const isDraggingRef = (0, react.useRef)(false);
|
|
421
|
+
const localTimeRef = (0, react.useRef)(value);
|
|
422
|
+
(0, react.useEffect)(() => {
|
|
423
|
+
if (isDraggingRef.current) return;
|
|
424
|
+
localTimeRef.current = value;
|
|
425
|
+
const newProgress = Math.max(0, Math.min(1, (value - min) / (max - min)));
|
|
426
|
+
progressMv.set(newProgress);
|
|
427
|
+
}, [
|
|
428
|
+
value,
|
|
429
|
+
min,
|
|
430
|
+
max,
|
|
431
|
+
progressMv
|
|
432
|
+
]);
|
|
433
|
+
(0, framer_motion.useAnimationFrame)((_time, delta) => {
|
|
434
|
+
if (isPlaying && !isDraggingRef.current) {
|
|
435
|
+
localTimeRef.current += delta;
|
|
436
|
+
if (localTimeRef.current > max) localTimeRef.current = max;
|
|
437
|
+
const newProgress_0 = Math.max(0, Math.min(1, (localTimeRef.current - min) / (max - min)));
|
|
438
|
+
progressMv.set(newProgress_0);
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
const expand = () => {
|
|
442
|
+
(0, framer_motion.animate)(insetMv, 0, {
|
|
443
|
+
type: "tween",
|
|
444
|
+
ease: "easeOut",
|
|
445
|
+
duration: .28
|
|
446
|
+
});
|
|
447
|
+
};
|
|
448
|
+
const collapse = () => {
|
|
449
|
+
(0, framer_motion.animate)(insetMv, INITIAL_INSET, {
|
|
450
|
+
type: "spring",
|
|
451
|
+
damping: 12,
|
|
452
|
+
stiffness: 200
|
|
453
|
+
});
|
|
454
|
+
};
|
|
455
|
+
const handlePanStart = (_event) => {
|
|
456
|
+
isDraggingRef.current = true;
|
|
457
|
+
if (innerRef.current) rectRef.current = innerRef.current.getBoundingClientRect();
|
|
458
|
+
expand();
|
|
459
|
+
onBeforeChange?.();
|
|
460
|
+
onSeeking?.(true);
|
|
461
|
+
};
|
|
462
|
+
const handlePan = (_event_0, info) => {
|
|
463
|
+
const rect = rectRef.current;
|
|
464
|
+
if (!rect) return;
|
|
465
|
+
const relPos = (info.point.x - rect.left) / rect.width;
|
|
466
|
+
if (relPos < 0) bounceXSpring.set(Math.tanh(relPos * 2) * MAX_BOUNCE_DISTANCE);
|
|
467
|
+
else if (relPos > 1) bounceXSpring.set(Math.tanh((relPos - 1) * 2) * MAX_BOUNCE_DISTANCE);
|
|
468
|
+
else bounceXSpring.set(0);
|
|
469
|
+
const clampedPos = Math.max(0, Math.min(1, relPos));
|
|
470
|
+
const NewValue = min + clampedPos * (max - min);
|
|
471
|
+
localTimeRef.current = NewValue;
|
|
472
|
+
progressMv.set(clampedPos);
|
|
473
|
+
if (changeOnDrag) onChange?.(NewValue);
|
|
474
|
+
};
|
|
475
|
+
const handlePanEnd = () => {
|
|
476
|
+
isDraggingRef.current = false;
|
|
477
|
+
rectRef.current = null;
|
|
478
|
+
if (isHoveringRef.current) expand();
|
|
479
|
+
else collapse();
|
|
480
|
+
bounceXSpring.set(0);
|
|
481
|
+
onSeeking?.(false);
|
|
482
|
+
onChange?.(localTimeRef.current);
|
|
483
|
+
onAfterChange?.(localTimeRef.current);
|
|
484
|
+
};
|
|
485
|
+
const handleHoverStart = () => {
|
|
486
|
+
isHoveringRef.current = true;
|
|
487
|
+
if (!isDraggingRef.current) expand();
|
|
488
|
+
};
|
|
489
|
+
const handleHoverEnd = () => {
|
|
490
|
+
isHoveringRef.current = false;
|
|
491
|
+
if (!isDraggingRef.current) collapse();
|
|
492
|
+
};
|
|
493
|
+
const handleTap = (_event_1, info_0) => {
|
|
494
|
+
const rect_0 = innerRef.current?.getBoundingClientRect();
|
|
495
|
+
if (!rect_0) return;
|
|
496
|
+
const relPos_0 = Math.max(0, Math.min(1, (info_0.point.x - rect_0.left) / rect_0.width));
|
|
497
|
+
const NewValue_0 = min + relPos_0 * (max - min);
|
|
498
|
+
localTimeRef.current = NewValue_0;
|
|
499
|
+
progressMv.set(relPos_0);
|
|
500
|
+
onBeforeChange?.();
|
|
501
|
+
onChange?.(NewValue_0);
|
|
502
|
+
onAfterChange?.(NewValue_0);
|
|
503
|
+
};
|
|
504
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(framer_motion.motion.div, {
|
|
505
|
+
ref: containerRef,
|
|
506
|
+
className: (0, classnames.default)(index_module_default$9.nowPlayingSlider, className),
|
|
507
|
+
style: {
|
|
508
|
+
...style,
|
|
509
|
+
x: bounceXSpring
|
|
510
|
+
},
|
|
511
|
+
onPanStart: handlePanStart,
|
|
512
|
+
onPan: handlePan,
|
|
513
|
+
onPanEnd: handlePanEnd,
|
|
514
|
+
onTap: handleTap,
|
|
515
|
+
onHoverStart: handleHoverStart,
|
|
516
|
+
onHoverEnd: handleHoverEnd,
|
|
517
|
+
children: [
|
|
518
|
+
beforeIcon,
|
|
519
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
520
|
+
ref: innerRef,
|
|
521
|
+
className: index_module_default$9.inner,
|
|
522
|
+
style: { clipPath },
|
|
523
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
524
|
+
className: index_module_default$9.thumb,
|
|
525
|
+
style: {
|
|
526
|
+
scaleX,
|
|
527
|
+
originX: 0
|
|
528
|
+
}
|
|
529
|
+
})
|
|
530
|
+
}),
|
|
531
|
+
afterIcon
|
|
532
|
+
]
|
|
533
|
+
});
|
|
534
|
+
};
|
|
535
|
+
//#endregion
|
|
536
|
+
//#region src/components/ControlThumb/index.module.css
|
|
537
|
+
var index_module_default$8 = { "controlThumb": "OWkF6W_controlThumb" };
|
|
538
|
+
//#endregion
|
|
539
|
+
//#region src/components/ControlThumb/index.tsx
|
|
540
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
541
|
+
cache: /* @__PURE__ */ new Map(),
|
|
542
|
+
get(name, inst) {
|
|
543
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
544
|
+
this.cache.set(name, inst);
|
|
545
|
+
return inst;
|
|
546
|
+
}
|
|
547
|
+
};
|
|
548
|
+
const ControlThumb = (t0) => {
|
|
549
|
+
const $ = (0, react_compiler_runtime.c)(25);
|
|
550
|
+
let className;
|
|
551
|
+
let onClick;
|
|
552
|
+
let rest;
|
|
553
|
+
if ($[0] !== t0) {
|
|
554
|
+
({onClick, className, ...rest} = t0);
|
|
555
|
+
$[0] = t0;
|
|
556
|
+
$[1] = className;
|
|
557
|
+
$[2] = onClick;
|
|
558
|
+
$[3] = rest;
|
|
559
|
+
} else {
|
|
560
|
+
className = $[1];
|
|
561
|
+
onClick = $[2];
|
|
562
|
+
rest = $[3];
|
|
563
|
+
}
|
|
564
|
+
const containerRef = (0, react.useRef)(null);
|
|
565
|
+
const hoveringRef = (0, react.useRef)(false);
|
|
566
|
+
let t1;
|
|
567
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
568
|
+
t1 = {
|
|
569
|
+
x: -25,
|
|
570
|
+
y: -4
|
|
571
|
+
};
|
|
572
|
+
$[4] = t1;
|
|
573
|
+
} else t1 = $[4];
|
|
574
|
+
const [thumbOffset, setThumbOffset] = (0, react.useState)(t1);
|
|
575
|
+
let t2;
|
|
576
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
577
|
+
t2 = (e) => {
|
|
578
|
+
const container = containerRef.current;
|
|
579
|
+
if (container && hoveringRef.current) {
|
|
580
|
+
const rect = container.getBoundingClientRect();
|
|
581
|
+
const left = (e.clientX - rect.left) / 2;
|
|
582
|
+
const top = (e.clientY - rect.top) / 2;
|
|
583
|
+
if (Math.abs(left) > 25 || Math.abs(top) > 25) setThumbOffset({
|
|
584
|
+
x: -25,
|
|
585
|
+
y: -4
|
|
586
|
+
});
|
|
587
|
+
else setThumbOffset({
|
|
588
|
+
x: left - 12.5,
|
|
589
|
+
y: top - 12.5
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
};
|
|
593
|
+
$[5] = t2;
|
|
594
|
+
} else t2 = $[5];
|
|
595
|
+
const onMouseMove = t2;
|
|
596
|
+
let t3;
|
|
597
|
+
if ($[6] !== className) {
|
|
598
|
+
t3 = (0, classnames.default)(index_module_default$8.controlThumb, className);
|
|
599
|
+
$[6] = className;
|
|
600
|
+
$[7] = t3;
|
|
601
|
+
} else t3 = $[7];
|
|
602
|
+
let t4;
|
|
603
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
604
|
+
t4 = {
|
|
605
|
+
rest: {
|
|
606
|
+
width: 50,
|
|
607
|
+
height: 8
|
|
608
|
+
},
|
|
609
|
+
hover: {
|
|
610
|
+
width: 25,
|
|
611
|
+
height: 25
|
|
612
|
+
}
|
|
613
|
+
};
|
|
614
|
+
$[8] = t4;
|
|
615
|
+
} else t4 = $[8];
|
|
616
|
+
let t5;
|
|
617
|
+
if ($[9] !== thumbOffset) {
|
|
618
|
+
t5 = { ...thumbOffset };
|
|
619
|
+
$[9] = thumbOffset;
|
|
620
|
+
$[10] = t5;
|
|
621
|
+
} else t5 = $[10];
|
|
622
|
+
let t6;
|
|
623
|
+
if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
|
|
624
|
+
t6 = { scale: .9 };
|
|
625
|
+
$[11] = t6;
|
|
626
|
+
} else t6 = $[11];
|
|
627
|
+
let t10;
|
|
628
|
+
let t7;
|
|
629
|
+
let t8;
|
|
630
|
+
let t9;
|
|
631
|
+
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
632
|
+
t7 = {
|
|
633
|
+
type: "spring",
|
|
634
|
+
duration: .5
|
|
635
|
+
};
|
|
636
|
+
t8 = (evt) => {
|
|
637
|
+
onMouseMove(evt.nativeEvent);
|
|
638
|
+
};
|
|
639
|
+
t9 = (evt_0) => {
|
|
640
|
+
onMouseMove(evt_0);
|
|
641
|
+
hoveringRef.current = true;
|
|
642
|
+
};
|
|
643
|
+
t10 = () => {
|
|
644
|
+
hoveringRef.current = false;
|
|
645
|
+
setThumbOffset({
|
|
646
|
+
x: -25,
|
|
647
|
+
y: -4
|
|
648
|
+
});
|
|
649
|
+
};
|
|
650
|
+
$[12] = t10;
|
|
651
|
+
$[13] = t7;
|
|
652
|
+
$[14] = t8;
|
|
653
|
+
$[15] = t9;
|
|
654
|
+
} else {
|
|
655
|
+
t10 = $[12];
|
|
656
|
+
t7 = $[13];
|
|
657
|
+
t8 = $[14];
|
|
658
|
+
t9 = $[15];
|
|
659
|
+
}
|
|
660
|
+
let t11;
|
|
661
|
+
if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
|
|
662
|
+
t11 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
663
|
+
variants: {
|
|
664
|
+
rest: {
|
|
665
|
+
height: 0,
|
|
666
|
+
width: 0,
|
|
667
|
+
marginTop: 0,
|
|
668
|
+
marginLeft: 25,
|
|
669
|
+
rotate: 0
|
|
670
|
+
},
|
|
671
|
+
hover: {
|
|
672
|
+
height: 2,
|
|
673
|
+
width: 15,
|
|
674
|
+
marginTop: -1,
|
|
675
|
+
marginLeft: 5,
|
|
676
|
+
rotate: 45
|
|
677
|
+
}
|
|
678
|
+
},
|
|
679
|
+
transition: {
|
|
680
|
+
type: "spring",
|
|
681
|
+
duration: .5
|
|
682
|
+
}
|
|
683
|
+
});
|
|
684
|
+
$[16] = t11;
|
|
685
|
+
} else t11 = $[16];
|
|
686
|
+
let t12;
|
|
687
|
+
if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
|
|
688
|
+
t12 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
689
|
+
variants: {
|
|
690
|
+
rest: {
|
|
691
|
+
height: 0,
|
|
692
|
+
width: 0,
|
|
693
|
+
marginTop: 0,
|
|
694
|
+
marginLeft: 25,
|
|
695
|
+
rotate: 0
|
|
696
|
+
},
|
|
697
|
+
hover: {
|
|
698
|
+
height: 2,
|
|
699
|
+
width: 15,
|
|
700
|
+
marginTop: -1,
|
|
701
|
+
marginLeft: 5,
|
|
702
|
+
rotate: -45
|
|
703
|
+
}
|
|
704
|
+
},
|
|
705
|
+
transition: {
|
|
706
|
+
type: "spring",
|
|
707
|
+
duration: .5
|
|
708
|
+
}
|
|
709
|
+
});
|
|
710
|
+
$[17] = t12;
|
|
711
|
+
} else t12 = $[17];
|
|
712
|
+
let t13;
|
|
713
|
+
if ($[18] !== onClick || $[19] !== t5) {
|
|
714
|
+
t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(framer_motion.motion.button, {
|
|
715
|
+
type: "button",
|
|
716
|
+
variants: t4,
|
|
717
|
+
animate: t5,
|
|
718
|
+
whileTap: t6,
|
|
719
|
+
whileHover: "hover",
|
|
720
|
+
initial: "rest",
|
|
721
|
+
transition: t7,
|
|
722
|
+
onMouseMove: t8,
|
|
723
|
+
onHoverStart: t9,
|
|
724
|
+
onHoverEnd: t10,
|
|
725
|
+
onClick,
|
|
726
|
+
children: [t11, t12]
|
|
727
|
+
});
|
|
728
|
+
$[18] = onClick;
|
|
729
|
+
$[19] = t5;
|
|
730
|
+
$[20] = t13;
|
|
731
|
+
} else t13 = $[20];
|
|
732
|
+
let t14;
|
|
733
|
+
if ($[21] !== rest || $[22] !== t13 || $[23] !== t3) {
|
|
734
|
+
t14 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
735
|
+
className: t3,
|
|
736
|
+
ref: containerRef,
|
|
737
|
+
...rest,
|
|
738
|
+
children: t13
|
|
739
|
+
});
|
|
740
|
+
$[21] = rest;
|
|
741
|
+
$[22] = t13;
|
|
742
|
+
$[23] = t3;
|
|
743
|
+
$[24] = t14;
|
|
744
|
+
} else t14 = $[24];
|
|
745
|
+
return t14;
|
|
746
|
+
};
|
|
747
|
+
//#endregion
|
|
748
|
+
//#region src/components/Cover/index.module.css
|
|
749
|
+
var index_module_default$7 = {
|
|
750
|
+
"cover": "Q2PpKa_cover",
|
|
751
|
+
"coverInner": "Q2PpKa_coverInner",
|
|
752
|
+
"musicPaused": "Q2PpKa_musicPaused"
|
|
753
|
+
};
|
|
754
|
+
//#endregion
|
|
755
|
+
//#region src/components/Cover/index.tsx
|
|
756
|
+
/**
|
|
757
|
+
* @fileoverview
|
|
758
|
+
* 一个专辑图组件
|
|
759
|
+
*/
|
|
760
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
761
|
+
cache: /* @__PURE__ */ new Map(),
|
|
762
|
+
get(name, inst) {
|
|
763
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
764
|
+
this.cache.set(name, inst);
|
|
765
|
+
return inst;
|
|
766
|
+
}
|
|
767
|
+
};
|
|
768
|
+
/**
|
|
769
|
+
* 一个专辑图组件
|
|
770
|
+
*/
|
|
771
|
+
const Cover = (0, react.forwardRef)((t0, ref) => {
|
|
772
|
+
const $ = (0, react_compiler_runtime.c)(33);
|
|
773
|
+
let className;
|
|
774
|
+
let coverIsVideo;
|
|
775
|
+
let coverUrl;
|
|
776
|
+
let coverVideoPaused;
|
|
777
|
+
let musicPaused;
|
|
778
|
+
let pauseShrinkAspect;
|
|
779
|
+
let rest;
|
|
780
|
+
if ($[0] !== t0) {
|
|
781
|
+
({coverUrl, coverIsVideo, coverVideoPaused, className, musicPaused, pauseShrinkAspect, ...rest} = t0);
|
|
782
|
+
$[0] = t0;
|
|
783
|
+
$[1] = className;
|
|
784
|
+
$[2] = coverIsVideo;
|
|
785
|
+
$[3] = coverUrl;
|
|
786
|
+
$[4] = coverVideoPaused;
|
|
787
|
+
$[5] = musicPaused;
|
|
788
|
+
$[6] = pauseShrinkAspect;
|
|
789
|
+
$[7] = rest;
|
|
790
|
+
} else {
|
|
791
|
+
className = $[1];
|
|
792
|
+
coverIsVideo = $[2];
|
|
793
|
+
coverUrl = $[3];
|
|
794
|
+
coverVideoPaused = $[4];
|
|
795
|
+
musicPaused = $[5];
|
|
796
|
+
pauseShrinkAspect = $[6];
|
|
797
|
+
rest = $[7];
|
|
798
|
+
}
|
|
799
|
+
const frameRef = (0, react.useRef)(null);
|
|
800
|
+
const t1 = musicPaused && index_module_default$7.musicPaused;
|
|
801
|
+
let t2;
|
|
802
|
+
if ($[8] !== className || $[9] !== t1) {
|
|
803
|
+
t2 = (0, classnames.default)(index_module_default$7.cover, t1, className);
|
|
804
|
+
$[8] = className;
|
|
805
|
+
$[9] = t1;
|
|
806
|
+
$[10] = t2;
|
|
807
|
+
} else t2 = $[10];
|
|
808
|
+
const clsNames = t2;
|
|
809
|
+
const videoRef = (0, react.useRef)(null);
|
|
810
|
+
let t3;
|
|
811
|
+
let t4;
|
|
812
|
+
if ($[11] !== coverVideoPaused) {
|
|
813
|
+
t3 = () => {
|
|
814
|
+
const videoEl = videoRef.current;
|
|
815
|
+
if (videoEl) if (coverVideoPaused) videoEl.pause();
|
|
816
|
+
else videoEl.play();
|
|
817
|
+
};
|
|
818
|
+
t4 = [coverVideoPaused];
|
|
819
|
+
$[11] = coverVideoPaused;
|
|
820
|
+
$[12] = t3;
|
|
821
|
+
$[13] = t4;
|
|
822
|
+
} else {
|
|
823
|
+
t3 = $[12];
|
|
824
|
+
t4 = $[13];
|
|
825
|
+
}
|
|
826
|
+
(0, react.useEffect)(t3, t4);
|
|
827
|
+
const [cornerRadius, setCornerRadius] = (0, react.useState)(20);
|
|
828
|
+
let t5;
|
|
829
|
+
let t6;
|
|
830
|
+
if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
|
|
831
|
+
t5 = () => {
|
|
832
|
+
const frameEl = frameRef.current;
|
|
833
|
+
if (frameEl) {
|
|
834
|
+
const onResize = () => {
|
|
835
|
+
const size = Math.min(frameEl.clientWidth, frameEl.clientHeight);
|
|
836
|
+
setCornerRadius(Math.max(size * .02, window.innerHeight * .007));
|
|
837
|
+
};
|
|
838
|
+
const obz = new ResizeObserver(onResize);
|
|
839
|
+
onResize();
|
|
840
|
+
obz.observe(frameEl);
|
|
841
|
+
return () => {
|
|
842
|
+
obz.disconnect();
|
|
843
|
+
};
|
|
844
|
+
}
|
|
845
|
+
};
|
|
846
|
+
t6 = [];
|
|
847
|
+
$[14] = t5;
|
|
848
|
+
$[15] = t6;
|
|
849
|
+
} else {
|
|
850
|
+
t5 = $[14];
|
|
851
|
+
t6 = $[15];
|
|
852
|
+
}
|
|
853
|
+
(0, react.useLayoutEffect)(t5, t6);
|
|
854
|
+
const t7 = pauseShrinkAspect ?? .75;
|
|
855
|
+
let t8;
|
|
856
|
+
if ($[16] !== t7) {
|
|
857
|
+
t8 = { "--scale-level": t7 };
|
|
858
|
+
$[16] = t7;
|
|
859
|
+
$[17] = t8;
|
|
860
|
+
} else t8 = $[17];
|
|
861
|
+
const t9 = t8;
|
|
862
|
+
let t10;
|
|
863
|
+
if ($[18] !== ref) {
|
|
864
|
+
t10 = (node) => {
|
|
865
|
+
frameRef.current = node;
|
|
866
|
+
if (typeof ref === "function") ref(node);
|
|
867
|
+
else if (ref) ref.current = node;
|
|
868
|
+
};
|
|
869
|
+
$[18] = ref;
|
|
870
|
+
$[19] = t10;
|
|
871
|
+
} else t10 = $[19];
|
|
872
|
+
let t11;
|
|
873
|
+
if ($[20] !== coverIsVideo || $[21] !== coverUrl || $[22] !== pauseShrinkAspect) {
|
|
874
|
+
t11 = coverIsVideo ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("video", {
|
|
875
|
+
className: index_module_default$7.coverInner,
|
|
876
|
+
src: coverUrl,
|
|
877
|
+
autoPlay: true,
|
|
878
|
+
loop: true,
|
|
879
|
+
muted: true,
|
|
880
|
+
playsInline: true,
|
|
881
|
+
crossOrigin: "anonymous",
|
|
882
|
+
ref: videoRef
|
|
883
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
884
|
+
className: index_module_default$7.coverInner,
|
|
885
|
+
style: {
|
|
886
|
+
backgroundImage: `url(${coverUrl})`,
|
|
887
|
+
"--scale-level": pauseShrinkAspect ?? .75
|
|
888
|
+
}
|
|
889
|
+
});
|
|
890
|
+
$[20] = coverIsVideo;
|
|
891
|
+
$[21] = coverUrl;
|
|
892
|
+
$[22] = pauseShrinkAspect;
|
|
893
|
+
$[23] = t11;
|
|
894
|
+
} else t11 = $[23];
|
|
895
|
+
let t12;
|
|
896
|
+
if ($[24] !== cornerRadius || $[25] !== t11) {
|
|
897
|
+
t12 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(corner_smoothing.Squircle, {
|
|
898
|
+
cornerRadius,
|
|
899
|
+
cornerSmoothing: .7,
|
|
900
|
+
className: index_module_default$7.coverInner,
|
|
901
|
+
children: t11
|
|
902
|
+
});
|
|
903
|
+
$[24] = cornerRadius;
|
|
904
|
+
$[25] = t11;
|
|
905
|
+
$[26] = t12;
|
|
906
|
+
} else t12 = $[26];
|
|
907
|
+
let t13;
|
|
908
|
+
if ($[27] !== clsNames || $[28] !== rest || $[29] !== t10 || $[30] !== t12 || $[31] !== t9) {
|
|
909
|
+
t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
910
|
+
className: clsNames,
|
|
911
|
+
style: t9,
|
|
912
|
+
ref: t10,
|
|
913
|
+
...rest,
|
|
914
|
+
children: t12
|
|
915
|
+
});
|
|
916
|
+
$[27] = clsNames;
|
|
917
|
+
$[28] = rest;
|
|
918
|
+
$[29] = t10;
|
|
919
|
+
$[30] = t12;
|
|
920
|
+
$[31] = t9;
|
|
921
|
+
$[32] = t13;
|
|
922
|
+
} else t13 = $[32];
|
|
923
|
+
return t13;
|
|
924
|
+
});
|
|
925
|
+
//#endregion
|
|
926
|
+
//#region src/components/MediaButton/index.module.css
|
|
927
|
+
var index_module_default$6 = {
|
|
928
|
+
"animate": "_7JvWRa_animate",
|
|
929
|
+
"mediaButton": "_7JvWRa_mediaButton",
|
|
930
|
+
"pressed-animation": "_7JvWRa_pressed-animation"
|
|
931
|
+
};
|
|
932
|
+
//#endregion
|
|
933
|
+
//#region src/components/MediaButton/index.tsx
|
|
934
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
935
|
+
cache: /* @__PURE__ */ new Map(),
|
|
936
|
+
get(name, inst) {
|
|
937
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
938
|
+
this.cache.set(name, inst);
|
|
939
|
+
return inst;
|
|
940
|
+
}
|
|
941
|
+
};
|
|
942
|
+
const MediaButton = (0, react.memo)((t0) => {
|
|
943
|
+
const $ = (0, react_compiler_runtime.c)(21);
|
|
944
|
+
let children;
|
|
945
|
+
let className;
|
|
946
|
+
let onAnimationEnd;
|
|
947
|
+
let onClick;
|
|
948
|
+
let rest;
|
|
949
|
+
let t1;
|
|
950
|
+
if ($[0] !== t0) {
|
|
951
|
+
({className, children, type: t1, onClick, onAnimationEnd, ...rest} = t0);
|
|
952
|
+
$[0] = t0;
|
|
953
|
+
$[1] = children;
|
|
954
|
+
$[2] = className;
|
|
955
|
+
$[3] = onAnimationEnd;
|
|
956
|
+
$[4] = onClick;
|
|
957
|
+
$[5] = rest;
|
|
958
|
+
$[6] = t1;
|
|
959
|
+
} else {
|
|
960
|
+
children = $[1];
|
|
961
|
+
className = $[2];
|
|
962
|
+
onAnimationEnd = $[3];
|
|
963
|
+
onClick = $[4];
|
|
964
|
+
rest = $[5];
|
|
965
|
+
t1 = $[6];
|
|
966
|
+
}
|
|
967
|
+
const type = t1 === void 0 ? "button" : t1;
|
|
968
|
+
const [isAnimating, setIsAnimating] = (0, react.useState)(false);
|
|
969
|
+
let t2;
|
|
970
|
+
if ($[7] !== onClick) {
|
|
971
|
+
t2 = (e) => {
|
|
972
|
+
setIsAnimating(true);
|
|
973
|
+
onClick?.(e);
|
|
974
|
+
};
|
|
975
|
+
$[7] = onClick;
|
|
976
|
+
$[8] = t2;
|
|
977
|
+
} else t2 = $[8];
|
|
978
|
+
const handleClick = t2;
|
|
979
|
+
let t3;
|
|
980
|
+
if ($[9] !== onAnimationEnd) {
|
|
981
|
+
t3 = (e_0) => {
|
|
982
|
+
setIsAnimating(false);
|
|
983
|
+
onAnimationEnd?.(e_0);
|
|
984
|
+
};
|
|
985
|
+
$[9] = onAnimationEnd;
|
|
986
|
+
$[10] = t3;
|
|
987
|
+
} else t3 = $[10];
|
|
988
|
+
const handleAnimationEnd = t3;
|
|
989
|
+
let t4;
|
|
990
|
+
if ($[11] !== className || $[12] !== isAnimating) {
|
|
991
|
+
t4 = (0, classnames.default)(index_module_default$6.mediaButton, { [index_module_default$6.animate]: isAnimating }, className);
|
|
992
|
+
$[11] = className;
|
|
993
|
+
$[12] = isAnimating;
|
|
994
|
+
$[13] = t4;
|
|
995
|
+
} else t4 = $[13];
|
|
996
|
+
let t5;
|
|
997
|
+
if ($[14] !== children || $[15] !== handleAnimationEnd || $[16] !== handleClick || $[17] !== rest || $[18] !== t4 || $[19] !== type) {
|
|
998
|
+
t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
999
|
+
className: t4,
|
|
1000
|
+
type,
|
|
1001
|
+
onClick: handleClick,
|
|
1002
|
+
onAnimationEnd: handleAnimationEnd,
|
|
1003
|
+
...rest,
|
|
1004
|
+
children
|
|
1005
|
+
});
|
|
1006
|
+
$[14] = children;
|
|
1007
|
+
$[15] = handleAnimationEnd;
|
|
1008
|
+
$[16] = handleClick;
|
|
1009
|
+
$[17] = rest;
|
|
1010
|
+
$[18] = t4;
|
|
1011
|
+
$[19] = type;
|
|
1012
|
+
$[20] = t5;
|
|
1013
|
+
} else t5 = $[20];
|
|
1014
|
+
return t5;
|
|
1015
|
+
});
|
|
1016
|
+
//#endregion
|
|
1017
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/MenuButton/icon_more.svg
|
|
1018
|
+
const SvgIconMore = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1019
|
+
id: "vector",
|
|
1020
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1021
|
+
width: 24,
|
|
1022
|
+
height: 24,
|
|
1023
|
+
viewBox: "0 0 24 24",
|
|
1024
|
+
ref,
|
|
1025
|
+
...props,
|
|
1026
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1027
|
+
d: "M5.5161,14.1665C5.8687,14.1665 6.1856,14.083 6.467,13.916C6.7485,13.749 6.9742,13.5264 7.1443,13.248C7.3144,12.9697 7.3994,12.6574 7.3994,12.311C7.3994,11.7977 7.217,11.3601 6.8521,10.9983C6.4871,10.6365 6.0418,10.4556 5.5161,10.4556C5.1759,10.4556 4.8652,10.5391 4.5837,10.7061C4.3023,10.873 4.0781,11.0972 3.9111,11.3787C3.7441,11.6601 3.6606,11.9709 3.6606,12.311C3.6606,12.6574 3.7441,12.9697 3.9111,13.248C4.0781,13.5264 4.3023,13.749 4.5837,13.916C4.8652,14.083 5.1759,14.1665 5.5161,14.1665ZM12.4092,14.1665C12.7555,14.1665 13.0679,14.083 13.3462,13.916C13.6245,13.749 13.8472,13.5264 14.0142,13.248C14.1812,12.9697 14.2646,12.6574 14.2646,12.311C14.2646,11.7977 14.0837,11.3601 13.7219,10.9983C13.3601,10.6365 12.9225,10.4556 12.4092,10.4556C12.069,10.4556 11.7582,10.5391 11.4768,10.7061C11.1954,10.873 10.9727,11.0972 10.8088,11.3787C10.6449,11.6601 10.563,11.9709 10.563,12.311C10.563,12.6574 10.6449,12.9697 10.8088,13.248C10.9727,13.5264 11.1954,13.749 11.4768,13.916C11.7582,14.083 12.069,14.1665 12.4092,14.1665ZM19.3022,14.1665C19.6424,14.1665 19.9532,14.083 20.2346,13.916C20.516,13.749 20.7402,13.5264 20.9072,13.248C21.0742,12.9697 21.1577,12.6574 21.1577,12.311C21.1577,11.7977 20.9768,11.3601 20.615,10.9983C20.2532,10.6365 19.8156,10.4556 19.3022,10.4556C18.9559,10.4556 18.6405,10.5391 18.356,10.7061C18.0715,10.873 17.8457,11.0972 17.6787,11.3787C17.5117,11.6601 17.4282,11.9709 17.4282,12.311C17.4282,12.6574 17.5117,12.9697 17.6787,13.248C17.8457,13.5264 18.0715,13.749 18.356,13.916C18.6405,14.083 18.9559,14.1665 19.3022,14.1665Z",
|
|
1028
|
+
fill: "currentColor",
|
|
1029
|
+
fillRule: "nonzero",
|
|
1030
|
+
id: "path_0"
|
|
1031
|
+
})
|
|
1032
|
+
});
|
|
1033
|
+
const ForwardRef$22 = (0, react.forwardRef)(SvgIconMore);
|
|
1034
|
+
//#endregion
|
|
1035
|
+
//#region src/components/MenuButton/index.module.css
|
|
1036
|
+
var index_module_default$5 = { "menuButton": "GOs7HW_menuButton" };
|
|
1037
|
+
//#endregion
|
|
1038
|
+
//#region src/components/MenuButton/index.tsx
|
|
1039
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
1040
|
+
cache: /* @__PURE__ */ new Map(),
|
|
1041
|
+
get(name, inst) {
|
|
1042
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
1043
|
+
this.cache.set(name, inst);
|
|
1044
|
+
return inst;
|
|
1045
|
+
}
|
|
1046
|
+
};
|
|
1047
|
+
const MenuButton = (0, react.memo)((t0) => {
|
|
1048
|
+
const $ = (0, react_compiler_runtime.c)(9);
|
|
1049
|
+
let className;
|
|
1050
|
+
let rest;
|
|
1051
|
+
if ($[0] !== t0) {
|
|
1052
|
+
const { className: t1, type, ...t2 } = t0;
|
|
1053
|
+
className = t1;
|
|
1054
|
+
rest = t2;
|
|
1055
|
+
$[0] = t0;
|
|
1056
|
+
$[1] = className;
|
|
1057
|
+
$[2] = rest;
|
|
1058
|
+
} else {
|
|
1059
|
+
className = $[1];
|
|
1060
|
+
rest = $[2];
|
|
1061
|
+
}
|
|
1062
|
+
let t1;
|
|
1063
|
+
if ($[3] !== className) {
|
|
1064
|
+
t1 = (0, classnames.default)(index_module_default$5.menuButton, className);
|
|
1065
|
+
$[3] = className;
|
|
1066
|
+
$[4] = t1;
|
|
1067
|
+
} else t1 = $[4];
|
|
1068
|
+
let t2;
|
|
1069
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
1070
|
+
t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$22, {});
|
|
1071
|
+
$[5] = t2;
|
|
1072
|
+
} else t2 = $[5];
|
|
1073
|
+
let t3;
|
|
1074
|
+
if ($[6] !== rest || $[7] !== t1) {
|
|
1075
|
+
t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
1076
|
+
className: t1,
|
|
1077
|
+
type: "button",
|
|
1078
|
+
...rest,
|
|
1079
|
+
children: t2
|
|
1080
|
+
});
|
|
1081
|
+
$[6] = rest;
|
|
1082
|
+
$[7] = t1;
|
|
1083
|
+
$[8] = t3;
|
|
1084
|
+
} else t3 = $[8];
|
|
1085
|
+
return t3;
|
|
1086
|
+
});
|
|
1087
|
+
//#endregion
|
|
1088
|
+
//#region src/components/TextMarquee/index.module.css
|
|
1089
|
+
var index_module_default$4 = {
|
|
1090
|
+
"animating": "Dbqjoq_animating",
|
|
1091
|
+
"textMarquee": "Dbqjoq_textMarquee"
|
|
1092
|
+
};
|
|
1093
|
+
//#endregion
|
|
1094
|
+
//#region src/components/TextMarquee/index.tsx
|
|
1095
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
1096
|
+
cache: /* @__PURE__ */ new Map(),
|
|
1097
|
+
get(name, inst) {
|
|
1098
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
1099
|
+
this.cache.set(name, inst);
|
|
1100
|
+
return inst;
|
|
1101
|
+
}
|
|
1102
|
+
};
|
|
1103
|
+
const TextMarquee = (0, react.memo)((t0) => {
|
|
1104
|
+
const $ = (0, react_compiler_runtime.c)(15);
|
|
1105
|
+
let children;
|
|
1106
|
+
let className;
|
|
1107
|
+
let rest;
|
|
1108
|
+
if ($[0] !== t0) {
|
|
1109
|
+
({children, className, ...rest} = t0);
|
|
1110
|
+
$[0] = t0;
|
|
1111
|
+
$[1] = children;
|
|
1112
|
+
$[2] = className;
|
|
1113
|
+
$[3] = rest;
|
|
1114
|
+
} else {
|
|
1115
|
+
children = $[1];
|
|
1116
|
+
className = $[2];
|
|
1117
|
+
rest = $[3];
|
|
1118
|
+
}
|
|
1119
|
+
const outerDiv = (0, react.useRef)(null);
|
|
1120
|
+
const innerDiv = (0, react.useRef)(null);
|
|
1121
|
+
let t1;
|
|
1122
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
1123
|
+
t1 = /* @__PURE__ */ new Set();
|
|
1124
|
+
$[4] = t1;
|
|
1125
|
+
} else t1 = $[4];
|
|
1126
|
+
const currentAnimationsRef = (0, react.useRef)(t1);
|
|
1127
|
+
let t2;
|
|
1128
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
1129
|
+
t2 = () => {
|
|
1130
|
+
if (innerDiv.current && outerDiv.current) {
|
|
1131
|
+
const outerWidth = outerDiv.current.clientWidth;
|
|
1132
|
+
const innerWidth = innerDiv.current.clientWidth;
|
|
1133
|
+
if (innerWidth <= outerWidth * .95) return;
|
|
1134
|
+
outerDiv.current?.classList.add(index_module_default$4.animating);
|
|
1135
|
+
const distance = innerWidth - outerWidth * .95;
|
|
1136
|
+
const ani = innerDiv.current.animate([{ transform: "translateX(0px)" }, { transform: `translateX(${-distance}px)` }], {
|
|
1137
|
+
iterations: 2,
|
|
1138
|
+
direction: "alternate",
|
|
1139
|
+
easing: "linear",
|
|
1140
|
+
duration: Math.max(0, distance * 2 / 64 * 1e3)
|
|
1141
|
+
});
|
|
1142
|
+
ani.finished.then(() => {
|
|
1143
|
+
outerDiv.current?.classList.remove(index_module_default$4.animating);
|
|
1144
|
+
});
|
|
1145
|
+
currentAnimationsRef.current.add(ani);
|
|
1146
|
+
}
|
|
1147
|
+
};
|
|
1148
|
+
$[5] = t2;
|
|
1149
|
+
} else t2 = $[5];
|
|
1150
|
+
const onMouseEnter = t2;
|
|
1151
|
+
let t3;
|
|
1152
|
+
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
1153
|
+
t3 = () => {
|
|
1154
|
+
for (const ani_0 of currentAnimationsRef.current) ani_0.finish();
|
|
1155
|
+
outerDiv.current?.classList.remove(index_module_default$4.animating);
|
|
1156
|
+
currentAnimationsRef.current.clear();
|
|
1157
|
+
};
|
|
1158
|
+
$[6] = t3;
|
|
1159
|
+
} else t3 = $[6];
|
|
1160
|
+
const onMouseLeave = t3;
|
|
1161
|
+
let t4;
|
|
1162
|
+
if ($[7] !== className) {
|
|
1163
|
+
t4 = (0, classnames.default)(index_module_default$4.textMarquee, className);
|
|
1164
|
+
$[7] = className;
|
|
1165
|
+
$[8] = t4;
|
|
1166
|
+
} else t4 = $[8];
|
|
1167
|
+
let t5;
|
|
1168
|
+
if ($[9] !== children) {
|
|
1169
|
+
t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1170
|
+
ref: innerDiv,
|
|
1171
|
+
children
|
|
1172
|
+
});
|
|
1173
|
+
$[9] = children;
|
|
1174
|
+
$[10] = t5;
|
|
1175
|
+
} else t5 = $[10];
|
|
1176
|
+
let t6;
|
|
1177
|
+
if ($[11] !== rest || $[12] !== t4 || $[13] !== t5) {
|
|
1178
|
+
t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1179
|
+
ref: outerDiv,
|
|
1180
|
+
className: t4,
|
|
1181
|
+
onMouseEnter,
|
|
1182
|
+
onMouseLeave,
|
|
1183
|
+
...rest,
|
|
1184
|
+
children: t5
|
|
1185
|
+
});
|
|
1186
|
+
$[11] = rest;
|
|
1187
|
+
$[12] = t4;
|
|
1188
|
+
$[13] = t5;
|
|
1189
|
+
$[14] = t6;
|
|
1190
|
+
} else t6 = $[14];
|
|
1191
|
+
return t6;
|
|
1192
|
+
});
|
|
1193
|
+
//#endregion
|
|
1194
|
+
//#region src/components/MusicInfo/index.module.css
|
|
1195
|
+
var index_module_default$3 = {
|
|
1196
|
+
"album": "XWzuDW_album",
|
|
1197
|
+
"artists": "XWzuDW_artists",
|
|
1198
|
+
"info": "XWzuDW_info",
|
|
1199
|
+
"musicInfo": "XWzuDW_musicInfo",
|
|
1200
|
+
"name": "XWzuDW_name"
|
|
1201
|
+
};
|
|
1202
|
+
//#endregion
|
|
1203
|
+
//#region src/components/MusicInfo/index.tsx
|
|
1204
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
1205
|
+
cache: /* @__PURE__ */ new Map(),
|
|
1206
|
+
get(name, inst) {
|
|
1207
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
1208
|
+
this.cache.set(name, inst);
|
|
1209
|
+
return inst;
|
|
1210
|
+
}
|
|
1211
|
+
};
|
|
1212
|
+
const MusicInfo = (0, react.memo)((t0) => {
|
|
1213
|
+
const $ = (0, react_compiler_runtime.c)(26);
|
|
1214
|
+
let album;
|
|
1215
|
+
let artists;
|
|
1216
|
+
let className;
|
|
1217
|
+
let name;
|
|
1218
|
+
let onMenuButtonClicked;
|
|
1219
|
+
let rest;
|
|
1220
|
+
if ($[0] !== t0) {
|
|
1221
|
+
const { name: t1, artists: t2, album: t3, onArtistClicked, onAlbumClicked, onMenuButtonClicked: t4, className: t5, ...t6 } = t0;
|
|
1222
|
+
name = t1;
|
|
1223
|
+
artists = t2;
|
|
1224
|
+
album = t3;
|
|
1225
|
+
onMenuButtonClicked = t4;
|
|
1226
|
+
className = t5;
|
|
1227
|
+
rest = t6;
|
|
1228
|
+
$[0] = t0;
|
|
1229
|
+
$[1] = album;
|
|
1230
|
+
$[2] = artists;
|
|
1231
|
+
$[3] = className;
|
|
1232
|
+
$[4] = name;
|
|
1233
|
+
$[5] = onMenuButtonClicked;
|
|
1234
|
+
$[6] = rest;
|
|
1235
|
+
} else {
|
|
1236
|
+
album = $[1];
|
|
1237
|
+
artists = $[2];
|
|
1238
|
+
className = $[3];
|
|
1239
|
+
name = $[4];
|
|
1240
|
+
onMenuButtonClicked = $[5];
|
|
1241
|
+
rest = $[6];
|
|
1242
|
+
}
|
|
1243
|
+
let t1;
|
|
1244
|
+
if ($[7] !== className) {
|
|
1245
|
+
t1 = (0, classnames.default)(index_module_default$3.musicInfo, className);
|
|
1246
|
+
$[7] = className;
|
|
1247
|
+
$[8] = t1;
|
|
1248
|
+
} else t1 = $[8];
|
|
1249
|
+
let t2;
|
|
1250
|
+
if ($[9] !== name) {
|
|
1251
|
+
t2 = name !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TextMarquee, {
|
|
1252
|
+
className: index_module_default$3.name,
|
|
1253
|
+
children: name
|
|
1254
|
+
});
|
|
1255
|
+
$[9] = name;
|
|
1256
|
+
$[10] = t2;
|
|
1257
|
+
} else t2 = $[10];
|
|
1258
|
+
let t3;
|
|
1259
|
+
if ($[11] !== artists) {
|
|
1260
|
+
t3 = artists !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TextMarquee, {
|
|
1261
|
+
className: index_module_default$3.artists,
|
|
1262
|
+
children: artists.map(_temp$1)
|
|
1263
|
+
});
|
|
1264
|
+
$[11] = artists;
|
|
1265
|
+
$[12] = t3;
|
|
1266
|
+
} else t3 = $[12];
|
|
1267
|
+
let t4;
|
|
1268
|
+
if ($[13] !== album) {
|
|
1269
|
+
t4 = album !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TextMarquee, {
|
|
1270
|
+
className: index_module_default$3.album,
|
|
1271
|
+
children: album
|
|
1272
|
+
});
|
|
1273
|
+
$[13] = album;
|
|
1274
|
+
$[14] = t4;
|
|
1275
|
+
} else t4 = $[14];
|
|
1276
|
+
let t5;
|
|
1277
|
+
if ($[15] !== t2 || $[16] !== t3 || $[17] !== t4) {
|
|
1278
|
+
t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1279
|
+
className: index_module_default$3.info,
|
|
1280
|
+
children: [
|
|
1281
|
+
t2,
|
|
1282
|
+
t3,
|
|
1283
|
+
t4
|
|
1284
|
+
]
|
|
1285
|
+
});
|
|
1286
|
+
$[15] = t2;
|
|
1287
|
+
$[16] = t3;
|
|
1288
|
+
$[17] = t4;
|
|
1289
|
+
$[18] = t5;
|
|
1290
|
+
} else t5 = $[18];
|
|
1291
|
+
let t6;
|
|
1292
|
+
if ($[19] !== onMenuButtonClicked) {
|
|
1293
|
+
t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenuButton, { onClick: onMenuButtonClicked });
|
|
1294
|
+
$[19] = onMenuButtonClicked;
|
|
1295
|
+
$[20] = t6;
|
|
1296
|
+
} else t6 = $[20];
|
|
1297
|
+
let t7;
|
|
1298
|
+
if ($[21] !== rest || $[22] !== t1 || $[23] !== t5 || $[24] !== t6) {
|
|
1299
|
+
t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1300
|
+
className: t1,
|
|
1301
|
+
...rest,
|
|
1302
|
+
children: [t5, t6]
|
|
1303
|
+
});
|
|
1304
|
+
$[21] = rest;
|
|
1305
|
+
$[22] = t1;
|
|
1306
|
+
$[23] = t5;
|
|
1307
|
+
$[24] = t6;
|
|
1308
|
+
$[25] = t7;
|
|
1309
|
+
} else t7 = $[25];
|
|
1310
|
+
return t7;
|
|
1311
|
+
});
|
|
1312
|
+
function _temp$1(v) {
|
|
1313
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", { children: v }, `artist-${v}`);
|
|
1314
|
+
}
|
|
1315
|
+
//#endregion
|
|
1316
|
+
//#region src/layout/auto.module.css
|
|
1317
|
+
var auto_module_default = { "background": "_8f42YG_background" };
|
|
1318
|
+
//#endregion
|
|
1319
|
+
//#region src/layout/horizontal.module.css
|
|
1320
|
+
var horizontal_module_default = {
|
|
1321
|
+
"bottomControls": "-DaA0W_bottomControls",
|
|
1322
|
+
"buttom-controls": "-DaA0W_buttom-controls",
|
|
1323
|
+
"controls": "-DaA0W_controls",
|
|
1324
|
+
"cover": "-DaA0W_cover",
|
|
1325
|
+
"drag-area": "-DaA0W_drag-area",
|
|
1326
|
+
"hideLyric": "-DaA0W_hideLyric",
|
|
1327
|
+
"horizontalLayout": "-DaA0W_horizontalLayout",
|
|
1328
|
+
"info-side": "-DaA0W_info-side",
|
|
1329
|
+
"lyric": "-DaA0W_lyric",
|
|
1330
|
+
"music-info": "-DaA0W_music-info",
|
|
1331
|
+
"player-side": "-DaA0W_player-side",
|
|
1332
|
+
"side-controls": "-DaA0W_side-controls",
|
|
1333
|
+
"thumb": "-DaA0W_thumb"
|
|
1334
|
+
};
|
|
1335
|
+
//#endregion
|
|
1336
|
+
//#region src/layout/horizontal.tsx
|
|
1337
|
+
/**
|
|
1338
|
+
* @fileoverview
|
|
1339
|
+
* 一个适用于歌词页面横向布局的组件
|
|
1340
|
+
*/
|
|
1341
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
1342
|
+
cache: /* @__PURE__ */ new Map(),
|
|
1343
|
+
get(name, inst) {
|
|
1344
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
1345
|
+
this.cache.set(name, inst);
|
|
1346
|
+
return inst;
|
|
1347
|
+
}
|
|
1348
|
+
};
|
|
1349
|
+
const HorizontalLayout = (t0) => {
|
|
1350
|
+
const $ = (0, react_compiler_runtime.c)(32);
|
|
1351
|
+
let asChild;
|
|
1352
|
+
let bottomControls;
|
|
1353
|
+
let className;
|
|
1354
|
+
let controlsSlot;
|
|
1355
|
+
let coverSlot;
|
|
1356
|
+
let hideLyric;
|
|
1357
|
+
let lyricSlot;
|
|
1358
|
+
let rest;
|
|
1359
|
+
let thumbSlot;
|
|
1360
|
+
if ($[0] !== t0) {
|
|
1361
|
+
({thumbSlot, coverSlot, controlsSlot, lyricSlot, bottomControls, hideLyric, className, asChild, ...rest} = t0);
|
|
1362
|
+
$[0] = t0;
|
|
1363
|
+
$[1] = asChild;
|
|
1364
|
+
$[2] = bottomControls;
|
|
1365
|
+
$[3] = className;
|
|
1366
|
+
$[4] = controlsSlot;
|
|
1367
|
+
$[5] = coverSlot;
|
|
1368
|
+
$[6] = hideLyric;
|
|
1369
|
+
$[7] = lyricSlot;
|
|
1370
|
+
$[8] = rest;
|
|
1371
|
+
$[9] = thumbSlot;
|
|
1372
|
+
} else {
|
|
1373
|
+
asChild = $[1];
|
|
1374
|
+
bottomControls = $[2];
|
|
1375
|
+
className = $[3];
|
|
1376
|
+
controlsSlot = $[4];
|
|
1377
|
+
coverSlot = $[5];
|
|
1378
|
+
hideLyric = $[6];
|
|
1379
|
+
lyricSlot = $[7];
|
|
1380
|
+
rest = $[8];
|
|
1381
|
+
thumbSlot = $[9];
|
|
1382
|
+
}
|
|
1383
|
+
const t1 = !asChild && horizontal_module_default.horizontalLayout;
|
|
1384
|
+
const t2 = !asChild && hideLyric && horizontal_module_default.hideLyric;
|
|
1385
|
+
let t3;
|
|
1386
|
+
if ($[10] !== className || $[11] !== t1 || $[12] !== t2) {
|
|
1387
|
+
t3 = (0, classnames.default)(className, t1, t2);
|
|
1388
|
+
$[10] = className;
|
|
1389
|
+
$[11] = t1;
|
|
1390
|
+
$[12] = t2;
|
|
1391
|
+
$[13] = t3;
|
|
1392
|
+
} else t3 = $[13];
|
|
1393
|
+
let t4;
|
|
1394
|
+
if ($[14] !== thumbSlot) {
|
|
1395
|
+
t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
1396
|
+
layout: true,
|
|
1397
|
+
layoutId: "amll-player-thumb",
|
|
1398
|
+
className: horizontal_module_default.thumb,
|
|
1399
|
+
children: thumbSlot
|
|
1400
|
+
});
|
|
1401
|
+
$[14] = thumbSlot;
|
|
1402
|
+
$[15] = t4;
|
|
1403
|
+
} else t4 = $[15];
|
|
1404
|
+
let t5;
|
|
1405
|
+
if ($[16] !== coverSlot) {
|
|
1406
|
+
t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
1407
|
+
layout: true,
|
|
1408
|
+
layoutId: "amll-player-cover",
|
|
1409
|
+
className: horizontal_module_default.cover,
|
|
1410
|
+
children: coverSlot
|
|
1411
|
+
});
|
|
1412
|
+
$[16] = coverSlot;
|
|
1413
|
+
$[17] = t5;
|
|
1414
|
+
} else t5 = $[17];
|
|
1415
|
+
let t6;
|
|
1416
|
+
if ($[18] !== controlsSlot) {
|
|
1417
|
+
t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
1418
|
+
layout: true,
|
|
1419
|
+
layoutId: "amll-player-controls",
|
|
1420
|
+
className: horizontal_module_default.controls,
|
|
1421
|
+
children: controlsSlot
|
|
1422
|
+
});
|
|
1423
|
+
$[18] = controlsSlot;
|
|
1424
|
+
$[19] = t6;
|
|
1425
|
+
} else t6 = $[19];
|
|
1426
|
+
let t7;
|
|
1427
|
+
if ($[20] !== lyricSlot) {
|
|
1428
|
+
t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1429
|
+
className: horizontal_module_default.lyric,
|
|
1430
|
+
children: lyricSlot
|
|
1431
|
+
});
|
|
1432
|
+
$[20] = lyricSlot;
|
|
1433
|
+
$[21] = t7;
|
|
1434
|
+
} else t7 = $[21];
|
|
1435
|
+
let t8;
|
|
1436
|
+
if ($[22] !== bottomControls) {
|
|
1437
|
+
t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1438
|
+
className: horizontal_module_default.bottomControls,
|
|
1439
|
+
children: bottomControls
|
|
1440
|
+
});
|
|
1441
|
+
$[22] = bottomControls;
|
|
1442
|
+
$[23] = t8;
|
|
1443
|
+
} else t8 = $[23];
|
|
1444
|
+
let t9;
|
|
1445
|
+
if ($[24] !== rest || $[25] !== t3 || $[26] !== t4 || $[27] !== t5 || $[28] !== t6 || $[29] !== t7 || $[30] !== t8) {
|
|
1446
|
+
t9 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1447
|
+
className: t3,
|
|
1448
|
+
...rest,
|
|
1449
|
+
children: [
|
|
1450
|
+
t4,
|
|
1451
|
+
t5,
|
|
1452
|
+
t6,
|
|
1453
|
+
t7,
|
|
1454
|
+
t8
|
|
1455
|
+
]
|
|
1456
|
+
});
|
|
1457
|
+
$[24] = rest;
|
|
1458
|
+
$[25] = t3;
|
|
1459
|
+
$[26] = t4;
|
|
1460
|
+
$[27] = t5;
|
|
1461
|
+
$[28] = t6;
|
|
1462
|
+
$[29] = t7;
|
|
1463
|
+
$[30] = t8;
|
|
1464
|
+
$[31] = t9;
|
|
1465
|
+
} else t9 = $[31];
|
|
1466
|
+
return t9;
|
|
1467
|
+
};
|
|
1468
|
+
//#endregion
|
|
1469
|
+
//#region src/layout/vertical.module.css
|
|
1470
|
+
var vertical_module_default = {
|
|
1471
|
+
"background": "SqBoeq_background",
|
|
1472
|
+
"bigControls": "SqBoeq_bigControls",
|
|
1473
|
+
"bottom-controls": "SqBoeq_bottom-controls",
|
|
1474
|
+
"control": "SqBoeq_control",
|
|
1475
|
+
"controls": "SqBoeq_controls",
|
|
1476
|
+
"cover": "SqBoeq_cover",
|
|
1477
|
+
"cover-side": "SqBoeq_cover-side",
|
|
1478
|
+
"cover-view": "SqBoeq_cover-view",
|
|
1479
|
+
"coverFrame": "SqBoeq_coverFrame",
|
|
1480
|
+
"drag-area": "SqBoeq_drag-area",
|
|
1481
|
+
"hideLyric": "SqBoeq_hideLyric",
|
|
1482
|
+
"immerseCover": "SqBoeq_immerseCover",
|
|
1483
|
+
"info-side": "SqBoeq_info-side",
|
|
1484
|
+
"lyric": "SqBoeq_lyric",
|
|
1485
|
+
"lyric-view": "SqBoeq_lyric-view",
|
|
1486
|
+
"lyricLayout": "SqBoeq_lyricLayout",
|
|
1487
|
+
"main-view": "SqBoeq_main-view",
|
|
1488
|
+
"noLyricLayout": "SqBoeq_noLyricLayout",
|
|
1489
|
+
"phonyBigCover": "SqBoeq_phonyBigCover",
|
|
1490
|
+
"phonySmallCover": "SqBoeq_phonySmallCover",
|
|
1491
|
+
"smallControls": "SqBoeq_smallControls",
|
|
1492
|
+
"thumb": "SqBoeq_thumb",
|
|
1493
|
+
"verticalLayout": "SqBoeq_verticalLayout"
|
|
1494
|
+
};
|
|
1495
|
+
//#endregion
|
|
1496
|
+
//#region src/layout/vertical.tsx
|
|
1497
|
+
/**
|
|
1498
|
+
* @fileoverview
|
|
1499
|
+
* 一个适用于歌词页面竖向布局的组件
|
|
1500
|
+
*/
|
|
1501
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
1502
|
+
cache: /* @__PURE__ */ new Map(),
|
|
1503
|
+
get(name, inst) {
|
|
1504
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
1505
|
+
this.cache.set(name, inst);
|
|
1506
|
+
return inst;
|
|
1507
|
+
}
|
|
1508
|
+
};
|
|
1509
|
+
const VerticalLayout = ({ thumbSlot, coverSlot, smallControlsSlot, bigControlsSlot, lyricSlot, hideLyric, asChild, className, immerseCover, ...rest }) => {
|
|
1510
|
+
const rootRef = (0, react.useRef)(null);
|
|
1511
|
+
const phonyBigCoverRef = (0, react.useRef)(null);
|
|
1512
|
+
const phonySmallCoverRef = (0, react.useRef)(null);
|
|
1513
|
+
const coverFrameRef = (0, react.useRef)(null);
|
|
1514
|
+
const hideLyricRef = (0, react.useRef)(hideLyric ?? false);
|
|
1515
|
+
const immerseCoverRef = (0, react.useRef)(immerseCover ?? false);
|
|
1516
|
+
const [currentCoverStyle, setCurrentCoverStyle] = (0, react.useState)(void 0);
|
|
1517
|
+
const calcCoverLayout = (0, react.useCallback)((hideLyric_0 = hideLyricRef.current) => {
|
|
1518
|
+
if (!rootRef.current) return;
|
|
1519
|
+
let rootEl = rootRef.current;
|
|
1520
|
+
const targetCover = hideLyric_0 ? phonyBigCoverRef.current : phonySmallCoverRef.current;
|
|
1521
|
+
if (!targetCover || !rootEl) return;
|
|
1522
|
+
const immerseCover_0 = immerseCoverRef.current;
|
|
1523
|
+
while (getComputedStyle(rootEl).display === "contents") rootEl = rootEl.parentElement;
|
|
1524
|
+
const rootB = rootEl.getBoundingClientRect();
|
|
1525
|
+
const targetCoverB = targetCover.getBoundingClientRect();
|
|
1526
|
+
if (immerseCover_0) {
|
|
1527
|
+
const halfHeight = targetCoverB.top - rootB.top + targetCoverB.height / 2;
|
|
1528
|
+
const targetCoverSize = Math.max(halfHeight * 2.4, rootB.width * 1.2, Math.min(targetCover.clientWidth, targetCover.clientHeight));
|
|
1529
|
+
return {
|
|
1530
|
+
width: targetCoverSize,
|
|
1531
|
+
height: targetCoverSize,
|
|
1532
|
+
left: targetCoverB.x - rootB.x + (targetCoverB.width - targetCoverSize) / 2,
|
|
1533
|
+
top: targetCoverB.y - rootB.y + (targetCoverB.height - targetCoverSize) / 2
|
|
1534
|
+
};
|
|
1535
|
+
}
|
|
1536
|
+
const targetCoverSize_0 = Math.min(targetCover.clientWidth, targetCover.clientHeight);
|
|
1537
|
+
return {
|
|
1538
|
+
width: targetCoverSize_0,
|
|
1539
|
+
height: targetCoverSize_0,
|
|
1540
|
+
left: targetCoverB.x - rootB.x + (targetCoverB.width - targetCoverSize_0) / 2,
|
|
1541
|
+
top: targetCoverB.y - rootB.y + (targetCoverB.height - targetCoverSize_0) / 2
|
|
1542
|
+
};
|
|
1543
|
+
}, []);
|
|
1544
|
+
(0, react.useLayoutEffect)(() => {
|
|
1545
|
+
hideLyricRef.current = hideLyric ?? false;
|
|
1546
|
+
immerseCoverRef.current = immerseCover ?? false;
|
|
1547
|
+
setCurrentCoverStyle(calcCoverLayout(hideLyricRef.current));
|
|
1548
|
+
}, [
|
|
1549
|
+
hideLyric,
|
|
1550
|
+
immerseCover,
|
|
1551
|
+
calcCoverLayout
|
|
1552
|
+
]);
|
|
1553
|
+
(0, react.useLayoutEffect)(() => {
|
|
1554
|
+
const phonyBigCoverEl = phonyBigCoverRef.current;
|
|
1555
|
+
const phonySmallCoverEl = phonySmallCoverRef.current;
|
|
1556
|
+
if (!phonyBigCoverEl || !phonySmallCoverEl) return;
|
|
1557
|
+
const obz = new ResizeObserver(() => {
|
|
1558
|
+
setCurrentCoverStyle(calcCoverLayout(hideLyricRef.current));
|
|
1559
|
+
});
|
|
1560
|
+
obz.observe(phonyBigCoverEl);
|
|
1561
|
+
obz.observe(phonySmallCoverEl);
|
|
1562
|
+
setCurrentCoverStyle(calcCoverLayout(hideLyricRef.current));
|
|
1563
|
+
return () => {
|
|
1564
|
+
obz.disconnect();
|
|
1565
|
+
};
|
|
1566
|
+
}, [calcCoverLayout]);
|
|
1567
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1568
|
+
className: (0, classnames.default)(className, !asChild && vertical_module_default.verticalLayout, !asChild && hideLyric && vertical_module_default.hideLyric),
|
|
1569
|
+
ref: rootRef,
|
|
1570
|
+
...rest,
|
|
1571
|
+
children: [
|
|
1572
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1573
|
+
className: vertical_module_default.thumb,
|
|
1574
|
+
children: thumbSlot
|
|
1575
|
+
}),
|
|
1576
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1577
|
+
className: vertical_module_default.lyricLayout,
|
|
1578
|
+
children: [
|
|
1579
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1580
|
+
className: vertical_module_default.phonySmallCover,
|
|
1581
|
+
ref: phonySmallCoverRef
|
|
1582
|
+
}),
|
|
1583
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1584
|
+
className: vertical_module_default.smallControls,
|
|
1585
|
+
children: smallControlsSlot
|
|
1586
|
+
}),
|
|
1587
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1588
|
+
className: vertical_module_default.lyric,
|
|
1589
|
+
children: lyricSlot
|
|
1590
|
+
})
|
|
1591
|
+
]
|
|
1592
|
+
}),
|
|
1593
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1594
|
+
className: vertical_module_default.noLyricLayout,
|
|
1595
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1596
|
+
className: vertical_module_default.phonyBigCover,
|
|
1597
|
+
ref: phonyBigCoverRef
|
|
1598
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1599
|
+
className: vertical_module_default.bigControls,
|
|
1600
|
+
children: bigControlsSlot
|
|
1601
|
+
})]
|
|
1602
|
+
}),
|
|
1603
|
+
currentCoverStyle && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
1604
|
+
className: (0, classnames.default)(vertical_module_default.coverFrame, immerseCover && vertical_module_default.immerseCover),
|
|
1605
|
+
animate: currentCoverStyle,
|
|
1606
|
+
initial: false,
|
|
1607
|
+
transition: {
|
|
1608
|
+
type: "spring",
|
|
1609
|
+
stiffness: 200,
|
|
1610
|
+
damping: 30
|
|
1611
|
+
},
|
|
1612
|
+
ref: coverFrameRef,
|
|
1613
|
+
children: coverSlot
|
|
1614
|
+
})
|
|
1615
|
+
]
|
|
1616
|
+
});
|
|
1617
|
+
};
|
|
1618
|
+
//#endregion
|
|
1619
|
+
//#region src/layout/auto.tsx
|
|
1620
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
1621
|
+
cache: /* @__PURE__ */ new Map(),
|
|
1622
|
+
get(name, inst) {
|
|
1623
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
1624
|
+
this.cache.set(name, inst);
|
|
1625
|
+
return inst;
|
|
1626
|
+
}
|
|
1627
|
+
};
|
|
1628
|
+
/**
|
|
1629
|
+
* 会根据当前元素的宽高比自动选择横向或者纵向布局的组件
|
|
1630
|
+
*/
|
|
1631
|
+
const AutoLyricLayout = (t0) => {
|
|
1632
|
+
const $ = (0, react_compiler_runtime.c)(40);
|
|
1633
|
+
let backgroundSlot;
|
|
1634
|
+
let bigControlsSlot;
|
|
1635
|
+
let controlsSlot;
|
|
1636
|
+
let coverSlot;
|
|
1637
|
+
let hideLyric;
|
|
1638
|
+
let horizontalBottomControls;
|
|
1639
|
+
let lyricSlot;
|
|
1640
|
+
let onElementMounted;
|
|
1641
|
+
let onLayoutChange;
|
|
1642
|
+
let rest;
|
|
1643
|
+
let smallControlsSlot;
|
|
1644
|
+
let thumbSlot;
|
|
1645
|
+
let verticalImmerseCover;
|
|
1646
|
+
if ($[0] !== t0) {
|
|
1647
|
+
({thumbSlot, controlsSlot, horizontalBottomControls, smallControlsSlot, bigControlsSlot, coverSlot, lyricSlot, backgroundSlot, hideLyric, verticalImmerseCover, onLayoutChange, onElementMounted, ...rest} = t0);
|
|
1648
|
+
$[0] = t0;
|
|
1649
|
+
$[1] = backgroundSlot;
|
|
1650
|
+
$[2] = bigControlsSlot;
|
|
1651
|
+
$[3] = controlsSlot;
|
|
1652
|
+
$[4] = coverSlot;
|
|
1653
|
+
$[5] = hideLyric;
|
|
1654
|
+
$[6] = horizontalBottomControls;
|
|
1655
|
+
$[7] = lyricSlot;
|
|
1656
|
+
$[8] = onElementMounted;
|
|
1657
|
+
$[9] = onLayoutChange;
|
|
1658
|
+
$[10] = rest;
|
|
1659
|
+
$[11] = smallControlsSlot;
|
|
1660
|
+
$[12] = thumbSlot;
|
|
1661
|
+
$[13] = verticalImmerseCover;
|
|
1662
|
+
} else {
|
|
1663
|
+
backgroundSlot = $[1];
|
|
1664
|
+
bigControlsSlot = $[2];
|
|
1665
|
+
controlsSlot = $[3];
|
|
1666
|
+
coverSlot = $[4];
|
|
1667
|
+
hideLyric = $[5];
|
|
1668
|
+
horizontalBottomControls = $[6];
|
|
1669
|
+
lyricSlot = $[7];
|
|
1670
|
+
onElementMounted = $[8];
|
|
1671
|
+
onLayoutChange = $[9];
|
|
1672
|
+
rest = $[10];
|
|
1673
|
+
smallControlsSlot = $[11];
|
|
1674
|
+
thumbSlot = $[12];
|
|
1675
|
+
verticalImmerseCover = $[13];
|
|
1676
|
+
}
|
|
1677
|
+
const [isVertical, setIsVertical] = (0, react.useState)(false);
|
|
1678
|
+
const rootRef = (0, react.useRef)(null);
|
|
1679
|
+
let t1;
|
|
1680
|
+
if ($[14] !== onElementMounted) {
|
|
1681
|
+
t1 = (node) => {
|
|
1682
|
+
rootRef.current = node;
|
|
1683
|
+
if (onElementMounted) onElementMounted(node);
|
|
1684
|
+
};
|
|
1685
|
+
$[14] = onElementMounted;
|
|
1686
|
+
$[15] = t1;
|
|
1687
|
+
} else t1 = $[15];
|
|
1688
|
+
const setRefs = t1;
|
|
1689
|
+
let t2;
|
|
1690
|
+
let t3;
|
|
1691
|
+
if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
|
|
1692
|
+
t2 = () => {
|
|
1693
|
+
const rootEl = rootRef.current;
|
|
1694
|
+
if (!rootEl) return;
|
|
1695
|
+
setIsVertical(rootEl.clientWidth < rootEl.clientHeight);
|
|
1696
|
+
const obz = new ResizeObserver(() => {
|
|
1697
|
+
const rootB = rootEl.getBoundingClientRect();
|
|
1698
|
+
setIsVertical(rootB.width < rootB.height);
|
|
1699
|
+
});
|
|
1700
|
+
obz.observe(rootEl);
|
|
1701
|
+
return () => obz.disconnect();
|
|
1702
|
+
};
|
|
1703
|
+
t3 = [];
|
|
1704
|
+
$[16] = t2;
|
|
1705
|
+
$[17] = t3;
|
|
1706
|
+
} else {
|
|
1707
|
+
t2 = $[16];
|
|
1708
|
+
t3 = $[17];
|
|
1709
|
+
}
|
|
1710
|
+
(0, react.useLayoutEffect)(t2, t3);
|
|
1711
|
+
let t4;
|
|
1712
|
+
let t5;
|
|
1713
|
+
if ($[18] !== isVertical || $[19] !== onLayoutChange) {
|
|
1714
|
+
t4 = () => {
|
|
1715
|
+
onLayoutChange?.(isVertical);
|
|
1716
|
+
};
|
|
1717
|
+
t5 = [isVertical, onLayoutChange];
|
|
1718
|
+
$[18] = isVertical;
|
|
1719
|
+
$[19] = onLayoutChange;
|
|
1720
|
+
$[20] = t4;
|
|
1721
|
+
$[21] = t5;
|
|
1722
|
+
} else {
|
|
1723
|
+
t4 = $[20];
|
|
1724
|
+
t5 = $[21];
|
|
1725
|
+
}
|
|
1726
|
+
(0, react.useLayoutEffect)(t4, t5);
|
|
1727
|
+
let t6;
|
|
1728
|
+
if ($[22] !== backgroundSlot) {
|
|
1729
|
+
t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1730
|
+
className: auto_module_default.background,
|
|
1731
|
+
children: backgroundSlot
|
|
1732
|
+
});
|
|
1733
|
+
$[22] = backgroundSlot;
|
|
1734
|
+
$[23] = t6;
|
|
1735
|
+
} else t6 = $[23];
|
|
1736
|
+
let t7;
|
|
1737
|
+
if ($[24] !== bigControlsSlot || $[25] !== controlsSlot || $[26] !== coverSlot || $[27] !== hideLyric || $[28] !== horizontalBottomControls || $[29] !== isVertical || $[30] !== lyricSlot || $[31] !== smallControlsSlot || $[32] !== thumbSlot || $[33] !== verticalImmerseCover) {
|
|
1738
|
+
t7 = isVertical ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(VerticalLayout, {
|
|
1739
|
+
thumbSlot,
|
|
1740
|
+
smallControlsSlot,
|
|
1741
|
+
bigControlsSlot,
|
|
1742
|
+
coverSlot,
|
|
1743
|
+
lyricSlot,
|
|
1744
|
+
hideLyric,
|
|
1745
|
+
immerseCover: verticalImmerseCover
|
|
1746
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(HorizontalLayout, {
|
|
1747
|
+
thumbSlot,
|
|
1748
|
+
controlsSlot,
|
|
1749
|
+
coverSlot,
|
|
1750
|
+
lyricSlot,
|
|
1751
|
+
bottomControls: horizontalBottomControls,
|
|
1752
|
+
hideLyric
|
|
1753
|
+
});
|
|
1754
|
+
$[24] = bigControlsSlot;
|
|
1755
|
+
$[25] = controlsSlot;
|
|
1756
|
+
$[26] = coverSlot;
|
|
1757
|
+
$[27] = hideLyric;
|
|
1758
|
+
$[28] = horizontalBottomControls;
|
|
1759
|
+
$[29] = isVertical;
|
|
1760
|
+
$[30] = lyricSlot;
|
|
1761
|
+
$[31] = smallControlsSlot;
|
|
1762
|
+
$[32] = thumbSlot;
|
|
1763
|
+
$[33] = verticalImmerseCover;
|
|
1764
|
+
$[34] = t7;
|
|
1765
|
+
} else t7 = $[34];
|
|
1766
|
+
let t8;
|
|
1767
|
+
if ($[35] !== rest || $[36] !== setRefs || $[37] !== t6 || $[38] !== t7) {
|
|
1768
|
+
t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1769
|
+
...rest,
|
|
1770
|
+
ref: setRefs,
|
|
1771
|
+
children: [t6, t7]
|
|
1772
|
+
});
|
|
1773
|
+
$[35] = rest;
|
|
1774
|
+
$[36] = setRefs;
|
|
1775
|
+
$[37] = t6;
|
|
1776
|
+
$[38] = t7;
|
|
1777
|
+
$[39] = t8;
|
|
1778
|
+
} else t8 = $[39];
|
|
1779
|
+
return t8;
|
|
1780
|
+
};
|
|
1781
|
+
//#endregion
|
|
1782
|
+
//#region src/utils/duration.ts
|
|
1783
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
1784
|
+
cache: /* @__PURE__ */ new Map(),
|
|
1785
|
+
get(name, inst) {
|
|
1786
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
1787
|
+
this.cache.set(name, inst);
|
|
1788
|
+
return inst;
|
|
1789
|
+
}
|
|
1790
|
+
};
|
|
1791
|
+
function toDuration(duration) {
|
|
1792
|
+
const isRemainTime = duration < 0;
|
|
1793
|
+
const d = Math.abs(duration | 0);
|
|
1794
|
+
const sec = d % 60;
|
|
1795
|
+
const min = Math.floor((d - sec) / 60);
|
|
1796
|
+
const secText = "0".repeat(2 - sec.toString().length) + sec;
|
|
1797
|
+
return `${isRemainTime ? "-" : ""}${min}:${secText}`;
|
|
1798
|
+
}
|
|
1799
|
+
//#endregion
|
|
1800
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/IconButton/airplay.svg
|
|
1801
|
+
const SvgAirplay = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1802
|
+
width: 64,
|
|
1803
|
+
height: 64,
|
|
1804
|
+
viewBox: "0 0 64 64",
|
|
1805
|
+
fill: "none",
|
|
1806
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1807
|
+
ref,
|
|
1808
|
+
...props,
|
|
1809
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1810
|
+
d: "M11.8633 31.8984C11.8633 29.138 12.3841 26.5469 13.4258 24.125C14.4674 21.6901 15.9128 19.5482 17.7617 17.6992C19.6107 15.8372 21.7526 14.3854 24.1875 13.3438C26.6224 12.2891 29.2266 11.7617 32 11.7617C34.7734 11.7617 37.3776 12.2891 39.8125 13.3438C42.2474 14.3854 44.3893 15.8372 46.2383 17.6992C48.0872 19.5482 49.5326 21.6901 50.5742 24.125C51.6159 26.5469 52.1367 29.138 52.1367 31.8984C52.1367 34.6719 51.6029 37.2826 50.5352 39.7305C49.4674 42.1784 48.0156 44.3073 46.1797 46.1172C46.0365 46.2604 45.8802 46.332 45.7109 46.332C45.5547 46.332 45.4049 46.2539 45.2617 46.0977L44.3438 45.0625C44.0964 44.763 44.1094 44.4635 44.3828 44.1641C45.9453 42.6016 47.1823 40.7656 48.0938 38.6562C49.0182 36.5339 49.4805 34.2812 49.4805 31.8984C49.4805 29.5026 49.0247 27.2565 48.1133 25.1602C47.2018 23.0508 45.9388 21.1953 44.3242 19.5938C42.7227 17.9792 40.8672 16.7161 38.7578 15.8047C36.6484 14.8932 34.3958 14.4375 32 14.4375C29.6042 14.4375 27.3516 14.8932 25.2422 15.8047C23.1328 16.7161 21.2708 17.9792 19.6562 19.5938C18.0547 21.1953 16.7982 23.0508 15.8867 25.1602C14.9753 27.2565 14.5195 29.5026 14.5195 31.8984C14.5195 34.2812 14.9753 36.5273 15.8867 38.6367C16.7982 40.7461 18.0417 42.5885 19.6172 44.1641C19.8776 44.4635 19.8841 44.7565 19.6367 45.043L18.7188 46.0781C18.5885 46.2344 18.4323 46.3125 18.25 46.3125C18.0807 46.3125 17.9245 46.2409 17.7812 46.0977C15.9583 44.2878 14.513 42.1654 13.4453 39.7305C12.3906 37.2826 11.8633 34.6719 11.8633 31.8984ZM17.5469 31.8984C17.5469 29.9193 17.918 28.0573 18.6602 26.3125C19.4154 24.5677 20.457 23.0312 21.7852 21.7031C23.1133 20.375 24.6497 19.3333 26.3945 18.5781C28.1393 17.8229 30.0078 17.4453 32 17.4453C33.9792 17.4453 35.8411 17.8229 37.5859 18.5781C39.3438 19.3333 40.8867 20.375 42.2148 21.7031C43.543 23.0312 44.5781 24.5677 45.3203 26.3125C46.0755 28.0573 46.4531 29.9193 46.4531 31.8984C46.4531 33.8255 46.0885 35.6419 45.3594 37.3477C44.6432 39.0404 43.6667 40.5312 42.4297 41.8203C42.2865 41.9766 42.1237 42.0547 41.9414 42.0547C41.7721 42.0547 41.6224 41.9766 41.4922 41.8203L40.5547 40.7852C40.3073 40.5117 40.3073 40.2122 40.5547 39.8867C41.5573 38.8581 42.3451 37.6602 42.918 36.293C43.4909 34.9128 43.7773 33.4479 43.7773 31.8984C43.7773 30.2839 43.4714 28.7669 42.8594 27.3477C42.2474 25.9284 41.3945 24.6784 40.3008 23.5977C39.2201 22.5169 37.9701 21.6706 36.5508 21.0586C35.1315 20.4336 33.6146 20.1211 32 20.1211C30.3724 20.1211 28.849 20.4336 27.4297 21.0586C26.0104 21.6706 24.7604 22.5169 23.6797 23.5977C22.599 24.6784 21.7526 25.9284 21.1406 27.3477C20.5286 28.7669 20.2227 30.2839 20.2227 31.8984C20.2227 33.4349 20.5026 34.8932 21.0625 36.2734C21.6354 37.6536 22.4232 38.8581 23.4258 39.8867C23.6732 40.2122 23.6732 40.5117 23.4258 40.7852L22.5078 41.8008C22.3776 41.957 22.2214 42.0417 22.0391 42.0547C21.8568 42.0547 21.694 41.9701 21.5508 41.8008C20.3138 40.5117 19.3372 39.0208 18.6211 37.3281C17.9049 35.6224 17.5469 33.8125 17.5469 31.8984ZM23.2305 31.8984C23.2305 30.2969 23.6276 28.832 24.4219 27.5039C25.2161 26.1758 26.2708 25.1146 27.5859 24.3203C28.9141 23.526 30.3854 23.1289 32 23.1289C33.6146 23.1289 35.0794 23.526 36.3945 24.3203C37.7227 25.1146 38.7839 26.1758 39.5781 27.5039C40.3724 28.832 40.7695 30.2969 40.7695 31.8984C40.7695 32.9661 40.5807 33.9753 40.2031 34.9258C39.8255 35.8633 39.3047 36.7031 38.6406 37.4453C38.5104 37.6276 38.3542 37.7188 38.1719 37.7188C38.0026 37.7188 37.8398 37.6406 37.6836 37.4844L36.7266 36.4688C36.4792 36.2214 36.4596 35.9414 36.668 35.6289C37.1237 35.1341 37.4753 34.5677 37.7227 33.9297C37.9701 33.2917 38.0938 32.6146 38.0938 31.8984C38.0938 30.7917 37.8138 29.776 37.2539 28.8516C36.707 27.9271 35.9714 27.1914 35.0469 26.6445C34.1224 26.0846 33.1068 25.8047 32 25.8047C30.8932 25.8047 29.8776 26.0846 28.9531 26.6445C28.0286 27.1914 27.2865 27.9271 26.7266 28.8516C26.1797 29.776 25.9062 30.7917 25.9062 31.8984C25.9062 32.6016 26.0299 33.2721 26.2773 33.9102C26.5247 34.5482 26.8698 35.1146 27.3125 35.6094C27.5078 35.9219 27.4883 36.2018 27.2539 36.4492L26.2969 37.4648C26.1406 37.6211 25.9714 37.6992 25.7891 37.6992C25.6198 37.6992 25.4701 37.6146 25.3398 37.4453C24.6758 36.7031 24.1549 35.8568 23.7773 34.9062C23.4128 33.9557 23.2305 32.9531 23.2305 31.8984ZM19.8906 51.3711C19.4089 51.3711 19.0898 51.1758 18.9336 50.7852C18.7773 50.3945 18.8555 50.0299 19.168 49.6914L31.1016 36.1758C31.3359 35.9023 31.6289 35.7656 31.9805 35.7656C32.332 35.7656 32.625 35.9023 32.8594 36.1758L44.8125 49.6914C45.112 50.0299 45.1836 50.3945 45.0273 50.7852C44.8711 51.1758 44.5586 51.3711 44.0898 51.3711H19.8906Z",
|
|
1811
|
+
fill: "currentColor"
|
|
1812
|
+
})
|
|
1813
|
+
});
|
|
1814
|
+
const ForwardRef$21 = (0, react.forwardRef)(SvgAirplay);
|
|
1815
|
+
//#endregion
|
|
1816
|
+
//#region src/components/ToggleIconButton/index.module.css
|
|
1817
|
+
var index_module_default$2 = { "toggleIconButton": "_6-mjea_toggleIconButton" };
|
|
1818
|
+
//#endregion
|
|
1819
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/ToggleIconButton/lyrics_off.svg
|
|
1820
|
+
const SvgLyricsOff = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1821
|
+
width: 64,
|
|
1822
|
+
height: 64,
|
|
1823
|
+
viewBox: "0 0 64 64",
|
|
1824
|
+
fill: "none",
|
|
1825
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1826
|
+
ref,
|
|
1827
|
+
...props,
|
|
1828
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1829
|
+
d: "M22.8594 53.9102C22 53.9102 21.3229 53.6302 20.8281 53.0703C20.3464 52.5104 20.1055 51.7617 20.1055 50.8242V46.1953H18.9727C17.1237 46.1953 15.5156 45.8242 14.1484 45.082C12.7812 44.3398 11.7201 43.2721 10.9648 41.8789C10.2227 40.4857 9.85156 38.8125 9.85156 36.8594V21.5664C9.85156 19.6133 10.2161 17.9401 10.9453 16.5469C11.6875 15.1536 12.7552 14.0859 14.1484 13.3438C15.5417 12.5885 17.2214 12.2109 19.1875 12.2109H44.793C46.7721 12.2109 48.4518 12.5885 49.832 13.3438C51.2253 14.0859 52.2865 15.1536 53.0156 16.5469C53.7578 17.9401 54.1289 19.6133 54.1289 21.5664V36.8594C54.1289 38.8125 53.7578 40.4857 53.0156 41.8789C52.2865 43.2721 51.2253 44.3398 49.832 45.082C48.4518 45.8242 46.7721 46.1953 44.793 46.1953H33.0742L26.4336 52.0547C25.7044 52.6927 25.0729 53.1615 24.5391 53.4609C24.0182 53.7604 23.4583 53.9102 22.8594 53.9102ZM23.9141 49.0469L30.0859 42.9727C30.5156 42.5299 30.9193 42.237 31.2969 42.0938C31.6745 41.9375 32.1758 41.8594 32.8008 41.8594H44.5977C46.3424 41.8594 47.6445 41.4232 48.5039 40.5508C49.3633 39.6784 49.793 38.3828 49.793 36.6641V21.7422C49.793 20.0365 49.3633 18.7474 48.5039 17.875C47.6445 17.0026 46.3424 16.5664 44.5977 16.5664H19.3828C17.625 16.5664 16.3164 17.0026 15.457 17.875C14.6107 18.7474 14.1875 20.0365 14.1875 21.7422V36.6641C14.1875 38.3828 14.6107 39.6784 15.457 40.5508C16.3164 41.4232 17.625 41.8594 19.3828 41.8594H22.2344C22.8073 41.8594 23.2305 41.9896 23.5039 42.25C23.7773 42.4974 23.9141 42.9271 23.9141 43.5391V49.0469ZM22.4492 27.1914C22.4492 25.9935 22.8529 25.0104 23.6602 24.2422C24.4674 23.474 25.4701 23.0898 26.668 23.0898C28.0221 23.0898 29.1029 23.5716 29.9102 24.5352C30.7305 25.4857 31.1406 26.6576 31.1406 28.0508C31.1406 29.2096 30.9323 30.2383 30.5156 31.1367C30.112 32.0221 29.5911 32.7708 28.9531 33.3828C28.3281 33.9948 27.6771 34.457 27 34.7695C26.3229 35.082 25.7174 35.2383 25.1836 35.2383C24.8841 35.2383 24.6367 35.1536 24.4414 34.9844C24.2461 34.8151 24.1484 34.5938 24.1484 34.3203C24.1484 34.0859 24.2135 33.8906 24.3438 33.7344C24.487 33.5651 24.7214 33.4414 25.0469 33.3633C25.5677 33.2331 26.0625 33.0312 26.5312 32.7578C27.013 32.4714 27.4362 32.1328 27.8008 31.7422C28.1654 31.3385 28.4453 30.8828 28.6406 30.375H28.3867C28.1263 30.7005 27.7943 30.9284 27.3906 31.0586C26.987 31.1758 26.5573 31.2344 26.1016 31.2344C25.0078 31.2344 24.1224 30.8503 23.4453 30.082C22.7812 29.3008 22.4492 28.3372 22.4492 27.1914ZM33.0742 27.1914C33.0742 25.9935 33.4714 25.0104 34.2656 24.2422C35.0729 23.474 36.082 23.0898 37.293 23.0898C38.6471 23.0898 39.7279 23.5716 40.5352 24.5352C41.3555 25.4857 41.7656 26.6576 41.7656 28.0508C41.7656 29.2096 41.5573 30.2383 41.1406 31.1367C40.737 32.0221 40.2161 32.7708 39.5781 33.3828C38.9531 33.9948 38.2956 34.457 37.6055 34.7695C36.9284 35.082 36.3294 35.2383 35.8086 35.2383C35.5091 35.2383 35.2617 35.1536 35.0664 34.9844C34.8711 34.8151 34.7734 34.5938 34.7734 34.3203C34.7734 34.0859 34.8385 33.8906 34.9688 33.7344C35.112 33.5651 35.3529 33.4414 35.6914 33.3633C36.1992 33.2331 36.6875 33.0312 37.1562 32.7578C37.638 32.4714 38.0612 32.1328 38.4258 31.7422C38.7904 31.3385 39.0703 30.8828 39.2656 30.375H39.0117C38.7513 30.7005 38.4193 30.9284 38.0156 31.0586C37.612 31.1758 37.1823 31.2344 36.7266 31.2344C35.6328 31.2344 34.7474 30.8503 34.0703 30.082C33.4062 29.3008 33.0742 28.3372 33.0742 27.1914Z",
|
|
1830
|
+
fill: "currentColor"
|
|
1831
|
+
})
|
|
1832
|
+
});
|
|
1833
|
+
const ForwardRef$20 = (0, react.forwardRef)(SvgLyricsOff);
|
|
1834
|
+
//#endregion
|
|
1835
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/ToggleIconButton/lyrics_on.svg
|
|
1836
|
+
const SvgLyricsOn = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
1837
|
+
width: 64,
|
|
1838
|
+
height: 64,
|
|
1839
|
+
viewBox: "0 0 64 64",
|
|
1840
|
+
fill: "none",
|
|
1841
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1842
|
+
ref,
|
|
1843
|
+
...props,
|
|
1844
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1845
|
+
fillRule: "evenodd",
|
|
1846
|
+
clipRule: "evenodd",
|
|
1847
|
+
d: "M1.91256 7.67068C0 11.0858 0 15.6405 0 24.75V39.25C0 48.3595 0 52.9142 1.91256 56.3293C3.26425 58.7429 5.25707 60.7357 7.67068 62.0874C11.0858 64 15.6405 64 24.75 64H39.25C48.3595 64 52.9142 64 56.3293 62.0874C58.7429 60.7357 60.7357 58.7429 62.0874 56.3293C64 52.9142 64 48.3595 64 39.25V24.75C64 15.6405 64 11.0858 62.0874 7.67068C60.7357 5.25707 58.7429 3.26425 56.3293 1.91256C52.9142 0 48.3595 0 39.25 0H24.75C15.6405 0 11.0858 0 7.67068 1.91256C5.25707 3.26425 3.26425 5.25707 1.91256 7.67068ZM20.8281 53.0703C21.3229 53.6302 22 53.9102 22.8594 53.9102C23.4583 53.9102 24.0182 53.7604 24.5391 53.4609C25.0729 53.1615 25.7044 52.6927 26.4336 52.0547L33.0742 46.1953H44.793C46.7721 46.1953 48.4518 45.8242 49.832 45.082C51.2253 44.3398 52.2865 43.2721 53.0156 41.8789C53.7578 40.4857 54.1289 38.8125 54.1289 36.8594V21.5664C54.1289 19.6133 53.7578 17.9401 53.0156 16.5469C52.2865 15.1536 51.2253 14.0859 49.832 13.3438C48.4518 12.5885 46.7721 12.2109 44.793 12.2109H19.1875C17.2214 12.2109 15.5417 12.5885 14.1484 13.3438C12.7552 14.0859 11.6875 15.1536 10.9453 16.5469C10.2161 17.9401 9.85156 19.6133 9.85156 21.5664V36.8594C9.85156 38.8125 10.2227 40.4857 10.9648 41.8789C11.7201 43.2721 12.7812 44.3398 14.1484 45.082C15.5156 45.8242 17.1237 46.1953 18.9727 46.1953H20.1055V50.8242C20.1055 51.7617 20.3464 52.5104 20.8281 53.0703Z",
|
|
1848
|
+
fill: "currentColor"
|
|
1849
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1850
|
+
d: "M22.4492 27.1914C22.4492 25.9935 22.8529 25.0104 23.6602 24.2422C24.4674 23.474 25.4701 23.0898 26.668 23.0898C28.0221 23.0898 29.1029 23.5716 29.9102 24.5352C30.7305 25.4857 31.1406 26.6576 31.1406 28.0508C31.1406 29.2096 30.9323 30.2383 30.5156 31.1367C30.112 32.0221 29.5911 32.7708 28.9531 33.3828C28.3281 33.9948 27.6771 34.457 27 34.7695C26.3229 35.082 25.7174 35.2383 25.1836 35.2383C24.8841 35.2383 24.6367 35.1536 24.4414 34.9844C24.2461 34.8151 24.1484 34.5938 24.1484 34.3203C24.1484 34.0859 24.2135 33.8906 24.3438 33.7344C24.487 33.5651 24.7214 33.4414 25.0469 33.3633C25.5677 33.2331 26.0625 33.0312 26.5312 32.7578C27.013 32.4714 27.4362 32.1328 27.8008 31.7422C28.1654 31.3385 28.4453 30.8828 28.6406 30.375H28.3867C28.1263 30.7005 27.7943 30.9284 27.3906 31.0586C26.987 31.1758 26.5573 31.2344 26.1016 31.2344C25.0078 31.2344 24.1224 30.8503 23.4453 30.082C22.7812 29.3008 22.4492 28.3372 22.4492 27.1914ZM33.0742 27.1914C33.0742 25.9935 33.4714 25.0104 34.2656 24.2422C35.0729 23.474 36.082 23.0898 37.293 23.0898C38.6471 23.0898 39.7279 23.5716 40.5352 24.5352C41.3555 25.4857 41.7656 26.6576 41.7656 28.0508C41.7656 29.2096 41.5573 30.2383 41.1406 31.1367C40.737 32.0221 40.2161 32.7708 39.5781 33.3828C38.9531 33.9948 38.2956 34.457 37.6055 34.7695C36.9284 35.082 36.3294 35.2383 35.8086 35.2383C35.5091 35.2383 35.2617 35.1536 35.0664 34.9844C34.8711 34.8151 34.7734 34.5938 34.7734 34.3203C34.7734 34.0859 34.8385 33.8906 34.9688 33.7344C35.112 33.5651 35.3529 33.4414 35.6914 33.3633C36.1992 33.2331 36.6875 33.0312 37.1562 32.7578C37.638 32.4714 38.0612 32.1328 38.4258 31.7422C38.7904 31.3385 39.0703 30.8828 39.2656 30.375H39.0117C38.7513 30.7005 38.4193 30.9284 38.0156 31.0586C37.612 31.1758 37.1823 31.2344 36.7266 31.2344C35.6328 31.2344 34.7474 30.8503 34.0703 30.082C33.4062 29.3008 33.0742 28.3372 33.0742 27.1914Z",
|
|
1851
|
+
fill: "currentColor"
|
|
1852
|
+
})]
|
|
1853
|
+
});
|
|
1854
|
+
const ForwardRef$19 = (0, react.forwardRef)(SvgLyricsOn);
|
|
1855
|
+
//#endregion
|
|
1856
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/ToggleIconButton/playlist_off.svg
|
|
1857
|
+
const SvgPlaylistOff = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1858
|
+
width: 64,
|
|
1859
|
+
height: 64,
|
|
1860
|
+
viewBox: "0 0 64 64",
|
|
1861
|
+
fill: "none",
|
|
1862
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1863
|
+
ref,
|
|
1864
|
+
...props,
|
|
1865
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1866
|
+
d: "M23.9922 21.8594C23.4062 21.8594 22.9115 21.6641 22.5078 21.2734C22.1172 20.8698 21.9219 20.375 21.9219 19.7891C21.9219 19.2161 22.1172 18.7279 22.5078 18.3242C22.9115 17.9206 23.4062 17.7188 23.9922 17.7188H50.418C50.9909 17.7188 51.4792 17.9206 51.8828 18.3242C52.2865 18.7279 52.4883 19.2161 52.4883 19.7891C52.4883 20.375 52.2865 20.8698 51.8828 21.2734C51.4792 21.6641 50.9909 21.8594 50.418 21.8594H23.9922ZM23.9922 33.9883C23.4062 33.9883 22.9115 33.7865 22.5078 33.3828C22.1172 32.9792 21.9219 32.4909 21.9219 31.918C21.9219 31.3451 22.1172 30.8633 22.5078 30.4727C22.9115 30.069 23.4062 29.8672 23.9922 29.8672H50.418C50.9909 29.8672 51.4792 30.069 51.8828 30.4727C52.2865 30.8633 52.4883 31.3451 52.4883 31.918C52.4883 32.5039 52.2865 32.9987 51.8828 33.4023C51.4792 33.793 50.9909 33.9883 50.418 33.9883H23.9922ZM23.9922 46.1172C23.4062 46.1172 22.9115 45.9219 22.5078 45.5312C22.1172 45.1276 21.9219 44.6328 21.9219 44.0469C21.9219 43.474 22.1172 42.9857 22.5078 42.582C22.9115 42.1784 23.4062 41.9766 23.9922 41.9766H50.418C50.9909 41.9766 51.4792 42.1784 51.8828 42.582C52.2865 42.9857 52.4883 43.474 52.4883 44.0469C52.4883 44.6328 52.2865 45.1276 51.8828 45.5312C51.4792 45.9219 50.9909 46.1172 50.418 46.1172H23.9922ZM14.4805 22.7383C13.6602 22.7383 12.957 22.4518 12.3711 21.8789C11.7982 21.306 11.5117 20.6094 11.5117 19.7891C11.5117 18.9688 11.7982 18.2721 12.3711 17.6992C12.957 17.1263 13.6602 16.8398 14.4805 16.8398C15.2878 16.8398 15.9844 17.1263 16.5703 17.6992C17.1562 18.2721 17.4492 18.9688 17.4492 19.7891C17.4492 20.6094 17.1562 21.306 16.5703 21.8789C15.9844 22.4518 15.2878 22.7383 14.4805 22.7383ZM14.4805 34.8867C13.6602 34.8867 12.957 34.5938 12.3711 34.0078C11.7982 33.4219 11.5117 32.7253 11.5117 31.918C11.5117 31.1107 11.7982 30.4141 12.3711 29.8281C12.957 29.2422 13.6602 28.9492 14.4805 28.9492C15.2878 28.9492 15.9844 29.2422 16.5703 29.8281C17.1562 30.4141 17.4492 31.1107 17.4492 31.918C17.4492 32.7253 17.1562 33.4219 16.5703 34.0078C15.9844 34.5938 15.2878 34.8867 14.4805 34.8867ZM14.4805 47.0156C13.6602 47.0156 12.957 46.7227 12.3711 46.1367C11.7982 45.5638 11.5117 44.8672 11.5117 44.0469C11.5117 43.2266 11.7982 42.5299 12.3711 41.957C12.957 41.3841 13.6602 41.0977 14.4805 41.0977C15.2878 41.0977 15.9844 41.3841 16.5703 41.957C17.1562 42.5299 17.4492 43.2266 17.4492 44.0469C17.4492 44.8672 17.1562 45.5638 16.5703 46.1367C15.9844 46.7227 15.2878 47.0156 14.4805 47.0156Z",
|
|
1867
|
+
fill: "currentColor"
|
|
1868
|
+
})
|
|
1869
|
+
});
|
|
1870
|
+
const ForwardRef$18 = (0, react.forwardRef)(SvgPlaylistOff);
|
|
1871
|
+
//#endregion
|
|
1872
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/ToggleIconButton/playlist_on.svg
|
|
1873
|
+
const SvgPlaylistOn = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1874
|
+
width: 64,
|
|
1875
|
+
height: 64,
|
|
1876
|
+
viewBox: "0 0 64 64",
|
|
1877
|
+
fill: "none",
|
|
1878
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1879
|
+
ref,
|
|
1880
|
+
...props,
|
|
1881
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1882
|
+
fillRule: "evenodd",
|
|
1883
|
+
clipRule: "evenodd",
|
|
1884
|
+
d: "M1.91256 7.67068C0 11.0858 0 15.6405 0 24.75V39.25C0 48.3595 0 52.9142 1.91256 56.3293C3.26425 58.7429 5.25707 60.7357 7.67068 62.0874C11.0858 64 15.6405 64 24.75 64H39.25C48.3595 64 52.9142 64 56.3293 62.0874C58.7429 60.7357 60.7357 58.7429 62.0874 56.3293C64 52.9142 64 48.3595 64 39.25V24.75C64 15.6405 64 11.0858 62.0874 7.67068C60.7357 5.25706 58.7429 3.26425 56.3293 1.91256C52.9142 0 48.3595 0 39.25 0H24.75C15.6405 0 11.0858 0 7.67068 1.91256C5.25707 3.26425 3.26425 5.25706 1.91256 7.67068ZM22.5078 21.2734C22.9115 21.6641 23.4062 21.8594 23.9922 21.8594H50.418C50.9909 21.8594 51.4792 21.6641 51.8828 21.2734C52.2865 20.8698 52.4883 20.375 52.4883 19.7891C52.4883 19.2161 52.2865 18.7279 51.8828 18.3242C51.4792 17.9206 50.9909 17.7188 50.418 17.7188H23.9922C23.4062 17.7188 22.9115 17.9206 22.5078 18.3242C22.1172 18.7279 21.9219 19.2161 21.9219 19.7891C21.9219 20.375 22.1172 20.8698 22.5078 21.2734ZM22.5078 33.3828C22.9115 33.7865 23.4062 33.9883 23.9922 33.9883H50.418C50.9909 33.9883 51.4792 33.793 51.8828 33.4023C52.2865 32.9987 52.4883 32.5039 52.4883 31.918C52.4883 31.3451 52.2865 30.8633 51.8828 30.4727C51.4792 30.069 50.9909 29.8672 50.418 29.8672H23.9922C23.4062 29.8672 22.9115 30.069 22.5078 30.4727C22.1172 30.8633 21.9219 31.3451 21.9219 31.918C21.9219 32.4909 22.1172 32.9792 22.5078 33.3828ZM22.5078 45.5312C22.9115 45.9219 23.4062 46.1172 23.9922 46.1172H50.418C50.9909 46.1172 51.4792 45.9219 51.8828 45.5312C52.2865 45.1276 52.4883 44.6328 52.4883 44.0469C52.4883 43.474 52.2865 42.9857 51.8828 42.582C51.4792 42.1784 50.9909 41.9766 50.418 41.9766H23.9922C23.4062 41.9766 22.9115 42.1784 22.5078 42.582C22.1172 42.9857 21.9219 43.474 21.9219 44.0469C21.9219 44.6328 22.1172 45.1276 22.5078 45.5312ZM12.3711 21.8789C12.957 22.4518 13.6602 22.7383 14.4805 22.7383C15.2878 22.7383 15.9844 22.4518 16.5703 21.8789C17.1562 21.306 17.4492 20.6094 17.4492 19.7891C17.4492 18.9688 17.1562 18.2721 16.5703 17.6992C15.9844 17.1263 15.2878 16.8398 14.4805 16.8398C13.6602 16.8398 12.957 17.1263 12.3711 17.6992C11.7982 18.2721 11.5117 18.9688 11.5117 19.7891C11.5117 20.6094 11.7982 21.306 12.3711 21.8789ZM12.3711 34.0078C12.957 34.5938 13.6602 34.8867 14.4805 34.8867C15.2878 34.8867 15.9844 34.5938 16.5703 34.0078C17.1562 33.4219 17.4492 32.7253 17.4492 31.918C17.4492 31.1107 17.1562 30.4141 16.5703 29.8281C15.9844 29.2422 15.2878 28.9492 14.4805 28.9492C13.6602 28.9492 12.957 29.2422 12.3711 29.8281C11.7982 30.4141 11.5117 31.1107 11.5117 31.918C11.5117 32.7253 11.7982 33.4219 12.3711 34.0078ZM12.3711 46.1367C12.957 46.7227 13.6602 47.0156 14.4805 47.0156C15.2878 47.0156 15.9844 46.7227 16.5703 46.1367C17.1562 45.5638 17.4492 44.8672 17.4492 44.0469C17.4492 43.2266 17.1562 42.5299 16.5703 41.957C15.9844 41.3841 15.2878 41.0977 14.4805 41.0977C13.6602 41.0977 12.957 41.3841 12.3711 41.957C11.7982 42.5299 11.5117 43.2266 11.5117 44.0469C11.5117 44.8672 11.7982 45.5638 12.3711 46.1367Z",
|
|
1885
|
+
fill: "currentColor"
|
|
1886
|
+
})
|
|
1887
|
+
});
|
|
1888
|
+
const ForwardRef$17 = (0, react.forwardRef)(SvgPlaylistOn);
|
|
1889
|
+
//#endregion
|
|
1890
|
+
//#region src/components/ToggleIconButton/prebuilt-enum.ts
|
|
1891
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
1892
|
+
cache: /* @__PURE__ */ new Map(),
|
|
1893
|
+
get(name, inst) {
|
|
1894
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
1895
|
+
this.cache.set(name, inst);
|
|
1896
|
+
return inst;
|
|
1897
|
+
}
|
|
1898
|
+
};
|
|
1899
|
+
let PrebuiltToggleIconButtonType = /* @__PURE__ */ function(PrebuiltToggleIconButtonType) {
|
|
1900
|
+
PrebuiltToggleIconButtonType["Lyrics"] = "lyrics";
|
|
1901
|
+
PrebuiltToggleIconButtonType["Playlist"] = "playlist";
|
|
1902
|
+
PrebuiltToggleIconButtonType["Repeat"] = "repeat";
|
|
1903
|
+
PrebuiltToggleIconButtonType["Shuffle"] = "shuffle";
|
|
1904
|
+
PrebuiltToggleIconButtonType["Star"] = "star";
|
|
1905
|
+
PrebuiltToggleIconButtonType["AirPlay"] = "airplay";
|
|
1906
|
+
return PrebuiltToggleIconButtonType;
|
|
1907
|
+
}({});
|
|
1908
|
+
//#endregion
|
|
1909
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/ToggleIconButton/repeat_off.svg
|
|
1910
|
+
const SvgRepeatOff = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1911
|
+
width: 56,
|
|
1912
|
+
height: 56,
|
|
1913
|
+
viewBox: "0 0 56 56",
|
|
1914
|
+
fill: "none",
|
|
1915
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1916
|
+
ref,
|
|
1917
|
+
...props,
|
|
1918
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1919
|
+
d: "M13.0293 28.9805C12.4727 28.9805 12.0039 28.79 11.623 28.4092C11.2422 28.0186 11.0518 27.5498 11.0518 27.0029V25.3623C11.0518 23.7998 11.4033 22.457 12.1064 21.334C12.8096 20.2109 13.8057 19.3516 15.0947 18.7559C16.3838 18.1504 17.9219 17.8477 19.709 17.8477H30.6367V14.7422C30.6367 14.2832 30.7637 13.9268 31.0176 13.6729C31.2715 13.4092 31.623 13.2773 32.0723 13.2773C32.2871 13.2773 32.4775 13.3115 32.6436 13.3799C32.8193 13.4482 32.9805 13.541 33.127 13.6582L39.2354 18.8145C39.5869 19.0977 39.7578 19.4443 39.748 19.8545C39.748 20.2549 39.5771 20.5967 39.2354 20.8799L33.127 26.0361C32.9805 26.1533 32.8193 26.2461 32.6436 26.3145C32.4775 26.3828 32.2871 26.417 32.0723 26.417C31.623 26.417 31.2715 26.29 31.0176 26.0361C30.7637 25.7725 30.6367 25.416 30.6367 24.9668V21.6855H19.4893C18.1025 21.6855 17.0039 22.0615 16.1934 22.8135C15.3926 23.5557 14.9922 24.5713 14.9922 25.8604V27.0029C14.9922 27.5498 14.8018 28.0186 14.4209 28.4092C14.04 28.79 13.5762 28.9805 13.0293 28.9805ZM42.9707 26.959C43.5176 26.959 43.9814 27.1494 44.3623 27.5303C44.7529 27.9111 44.9482 28.3799 44.9482 28.9365V30.5771C44.9482 32.1299 44.5967 33.4727 43.8936 34.6055C43.1904 35.7285 42.1895 36.5928 40.8906 37.1982C39.6016 37.7939 38.0684 38.0918 36.291 38.0918H25.3633V41.1973C25.3633 41.6465 25.2363 41.998 24.9824 42.252C24.7285 42.5156 24.377 42.6475 23.9277 42.6475C23.7129 42.6475 23.5176 42.6133 23.3418 42.5449C23.166 42.4766 23.0098 42.3838 22.873 42.2666L16.75 37.1104C16.418 36.8271 16.252 36.4854 16.252 36.085C16.252 35.6846 16.418 35.3379 16.75 35.0449L22.873 29.8887C23.0098 29.7715 23.166 29.6787 23.3418 29.6104C23.5176 29.542 23.7129 29.5078 23.9277 29.5078C24.377 29.5078 24.7285 29.6396 24.9824 29.9033C25.2363 30.1572 25.3633 30.5137 25.3633 30.9727V34.2393H36.5107C37.8975 34.2393 38.9912 33.8682 39.792 33.126C40.6025 32.3838 41.0078 31.3682 41.0078 30.0791V28.9365C41.0078 28.3799 41.1934 27.9111 41.5645 27.5303C41.9453 27.1494 42.4141 26.959 42.9707 26.959Z",
|
|
1920
|
+
fill: "currentColor"
|
|
1921
|
+
})
|
|
1922
|
+
});
|
|
1923
|
+
const ForwardRef$16 = (0, react.forwardRef)(SvgRepeatOff);
|
|
1924
|
+
//#endregion
|
|
1925
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/ToggleIconButton/repeat_on_normal.svg
|
|
1926
|
+
const SvgRepeatOnNormal = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1927
|
+
width: 56,
|
|
1928
|
+
height: 56,
|
|
1929
|
+
viewBox: "0 0 56 56",
|
|
1930
|
+
fill: "none",
|
|
1931
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1932
|
+
ref,
|
|
1933
|
+
...props,
|
|
1934
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1935
|
+
fillRule: "evenodd",
|
|
1936
|
+
clipRule: "evenodd",
|
|
1937
|
+
d: "M1.65755 6.64792C0 9.6077 0 13.5551 0 21.45V34.55C0 42.4449 0 46.3923 1.65755 49.3521C2.82902 51.4439 4.55612 53.171 6.64792 54.3424C9.6077 56 13.5551 56 21.45 56H34.55C42.4449 56 46.3923 56 49.3521 54.3424C51.4439 53.171 53.171 51.4439 54.3424 49.3521C56 46.3923 56 42.4449 56 34.55V21.45C56 13.5551 56 9.6077 54.3424 6.64792C53.171 4.55612 51.4439 2.82902 49.3521 1.65755C46.3923 0 42.4449 0 34.55 0H21.45C13.5551 0 9.6077 0 6.64792 1.65755C4.55612 2.82902 2.82902 4.55612 1.65755 6.64792ZM11.623 28.4092C12.0039 28.79 12.4727 28.9805 13.0293 28.9805C13.5762 28.9805 14.04 28.79 14.4209 28.4092C14.8018 28.0186 14.9922 27.5498 14.9922 27.0029V25.8604C14.9922 24.5713 15.3926 23.5557 16.1934 22.8135C17.0039 22.0615 18.1025 21.6855 19.4893 21.6855H30.6367V24.9668C30.6367 25.416 30.7637 25.7725 31.0176 26.0361C31.2715 26.29 31.623 26.417 32.0723 26.417C32.2871 26.417 32.4775 26.3828 32.6436 26.3145C32.8193 26.2461 32.9805 26.1533 33.127 26.0361L39.2354 20.8799C39.5771 20.5967 39.748 20.2549 39.748 19.8545C39.7578 19.4443 39.5869 19.0977 39.2354 18.8145L33.127 13.6582C32.9805 13.541 32.8193 13.4482 32.6436 13.3799C32.4775 13.3115 32.2871 13.2773 32.0723 13.2773C31.623 13.2773 31.2715 13.4092 31.0176 13.6729C30.7637 13.9268 30.6367 14.2832 30.6367 14.7422V17.8477H19.709C17.9219 17.8477 16.3838 18.1504 15.0947 18.7559C13.8057 19.3516 12.8096 20.2109 12.1064 21.334C11.4033 22.457 11.0518 23.7998 11.0518 25.3623V27.0029C11.0518 27.5498 11.2422 28.0186 11.623 28.4092ZM44.3623 27.5303C43.9814 27.1494 43.5176 26.959 42.9707 26.959C42.4141 26.959 41.9453 27.1494 41.5645 27.5303C41.1934 27.9111 41.0078 28.3799 41.0078 28.9365V30.0791C41.0078 31.3682 40.6025 32.3838 39.792 33.126C38.9912 33.8682 37.8975 34.2393 36.5107 34.2393H25.3633V30.9727C25.3633 30.5137 25.2363 30.1572 24.9824 29.9033C24.7285 29.6396 24.377 29.5078 23.9277 29.5078C23.7129 29.5078 23.5176 29.542 23.3418 29.6104C23.166 29.6787 23.0098 29.7715 22.873 29.8887L16.75 35.0449C16.418 35.3379 16.252 35.6846 16.252 36.085C16.252 36.4854 16.418 36.8271 16.75 37.1104L22.873 42.2666C23.0098 42.3838 23.166 42.4766 23.3418 42.5449C23.5176 42.6133 23.7129 42.6475 23.9277 42.6475C24.377 42.6475 24.7285 42.5156 24.9824 42.252C25.2363 41.998 25.3633 41.6465 25.3633 41.1973V38.0918H36.291C38.0684 38.0918 39.6016 37.7939 40.8906 37.1982C42.1895 36.5928 43.1904 35.7285 43.8936 34.6055C44.5967 33.4727 44.9482 32.1299 44.9482 30.5771V28.9365C44.9482 28.3799 44.7529 27.9111 44.3623 27.5303Z",
|
|
1938
|
+
fill: "currentColor"
|
|
1939
|
+
})
|
|
1940
|
+
});
|
|
1941
|
+
const ForwardRef$15 = (0, react.forwardRef)(SvgRepeatOnNormal);
|
|
1942
|
+
//#endregion
|
|
1943
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/ToggleIconButton/shuffle_off.svg
|
|
1944
|
+
const SvgShuffleOff = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1945
|
+
width: 56,
|
|
1946
|
+
height: 56,
|
|
1947
|
+
viewBox: "0 0 56 56",
|
|
1948
|
+
fill: "none",
|
|
1949
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1950
|
+
ref,
|
|
1951
|
+
...props,
|
|
1952
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1953
|
+
d: "M9.55762 36.7148C9.55762 36.1777 9.74316 35.7285 10.1143 35.3672C10.4951 35.0059 10.9639 34.8252 11.5205 34.8252H14.7285C15.6562 34.8252 16.4375 34.6592 17.0723 34.3271C17.707 33.9951 18.3369 33.4434 18.9619 32.6719L27.7656 21.8613C28.8008 20.5918 29.8457 19.7275 30.9004 19.2686C31.9551 18.7998 33.2051 18.5654 34.6504 18.5654H37.3311V15.1963C37.3311 14.7471 37.458 14.3955 37.7119 14.1416C37.9658 13.8779 38.3174 13.7461 38.7666 13.7461C38.9814 13.7461 39.1719 13.7803 39.3379 13.8486C39.5137 13.917 39.6748 14.0098 39.8213 14.127L45.9297 19.2832C46.2715 19.5664 46.4424 19.9131 46.4424 20.3232C46.4424 20.7236 46.2715 21.0654 45.9297 21.3486L39.8213 26.5049C39.6748 26.6221 39.5137 26.7148 39.3379 26.7832C39.1719 26.8516 38.9814 26.8857 38.7666 26.8857C38.3174 26.8857 37.9658 26.7588 37.7119 26.5049C37.458 26.2412 37.3311 25.8848 37.3311 25.4355V22.3447H34.4746C33.8496 22.3447 33.3076 22.4131 32.8486 22.5498C32.3896 22.6768 31.96 22.8965 31.5596 23.209C31.1689 23.5215 30.7588 23.9414 30.3291 24.4688L21.1006 35.748C20.2607 36.7539 19.3916 37.4814 18.4932 37.9307C17.5947 38.3701 16.4766 38.5898 15.1387 38.5898H11.5205C10.9639 38.5898 10.4951 38.4092 10.1143 38.0479C9.74316 37.6865 9.55762 37.2422 9.55762 36.7148ZM9.55762 20.4551C9.55762 19.918 9.74316 19.4688 10.1143 19.1074C10.4951 18.7461 10.9639 18.5654 11.5205 18.5654H14.8896C16.2178 18.5654 17.375 18.79 18.3613 19.2393C19.3477 19.6787 20.2607 20.4062 21.1006 21.4219L30.2998 32.6719C30.9248 33.4336 31.5742 33.9854 32.248 34.3271C32.9219 34.6592 33.7373 34.8252 34.6943 34.8252H37.3311V31.7344C37.3311 31.2852 37.458 30.9287 37.7119 30.665C37.9658 30.4014 38.3174 30.2695 38.7666 30.2695C38.9814 30.2695 39.1719 30.3086 39.3379 30.3867C39.5137 30.4551 39.6748 30.5479 39.8213 30.665L45.9297 35.8066C46.2715 36.0996 46.4424 36.4463 46.4424 36.8467C46.4424 37.2471 46.2715 37.5938 45.9297 37.8867L39.8213 43.0283C39.6748 43.1455 39.5137 43.2383 39.3379 43.3066C39.1719 43.375 38.9814 43.4092 38.7666 43.4092C38.3174 43.4092 37.9658 43.2822 37.7119 43.0283C37.458 42.7744 37.3311 42.418 37.3311 41.959V38.5898H34.6211C33.2832 38.5898 32.0723 38.3652 30.9883 37.916C29.9141 37.457 28.9229 36.6758 28.0146 35.5723L18.9619 24.498C18.3369 23.7266 17.6631 23.1748 16.9404 22.8428C16.2275 22.5107 15.4023 22.3447 14.4648 22.3447H11.5205C10.9639 22.3447 10.4951 22.1641 10.1143 21.8027C9.74316 21.4316 9.55762 20.9824 9.55762 20.4551Z",
|
|
1954
|
+
fill: "currentColor"
|
|
1955
|
+
})
|
|
1956
|
+
});
|
|
1957
|
+
const ForwardRef$14 = (0, react.forwardRef)(SvgShuffleOff);
|
|
1958
|
+
//#endregion
|
|
1959
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/ToggleIconButton/shuffle_on.svg
|
|
1960
|
+
const SvgShuffleOn = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1961
|
+
width: 56,
|
|
1962
|
+
height: 56,
|
|
1963
|
+
viewBox: "0 0 56 56",
|
|
1964
|
+
fill: "none",
|
|
1965
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1966
|
+
ref,
|
|
1967
|
+
...props,
|
|
1968
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1969
|
+
fillRule: "evenodd",
|
|
1970
|
+
clipRule: "evenodd",
|
|
1971
|
+
d: "M1.65755 6.64792C0 9.6077 0 13.5551 0 21.45V34.55C0 42.4449 0 46.3923 1.65755 49.3521C2.82902 51.4439 4.55612 53.171 6.64792 54.3424C9.6077 56 13.5551 56 21.45 56H34.55C42.4449 56 46.3923 56 49.3521 54.3424C51.4439 53.171 53.171 51.4439 54.3424 49.3521C56 46.3923 56 42.4449 56 34.55V21.45C56 13.5551 56 9.6077 54.3424 6.64792C53.171 4.55612 51.4439 2.82902 49.3521 1.65755C46.3923 0 42.4449 0 34.55 0H21.45C13.5551 0 9.6077 0 6.64792 1.65755C4.55612 2.82902 2.82902 4.55612 1.65755 6.64792ZM10.1143 35.3672C9.74316 35.7285 9.55762 36.1777 9.55762 36.7148C9.55762 37.2422 9.74316 37.6865 10.1143 38.0479C10.4951 38.4092 10.9639 38.5898 11.5205 38.5898H15.1387C16.4766 38.5898 17.5947 38.3701 18.4932 37.9307C19.3916 37.4814 20.2607 36.7539 21.1006 35.748L24.631 31.4331L28.0146 35.5723C28.9229 36.6758 29.9141 37.457 30.9883 37.916C32.0723 38.3652 33.2832 38.5898 34.6211 38.5898H37.3311V41.959C37.3311 42.418 37.458 42.7744 37.7119 43.0283C37.9658 43.2822 38.3174 43.4092 38.7666 43.4092C38.9814 43.4092 39.1719 43.375 39.3379 43.3066C39.5137 43.2383 39.6748 43.1455 39.8213 43.0283L45.9297 37.8867C46.2715 37.5938 46.4424 37.2471 46.4424 36.8467C46.4424 36.4463 46.2715 36.0996 45.9297 35.8066L39.8213 30.665C39.6748 30.5479 39.5137 30.4551 39.3379 30.3867C39.1719 30.3086 38.9814 30.2695 38.7666 30.2695C38.3174 30.2695 37.9658 30.4014 37.7119 30.665C37.458 30.9287 37.3311 31.2852 37.3311 31.7344V34.8252H34.6943C33.7373 34.8252 32.9219 34.6592 32.248 34.3271C31.5742 33.9854 30.9248 33.4336 30.2998 32.6719L26.9596 28.587L30.3291 24.4688C30.7588 23.9414 31.1689 23.5215 31.5596 23.209C31.96 22.8965 32.3896 22.6768 32.8486 22.5498C33.3076 22.4131 33.8496 22.3447 34.4746 22.3447H37.3311V25.4355C37.3311 25.8848 37.458 26.2412 37.7119 26.5049C37.9658 26.7588 38.3174 26.8857 38.7666 26.8857C38.9814 26.8857 39.1719 26.8516 39.3379 26.7832C39.5137 26.7148 39.6748 26.6221 39.8213 26.5049L45.9297 21.3486C46.2715 21.0654 46.4424 20.7236 46.4424 20.3232C46.4424 19.9131 46.2715 19.5664 45.9297 19.2832L39.8213 14.127C39.6748 14.0098 39.5137 13.917 39.3379 13.8486C39.1719 13.7803 38.9814 13.7461 38.7666 13.7461C38.3174 13.7461 37.9658 13.8779 37.7119 14.1416C37.458 14.3955 37.3311 14.7471 37.3311 15.1963V18.5654H34.6504C33.2051 18.5654 31.9551 18.7998 30.9004 19.2686C29.8457 19.7275 28.8008 20.5918 27.7656 21.8613L24.6192 25.7249L21.1006 21.4219C20.2607 20.4062 19.3477 19.6787 18.3613 19.2393C17.375 18.79 16.2178 18.5654 14.8896 18.5654H11.5205C10.9639 18.5654 10.4951 18.7461 10.1143 19.1074C9.74316 19.4688 9.55762 19.918 9.55762 20.4551C9.55762 20.9824 9.74316 21.4316 10.1143 21.8027C10.4951 22.1641 10.9639 22.3447 11.5205 22.3447H14.4648C15.4023 22.3447 16.2275 22.5107 16.9404 22.8428C17.6631 23.1748 18.3369 23.7266 18.9619 24.498L22.2965 28.5772L18.9619 32.6719C18.3369 33.4434 17.707 33.9951 17.0723 34.3271C16.4375 34.6592 15.6562 34.8252 14.7285 34.8252H11.5205C10.9639 34.8252 10.4951 35.0059 10.1143 35.3672Z",
|
|
1972
|
+
fill: "currentColor"
|
|
1973
|
+
})
|
|
1974
|
+
});
|
|
1975
|
+
const ForwardRef$13 = (0, react.forwardRef)(SvgShuffleOn);
|
|
1976
|
+
//#endregion
|
|
1977
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/ToggleIconButton/star.svg
|
|
1978
|
+
const SvgStar = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1979
|
+
width: 36,
|
|
1980
|
+
height: 36,
|
|
1981
|
+
viewBox: "0 0 36 36",
|
|
1982
|
+
fill: "none",
|
|
1983
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1984
|
+
ref,
|
|
1985
|
+
...props,
|
|
1986
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1987
|
+
d: "M7.83396 32.7793C7.49216 32.5254 7.2822 32.1836 7.20407 31.7539C7.13571 31.334 7.19919 30.8359 7.3945 30.2598L10.4121 21.3096L2.72165 15.7871C2.2236 15.4355 1.87692 15.0693 1.68161 14.6885C1.4863 14.2979 1.457 13.8975 1.59372 13.4873C1.73044 13.0869 1.98923 12.7891 2.37009 12.5938C2.75095 12.3887 3.24899 12.291 3.86423 12.3008L13.2832 12.3594L16.1543 3.36523C16.3398 2.7793 16.584 2.33496 16.8867 2.03223C17.1992 1.71973 17.5654 1.56348 17.9853 1.56348C18.415 1.56348 18.7812 1.71973 19.084 2.03223C19.3965 2.33496 19.6455 2.7793 19.831 3.36523L22.7021 12.3594L32.1211 12.3008C32.7363 12.291 33.2343 12.3887 33.6152 12.5938C33.9961 12.7891 34.2549 13.0869 34.3916 13.4873C34.5283 13.8975 34.499 14.2979 34.3037 14.6885C34.1084 15.0693 33.7617 15.4355 33.2636 15.7871L25.5732 21.3096L28.5908 30.2598C28.7861 30.8359 28.8447 31.334 28.7666 31.7539C28.6982 32.1836 28.4931 32.5254 28.1513 32.7793C27.8095 33.0527 27.4238 33.1504 26.9941 33.0723C26.5644 32.9941 26.1054 32.7793 25.6172 32.4277L17.9853 26.8174L10.3681 32.4277C9.87985 32.7793 9.42087 32.9941 8.99118 33.0723C8.56149 33.1504 8.17575 33.0527 7.83396 32.7793ZM10.4121 29.2344C10.4316 29.2637 10.4707 29.2588 10.5293 29.2197L17.1357 24.1221C17.4287 23.8877 17.7119 23.7705 17.9853 23.7705C18.2685 23.7705 18.5566 23.8877 18.8496 24.1221L25.456 29.2197C25.5146 29.2588 25.5537 29.2637 25.5732 29.2344C25.583 29.2148 25.583 29.1758 25.5732 29.1172L22.79 21.2656C22.7119 21.0312 22.6679 20.8213 22.6582 20.6357C22.6582 20.4404 22.707 20.2646 22.8047 20.1084C22.9121 19.9521 23.0732 19.8008 23.2881 19.6543L30.1728 14.9521C30.2314 14.9131 30.2558 14.874 30.2461 14.835C30.2363 14.8057 30.1924 14.791 30.1142 14.791L21.7939 14.9961C21.4131 15.0059 21.1152 14.9424 20.9004 14.8057C20.6855 14.6592 20.5244 14.3955 20.417 14.0146L18.0732 6.03125C18.0537 5.96289 18.0244 5.92871 17.9853 5.92871C17.956 5.92871 17.9316 5.96289 17.9121 6.03125L15.5683 14.0146C15.4609 14.3955 15.2998 14.6592 15.0849 14.8057C14.8701 14.9424 14.5722 15.0059 14.1914 14.9961L5.87107 14.791C5.79294 14.791 5.74899 14.8057 5.73923 14.835C5.72946 14.874 5.75388 14.9131 5.81247 14.9521L12.6972 19.6543C12.9121 19.8008 13.0683 19.9521 13.166 20.1084C13.2734 20.2646 13.3222 20.4404 13.3125 20.6357C13.3125 20.8213 13.2734 21.0312 13.1953 21.2656L10.4121 29.1172C10.3925 29.1758 10.3925 29.2148 10.4121 29.2344Z",
|
|
1988
|
+
fill: "currentColor"
|
|
1989
|
+
})
|
|
1990
|
+
});
|
|
1991
|
+
const ForwardRef$12 = (0, react.forwardRef)(SvgStar);
|
|
1992
|
+
//#endregion
|
|
1993
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/ToggleIconButton/star_filled.svg
|
|
1994
|
+
const SvgStarFilled = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1995
|
+
width: 36,
|
|
1996
|
+
height: 36,
|
|
1997
|
+
viewBox: "0 0 36 36",
|
|
1998
|
+
fill: "none",
|
|
1999
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2000
|
+
ref,
|
|
2001
|
+
...props,
|
|
2002
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2003
|
+
d: "M7.83396 32.7793C7.49216 32.5254 7.2822 32.1836 7.20407 31.7539C7.13571 31.334 7.19919 30.8359 7.3945 30.2598L10.4121 21.3096L2.72165 15.7871C2.2236 15.4355 1.87692 15.0693 1.68161 14.6885C1.4863 14.2979 1.457 13.8975 1.59372 13.4873C1.73044 13.0869 1.98923 12.7891 2.37009 12.5938C2.75095 12.3984 3.24899 12.3008 3.86423 12.3008H13.2832L16.1543 3.36523C16.3398 2.7793 16.584 2.33496 16.8867 2.03223C17.1992 1.71973 17.5654 1.56348 17.9853 1.56348C18.415 1.56348 18.7812 1.71973 19.084 2.03223C19.3965 2.33496 19.6455 2.7793 19.831 3.36523L22.7021 12.3008H32.1211C32.7363 12.3008 33.2343 12.3984 33.6152 12.5938C33.9961 12.7891 34.2549 13.0869 34.3916 13.4873C34.5283 13.8975 34.499 14.2979 34.3037 14.6885C34.1084 15.0693 33.7617 15.4355 33.2636 15.7871L25.5732 21.3096L28.5908 30.2598C28.7861 30.8359 28.8447 31.334 28.7666 31.7539C28.6982 32.1836 28.4931 32.5254 28.1513 32.7793C27.8095 33.0527 27.4238 33.1504 26.9941 33.0723C26.5644 32.9941 26.1054 32.7793 25.6172 32.4277L17.9853 26.8174L10.3681 32.4277C9.87985 32.7793 9.42087 32.9941 8.99118 33.0723C8.56149 33.1504 8.17575 33.0527 7.83396 32.7793Z",
|
|
2004
|
+
fill: "currentColor"
|
|
2005
|
+
})
|
|
2006
|
+
});
|
|
2007
|
+
const ForwardRef$11 = (0, react.forwardRef)(SvgStarFilled);
|
|
2008
|
+
//#endregion
|
|
2009
|
+
//#region src/components/ToggleIconButton/index.tsx
|
|
2010
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
2011
|
+
cache: /* @__PURE__ */ new Map(),
|
|
2012
|
+
get(name, inst) {
|
|
2013
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
2014
|
+
this.cache.set(name, inst);
|
|
2015
|
+
return inst;
|
|
2016
|
+
}
|
|
2017
|
+
};
|
|
2018
|
+
const ToggleIconButton = (0, react.memo)((t0) => {
|
|
2019
|
+
const $ = (0, react_compiler_runtime.c)(12);
|
|
2020
|
+
let checked;
|
|
2021
|
+
let checkedIcon;
|
|
2022
|
+
let className;
|
|
2023
|
+
let rest;
|
|
2024
|
+
let uncheckedIcon;
|
|
2025
|
+
if ($[0] !== t0) {
|
|
2026
|
+
({uncheckedIcon, checkedIcon, checked, className, ...rest} = t0);
|
|
2027
|
+
$[0] = t0;
|
|
2028
|
+
$[1] = checked;
|
|
2029
|
+
$[2] = checkedIcon;
|
|
2030
|
+
$[3] = className;
|
|
2031
|
+
$[4] = rest;
|
|
2032
|
+
$[5] = uncheckedIcon;
|
|
2033
|
+
} else {
|
|
2034
|
+
checked = $[1];
|
|
2035
|
+
checkedIcon = $[2];
|
|
2036
|
+
className = $[3];
|
|
2037
|
+
rest = $[4];
|
|
2038
|
+
uncheckedIcon = $[5];
|
|
2039
|
+
}
|
|
2040
|
+
let t1;
|
|
2041
|
+
if ($[6] !== className) {
|
|
2042
|
+
t1 = (0, classnames.default)(className, index_module_default$2.toggleIconButton);
|
|
2043
|
+
$[6] = className;
|
|
2044
|
+
$[7] = t1;
|
|
2045
|
+
} else t1 = $[7];
|
|
2046
|
+
const t2 = checked ? checkedIcon : uncheckedIcon;
|
|
2047
|
+
let t3;
|
|
2048
|
+
if ($[8] !== rest || $[9] !== t1 || $[10] !== t2) {
|
|
2049
|
+
t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
2050
|
+
className: t1,
|
|
2051
|
+
type: "button",
|
|
2052
|
+
...rest,
|
|
2053
|
+
children: t2
|
|
2054
|
+
});
|
|
2055
|
+
$[8] = rest;
|
|
2056
|
+
$[9] = t1;
|
|
2057
|
+
$[10] = t2;
|
|
2058
|
+
$[11] = t3;
|
|
2059
|
+
} else t3 = $[11];
|
|
2060
|
+
return t3;
|
|
2061
|
+
});
|
|
2062
|
+
const PREBUILT_ICONS_MAP = {
|
|
2063
|
+
[PrebuiltToggleIconButtonType.Lyrics]: [ForwardRef$20, ForwardRef$19],
|
|
2064
|
+
[PrebuiltToggleIconButtonType.Playlist]: [ForwardRef$18, ForwardRef$17],
|
|
2065
|
+
[PrebuiltToggleIconButtonType.Repeat]: [ForwardRef$16, ForwardRef$15],
|
|
2066
|
+
[PrebuiltToggleIconButtonType.Shuffle]: [ForwardRef$14, ForwardRef$13],
|
|
2067
|
+
[PrebuiltToggleIconButtonType.Star]: [ForwardRef$12, ForwardRef$11],
|
|
2068
|
+
[PrebuiltToggleIconButtonType.AirPlay]: [ForwardRef$21, ForwardRef$21]
|
|
2069
|
+
};
|
|
2070
|
+
const PrebuiltToggleIconButton = (0, react.memo)((t0) => {
|
|
2071
|
+
const $ = (0, react_compiler_runtime.c)(15);
|
|
2072
|
+
let checked;
|
|
2073
|
+
let onClick;
|
|
2074
|
+
let rest;
|
|
2075
|
+
let type;
|
|
2076
|
+
if ($[0] !== t0) {
|
|
2077
|
+
({type, checked, onClick, ...rest} = t0);
|
|
2078
|
+
$[0] = t0;
|
|
2079
|
+
$[1] = checked;
|
|
2080
|
+
$[2] = onClick;
|
|
2081
|
+
$[3] = rest;
|
|
2082
|
+
$[4] = type;
|
|
2083
|
+
} else {
|
|
2084
|
+
checked = $[1];
|
|
2085
|
+
onClick = $[2];
|
|
2086
|
+
rest = $[3];
|
|
2087
|
+
type = $[4];
|
|
2088
|
+
}
|
|
2089
|
+
const [UncheckedIcon, CheckedIcon] = PREBUILT_ICONS_MAP[type];
|
|
2090
|
+
let t1;
|
|
2091
|
+
if ($[5] !== UncheckedIcon) {
|
|
2092
|
+
t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(UncheckedIcon, {});
|
|
2093
|
+
$[5] = UncheckedIcon;
|
|
2094
|
+
$[6] = t1;
|
|
2095
|
+
} else t1 = $[6];
|
|
2096
|
+
let t2;
|
|
2097
|
+
if ($[7] !== CheckedIcon) {
|
|
2098
|
+
t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckedIcon, {});
|
|
2099
|
+
$[7] = CheckedIcon;
|
|
2100
|
+
$[8] = t2;
|
|
2101
|
+
} else t2 = $[8];
|
|
2102
|
+
const t3 = checked ?? false;
|
|
2103
|
+
let t4;
|
|
2104
|
+
if ($[9] !== onClick || $[10] !== rest || $[11] !== t1 || $[12] !== t2 || $[13] !== t3) {
|
|
2105
|
+
t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToggleIconButton, {
|
|
2106
|
+
uncheckedIcon: t1,
|
|
2107
|
+
checkedIcon: t2,
|
|
2108
|
+
checked: t3,
|
|
2109
|
+
onClick,
|
|
2110
|
+
...rest
|
|
2111
|
+
});
|
|
2112
|
+
$[9] = onClick;
|
|
2113
|
+
$[10] = rest;
|
|
2114
|
+
$[11] = t1;
|
|
2115
|
+
$[12] = t2;
|
|
2116
|
+
$[13] = t3;
|
|
2117
|
+
$[14] = t4;
|
|
2118
|
+
} else t4 = $[14];
|
|
2119
|
+
return t4;
|
|
2120
|
+
});
|
|
2121
|
+
//#endregion
|
|
2122
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/VolumeControlSlider/icon_speaker.svg
|
|
2123
|
+
const SvgIconSpeaker = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
2124
|
+
width: 32,
|
|
2125
|
+
height: 40,
|
|
2126
|
+
viewBox: "0 0 32 40",
|
|
2127
|
+
fill: "currentColor",
|
|
2128
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2129
|
+
ref,
|
|
2130
|
+
...props,
|
|
2131
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2132
|
+
d: "M14.9042 27.1802C14.4202 27.1802 14.0473 26.9897 13.595 26.5612L10.3815 23.5461C10.3339 23.5065 10.2863 23.4906 10.2228 23.4906H8.01703C6.70778 23.4906 5.99365 22.7527 5.99365 21.38V18.4442C5.99365 17.0715 6.70778 16.3257 8.01703 16.3257H10.2307C10.2863 16.3257 10.3418 16.3019 10.3815 16.2622L13.595 13.2709C14.079 12.8107 14.4361 12.6282 14.8883 12.6282C15.6104 12.6282 16.142 13.1915 16.142 13.8977V25.9344C16.142 26.6406 15.6104 27.1802 14.9042 27.1802Z",
|
|
2133
|
+
className: "speaker-bounce-1"
|
|
2134
|
+
})
|
|
2135
|
+
});
|
|
2136
|
+
const ForwardRef$10 = (0, react.forwardRef)(SvgIconSpeaker);
|
|
2137
|
+
//#endregion
|
|
2138
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/VolumeControlSlider/icon_speaker_3.svg
|
|
2139
|
+
const SvgIconSpeaker3 = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
2140
|
+
width: 43,
|
|
2141
|
+
height: 40,
|
|
2142
|
+
viewBox: "0 0 43 40",
|
|
2143
|
+
fill: "currentColor",
|
|
2144
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2145
|
+
ref,
|
|
2146
|
+
...props,
|
|
2147
|
+
children: [
|
|
2148
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2149
|
+
d: "M24.0403 27.1802C23.5642 27.1802 23.1913 26.9897 22.739 26.5612L19.5176 23.5461C19.4779 23.5065 19.4224 23.4906 19.3668 23.4906H17.161C15.8518 23.4906 15.1377 22.7527 15.1377 21.38V18.4442C15.1377 17.0715 15.8518 16.3257 17.161 16.3257H19.3668C19.4303 16.3257 19.4779 16.3019 19.5255 16.2622L22.739 13.2709C23.223 12.8107 23.5721 12.6282 24.0324 12.6282C24.7544 12.6282 25.286 13.1915 25.286 13.8977V25.9344C25.286 26.6406 24.7544 27.1802 24.0403 27.1802Z",
|
|
2150
|
+
className: "speaker-bounce-1"
|
|
2151
|
+
}),
|
|
2152
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2153
|
+
d: "M28.0948 23.6653C27.6028 23.3559 27.4996 22.7687 27.8964 22.1101C28.2931 21.4991 28.5232 20.7136 28.5232 19.8964C28.5232 19.0712 28.301 18.2856 27.8964 17.6826C27.4917 17.032 27.6028 16.4369 28.0948 16.1274C28.547 15.8418 29.1104 15.9529 29.404 16.3576C30.0863 17.3097 30.491 18.5713 30.491 19.8964C30.491 21.2214 30.0863 22.4831 29.404 23.4273C29.1104 23.8399 28.547 23.943 28.0948 23.6653Z",
|
|
2154
|
+
className: "speaker-bounce-2"
|
|
2155
|
+
}),
|
|
2156
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2157
|
+
d: "M31.6733 25.8711C31.1576 25.5696 31.0942 24.9428 31.4432 24.3794C32.2526 23.1257 32.7207 21.5468 32.7207 19.8964C32.7207 18.2459 32.2605 16.6591 31.4432 15.4133C31.0942 14.8499 31.1576 14.2231 31.6733 13.9137C32.1415 13.6439 32.7128 13.755 33.0143 14.2152C34.0855 15.7783 34.6885 17.8016 34.6885 19.8964C34.6885 21.9911 34.0775 23.9985 33.0143 25.5775C32.7128 26.0377 32.1415 26.1488 31.6733 25.8711Z",
|
|
2158
|
+
className: "speaker-bounce-3"
|
|
2159
|
+
}),
|
|
2160
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2161
|
+
d: "M35.2362 28.1007C34.7363 27.7992 34.6569 27.1803 34.9981 26.6249C36.1883 24.7286 36.9104 22.4196 36.9104 19.9122C36.9104 17.397 36.1883 15.0881 34.9981 13.1917C34.6569 12.6362 34.7363 12.0174 35.2362 11.7159C35.7123 11.4302 36.3073 11.5651 36.6088 12.0571C38.0133 14.2866 38.8702 16.9765 38.8702 19.9122C38.8702 22.8401 38.0291 25.5379 36.6088 27.7675C36.3073 28.2515 35.7123 28.3864 35.2362 28.1007Z",
|
|
2162
|
+
className: "speaker-bounce-4"
|
|
2163
|
+
})
|
|
2164
|
+
]
|
|
2165
|
+
});
|
|
2166
|
+
const ForwardRef$9 = (0, react.forwardRef)(SvgIconSpeaker3);
|
|
2167
|
+
//#endregion
|
|
2168
|
+
//#region src/components/VolumeControlSlider/index.module.css
|
|
2169
|
+
var index_module_default$1 = {
|
|
2170
|
+
"speaker-bounce-part1": "LJEMWq_speaker-bounce-part1",
|
|
2171
|
+
"speaker-bounce-part2": "LJEMWq_speaker-bounce-part2",
|
|
2172
|
+
"speaker-bounce-part3": "LJEMWq_speaker-bounce-part3",
|
|
2173
|
+
"speakerAnimate": "LJEMWq_speakerAnimate",
|
|
2174
|
+
"volumeControl": "LJEMWq_volumeControl"
|
|
2175
|
+
};
|
|
2176
|
+
//#endregion
|
|
2177
|
+
//#region src/components/VolumeControlSlider/index.tsx
|
|
2178
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
2179
|
+
cache: /* @__PURE__ */ new Map(),
|
|
2180
|
+
get(name, inst) {
|
|
2181
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
2182
|
+
this.cache.set(name, inst);
|
|
2183
|
+
return inst;
|
|
2184
|
+
}
|
|
2185
|
+
};
|
|
2186
|
+
const VolumeControl = (props) => {
|
|
2187
|
+
const $ = (0, react_compiler_runtime.c)(9);
|
|
2188
|
+
const lastValueRef = (0, react.useRef)(props.value);
|
|
2189
|
+
const minSpeakerRef = (0, react.useRef)(null);
|
|
2190
|
+
const maxSpeakerRef = (0, react.useRef)(null);
|
|
2191
|
+
let t0;
|
|
2192
|
+
let t1;
|
|
2193
|
+
if ($[0] !== props.max || $[1] !== props.min || $[2] !== props.value) {
|
|
2194
|
+
t0 = () => {
|
|
2195
|
+
if (lastValueRef.current !== props.value) {
|
|
2196
|
+
lastValueRef.current = props.value;
|
|
2197
|
+
if (props.value <= props.min && minSpeakerRef.current) {
|
|
2198
|
+
minSpeakerRef.current.classList.remove(index_module_default$1.speakerAnimate);
|
|
2199
|
+
requestAnimationFrame(() => {
|
|
2200
|
+
minSpeakerRef.current?.classList?.add(index_module_default$1.speakerAnimate);
|
|
2201
|
+
});
|
|
2202
|
+
} else if (props.value >= props.max && maxSpeakerRef.current) {
|
|
2203
|
+
maxSpeakerRef.current.classList.remove(index_module_default$1.speakerAnimate);
|
|
2204
|
+
requestAnimationFrame(() => {
|
|
2205
|
+
maxSpeakerRef.current?.classList?.add(index_module_default$1.speakerAnimate);
|
|
2206
|
+
});
|
|
2207
|
+
}
|
|
2208
|
+
}
|
|
2209
|
+
};
|
|
2210
|
+
t1 = [
|
|
2211
|
+
props.value,
|
|
2212
|
+
props.min,
|
|
2213
|
+
props.max
|
|
2214
|
+
];
|
|
2215
|
+
$[0] = props.max;
|
|
2216
|
+
$[1] = props.min;
|
|
2217
|
+
$[2] = props.value;
|
|
2218
|
+
$[3] = t0;
|
|
2219
|
+
$[4] = t1;
|
|
2220
|
+
} else {
|
|
2221
|
+
t0 = $[3];
|
|
2222
|
+
t1 = $[4];
|
|
2223
|
+
}
|
|
2224
|
+
(0, react.useEffect)(t0, t1);
|
|
2225
|
+
let t2;
|
|
2226
|
+
let t3;
|
|
2227
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
2228
|
+
t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$10, {
|
|
2229
|
+
ref: minSpeakerRef,
|
|
2230
|
+
color: "#FFFFFF"
|
|
2231
|
+
});
|
|
2232
|
+
t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$9, {
|
|
2233
|
+
ref: maxSpeakerRef,
|
|
2234
|
+
color: "#FFFFFF"
|
|
2235
|
+
});
|
|
2236
|
+
$[5] = t2;
|
|
2237
|
+
$[6] = t3;
|
|
2238
|
+
} else {
|
|
2239
|
+
t2 = $[5];
|
|
2240
|
+
t3 = $[6];
|
|
2241
|
+
}
|
|
2242
|
+
let t4;
|
|
2243
|
+
if ($[7] !== props) {
|
|
2244
|
+
t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BouncingSlider, {
|
|
2245
|
+
className: index_module_default$1.volumeControl,
|
|
2246
|
+
beforeIcon: t2,
|
|
2247
|
+
afterIcon: t3,
|
|
2248
|
+
changeOnDrag: true,
|
|
2249
|
+
...props
|
|
2250
|
+
});
|
|
2251
|
+
$[7] = props;
|
|
2252
|
+
$[8] = t4;
|
|
2253
|
+
} else t4 = $[8];
|
|
2254
|
+
return t4;
|
|
2255
|
+
};
|
|
2256
|
+
//#endregion
|
|
2257
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/PrebuiltLyricPlayer/icon_forward.svg
|
|
2258
|
+
const SvgIconForward = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
2259
|
+
id: "vector",
|
|
2260
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2261
|
+
width: 32,
|
|
2262
|
+
height: 32,
|
|
2263
|
+
viewBox: "0 0 134 134",
|
|
2264
|
+
fill: "currentColor",
|
|
2265
|
+
ref,
|
|
2266
|
+
...props,
|
|
2267
|
+
children: [
|
|
2268
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2269
|
+
d: "M62 60.0717C65.938 62.3453 67.9069 63.4821 68.5677 64.9662C69.1441 66.2608 69.1441 67.7391 68.5677 69.0336C67.9069 70.5177 65.938 71.6545 62 73.9281L41 86.0525C37.062 88.326 35.0931 89.4628 33.4774 89.293C32.0681 89.1449 30.7878 88.4057 29.9549 87.2593C29 85.945 29 83.6714 29 79.1243V54.8755C29 50.3284 29 48.0548 29.9549 46.7405C30.7878 45.5941 32.0681 44.8549 33.4774 44.7068C35.0931 44.537 37.062 45.6738 41 47.9473L62 60.0717Z",
|
|
2270
|
+
className: "amll-forward-left-arrow"
|
|
2271
|
+
}),
|
|
2272
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2273
|
+
d: "M62 60.0717C65.938 62.3453 67.9069 63.4821 68.5677 64.9662C69.1441 66.2608 69.1441 67.7391 68.5677 69.0336C67.9069 70.5177 65.938 71.6545 62 73.9281L41 86.0525C37.062 88.326 35.0931 89.4628 33.4774 89.293C32.0681 89.1449 30.7878 88.4057 29.9549 87.2593C29 85.945 29 83.6714 29 79.1243V54.8755C29 50.3284 29 48.0548 29.9549 46.7405C30.7878 45.5941 32.0681 44.8549 33.4774 44.7068C35.0931 44.537 37.062 45.6738 41 47.9473L62 60.0717Z",
|
|
2274
|
+
className: "amll-forward-left-standby"
|
|
2275
|
+
}),
|
|
2276
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2277
|
+
d: "M102 60.0717C105.938 62.3453 107.907 63.4821 108.568 64.9662C109.144 66.2608 109.144 67.7391 108.568 69.0336C107.907 70.5177 105.938 71.6545 102 73.9281L81 86.0525C77.062 88.326 75.0931 89.4628 73.4774 89.293C72.0681 89.1449 70.7878 88.4057 69.9549 87.2593C69 85.945 69 83.6714 69 79.1243V54.8755C69 50.3284 69 48.0548 69.9549 46.7405C70.7878 45.5941 72.0681 44.8549 73.4774 44.7068C75.0931 44.537 77.062 45.6738 81 47.9473L102 60.0717Z",
|
|
2278
|
+
className: "amll-forward-right-arrow"
|
|
2279
|
+
})
|
|
2280
|
+
]
|
|
2281
|
+
});
|
|
2282
|
+
const ForwardRef$8 = (0, react.forwardRef)(SvgIconForward);
|
|
2283
|
+
//#endregion
|
|
2284
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/PrebuiltLyricPlayer/icon_pause.svg
|
|
2285
|
+
const SvgIconPause = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
2286
|
+
id: "vector",
|
|
2287
|
+
width: 38,
|
|
2288
|
+
height: 38,
|
|
2289
|
+
viewBox: "0 0 38 38",
|
|
2290
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2291
|
+
ref,
|
|
2292
|
+
...props,
|
|
2293
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2294
|
+
d: "M8.46953 37C7.37801 37 6.56603 36.7271 6.03359 36.1814C5.51445 35.6489 5.25488 34.8502 5.25488 33.7854V4.21464C5.25488 3.14975 5.52111 2.35108 6.05355 1.81864C6.59931 1.27288 7.40463 1 8.46953 1H13.3813C14.4329 1 15.2249 1.27288 15.7574 1.81864C16.3031 2.35108 16.576 3.14975 16.576 4.21464V33.7854C16.576 34.8502 16.3031 35.6489 15.7574 36.1814C15.2249 36.7271 14.4329 37 13.3813 37H8.46953ZM24.6426 37C23.5644 37 22.759 36.7271 22.2266 36.1814C21.6942 35.6489 21.4279 34.8502 21.4279 33.7854V4.21464C21.4279 3.14975 21.6942 2.35108 22.2266 1.81864C22.7724 1.27288 23.5777 1 24.6426 1H29.5544C30.6193 1 31.4179 1.27288 31.9504 1.81864C32.4828 2.35108 32.7491 3.14975 32.7491 4.21464V33.7854C32.7491 34.8502 32.4828 35.6489 31.9504 36.1814C31.4179 36.7271 30.6193 37 29.5544 37H24.6426Z",
|
|
2295
|
+
fill: "currentColor",
|
|
2296
|
+
fillRule: "nonzero",
|
|
2297
|
+
id: "path_0"
|
|
2298
|
+
})
|
|
2299
|
+
});
|
|
2300
|
+
const ForwardRef$7 = (0, react.forwardRef)(SvgIconPause);
|
|
2301
|
+
//#endregion
|
|
2302
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/PrebuiltLyricPlayer/icon_play.svg
|
|
2303
|
+
const SvgIconPlay = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
2304
|
+
id: "vector",
|
|
2305
|
+
width: 38,
|
|
2306
|
+
height: 38,
|
|
2307
|
+
viewBox: "0 0 38 38",
|
|
2308
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2309
|
+
ref,
|
|
2310
|
+
...props,
|
|
2311
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2312
|
+
d: "M5.80762 32.4896V5.4925C5.80762 4.305 6.12305 3.41438 6.75391 2.82063C7.38477 2.22688 8.13932 1.93 9.01758 1.93C9.78451 1.93 10.5391 2.14029 11.2812 2.56086L33.7324 15.6605C34.5859 16.1553 35.223 16.6562 35.6436 17.1634C36.0641 17.6582 36.2744 18.2705 36.2744 19.0003C36.2744 19.7054 36.0641 20.3177 35.6436 20.8372C35.223 21.3444 34.5859 21.8392 33.7324 22.3216L11.2812 35.4212C10.5391 35.8542 9.78451 36.0706 9.01758 36.0706C8.13932 36.0706 7.38477 35.7676 6.75391 35.1614C6.12305 34.5677 5.80762 33.6771 5.80762 32.4896Z",
|
|
2313
|
+
fill: "currentColor",
|
|
2314
|
+
fillRule: "nonzero"
|
|
2315
|
+
})
|
|
2316
|
+
});
|
|
2317
|
+
const ForwardRef$6 = (0, react.forwardRef)(SvgIconPlay);
|
|
2318
|
+
//#endregion
|
|
2319
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/PrebuiltLyricPlayer/icon_rewind.svg
|
|
2320
|
+
const SvgIconRewind = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
2321
|
+
id: "vector",
|
|
2322
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2323
|
+
width: 32,
|
|
2324
|
+
height: 32,
|
|
2325
|
+
viewBox: "0 0 134 134",
|
|
2326
|
+
fill: "currentColor",
|
|
2327
|
+
ref,
|
|
2328
|
+
...props,
|
|
2329
|
+
children: [
|
|
2330
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2331
|
+
d: "M72 60.0717C68.062 62.3453 66.0931 63.4821 65.4323 64.9662C64.8559 66.2608 64.8559 67.7391 65.4323 69.0336C66.0931 70.5177 68.062 71.6545 72 73.9281L93 86.0525C96.938 88.326 98.9069 89.4628 100.523 89.293C101.932 89.1449 103.212 88.4057 104.045 87.2593C105 85.945 105 83.6714 105 79.1243V54.8755C105 50.3284 105 48.0548 104.045 46.7405C103.212 45.5941 101.932 44.8549 100.523 44.7068C98.9069 44.537 96.938 45.6738 93 47.9473L72 60.0717Z",
|
|
2332
|
+
className: "amll-rewind-right-arrow"
|
|
2333
|
+
}),
|
|
2334
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2335
|
+
d: "M72 60.0717C68.062 62.3453 66.0931 63.4821 65.4323 64.9662C64.8559 66.2608 64.8559 67.7391 65.4323 69.0336C66.0931 70.5177 68.062 71.6545 72 73.9281L93 86.0525C96.938 88.326 98.9069 89.4628 100.523 89.293C101.932 89.1449 103.212 88.4057 104.045 87.2593C105 85.945 105 83.6714 105 79.1243V54.8755C105 50.3284 105 48.0548 104.045 46.7405C103.212 45.5941 101.932 44.8549 100.523 44.7068C98.9069 44.537 96.938 45.6738 93 47.9473L72 60.0717Z",
|
|
2336
|
+
className: "amll-rewind-right-standby"
|
|
2337
|
+
}),
|
|
2338
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2339
|
+
d: "M32 60.0717C28.062 62.3453 26.0931 63.4821 25.4323 64.9662C24.8559 66.2608 24.8559 67.7391 25.4323 69.0336C26.0931 70.5177 28.062 71.6545 32 73.9281L53 86.0525C56.938 88.326 58.9069 89.4628 60.5226 89.293C61.9319 89.1449 63.2122 88.4057 64.0451 87.2593C65 85.945 65 83.6714 65 79.1243V54.8755C65 50.3284 65 48.0548 64.0451 46.7405C63.2122 45.5941 61.9319 44.8549 60.5226 44.7068C58.9069 44.537 56.938 45.6738 53 47.9473L32 60.0717Z",
|
|
2340
|
+
className: "amll-rewind-left-arrow"
|
|
2341
|
+
})
|
|
2342
|
+
]
|
|
2343
|
+
});
|
|
2344
|
+
const ForwardRef$5 = (0, react.forwardRef)(SvgIconRewind);
|
|
2345
|
+
//#endregion
|
|
2346
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/PrebuiltLyricPlayer/repeat.svg
|
|
2347
|
+
const SvgRepeat = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
2348
|
+
width: 56,
|
|
2349
|
+
height: 56,
|
|
2350
|
+
viewBox: "0 0 56 56",
|
|
2351
|
+
fill: "none",
|
|
2352
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2353
|
+
ref,
|
|
2354
|
+
...props,
|
|
2355
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2356
|
+
d: "M14.2495 28.9956C13.6519 28.9956 13.1465 28.7891 12.7334 28.376C12.3203 27.9541 12.1138 27.4531 12.1138 26.873V25.3438C12.1138 23.832 12.4565 22.5312 13.1421 21.4414C13.8276 20.3516 14.8076 19.5166 16.082 18.9365C17.3564 18.3477 18.877 18.0532 20.6436 18.0532H30.3599V15.4033C30.3599 14.9111 30.4961 14.5288 30.7686 14.2563C31.041 13.9751 31.4146 13.8345 31.8892 13.8345C32.1177 13.8345 32.3198 13.874 32.4956 13.9531C32.6714 14.0234 32.8296 14.1113 32.9702 14.2168L38.7578 19.1343C39.1182 19.4331 39.2939 19.7979 39.2852 20.2285C39.2852 20.6504 39.1094 21.0107 38.7578 21.3096L32.9702 26.2271C32.8296 26.3501 32.6714 26.4468 32.4956 26.5171C32.3198 26.5874 32.1177 26.6226 31.8892 26.6226C31.4146 26.6226 31.041 26.4819 30.7686 26.2007C30.4961 25.9194 30.3599 25.5415 30.3599 25.0669V22.1929H20.459C19.1846 22.1929 18.1826 22.5269 17.4531 23.1948C16.7236 23.8628 16.3589 24.7812 16.3589 25.9502V26.873C16.3589 27.4531 16.1523 27.9541 15.7393 28.376C15.3262 28.7891 14.8296 28.9956 14.2495 28.9956ZM41.7505 26.7017C42.3306 26.7017 42.8271 26.9082 43.2402 27.3213C43.6621 27.7344 43.873 28.2354 43.873 28.8242V30.3535C43.873 31.8652 43.5303 33.166 42.8447 34.2559C42.1592 35.3457 41.1792 36.1851 39.9048 36.7739C38.6304 37.354 37.1055 37.644 35.3301 37.644H25.627V40.2676C25.627 40.751 25.4907 41.1333 25.2183 41.4146C24.9458 41.6958 24.5723 41.8364 24.0977 41.8364C23.8691 41.8364 23.6626 41.7969 23.478 41.7178C23.3022 41.6475 23.1484 41.5552 23.0166 41.4409L17.2158 36.5366C16.873 36.2466 16.6973 35.8862 16.6885 35.4556C16.6885 35.0249 16.8643 34.6558 17.2158 34.3481L23.0166 29.4307C23.1484 29.3164 23.3022 29.2241 23.478 29.1538C23.6626 29.0835 23.8691 29.0483 24.0977 29.0483C24.5723 29.0483 24.9458 29.189 25.2183 29.4702C25.4907 29.7427 25.627 30.125 25.627 30.6172V33.4912H35.5278C36.8022 33.4912 37.8042 33.1616 38.5337 32.5024C39.2632 31.8345 39.6279 30.916 39.6279 29.7471V28.8242C39.6279 28.2354 39.8301 27.7344 40.2344 27.3213C40.6475 26.9082 41.1528 26.7017 41.7505 26.7017Z",
|
|
2357
|
+
fill: "white"
|
|
2358
|
+
})
|
|
2359
|
+
});
|
|
2360
|
+
const ForwardRef$4 = (0, react.forwardRef)(SvgRepeat);
|
|
2361
|
+
//#endregion
|
|
2362
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/PrebuiltLyricPlayer/repeat-active.svg
|
|
2363
|
+
const SvgRepeatActive = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
2364
|
+
width: 56,
|
|
2365
|
+
height: 56,
|
|
2366
|
+
viewBox: "0 0 56 56",
|
|
2367
|
+
fill: "none",
|
|
2368
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2369
|
+
ref,
|
|
2370
|
+
...props,
|
|
2371
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2372
|
+
fillRule: "evenodd",
|
|
2373
|
+
clipRule: "evenodd",
|
|
2374
|
+
d: "M37.5805 0H18.4195C12.0146 0 9.69208 0.666878 7.35056 1.91914C5.00904 3.1714 3.1714 5.00904 1.91914 7.35056C0.666879 9.69208 0 12.0146 0 18.4195V37.5805C0 43.9854 0.666879 46.3079 1.91914 48.6494C3.1714 50.991 5.00904 52.8286 7.35056 54.0809C9.69208 55.3331 12.0146 56 18.4195 56H37.5805C43.9854 56 46.3079 55.3331 48.6495 54.0809C50.991 52.8286 52.8286 50.991 54.0809 48.6494C55.3331 46.3079 56 43.9854 56 37.5805V18.4195C56 12.0146 55.3331 9.69208 54.0809 7.35056C52.8286 5.00904 50.991 3.1714 48.6495 1.91914C46.3079 0.666878 43.9854 0 37.5805 0ZM12.7334 28.376C13.1465 28.7891 13.6519 28.9956 14.2495 28.9956C14.8296 28.9956 15.3262 28.7891 15.7393 28.376C16.1523 27.9541 16.3589 27.4531 16.3589 26.873V25.9502C16.3589 24.7812 16.7236 23.8628 17.4531 23.1948C18.1826 22.5269 19.1846 22.1929 20.459 22.1929H30.3599V25.0669C30.3599 25.5415 30.4961 25.9194 30.7686 26.2007C31.041 26.4819 31.4146 26.6226 31.8892 26.6226C32.1177 26.6226 32.3198 26.5874 32.4956 26.5171C32.6714 26.4468 32.8296 26.3501 32.9702 26.2271L38.7578 21.3096C39.1094 21.0107 39.2852 20.6504 39.2852 20.2285C39.2939 19.7979 39.1182 19.4331 38.7578 19.1343L32.9702 14.2168C32.8296 14.1113 32.6714 14.0234 32.4956 13.9531C32.3198 13.874 32.1177 13.8345 31.8892 13.8345C31.4146 13.8345 31.041 13.9751 30.7686 14.2563C30.4961 14.5288 30.3599 14.9111 30.3599 15.4033V18.0532H20.6436C18.877 18.0532 17.3564 18.3477 16.082 18.9365C14.8076 19.5166 13.8276 20.3516 13.1421 21.4414C12.4565 22.5312 12.1138 23.832 12.1138 25.3438V26.873C12.1138 27.4531 12.3203 27.9541 12.7334 28.376ZM43.2402 27.3213C42.8271 26.9082 42.3306 26.7017 41.7505 26.7017C41.1528 26.7017 40.6475 26.9082 40.2344 27.3213C39.8301 27.7344 39.6279 28.2354 39.6279 28.8242V29.7471C39.6279 30.916 39.2632 31.8345 38.5337 32.5024C37.8042 33.1616 36.8022 33.4912 35.5278 33.4912H25.627V30.6172C25.627 30.125 25.4907 29.7427 25.2183 29.4702C24.9458 29.189 24.5723 29.0483 24.0977 29.0483C23.8691 29.0483 23.6626 29.0835 23.478 29.1538C23.3022 29.2241 23.1484 29.3164 23.0166 29.4307L17.2158 34.3481C16.8643 34.6558 16.6885 35.0249 16.6885 35.4556C16.6973 35.8862 16.873 36.2466 17.2158 36.5366L23.0166 41.4409C23.1484 41.5552 23.3022 41.6475 23.478 41.7178C23.6626 41.7969 23.8691 41.8364 24.0977 41.8364C24.5723 41.8364 24.9458 41.6958 25.2183 41.4146C25.4907 41.1333 25.627 40.751 25.627 40.2676V37.644H35.3301C37.1055 37.644 38.6304 37.354 39.9048 36.7739C41.1792 36.1851 42.1592 35.3457 42.8447 34.2559C43.5303 33.166 43.873 31.8652 43.873 30.3535V28.8242C43.873 28.2354 43.6621 27.7344 43.2402 27.3213Z",
|
|
2375
|
+
fill: "white"
|
|
2376
|
+
})
|
|
2377
|
+
});
|
|
2378
|
+
const ForwardRef$3 = (0, react.forwardRef)(SvgRepeatActive);
|
|
2379
|
+
//#endregion
|
|
2380
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/PrebuiltLyricPlayer/repeat-one-active.svg
|
|
2381
|
+
const SvgRepeatOneActive = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
2382
|
+
width: 56,
|
|
2383
|
+
height: 56,
|
|
2384
|
+
viewBox: "0 0 56 56",
|
|
2385
|
+
fill: "none",
|
|
2386
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2387
|
+
ref,
|
|
2388
|
+
...props,
|
|
2389
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2390
|
+
fillRule: "evenodd",
|
|
2391
|
+
clipRule: "evenodd",
|
|
2392
|
+
d: "M37.5805 0H18.4195C12.0146 0 9.69208 0.666878 7.35056 1.91914C5.00904 3.1714 3.1714 5.00904 1.91914 7.35056C0.666879 9.69208 0 12.0146 0 18.4195V37.5805C0 43.9854 0.666879 46.3079 1.91914 48.6494C3.1714 50.991 5.00904 52.8286 7.35056 54.0809C9.69208 55.3331 12.0146 56 18.4195 56H37.5805C43.9854 56 46.3079 55.3331 48.6495 54.0809C50.991 52.8286 52.8286 50.991 54.0809 48.6494C55.3331 46.3079 56 43.9854 56 37.5805V18.4195C56 12.0146 55.3331 9.69208 54.0809 7.35056C52.8286 5.00904 50.991 3.1714 48.6495 1.91914C46.3079 0.666878 43.9854 0 37.5805 0ZM13.2212 28.4946C13.5552 28.8198 13.9858 28.9824 14.5132 28.9824C15.0405 28.9824 15.4668 28.8198 15.792 28.4946C16.1172 28.1606 16.2798 27.73 16.2798 27.2026V26.1743C16.2798 25.0142 16.6401 24.1001 17.3608 23.4321C18.0903 22.7554 19.0791 22.417 20.3271 22.417H26.5103V25.3701C26.5103 25.7744 26.6245 26.0952 26.853 26.3325C27.0903 26.561 27.4111 26.6753 27.8154 26.6753C28 26.6753 28.1714 26.6445 28.3296 26.583C28.4878 26.5215 28.6284 26.438 28.7515 26.3325L34.2622 21.6919C34.5698 21.437 34.7236 21.1294 34.7236 20.769C34.7236 20.3999 34.5698 20.0879 34.2622 19.833L28.7515 15.1924C28.6284 15.0869 28.4878 15.0034 28.3296 14.9419C28.1714 14.8804 28 14.8496 27.8154 14.8496C27.4111 14.8496 27.0903 14.9683 26.853 15.2056C26.6245 15.4341 26.5103 15.7549 26.5103 16.168V18.9629H20.5249C18.9165 18.9629 17.5322 19.2354 16.3721 19.7803C15.2119 20.3164 14.3154 21.0898 13.6826 22.1006C13.0498 23.1113 12.7334 24.3198 12.7334 25.7261V27.2026C12.7334 27.73 12.896 28.1606 13.2212 28.4946ZM42.7393 27.6509C42.4141 27.3257 41.9878 27.1631 41.4604 27.1631C40.9331 27.1631 40.5068 27.3257 40.1816 27.6509C39.8564 27.9761 39.6938 28.4067 39.6938 28.9429V29.9712C39.6938 31.1313 39.3291 32.0454 38.5996 32.7134C37.8789 33.3813 36.8945 33.7153 35.6465 33.7153H25.6138V30.7754C25.6138 30.3623 25.4995 30.0415 25.271 29.813C25.0425 29.5757 24.7261 29.457 24.3218 29.457C24.1284 29.457 23.9526 29.4878 23.7944 29.5493C23.6362 29.6108 23.4956 29.6943 23.3726 29.7998L17.8618 34.4404C17.563 34.7041 17.4136 35.0161 17.4136 35.3765C17.4136 35.7368 17.563 36.0444 17.8618 36.2993L23.3726 40.9399C23.4956 41.0454 23.6362 41.1289 23.7944 41.1904C23.9526 41.252 24.1284 41.2827 24.3218 41.2827C24.7261 41.2827 25.0425 41.1641 25.271 40.9268C25.4995 40.6982 25.6138 40.3818 25.6138 39.9775V37.1826H35.4487C37.0483 37.1826 38.4282 36.9146 39.5884 36.3784C40.7573 35.8335 41.6582 35.0557 42.291 34.0449C42.9238 33.0254 43.2402 31.8169 43.2402 30.4194V28.9429C43.2402 28.4067 43.0732 27.9761 42.7393 27.6509ZM40.2871 24.1968C40.6035 24.4868 41.021 24.6318 41.5396 24.6318C42.0669 24.6318 42.4844 24.4868 42.792 24.1968C43.1084 23.9067 43.2666 23.4629 43.2666 22.8652V16.603C43.2666 16.0142 43.0776 15.5396 42.6997 15.1792C42.3306 14.8188 41.856 14.6387 41.2759 14.6387C40.8188 14.6387 40.4189 14.709 40.0762 14.8496C39.7422 14.9902 39.3994 15.188 39.0479 15.4429L37.2812 16.7612C37.0176 16.9458 36.8374 17.1216 36.7407 17.2886C36.644 17.4556 36.5957 17.6533 36.5957 17.8818C36.5957 18.207 36.7012 18.4707 36.9121 18.6729C37.123 18.875 37.3911 18.9761 37.7163 18.9761C38.0151 18.9761 38.2832 18.8838 38.5205 18.6992L39.707 17.7632H39.8125V22.8652C39.8125 23.4629 39.9707 23.9067 40.2871 24.1968Z",
|
|
2393
|
+
fill: "white"
|
|
2394
|
+
})
|
|
2395
|
+
});
|
|
2396
|
+
const ForwardRef$2 = (0, react.forwardRef)(SvgRepeatOneActive);
|
|
2397
|
+
//#endregion
|
|
2398
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/PrebuiltLyricPlayer/shuffle.svg
|
|
2399
|
+
const SvgShuffle = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
2400
|
+
width: 56,
|
|
2401
|
+
height: 56,
|
|
2402
|
+
viewBox: "0 0 56 56",
|
|
2403
|
+
fill: "none",
|
|
2404
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2405
|
+
ref,
|
|
2406
|
+
...props,
|
|
2407
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2408
|
+
d: "M10.624 36.3125C10.624 35.75 10.8218 35.2754 11.2173 34.8887C11.6216 34.4932 12.1094 34.2954 12.6807 34.2954H15.4756C16.3896 34.2954 17.1455 34.1372 17.7432 33.8208C18.3496 33.5044 18.9341 32.9946 19.4966 32.2915L27.3936 22.3379C28.3955 21.0811 29.4282 20.2285 30.4917 19.7803C31.5552 19.332 32.79 19.1079 34.1963 19.1079H36.4243V16.1548C36.4243 15.6714 36.5605 15.2935 36.833 15.021C37.1055 14.7397 37.479 14.5991 37.9536 14.5991C38.1821 14.5991 38.3843 14.6343 38.5601 14.7046C38.7446 14.7749 38.9072 14.8672 39.0479 14.9814L44.8223 19.8857C45.1826 20.1846 45.3628 20.5493 45.3628 20.98C45.3628 21.4106 45.1826 21.7754 44.8223 22.0742L39.0479 26.9917C38.9072 27.106 38.7446 27.2026 38.5601 27.2817C38.3843 27.3521 38.1821 27.3872 37.9536 27.3872C37.479 27.3872 37.1055 27.2466 36.833 26.9653C36.5605 26.6841 36.4243 26.3018 36.4243 25.8184V23.1421H33.9194C33.3218 23.1421 32.8076 23.2036 32.377 23.3267C31.9551 23.4497 31.564 23.6562 31.2036 23.9463C30.8521 24.2275 30.4829 24.6143 30.0962 25.1064L21.606 35.7061C20.8853 36.6113 20.0986 37.2749 19.2461 37.6968C18.3936 38.1099 17.3389 38.3164 16.082 38.3164H12.6807C12.1094 38.3164 11.6216 38.123 11.2173 37.7363C10.8218 37.3496 10.624 36.875 10.624 36.3125ZM10.624 21.125C10.624 20.5625 10.8218 20.0879 11.2173 19.7012C11.6216 19.3057 12.1094 19.1079 12.6807 19.1079H15.7261C16.9829 19.1079 18.0947 19.3188 19.0615 19.7407C20.0371 20.1538 20.8853 20.8174 21.606 21.7314L30.0435 32.2783C30.5972 32.9727 31.1992 33.4824 31.8496 33.8076C32.5 34.1328 33.291 34.2954 34.2227 34.2954H36.4243V31.5664C36.4243 31.083 36.5605 30.7007 36.833 30.4194C37.1055 30.1382 37.479 29.9976 37.9536 29.9976C38.1821 29.9976 38.3843 30.0371 38.5601 30.1162C38.7446 30.1865 38.9072 30.2832 39.0479 30.4062L44.8223 35.2974C45.1826 35.5962 45.3628 35.9609 45.3628 36.3916C45.3628 36.8223 45.1826 37.187 44.8223 37.4858L39.0479 42.3901C38.9072 42.5132 38.7446 42.6099 38.5601 42.6802C38.3843 42.7593 38.1821 42.7988 37.9536 42.7988C37.479 42.7988 37.1055 42.6582 36.833 42.377C36.5605 42.0957 36.4243 41.7134 36.4243 41.23V38.3164H34.1699C32.9043 38.3164 31.7222 38.1011 30.6235 37.6704C29.5249 37.231 28.5625 36.4927 27.7363 35.4556L19.4966 25.146C18.9341 24.4429 18.2925 23.9331 17.5718 23.6167C16.8599 23.3003 16.0381 23.1421 15.1064 23.1421H12.6807C12.1094 23.1421 11.6216 22.9443 11.2173 22.5488C10.8218 22.1533 10.624 21.6787 10.624 21.125Z",
|
|
2409
|
+
fill: "white"
|
|
2410
|
+
})
|
|
2411
|
+
});
|
|
2412
|
+
const ForwardRef$1 = (0, react.forwardRef)(SvgShuffle);
|
|
2413
|
+
//#endregion
|
|
2414
|
+
//#region \0svgr:/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/PrebuiltLyricPlayer/shuffle-active.svg
|
|
2415
|
+
const SvgShuffleActive = (props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
2416
|
+
width: 56,
|
|
2417
|
+
height: 56,
|
|
2418
|
+
viewBox: "0 0 56 56",
|
|
2419
|
+
fill: "none",
|
|
2420
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2421
|
+
ref,
|
|
2422
|
+
...props,
|
|
2423
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
2424
|
+
fillRule: "evenodd",
|
|
2425
|
+
clipRule: "evenodd",
|
|
2426
|
+
d: "M37.5805 0H18.4195C12.0146 0 9.69208 0.666878 7.35056 1.91914C5.00904 3.1714 3.1714 5.00904 1.91914 7.35056C0.666879 9.69208 0 12.0146 0 18.4195V37.5805C0 43.9854 0.666879 46.3079 1.91914 48.6494C3.1714 50.991 5.00904 52.8286 7.35056 54.0809C9.69208 55.3331 12.0146 56 18.4195 56H37.5805C43.9854 56 46.3079 55.3331 48.6495 54.0809C50.991 52.8286 52.8286 50.991 54.0809 48.6494C55.3331 46.3079 56 43.9854 56 37.5805V18.4195C56 12.0146 55.3331 9.69208 54.0809 7.35056C52.8286 5.00904 50.991 3.1714 48.6495 1.91914C46.3079 0.666878 43.9854 0 37.5805 0ZM11.2173 34.8887C10.8218 35.2754 10.624 35.75 10.624 36.3125C10.624 36.875 10.8218 37.3496 11.2173 37.7363C11.6216 38.123 12.1094 38.3164 12.6807 38.3164H16.082C17.3389 38.3164 18.3936 38.1099 19.2461 37.6968C20.0986 37.2749 20.8853 36.6113 21.606 35.7061L24.7747 31.75L27.7363 35.4556C28.5625 36.4927 29.5249 37.231 30.6235 37.6704C31.7222 38.1011 32.9043 38.3164 34.1699 38.3164H36.4243V41.23C36.4243 41.7134 36.5605 42.0957 36.833 42.377C37.1055 42.6582 37.479 42.7988 37.9536 42.7988C38.1821 42.7988 38.3843 42.7593 38.5601 42.6802C38.7446 42.6099 38.9072 42.5132 39.0479 42.3901L44.8223 37.4858C45.1826 37.187 45.3628 36.8223 45.3628 36.3916C45.3628 35.9609 45.1826 35.5962 44.8223 35.2974L39.0479 30.4062C38.9072 30.2832 38.7446 30.1865 38.5601 30.1162C38.3843 30.0371 38.1821 29.9976 37.9536 29.9976C37.479 29.9976 37.1055 30.1382 36.833 30.4194C36.5605 30.7007 36.4243 31.083 36.4243 31.5664V34.2954H34.2227C33.291 34.2954 32.5 34.1328 31.8496 33.8076C31.1992 33.4824 30.5972 32.9727 30.0435 32.2783L27.1993 28.7231L30.0962 25.1064C30.4829 24.6143 30.8521 24.2275 31.2036 23.9463C31.564 23.6562 31.9551 23.4497 32.377 23.3267C32.8076 23.2036 33.3218 23.1421 33.9194 23.1421H36.4243V25.8184C36.4243 26.3018 36.5605 26.6841 36.833 26.9653C37.1055 27.2466 37.479 27.3872 37.9536 27.3872C38.1821 27.3872 38.3843 27.3521 38.5601 27.2817C38.7446 27.2026 38.9072 27.106 39.0479 26.9917L44.8223 22.0742C45.1826 21.7754 45.3628 21.4106 45.3628 20.98C45.3628 20.5493 45.1826 20.1846 44.8223 19.8857L39.0479 14.9814C38.9072 14.8672 38.7446 14.7749 38.5601 14.7046C38.3843 14.6343 38.1821 14.5991 37.9536 14.5991C37.479 14.5991 37.1055 14.7397 36.833 15.021C36.5605 15.2935 36.4243 15.6714 36.4243 16.1548V19.1079H34.1963C32.79 19.1079 31.5552 19.332 30.4917 19.7803C29.4282 20.2285 28.3955 21.0811 27.3936 22.3379L24.7534 25.6657L21.606 21.7314C20.8853 20.8174 20.0371 20.1538 19.0615 19.7407C18.0947 19.3188 16.9829 19.1079 15.7261 19.1079H12.6807C12.1094 19.1079 11.6216 19.3057 11.2173 19.7012C10.8218 20.0879 10.624 20.5625 10.624 21.125C10.624 21.6787 10.8218 22.1533 11.2173 22.5488C11.6216 22.9443 12.1094 23.1421 12.6807 23.1421H15.1064C16.0381 23.1421 16.8599 23.3003 17.5718 23.6167C18.2925 23.9331 18.9341 24.4429 19.4966 25.146L22.3415 28.7056L19.4966 32.2915C18.9341 32.9946 18.3496 33.5044 17.7432 33.8208C17.1455 34.1372 16.3896 34.2954 15.4756 34.2954H12.6807C12.1094 34.2954 11.6216 34.4932 11.2173 34.8887Z",
|
|
2427
|
+
fill: "white"
|
|
2428
|
+
})
|
|
2429
|
+
});
|
|
2430
|
+
const ForwardRef = (0, react.forwardRef)(SvgShuffleActive);
|
|
2431
|
+
//#endregion
|
|
2432
|
+
//#region src/states/callbacks.ts
|
|
2433
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
2434
|
+
cache: /* @__PURE__ */ new Map(),
|
|
2435
|
+
get(name, inst) {
|
|
2436
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
2437
|
+
this.cache.set(name, inst);
|
|
2438
|
+
return inst;
|
|
2439
|
+
}
|
|
2440
|
+
};
|
|
2441
|
+
const c = (_onEmit) => ({});
|
|
2442
|
+
/**
|
|
2443
|
+
* 点击歌曲专辑图上方的控制横条时触发
|
|
2444
|
+
*
|
|
2445
|
+
* 通常用于关闭歌词页面
|
|
2446
|
+
*/
|
|
2447
|
+
const onClickControlThumbAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onClickControlThumbAtom", (0, jotai.atom)(c(() => {})));
|
|
2448
|
+
/**
|
|
2449
|
+
* 点击音质标签时触发
|
|
2450
|
+
*
|
|
2451
|
+
* 通常用于打开音质详情对话框
|
|
2452
|
+
*/
|
|
2453
|
+
onClickControlThumbAtom.debugLabel = "onClickControlThumbAtom";
|
|
2454
|
+
const onClickAudioQualityTagAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onClickAudioQualityTagAtom", (0, jotai.atom)(c(() => {})));
|
|
2455
|
+
/**
|
|
2456
|
+
* 点击菜单按钮时触发
|
|
2457
|
+
*/
|
|
2458
|
+
onClickAudioQualityTagAtom.debugLabel = "onClickAudioQualityTagAtom";
|
|
2459
|
+
const onRequestOpenMenuAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onRequestOpenMenuAtom", (0, jotai.atom)(c(() => {})));
|
|
2460
|
+
/**
|
|
2461
|
+
* 点击暂停或播放按钮时触发
|
|
2462
|
+
*/
|
|
2463
|
+
onRequestOpenMenuAtom.debugLabel = "onRequestOpenMenuAtom";
|
|
2464
|
+
const onPlayOrResumeAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onPlayOrResumeAtom", (0, jotai.atom)(c(() => {})));
|
|
2465
|
+
/**
|
|
2466
|
+
* 点击上一首按钮时触发
|
|
2467
|
+
*/
|
|
2468
|
+
onPlayOrResumeAtom.debugLabel = "onPlayOrResumeAtom";
|
|
2469
|
+
const onRequestPrevSongAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onRequestPrevSongAtom", (0, jotai.atom)(c(() => {})));
|
|
2470
|
+
/**
|
|
2471
|
+
* 点击下一首按钮时触发
|
|
2472
|
+
*/
|
|
2473
|
+
onRequestPrevSongAtom.debugLabel = "onRequestPrevSongAtom";
|
|
2474
|
+
const onRequestNextSongAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onRequestNextSongAtom", (0, jotai.atom)(c(() => {})));
|
|
2475
|
+
/**
|
|
2476
|
+
* 拖动进度条触发跳转时触发
|
|
2477
|
+
* @param position - 目标播放位置,单位为毫秒
|
|
2478
|
+
*/
|
|
2479
|
+
onRequestNextSongAtom.debugLabel = "onRequestNextSongAtom";
|
|
2480
|
+
const onSeekPositionAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onSeekPositionAtom", (0, jotai.atom)(c((_position) => {})));
|
|
2481
|
+
/**
|
|
2482
|
+
* 当某个歌词行被左键点击时触发
|
|
2483
|
+
* @param _evt 歌词行的事件对象,可以访问到对应的歌词行信息和歌词行索引
|
|
2484
|
+
* @param _playerRef 歌词播放组件的引用
|
|
2485
|
+
*/
|
|
2486
|
+
onSeekPositionAtom.debugLabel = "onSeekPositionAtom";
|
|
2487
|
+
const onLyricLineClickAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onLyricLineClickAtom", (0, jotai.atom)(c((_evt, _playerRef) => {})));
|
|
2488
|
+
/**
|
|
2489
|
+
* 当某个歌词行被右键点击时触发
|
|
2490
|
+
* @param _evt 歌词行的事件对象,可以访问到对应的歌词行信息和歌词行索引
|
|
2491
|
+
* @param _playerRef 歌词播放组件的引用
|
|
2492
|
+
*/
|
|
2493
|
+
onLyricLineClickAtom.debugLabel = "onLyricLineClickAtom";
|
|
2494
|
+
const onLyricLineContextMenuAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onLyricLineContextMenuAtom", (0, jotai.atom)(c((_evt, _playerRef) => {})));
|
|
2495
|
+
/**
|
|
2496
|
+
* 通过音量滑块改变音量时触发
|
|
2497
|
+
* @param volume - 目标音量,取值范围为 [0-1]
|
|
2498
|
+
*/
|
|
2499
|
+
onLyricLineContextMenuAtom.debugLabel = "onLyricLineContextMenuAtom";
|
|
2500
|
+
const onChangeVolumeAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onChangeVolumeAtom", (0, jotai.atom)(c((_volume) => {})));
|
|
2501
|
+
/**
|
|
2502
|
+
* 点击随机按钮时触发
|
|
2503
|
+
*/
|
|
2504
|
+
onChangeVolumeAtom.debugLabel = "onChangeVolumeAtom";
|
|
2505
|
+
const onToggleShuffleAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onToggleShuffleAtom", (0, jotai.atom)(c(() => {})));
|
|
2506
|
+
/**
|
|
2507
|
+
* 点击循环按钮时触发
|
|
2508
|
+
*/
|
|
2509
|
+
onToggleShuffleAtom.debugLabel = "onToggleShuffleAtom";
|
|
2510
|
+
const onCycleRepeatModeAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/callbacks.ts/onCycleRepeatModeAtom", (0, jotai.atom)(c(() => {})));
|
|
2511
|
+
onCycleRepeatModeAtom.debugLabel = "onCycleRepeatModeAtom";
|
|
2512
|
+
//#endregion
|
|
2513
|
+
//#region src/states/configAtoms.ts
|
|
2514
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
2515
|
+
cache: /* @__PURE__ */ new Map(),
|
|
2516
|
+
get(name, inst) {
|
|
2517
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
2518
|
+
this.cache.set(name, inst);
|
|
2519
|
+
return inst;
|
|
2520
|
+
}
|
|
2521
|
+
};
|
|
2522
|
+
/**
|
|
2523
|
+
* 播放器底部控制区域的控制组件类型
|
|
2524
|
+
* - `Controls`: 播放控制按钮
|
|
2525
|
+
* - `FFT`: 音频可视化内容
|
|
2526
|
+
* - `None`: 不显示任何内容
|
|
2527
|
+
*/
|
|
2528
|
+
let PlayerControlsType = /* @__PURE__ */ function(PlayerControlsType) {
|
|
2529
|
+
PlayerControlsType["Controls"] = "controls";
|
|
2530
|
+
PlayerControlsType["FFT"] = "fft";
|
|
2531
|
+
PlayerControlsType["None"] = "none";
|
|
2532
|
+
return PlayerControlsType;
|
|
2533
|
+
}({});
|
|
2534
|
+
/**
|
|
2535
|
+
* 在隐藏歌词的情况下专辑图的布局方式:
|
|
2536
|
+
* - `Auto`: 根据专辑图是否为视频以使用沉浸布局
|
|
2537
|
+
* - `ForceNormal`: 强制使用默认的专辑图布局
|
|
2538
|
+
* - `ForceImmersive`: 强制使用沉浸式的专辑图布局
|
|
2539
|
+
*/
|
|
2540
|
+
let VerticalCoverLayout = /* @__PURE__ */ function(VerticalCoverLayout) {
|
|
2541
|
+
VerticalCoverLayout["Auto"] = "auto";
|
|
2542
|
+
VerticalCoverLayout["ForceNormal"] = "force-normal";
|
|
2543
|
+
VerticalCoverLayout["ForceImmersive"] = "force-immersive";
|
|
2544
|
+
return VerticalCoverLayout;
|
|
2545
|
+
}({});
|
|
2546
|
+
/**
|
|
2547
|
+
* 可用的歌词渲染器实现
|
|
2548
|
+
*/
|
|
2549
|
+
let LyricPlayerImplementation = /* @__PURE__ */ function(LyricPlayerImplementation) {
|
|
2550
|
+
LyricPlayerImplementation["Dom"] = "dom";
|
|
2551
|
+
LyricPlayerImplementation["DomSlim"] = "dom-slim";
|
|
2552
|
+
return LyricPlayerImplementation;
|
|
2553
|
+
}({});
|
|
2554
|
+
/**
|
|
2555
|
+
* 可用的预设歌词字体大小
|
|
2556
|
+
*/
|
|
2557
|
+
let LyricSizePreset = /* @__PURE__ */ function(LyricSizePreset) {
|
|
2558
|
+
LyricSizePreset["Tiny"] = "tiny";
|
|
2559
|
+
LyricSizePreset["ExtraSmall"] = "extra-small";
|
|
2560
|
+
LyricSizePreset["Small"] = "small";
|
|
2561
|
+
LyricSizePreset["Medium"] = "medium";
|
|
2562
|
+
LyricSizePreset["Large"] = "large";
|
|
2563
|
+
LyricSizePreset["ExtraLarge"] = "extra-large";
|
|
2564
|
+
LyricSizePreset["Huge"] = "huge";
|
|
2565
|
+
return LyricSizePreset;
|
|
2566
|
+
}({});
|
|
2567
|
+
const getInitialPlayerImplementation = () => {
|
|
2568
|
+
switch (localStorage.getItem("amll-react-full.lyricPlayerImplementation")) {
|
|
2569
|
+
case LyricPlayerImplementation.DomSlim: return { lyricPlayer: _applemusic_like_lyrics_core.DomSlimLyricPlayer };
|
|
2570
|
+
default: return { lyricPlayer: _applemusic_like_lyrics_core.DomLyricPlayer };
|
|
2571
|
+
}
|
|
2572
|
+
};
|
|
2573
|
+
/**
|
|
2574
|
+
* 歌词播放组件的实现类型
|
|
2575
|
+
* @default DomLyricPlayer
|
|
2576
|
+
*/
|
|
2577
|
+
const lyricPlayerImplementationAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/lyricPlayerImplementationAtom", (0, jotai.atom)(getInitialPlayerImplementation()));
|
|
2578
|
+
/**
|
|
2579
|
+
* 是否启用歌词行模糊效果
|
|
2580
|
+
*
|
|
2581
|
+
* 性能影响:较高
|
|
2582
|
+
* @default true
|
|
2583
|
+
*/
|
|
2584
|
+
lyricPlayerImplementationAtom.debugLabel = "lyricPlayerImplementationAtom";
|
|
2585
|
+
const enableLyricLineBlurEffectAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/enableLyricLineBlurEffectAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.enableLyricLineBlurEffect", true));
|
|
2586
|
+
/**
|
|
2587
|
+
* 是否启用歌词行缩放效果
|
|
2588
|
+
*
|
|
2589
|
+
* 性能影响:无
|
|
2590
|
+
* @default true
|
|
2591
|
+
*/
|
|
2592
|
+
enableLyricLineBlurEffectAtom.debugLabel = "enableLyricLineBlurEffectAtom";
|
|
2593
|
+
const enableLyricLineScaleEffectAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/enableLyricLineScaleEffectAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.enableLyricLineScaleEffect", true));
|
|
2594
|
+
/**
|
|
2595
|
+
* 是否使用物理弹簧算法实现歌词动画效果
|
|
2596
|
+
*
|
|
2597
|
+
* 如果启用,则会通过弹簧算法实时处理歌词位置,但是需要性能足够强劲的电脑方可流畅运行
|
|
2598
|
+
*
|
|
2599
|
+
* 如果不启用,则会回退到基于 transition 的过渡效果,对低性能的机器比较友好,但是效果会比较单一
|
|
2600
|
+
*
|
|
2601
|
+
* 性能影响:较高
|
|
2602
|
+
* @default true
|
|
2603
|
+
*/
|
|
2604
|
+
enableLyricLineScaleEffectAtom.debugLabel = "enableLyricLineScaleEffectAtom";
|
|
2605
|
+
const enableLyricLineSpringAnimationAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/enableLyricLineSpringAnimationAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.enableLyricLineSpringAnimation", true));
|
|
2606
|
+
/**
|
|
2607
|
+
* 是否显示翻译歌词行
|
|
2608
|
+
*
|
|
2609
|
+
* 性能影响:无
|
|
2610
|
+
* @default true
|
|
2611
|
+
*/
|
|
2612
|
+
enableLyricLineSpringAnimationAtom.debugLabel = "enableLyricLineSpringAnimationAtom";
|
|
2613
|
+
const enableLyricTranslationLineAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/enableLyricTranslationLineAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.enableLyricTranslationLine", true));
|
|
2614
|
+
/**
|
|
2615
|
+
* 是否显示音译歌词行
|
|
2616
|
+
*
|
|
2617
|
+
* 性能影响:无
|
|
2618
|
+
* @default true
|
|
2619
|
+
*/
|
|
2620
|
+
enableLyricTranslationLineAtom.debugLabel = "enableLyricTranslationLineAtom";
|
|
2621
|
+
const enableLyricRomanLineAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/enableLyricRomanLineAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.enableLyricRomanLine", true));
|
|
2622
|
+
/**
|
|
2623
|
+
* 是否交换音译和翻译歌词行的显示位置
|
|
2624
|
+
*
|
|
2625
|
+
* 性能影响:无
|
|
2626
|
+
* @default false
|
|
2627
|
+
*/
|
|
2628
|
+
enableLyricRomanLineAtom.debugLabel = "enableLyricRomanLineAtom";
|
|
2629
|
+
const enableLyricSwapTransRomanLineAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/enableLyricSwapTransRomanLineAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.enableLyricSwapTransRomanLine", false));
|
|
2630
|
+
/**
|
|
2631
|
+
* 调节逐词歌词时单词的渐变过渡宽度,单位为一个全角字的宽度
|
|
2632
|
+
* - 如果要模拟 Apple Music for Android 的效果,可以设置为 1
|
|
2633
|
+
* - 如果要模拟 Apple Music for iPad 的效果,可以设置为 0.5
|
|
2634
|
+
* - 如需关闭逐词歌词时单词的渐变过渡效果,可以设置为 0
|
|
2635
|
+
* @default 0.5
|
|
2636
|
+
*/
|
|
2637
|
+
enableLyricSwapTransRomanLineAtom.debugLabel = "enableLyricSwapTransRomanLineAtom";
|
|
2638
|
+
const lyricWordFadeWidthAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/lyricWordFadeWidthAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.lyricWordFadeWidth", .5));
|
|
2639
|
+
/**
|
|
2640
|
+
* 设置歌词组件的字体家族
|
|
2641
|
+
*
|
|
2642
|
+
* 以逗号分隔的字体名称组合,等同于 CSS 的 font-family 属性
|
|
2643
|
+
* @default ""
|
|
2644
|
+
*/
|
|
2645
|
+
lyricWordFadeWidthAtom.debugLabel = "lyricWordFadeWidthAtom";
|
|
2646
|
+
const lyricFontFamilyAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/lyricFontFamilyAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.lyricFontFamily", ""));
|
|
2647
|
+
/**
|
|
2648
|
+
* 设置歌词组件的字体字重
|
|
2649
|
+
*
|
|
2650
|
+
* 等同于 CSS 的 font-weight 属性
|
|
2651
|
+
* @default 600
|
|
2652
|
+
*/
|
|
2653
|
+
lyricFontFamilyAtom.debugLabel = "lyricFontFamilyAtom";
|
|
2654
|
+
const lyricFontWeightAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/lyricFontWeightAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.lyricFontWeight", 600));
|
|
2655
|
+
/**
|
|
2656
|
+
* 设置歌词组件的字符间距
|
|
2657
|
+
*
|
|
2658
|
+
* 等同于 CSS 的 letter-spacing 属性
|
|
2659
|
+
* @default "normal"
|
|
2660
|
+
*/
|
|
2661
|
+
lyricFontWeightAtom.debugLabel = "lyricFontWeightAtom";
|
|
2662
|
+
const lyricLetterSpacingAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/lyricLetterSpacingAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.lyricLetterSpacing", "normal"));
|
|
2663
|
+
/**
|
|
2664
|
+
* 设置歌词的字体大小
|
|
2665
|
+
* @default LyricSizePreset.Medium
|
|
2666
|
+
*/
|
|
2667
|
+
lyricLetterSpacingAtom.debugLabel = "lyricLetterSpacingAtom";
|
|
2668
|
+
const lyricSizePresetAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/lyricSizePresetAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.lyricSizePreset", LyricSizePreset.Medium));
|
|
2669
|
+
/**
|
|
2670
|
+
* 播放控制组件的显示类型,即歌曲信息下方的组件
|
|
2671
|
+
*/
|
|
2672
|
+
lyricSizePresetAtom.debugLabel = "lyricSizePresetAtom";
|
|
2673
|
+
const playerControlsTypeAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/playerControlsTypeAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.playerControlsType", PlayerControlsType.Controls));
|
|
2674
|
+
/**
|
|
2675
|
+
* 是否显示歌曲名称
|
|
2676
|
+
* @default true
|
|
2677
|
+
*/
|
|
2678
|
+
playerControlsTypeAtom.debugLabel = "playerControlsTypeAtom";
|
|
2679
|
+
const showMusicNameAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/showMusicNameAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.showMusicName", true));
|
|
2680
|
+
/**
|
|
2681
|
+
* 在隐藏歌词的情况下专辑图的布局方式
|
|
2682
|
+
* @default VerticalCoverLayout.Auto
|
|
2683
|
+
*/
|
|
2684
|
+
showMusicNameAtom.debugLabel = "showMusicNameAtom";
|
|
2685
|
+
const verticalCoverLayoutAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/verticalCoverLayoutAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.verticalCoverLayout", VerticalCoverLayout.Auto));
|
|
2686
|
+
/**
|
|
2687
|
+
* 是否显示歌曲作者
|
|
2688
|
+
* @default true
|
|
2689
|
+
*/
|
|
2690
|
+
verticalCoverLayoutAtom.debugLabel = "verticalCoverLayoutAtom";
|
|
2691
|
+
const showMusicArtistsAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/showMusicArtistsAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.showMusicArtists", true));
|
|
2692
|
+
/**
|
|
2693
|
+
* 是否显示歌曲专辑名称
|
|
2694
|
+
*
|
|
2695
|
+
* 如果同时启用三个,布局上可能不太好看,请酌情调节
|
|
2696
|
+
* @default false
|
|
2697
|
+
*/
|
|
2698
|
+
showMusicArtistsAtom.debugLabel = "showMusicArtistsAtom";
|
|
2699
|
+
const showMusicAlbumAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/showMusicAlbumAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.showMusicAlbum", false));
|
|
2700
|
+
/**
|
|
2701
|
+
* 是否显示音量控制条
|
|
2702
|
+
* @default true
|
|
2703
|
+
*/
|
|
2704
|
+
showMusicAlbumAtom.debugLabel = "showMusicAlbumAtom";
|
|
2705
|
+
const showVolumeControlAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/showVolumeControlAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.showVolumeControl", true));
|
|
2706
|
+
/**
|
|
2707
|
+
* 是否显示底部控制按钮组
|
|
2708
|
+
*
|
|
2709
|
+
* 在横向布局里是右下角的几个按钮,在竖向布局里是播放按钮下方的几个按钮
|
|
2710
|
+
* @default true
|
|
2711
|
+
*/
|
|
2712
|
+
showVolumeControlAtom.debugLabel = "showVolumeControlAtom";
|
|
2713
|
+
const showBottomControlAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/showBottomControlAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.showBottomControl", true));
|
|
2714
|
+
showBottomControlAtom.debugLabel = "showBottomControlAtom";
|
|
2715
|
+
const getInitialBackgroundRenderer = () => {
|
|
2716
|
+
switch (localStorage.getItem("amll-react-full.lyricBackgroundRenderer")) {
|
|
2717
|
+
case "pixi": return { renderer: _applemusic_like_lyrics_core.PixiRenderer };
|
|
2718
|
+
case "css-bg": return { renderer: "css-bg" };
|
|
2719
|
+
default: return { renderer: _applemusic_like_lyrics_core.MeshGradientRenderer };
|
|
2720
|
+
}
|
|
2721
|
+
};
|
|
2722
|
+
/**
|
|
2723
|
+
* 配置所使用的歌词背景渲染器
|
|
2724
|
+
*/
|
|
2725
|
+
const lyricBackgroundRendererAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/lyricBackgroundRendererAtom", (0, jotai.atom)(getInitialBackgroundRenderer()));
|
|
2726
|
+
/**
|
|
2727
|
+
* 当背景渲染器设置为纯色或CSS背景时,使用此值
|
|
2728
|
+
* @default "#111111"
|
|
2729
|
+
*/
|
|
2730
|
+
lyricBackgroundRendererAtom.debugLabel = "lyricBackgroundRendererAtom";
|
|
2731
|
+
const cssBackgroundPropertyAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/cssBackgroundPropertyAtom", (0, jotai_utils.atomWithStorage)("amll-player.cssBackgroundProperty", "#111111"));
|
|
2732
|
+
/**
|
|
2733
|
+
* 调节背景的最大渲染帧率,较低的值可以提升性能
|
|
2734
|
+
*
|
|
2735
|
+
* 性能影响:高
|
|
2736
|
+
* @default 60
|
|
2737
|
+
*/
|
|
2738
|
+
cssBackgroundPropertyAtom.debugLabel = "cssBackgroundPropertyAtom";
|
|
2739
|
+
const lyricBackgroundFPSAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/lyricBackgroundFPSAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.lyricBackgroundFPS", 60));
|
|
2740
|
+
/**
|
|
2741
|
+
* 调节背景的渲染倍率,较低的值可以提升性能
|
|
2742
|
+
*
|
|
2743
|
+
* 性能影响:高
|
|
2744
|
+
* @default 1
|
|
2745
|
+
*/
|
|
2746
|
+
lyricBackgroundFPSAtom.debugLabel = "lyricBackgroundFPSAtom";
|
|
2747
|
+
const lyricBackgroundRenderScaleAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/lyricBackgroundRenderScaleAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.lyricBackgroundRenderScale", 1));
|
|
2748
|
+
/**
|
|
2749
|
+
* 是否启用背景静态模式
|
|
2750
|
+
*
|
|
2751
|
+
* 让背景会在除了切换歌曲变换封面的情况下保持静止,如果遇到了性能问题,可以考虑开启此项
|
|
2752
|
+
*
|
|
2753
|
+
* 注意:启用此项会导致背景跳动效果失效
|
|
2754
|
+
* @default false
|
|
2755
|
+
*/
|
|
2756
|
+
lyricBackgroundRenderScaleAtom.debugLabel = "lyricBackgroundRenderScaleAtom";
|
|
2757
|
+
const lyricBackgroundStaticModeAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/lyricBackgroundStaticModeAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.lyricBackgroundStaticMode", false));
|
|
2758
|
+
/**
|
|
2759
|
+
* 控制歌词播放页面是否可见
|
|
2760
|
+
*/
|
|
2761
|
+
lyricBackgroundStaticModeAtom.debugLabel = "lyricBackgroundStaticModeAtom";
|
|
2762
|
+
const isLyricPageOpenedAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/isLyricPageOpenedAtom", (0, jotai.atom)(false));
|
|
2763
|
+
/**
|
|
2764
|
+
* 是否隐藏歌词视图(即使有歌词数据)
|
|
2765
|
+
* @default false
|
|
2766
|
+
*/
|
|
2767
|
+
isLyricPageOpenedAtom.debugLabel = "isLyricPageOpenedAtom";
|
|
2768
|
+
const hideLyricViewAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/hideLyricViewAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.hideLyricView", false));
|
|
2769
|
+
/**
|
|
2770
|
+
* 是否在进度条上显示剩余时间而非当前时间
|
|
2771
|
+
* @default true
|
|
2772
|
+
*/
|
|
2773
|
+
hideLyricViewAtom.debugLabel = "hideLyricViewAtom";
|
|
2774
|
+
const showRemainingTimeAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/showRemainingTimeAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.showRemainingTime", true));
|
|
2775
|
+
/**
|
|
2776
|
+
* 音频可视化频域范围
|
|
2777
|
+
*
|
|
2778
|
+
* 单位为赫兹(hz),此项会影响音频可视化和背景跳动效果的展示效果
|
|
2779
|
+
* @default [80, 2000]
|
|
2780
|
+
*/
|
|
2781
|
+
showRemainingTimeAtom.debugLabel = "showRemainingTimeAtom";
|
|
2782
|
+
const fftDataRangeAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/configAtoms.ts/fftDataRangeAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.fftDataRange", [80, 2e3]));
|
|
2783
|
+
fftDataRangeAtom.debugLabel = "fftDataRangeAtom";
|
|
2784
|
+
//#endregion
|
|
2785
|
+
//#region src/states/controlsAtoms.ts
|
|
2786
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
2787
|
+
cache: /* @__PURE__ */ new Map(),
|
|
2788
|
+
get(name, inst) {
|
|
2789
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
2790
|
+
this.cache.set(name, inst);
|
|
2791
|
+
return inst;
|
|
2792
|
+
}
|
|
2793
|
+
};
|
|
2794
|
+
/**
|
|
2795
|
+
* 重复播放的模式
|
|
2796
|
+
*/
|
|
2797
|
+
let RepeatMode = /* @__PURE__ */ function(RepeatMode) {
|
|
2798
|
+
RepeatMode["Off"] = "off";
|
|
2799
|
+
RepeatMode["One"] = "one";
|
|
2800
|
+
RepeatMode["All"] = "all";
|
|
2801
|
+
return RepeatMode;
|
|
2802
|
+
}({});
|
|
2803
|
+
/**
|
|
2804
|
+
* 随机播放是否开启
|
|
2805
|
+
*/
|
|
2806
|
+
const isShuffleActiveAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/controlsAtoms.ts/isShuffleActiveAtom", (0, jotai.atom)(false));
|
|
2807
|
+
/**
|
|
2808
|
+
* 当前的重复播放模式
|
|
2809
|
+
*/
|
|
2810
|
+
isShuffleActiveAtom.debugLabel = "isShuffleActiveAtom";
|
|
2811
|
+
const repeatModeAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/controlsAtoms.ts/repeatModeAtom", (0, jotai.atom)(RepeatMode.Off));
|
|
2812
|
+
/**
|
|
2813
|
+
* 随机按钮是否可用
|
|
2814
|
+
*/
|
|
2815
|
+
repeatModeAtom.debugLabel = "repeatModeAtom";
|
|
2816
|
+
const isShuffleEnabledAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/controlsAtoms.ts/isShuffleEnabledAtom", (0, jotai.atom)(true));
|
|
2817
|
+
/**
|
|
2818
|
+
* 重复按钮是否可用
|
|
2819
|
+
*/
|
|
2820
|
+
isShuffleEnabledAtom.debugLabel = "isShuffleEnabledAtom";
|
|
2821
|
+
const isRepeatEnabledAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/controlsAtoms.ts/isRepeatEnabledAtom", (0, jotai.atom)(true));
|
|
2822
|
+
/**
|
|
2823
|
+
* 切换随机播放模式的动作
|
|
2824
|
+
*/
|
|
2825
|
+
isRepeatEnabledAtom.debugLabel = "isRepeatEnabledAtom";
|
|
2826
|
+
const toggleShuffleActionAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/controlsAtoms.ts/toggleShuffleActionAtom", (0, jotai.atom)(null, (get) => {
|
|
2827
|
+
get(onToggleShuffleAtom).onEmit?.();
|
|
2828
|
+
}));
|
|
2829
|
+
/**
|
|
2830
|
+
* 切换循环播放模式的动作
|
|
2831
|
+
*/
|
|
2832
|
+
toggleShuffleActionAtom.debugLabel = "toggleShuffleActionAtom";
|
|
2833
|
+
const cycleRepeatModeActionAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/controlsAtoms.ts/cycleRepeatModeActionAtom", (0, jotai.atom)(null, (get) => {
|
|
2834
|
+
get(onCycleRepeatModeAtom).onEmit?.();
|
|
2835
|
+
}));
|
|
2836
|
+
cycleRepeatModeActionAtom.debugLabel = "cycleRepeatModeActionAtom";
|
|
2837
|
+
//#endregion
|
|
2838
|
+
//#region src/states/dataAtoms.ts
|
|
2839
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
2840
|
+
cache: /* @__PURE__ */ new Map(),
|
|
2841
|
+
get(name, inst) {
|
|
2842
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
2843
|
+
this.cache.set(name, inst);
|
|
2844
|
+
return inst;
|
|
2845
|
+
}
|
|
2846
|
+
};
|
|
2847
|
+
/**
|
|
2848
|
+
* 音频质量的类型枚举
|
|
2849
|
+
*/
|
|
2850
|
+
let AudioQualityType = /* @__PURE__ */ function(AudioQualityType) {
|
|
2851
|
+
AudioQualityType["None"] = "none";
|
|
2852
|
+
AudioQualityType["Standard"] = "standard";
|
|
2853
|
+
AudioQualityType["Lossless"] = "lossless";
|
|
2854
|
+
AudioQualityType["HiResLossless"] = "hi-res-lossless";
|
|
2855
|
+
AudioQualityType["DolbyAtmos"] = "dolby-atmos";
|
|
2856
|
+
return AudioQualityType;
|
|
2857
|
+
}({});
|
|
2858
|
+
/**
|
|
2859
|
+
* 当前播放歌曲的 ID
|
|
2860
|
+
*/
|
|
2861
|
+
const musicIdAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicIdAtom", (0, jotai.atom)(""));
|
|
2862
|
+
/**
|
|
2863
|
+
* 当前播放的音乐名称
|
|
2864
|
+
*/
|
|
2865
|
+
musicIdAtom.debugLabel = "musicIdAtom";
|
|
2866
|
+
const musicNameAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicNameAtom", (0, jotai.atom)("未知歌曲"));
|
|
2867
|
+
/**
|
|
2868
|
+
* 当前播放的音乐创作者列表
|
|
2869
|
+
*/
|
|
2870
|
+
musicNameAtom.debugLabel = "musicNameAtom";
|
|
2871
|
+
const musicArtistsAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicArtistsAtom", (0, jotai.atom)([{
|
|
2872
|
+
name: "未知创作者",
|
|
2873
|
+
id: "unknown"
|
|
2874
|
+
}]));
|
|
2875
|
+
/**
|
|
2876
|
+
* 当前播放的音乐所属专辑名称
|
|
2877
|
+
*/
|
|
2878
|
+
musicArtistsAtom.debugLabel = "musicArtistsAtom";
|
|
2879
|
+
const musicAlbumNameAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicAlbumNameAtom", (0, jotai.atom)("未知专辑"));
|
|
2880
|
+
/**
|
|
2881
|
+
* 当前播放的音乐专辑封面 URL
|
|
2882
|
+
*
|
|
2883
|
+
* 除了图片也可以是视频资源
|
|
2884
|
+
*/
|
|
2885
|
+
musicAlbumNameAtom.debugLabel = "musicAlbumNameAtom";
|
|
2886
|
+
const musicCoverAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicCoverAtom", (0, jotai.atom)(""));
|
|
2887
|
+
/**
|
|
2888
|
+
* 当前播放的音乐专辑封面资源是否为视频
|
|
2889
|
+
*/
|
|
2890
|
+
musicCoverAtom.debugLabel = "musicCoverAtom";
|
|
2891
|
+
const musicCoverIsVideoAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicCoverIsVideoAtom", (0, jotai.atom)(false));
|
|
2892
|
+
/**
|
|
2893
|
+
* 当前音乐的总时长,单位为毫秒
|
|
2894
|
+
*/
|
|
2895
|
+
musicCoverIsVideoAtom.debugLabel = "musicCoverIsVideoAtom";
|
|
2896
|
+
const musicDurationAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicDurationAtom", (0, jotai.atom)(0));
|
|
2897
|
+
/**
|
|
2898
|
+
* 当前音乐是否正在播放
|
|
2899
|
+
*/
|
|
2900
|
+
musicDurationAtom.debugLabel = "musicDurationAtom";
|
|
2901
|
+
const musicPlayingAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicPlayingAtom", (0, jotai.atom)(false));
|
|
2902
|
+
/**
|
|
2903
|
+
* 当前音乐的播放进度,单位为毫秒
|
|
2904
|
+
*/
|
|
2905
|
+
musicPlayingAtom.debugLabel = "musicPlayingAtom";
|
|
2906
|
+
const musicPlayingPositionAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicPlayingPositionAtom", (0, jotai.atom)(0));
|
|
2907
|
+
/**
|
|
2908
|
+
* 当前播放的音乐音量大小,范围在 [0.0-1.0] 之间
|
|
2909
|
+
*/
|
|
2910
|
+
musicPlayingPositionAtom.debugLabel = "musicPlayingPositionAtom";
|
|
2911
|
+
const musicVolumeAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicVolumeAtom", (0, jotai_utils.atomWithStorage)("amll-react-full.musicVolumeAtom", .5, void 0, { getOnInit: true }));
|
|
2912
|
+
/**
|
|
2913
|
+
* 当前播放的音乐的歌词数据
|
|
2914
|
+
*/
|
|
2915
|
+
musicVolumeAtom.debugLabel = "musicVolumeAtom";
|
|
2916
|
+
const musicLyricLinesAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicLyricLinesAtom", (0, jotai.atom)([]));
|
|
2917
|
+
/**
|
|
2918
|
+
* 当前音乐的音质信息
|
|
2919
|
+
*/
|
|
2920
|
+
musicLyricLinesAtom.debugLabel = "musicLyricLinesAtom";
|
|
2921
|
+
const musicQualityAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicQualityAtom", (0, jotai.atom)({
|
|
2922
|
+
type: AudioQualityType.None,
|
|
2923
|
+
codec: "unknown",
|
|
2924
|
+
channels: 2,
|
|
2925
|
+
sampleRate: 44100,
|
|
2926
|
+
sampleFormat: "s16"
|
|
2927
|
+
}));
|
|
2928
|
+
/**
|
|
2929
|
+
* 根据音质信息生成的、用于UI展示的标签内容
|
|
2930
|
+
*
|
|
2931
|
+
* 如果为 null 则不显示标签
|
|
2932
|
+
*/
|
|
2933
|
+
musicQualityAtom.debugLabel = "musicQualityAtom";
|
|
2934
|
+
const musicQualityTagAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/musicQualityTagAtom", (0, jotai.atom)(null));
|
|
2935
|
+
/**
|
|
2936
|
+
* 用于音频可视化频谱图的实时频域数据
|
|
2937
|
+
*/
|
|
2938
|
+
musicQualityTagAtom.debugLabel = "musicQualityTagAtom";
|
|
2939
|
+
const fftDataAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/fftDataAtom", (0, jotai.atom)([]));
|
|
2940
|
+
/**
|
|
2941
|
+
* 设置低频的音量大小,范围在 80hz-120hz 之间为宜,取值范围在 0.0-1.0 之间。
|
|
2942
|
+
*
|
|
2943
|
+
* 部分渲染器会根据音量大小调整背景效果(例如根据鼓点跳动)。如果无法获取到类似的数据,请传入 1.0 作为默认值,或不做任何处理。
|
|
2944
|
+
*/
|
|
2945
|
+
fftDataAtom.debugLabel = "fftDataAtom";
|
|
2946
|
+
const lowFreqVolumeAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/states/dataAtoms.ts/lowFreqVolumeAtom", (0, jotai.atom)(1));
|
|
2947
|
+
lowFreqVolumeAtom.debugLabel = "lowFreqVolumeAtom";
|
|
2948
|
+
//#endregion
|
|
2949
|
+
//#region src/components/PrebuiltLyricPlayer/index.module.css
|
|
2950
|
+
var index_module_default = {
|
|
2951
|
+
"autoLyricLayout": "UjzbJG_autoLyricLayout",
|
|
2952
|
+
"bigControls": "UjzbJG_bigControls",
|
|
2953
|
+
"bigMusicInfo": "UjzbJG_bigMusicInfo",
|
|
2954
|
+
"bigVolumeControl": "UjzbJG_bigVolumeControl",
|
|
2955
|
+
"controls": "UjzbJG_controls",
|
|
2956
|
+
"hideLyric": "UjzbJG_hideLyric",
|
|
2957
|
+
"horizontalControls": "UjzbJG_horizontalControls",
|
|
2958
|
+
"progressBarLabels": "UjzbJG_progressBarLabels",
|
|
2959
|
+
"qualityTag": "UjzbJG_qualityTag",
|
|
2960
|
+
"smallMusicInfo": "UjzbJG_smallMusicInfo",
|
|
2961
|
+
"songMediaButton": "UjzbJG_songMediaButton",
|
|
2962
|
+
"songMediaPlayButton": "UjzbJG_songMediaPlayButton"
|
|
2963
|
+
};
|
|
2964
|
+
//#endregion
|
|
2965
|
+
//#region src/components/PrebuiltLyricPlayer/index.tsx
|
|
2966
|
+
/**
|
|
2967
|
+
* @fileoverview
|
|
2968
|
+
* 已经部署好所有组件的歌词播放器组件,在正确设置所有的 Jotai 状态后可以开箱即用
|
|
2969
|
+
*/
|
|
2970
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
2971
|
+
cache: /* @__PURE__ */ new Map(),
|
|
2972
|
+
get(name, inst) {
|
|
2973
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
2974
|
+
this.cache.set(name, inst);
|
|
2975
|
+
return inst;
|
|
2976
|
+
}
|
|
2977
|
+
};
|
|
2978
|
+
const PrebuiltMusicInfo = (t0) => {
|
|
2979
|
+
const $ = (0, react_compiler_runtime.c)(15);
|
|
2980
|
+
const { className, style } = t0;
|
|
2981
|
+
const musicName = (0, jotai.useAtomValue)(musicNameAtom);
|
|
2982
|
+
const musicArtists = (0, jotai.useAtomValue)(musicArtistsAtom);
|
|
2983
|
+
const musicAlbum = (0, jotai.useAtomValue)(musicAlbumNameAtom);
|
|
2984
|
+
const onMenuClicked = (0, jotai.useAtomValue)(onRequestOpenMenuAtom).onEmit;
|
|
2985
|
+
const showMusicName = (0, jotai.useAtomValue)(showMusicNameAtom);
|
|
2986
|
+
const showMusicArtists = (0, jotai.useAtomValue)(showMusicArtistsAtom);
|
|
2987
|
+
const showMusicAlbum = (0, jotai.useAtomValue)(showMusicAlbumAtom);
|
|
2988
|
+
const fontFamily = (0, jotai.useAtomValue)(lyricFontFamilyAtom);
|
|
2989
|
+
const fontWeight = (0, jotai.useAtomValue)(lyricFontWeightAtom);
|
|
2990
|
+
const letterSpacing = (0, jotai.useAtomValue)(lyricLetterSpacingAtom);
|
|
2991
|
+
const t1 = fontFamily || void 0;
|
|
2992
|
+
const t2 = fontWeight || void 0;
|
|
2993
|
+
const t3 = letterSpacing || void 0;
|
|
2994
|
+
let t4;
|
|
2995
|
+
if ($[0] !== style || $[1] !== t1 || $[2] !== t2 || $[3] !== t3) {
|
|
2996
|
+
t4 = {
|
|
2997
|
+
...style,
|
|
2998
|
+
fontFamily: t1,
|
|
2999
|
+
fontWeight: t2,
|
|
3000
|
+
letterSpacing: t3
|
|
3001
|
+
};
|
|
3002
|
+
$[0] = style;
|
|
3003
|
+
$[1] = t1;
|
|
3004
|
+
$[2] = t2;
|
|
3005
|
+
$[3] = t3;
|
|
3006
|
+
$[4] = t4;
|
|
3007
|
+
} else t4 = $[4];
|
|
3008
|
+
const combinedStyle = t4;
|
|
3009
|
+
const t5 = showMusicName ? musicName : void 0;
|
|
3010
|
+
let t6;
|
|
3011
|
+
if ($[5] !== musicArtists || $[6] !== showMusicArtists) {
|
|
3012
|
+
t6 = showMusicArtists ? musicArtists.map(_temp) : void 0;
|
|
3013
|
+
$[5] = musicArtists;
|
|
3014
|
+
$[6] = showMusicArtists;
|
|
3015
|
+
$[7] = t6;
|
|
3016
|
+
} else t6 = $[7];
|
|
3017
|
+
const t7 = showMusicAlbum ? musicAlbum : void 0;
|
|
3018
|
+
let t8;
|
|
3019
|
+
if ($[8] !== className || $[9] !== combinedStyle || $[10] !== onMenuClicked || $[11] !== t5 || $[12] !== t6 || $[13] !== t7) {
|
|
3020
|
+
t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MusicInfo, {
|
|
3021
|
+
className,
|
|
3022
|
+
style: combinedStyle,
|
|
3023
|
+
name: t5,
|
|
3024
|
+
artists: t6,
|
|
3025
|
+
album: t7,
|
|
3026
|
+
onMenuButtonClicked: onMenuClicked
|
|
3027
|
+
});
|
|
3028
|
+
$[8] = className;
|
|
3029
|
+
$[9] = combinedStyle;
|
|
3030
|
+
$[10] = onMenuClicked;
|
|
3031
|
+
$[11] = t5;
|
|
3032
|
+
$[12] = t6;
|
|
3033
|
+
$[13] = t7;
|
|
3034
|
+
$[14] = t8;
|
|
3035
|
+
} else t8 = $[14];
|
|
3036
|
+
return t8;
|
|
3037
|
+
};
|
|
3038
|
+
const PrebuiltMediaButtons = (t0) => {
|
|
3039
|
+
const $ = (0, react_compiler_runtime.c)(28);
|
|
3040
|
+
const { showOtherButtons } = t0;
|
|
3041
|
+
const musicIsPlaying = (0, jotai.useAtomValue)(musicPlayingAtom);
|
|
3042
|
+
const onRequestPrevSong = (0, jotai.useAtomValue)(onRequestPrevSongAtom).onEmit;
|
|
3043
|
+
const onRequestNextSong = (0, jotai.useAtomValue)(onRequestNextSongAtom).onEmit;
|
|
3044
|
+
const onPlayOrResume = (0, jotai.useAtomValue)(onPlayOrResumeAtom).onEmit;
|
|
3045
|
+
const isShuffleOn = (0, jotai.useAtomValue)(isShuffleActiveAtom);
|
|
3046
|
+
const currentRepeatMode = (0, jotai.useAtomValue)(repeatModeAtom);
|
|
3047
|
+
const toggleShuffle = (0, jotai.useSetAtom)(toggleShuffleActionAtom);
|
|
3048
|
+
const cycleRepeat = (0, jotai.useSetAtom)(cycleRepeatModeActionAtom);
|
|
3049
|
+
let t1;
|
|
3050
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
3051
|
+
t1 = {
|
|
3052
|
+
width: "1.3em",
|
|
3053
|
+
height: "1.3em"
|
|
3054
|
+
};
|
|
3055
|
+
$[0] = t1;
|
|
3056
|
+
} else t1 = $[0];
|
|
3057
|
+
const iconStyle = t1;
|
|
3058
|
+
let t2;
|
|
3059
|
+
if ($[1] !== currentRepeatMode) {
|
|
3060
|
+
t2 = () => {
|
|
3061
|
+
switch (currentRepeatMode) {
|
|
3062
|
+
case RepeatMode.One: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$2, {
|
|
3063
|
+
color: "#ffffffff",
|
|
3064
|
+
style: iconStyle
|
|
3065
|
+
});
|
|
3066
|
+
case RepeatMode.All: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$3, {
|
|
3067
|
+
color: "#ffffffff",
|
|
3068
|
+
style: iconStyle
|
|
3069
|
+
});
|
|
3070
|
+
default: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$4, {
|
|
3071
|
+
color: "#ffffffff",
|
|
3072
|
+
style: iconStyle
|
|
3073
|
+
});
|
|
3074
|
+
}
|
|
3075
|
+
};
|
|
3076
|
+
$[1] = currentRepeatMode;
|
|
3077
|
+
$[2] = t2;
|
|
3078
|
+
} else t2 = $[2];
|
|
3079
|
+
const renderRepeatIcon = t2;
|
|
3080
|
+
let t3;
|
|
3081
|
+
if ($[3] !== isShuffleOn || $[4] !== showOtherButtons || $[5] !== toggleShuffle) {
|
|
3082
|
+
t3 = showOtherButtons && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MediaButton, {
|
|
3083
|
+
className: index_module_default.songMediaButton,
|
|
3084
|
+
onClick: toggleShuffle,
|
|
3085
|
+
children: isShuffleOn ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef, {
|
|
3086
|
+
color: "#ffffffff",
|
|
3087
|
+
style: iconStyle
|
|
3088
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$1, {
|
|
3089
|
+
color: "#ffffffff",
|
|
3090
|
+
style: iconStyle
|
|
3091
|
+
})
|
|
3092
|
+
});
|
|
3093
|
+
$[3] = isShuffleOn;
|
|
3094
|
+
$[4] = showOtherButtons;
|
|
3095
|
+
$[5] = toggleShuffle;
|
|
3096
|
+
$[6] = t3;
|
|
3097
|
+
} else t3 = $[6];
|
|
3098
|
+
let t4;
|
|
3099
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
3100
|
+
t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$5, { color: "#FFFFFF" });
|
|
3101
|
+
$[7] = t4;
|
|
3102
|
+
} else t4 = $[7];
|
|
3103
|
+
let t5;
|
|
3104
|
+
if ($[8] !== onRequestPrevSong) {
|
|
3105
|
+
t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MediaButton, {
|
|
3106
|
+
className: index_module_default.songMediaButton,
|
|
3107
|
+
onClick: onRequestPrevSong,
|
|
3108
|
+
children: t4
|
|
3109
|
+
});
|
|
3110
|
+
$[8] = onRequestPrevSong;
|
|
3111
|
+
$[9] = t5;
|
|
3112
|
+
} else t5 = $[9];
|
|
3113
|
+
let t6;
|
|
3114
|
+
if ($[10] !== musicIsPlaying) {
|
|
3115
|
+
t6 = musicIsPlaying ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$7, { color: "#FFFFFF" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$6, { color: "#FFFFFF" });
|
|
3116
|
+
$[10] = musicIsPlaying;
|
|
3117
|
+
$[11] = t6;
|
|
3118
|
+
} else t6 = $[11];
|
|
3119
|
+
let t7;
|
|
3120
|
+
if ($[12] !== onPlayOrResume || $[13] !== t6) {
|
|
3121
|
+
t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MediaButton, {
|
|
3122
|
+
className: index_module_default.songMediaPlayButton,
|
|
3123
|
+
onClick: onPlayOrResume,
|
|
3124
|
+
children: t6
|
|
3125
|
+
});
|
|
3126
|
+
$[12] = onPlayOrResume;
|
|
3127
|
+
$[13] = t6;
|
|
3128
|
+
$[14] = t7;
|
|
3129
|
+
} else t7 = $[14];
|
|
3130
|
+
let t8;
|
|
3131
|
+
if ($[15] === Symbol.for("react.memo_cache_sentinel")) {
|
|
3132
|
+
t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$8, { color: "#FFFFFF" });
|
|
3133
|
+
$[15] = t8;
|
|
3134
|
+
} else t8 = $[15];
|
|
3135
|
+
let t9;
|
|
3136
|
+
if ($[16] !== onRequestNextSong) {
|
|
3137
|
+
t9 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MediaButton, {
|
|
3138
|
+
className: index_module_default.songMediaButton,
|
|
3139
|
+
onClick: onRequestNextSong,
|
|
3140
|
+
children: t8
|
|
3141
|
+
});
|
|
3142
|
+
$[16] = onRequestNextSong;
|
|
3143
|
+
$[17] = t9;
|
|
3144
|
+
} else t9 = $[17];
|
|
3145
|
+
let t10;
|
|
3146
|
+
if ($[18] !== cycleRepeat || $[19] !== renderRepeatIcon || $[20] !== showOtherButtons) {
|
|
3147
|
+
t10 = showOtherButtons && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MediaButton, {
|
|
3148
|
+
className: index_module_default.songMediaButton,
|
|
3149
|
+
onClick: cycleRepeat,
|
|
3150
|
+
children: renderRepeatIcon()
|
|
3151
|
+
});
|
|
3152
|
+
$[18] = cycleRepeat;
|
|
3153
|
+
$[19] = renderRepeatIcon;
|
|
3154
|
+
$[20] = showOtherButtons;
|
|
3155
|
+
$[21] = t10;
|
|
3156
|
+
} else t10 = $[21];
|
|
3157
|
+
let t11;
|
|
3158
|
+
if ($[22] !== t10 || $[23] !== t3 || $[24] !== t5 || $[25] !== t7 || $[26] !== t9) {
|
|
3159
|
+
t11 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
3160
|
+
t3,
|
|
3161
|
+
t5,
|
|
3162
|
+
t7,
|
|
3163
|
+
t9,
|
|
3164
|
+
t10
|
|
3165
|
+
] });
|
|
3166
|
+
$[22] = t10;
|
|
3167
|
+
$[23] = t3;
|
|
3168
|
+
$[24] = t5;
|
|
3169
|
+
$[25] = t7;
|
|
3170
|
+
$[26] = t9;
|
|
3171
|
+
$[27] = t11;
|
|
3172
|
+
} else t11 = $[27];
|
|
3173
|
+
return t11;
|
|
3174
|
+
};
|
|
3175
|
+
const TimeLabel = (t0) => {
|
|
3176
|
+
const $ = (0, react_compiler_runtime.c)(4);
|
|
3177
|
+
const { isRemaining } = t0;
|
|
3178
|
+
const currentPosition = (0, jotai.useAtomValue)(musicPlayingPositionAtom);
|
|
3179
|
+
const duration = (0, jotai.useAtomValue)(musicDurationAtom);
|
|
3180
|
+
const t1 = isRemaining ? (currentPosition - duration) / 1e3 : currentPosition / 1e3;
|
|
3181
|
+
let t2;
|
|
3182
|
+
if ($[0] !== t1) {
|
|
3183
|
+
t2 = toDuration(t1);
|
|
3184
|
+
$[0] = t1;
|
|
3185
|
+
$[1] = t2;
|
|
3186
|
+
} else t2 = $[1];
|
|
3187
|
+
const time = t2;
|
|
3188
|
+
let t3;
|
|
3189
|
+
if ($[2] !== time) {
|
|
3190
|
+
t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: time });
|
|
3191
|
+
$[2] = time;
|
|
3192
|
+
$[3] = t3;
|
|
3193
|
+
} else t3 = $[3];
|
|
3194
|
+
return t3;
|
|
3195
|
+
};
|
|
3196
|
+
const TotalDurationLabel = () => {
|
|
3197
|
+
const $ = (0, react_compiler_runtime.c)(4);
|
|
3198
|
+
const t0 = (0, jotai.useAtomValue)(musicDurationAtom) / 1e3;
|
|
3199
|
+
let t1;
|
|
3200
|
+
if ($[0] !== t0) {
|
|
3201
|
+
t1 = toDuration(t0);
|
|
3202
|
+
$[0] = t0;
|
|
3203
|
+
$[1] = t1;
|
|
3204
|
+
} else t1 = $[1];
|
|
3205
|
+
const time = t1;
|
|
3206
|
+
let t2;
|
|
3207
|
+
if ($[2] !== time) {
|
|
3208
|
+
t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: time });
|
|
3209
|
+
$[2] = time;
|
|
3210
|
+
$[3] = t2;
|
|
3211
|
+
} else t2 = $[3];
|
|
3212
|
+
return t2;
|
|
3213
|
+
};
|
|
3214
|
+
const manualSeekTriggerAtom = globalThis.jotaiAtomCache.get("/home/runner/work/applemusic-like-lyrics/applemusic-like-lyrics/packages/react-full/src/components/PrebuiltLyricPlayer/index.tsx/manualSeekTriggerAtom", (0, jotai.atom)(null));
|
|
3215
|
+
manualSeekTriggerAtom.debugLabel = "manualSeekTriggerAtom";
|
|
3216
|
+
const PrebuiltProgressBar = react.default.memo(() => {
|
|
3217
|
+
const $ = (0, react_compiler_runtime.c)(38);
|
|
3218
|
+
const musicDuration = (0, jotai.useAtomValue)(musicDurationAtom);
|
|
3219
|
+
const musicPosition = (0, jotai.useAtomValue)(musicPlayingPositionAtom);
|
|
3220
|
+
const musicIsPlaying = (0, jotai.useAtomValue)(musicPlayingAtom);
|
|
3221
|
+
const musicQualityTag = (0, jotai.useAtomValue)(musicQualityTagAtom);
|
|
3222
|
+
const onClickAudioQualityTag = (0, jotai.useAtomValue)(onClickAudioQualityTagAtom).onEmit;
|
|
3223
|
+
const onSeekPosition = (0, jotai.useAtomValue)(onSeekPositionAtom).onEmit;
|
|
3224
|
+
const setManualSeekTrigger = (0, jotai.useSetAtom)(manualSeekTriggerAtom);
|
|
3225
|
+
const [showRemaining, setShowRemaining] = (0, jotai.useAtom)(showRemainingTimeAtom);
|
|
3226
|
+
const fontFamily = (0, jotai.useAtomValue)(lyricFontFamilyAtom);
|
|
3227
|
+
const fontWeight = (0, jotai.useAtomValue)(lyricFontWeightAtom);
|
|
3228
|
+
const letterSpacing = (0, jotai.useAtomValue)(lyricLetterSpacingAtom);
|
|
3229
|
+
const t0 = fontFamily || void 0;
|
|
3230
|
+
const t1 = fontWeight || void 0;
|
|
3231
|
+
const t2 = letterSpacing || void 0;
|
|
3232
|
+
let t3;
|
|
3233
|
+
if ($[0] !== t0 || $[1] !== t1 || $[2] !== t2) {
|
|
3234
|
+
t3 = {
|
|
3235
|
+
fontFamily: t0,
|
|
3236
|
+
fontWeight: t1,
|
|
3237
|
+
letterSpacing: t2
|
|
3238
|
+
};
|
|
3239
|
+
$[0] = t0;
|
|
3240
|
+
$[1] = t1;
|
|
3241
|
+
$[2] = t2;
|
|
3242
|
+
$[3] = t3;
|
|
3243
|
+
} else t3 = $[3];
|
|
3244
|
+
const fontStyle = t3;
|
|
3245
|
+
let t4;
|
|
3246
|
+
if ($[4] !== onSeekPosition || $[5] !== setManualSeekTrigger) {
|
|
3247
|
+
t4 = (position) => {
|
|
3248
|
+
onSeekPosition?.(position);
|
|
3249
|
+
setManualSeekTrigger({
|
|
3250
|
+
time: position,
|
|
3251
|
+
timestamp: Date.now()
|
|
3252
|
+
});
|
|
3253
|
+
};
|
|
3254
|
+
$[4] = onSeekPosition;
|
|
3255
|
+
$[5] = setManualSeekTrigger;
|
|
3256
|
+
$[6] = t4;
|
|
3257
|
+
} else t4 = $[6];
|
|
3258
|
+
const handleSeek = t4;
|
|
3259
|
+
let t5;
|
|
3260
|
+
if ($[7] !== handleSeek || $[8] !== musicDuration || $[9] !== musicIsPlaying || $[10] !== musicPosition) {
|
|
3261
|
+
t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BouncingSlider, {
|
|
3262
|
+
isPlaying: musicIsPlaying,
|
|
3263
|
+
min: 0,
|
|
3264
|
+
max: musicDuration,
|
|
3265
|
+
value: musicPosition,
|
|
3266
|
+
onChange: handleSeek
|
|
3267
|
+
});
|
|
3268
|
+
$[7] = handleSeek;
|
|
3269
|
+
$[8] = musicDuration;
|
|
3270
|
+
$[9] = musicIsPlaying;
|
|
3271
|
+
$[10] = musicPosition;
|
|
3272
|
+
$[11] = t5;
|
|
3273
|
+
} else t5 = $[11];
|
|
3274
|
+
let t6;
|
|
3275
|
+
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
3276
|
+
t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TimeLabel, {});
|
|
3277
|
+
$[12] = t6;
|
|
3278
|
+
} else t6 = $[12];
|
|
3279
|
+
let t7;
|
|
3280
|
+
if ($[13] !== fontStyle) {
|
|
3281
|
+
t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
3282
|
+
style: fontStyle,
|
|
3283
|
+
children: t6
|
|
3284
|
+
});
|
|
3285
|
+
$[13] = fontStyle;
|
|
3286
|
+
$[14] = t7;
|
|
3287
|
+
} else t7 = $[14];
|
|
3288
|
+
let t8;
|
|
3289
|
+
if ($[15] !== musicQualityTag || $[16] !== onClickAudioQualityTag) {
|
|
3290
|
+
t8 = musicQualityTag && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AudioQualityTag, {
|
|
3291
|
+
className: index_module_default.qualityTag,
|
|
3292
|
+
isDolbyAtmos: musicQualityTag.isDolbyAtmos,
|
|
3293
|
+
tagText: musicQualityTag.tagText,
|
|
3294
|
+
tagIcon: musicQualityTag.tagIcon,
|
|
3295
|
+
onClick: onClickAudioQualityTag
|
|
3296
|
+
});
|
|
3297
|
+
$[15] = musicQualityTag;
|
|
3298
|
+
$[16] = onClickAudioQualityTag;
|
|
3299
|
+
$[17] = t8;
|
|
3300
|
+
} else t8 = $[17];
|
|
3301
|
+
let t9;
|
|
3302
|
+
if ($[18] !== t8) {
|
|
3303
|
+
t9 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.AnimatePresence, {
|
|
3304
|
+
mode: "popLayout",
|
|
3305
|
+
children: t8
|
|
3306
|
+
}) });
|
|
3307
|
+
$[18] = t8;
|
|
3308
|
+
$[19] = t9;
|
|
3309
|
+
} else t9 = $[19];
|
|
3310
|
+
let t10;
|
|
3311
|
+
if ($[20] !== fontStyle) {
|
|
3312
|
+
t10 = {
|
|
3313
|
+
...fontStyle,
|
|
3314
|
+
cursor: "pointer",
|
|
3315
|
+
userSelect: "none"
|
|
3316
|
+
};
|
|
3317
|
+
$[20] = fontStyle;
|
|
3318
|
+
$[21] = t10;
|
|
3319
|
+
} else t10 = $[21];
|
|
3320
|
+
let t11;
|
|
3321
|
+
if ($[22] !== setShowRemaining || $[23] !== showRemaining) {
|
|
3322
|
+
t11 = () => setShowRemaining(!showRemaining);
|
|
3323
|
+
$[22] = setShowRemaining;
|
|
3324
|
+
$[23] = showRemaining;
|
|
3325
|
+
$[24] = t11;
|
|
3326
|
+
} else t11 = $[24];
|
|
3327
|
+
let t12;
|
|
3328
|
+
if ($[25] !== showRemaining) {
|
|
3329
|
+
t12 = showRemaining ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TimeLabel, { isRemaining: true }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TotalDurationLabel, {});
|
|
3330
|
+
$[25] = showRemaining;
|
|
3331
|
+
$[26] = t12;
|
|
3332
|
+
} else t12 = $[26];
|
|
3333
|
+
let t13;
|
|
3334
|
+
if ($[27] !== t10 || $[28] !== t11 || $[29] !== t12) {
|
|
3335
|
+
t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
3336
|
+
style: t10,
|
|
3337
|
+
onClick: t11,
|
|
3338
|
+
children: t12
|
|
3339
|
+
});
|
|
3340
|
+
$[27] = t10;
|
|
3341
|
+
$[28] = t11;
|
|
3342
|
+
$[29] = t12;
|
|
3343
|
+
$[30] = t13;
|
|
3344
|
+
} else t13 = $[30];
|
|
3345
|
+
let t14;
|
|
3346
|
+
if ($[31] !== t13 || $[32] !== t7 || $[33] !== t9) {
|
|
3347
|
+
t14 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
3348
|
+
className: index_module_default.progressBarLabels,
|
|
3349
|
+
children: [
|
|
3350
|
+
t7,
|
|
3351
|
+
t9,
|
|
3352
|
+
t13
|
|
3353
|
+
]
|
|
3354
|
+
});
|
|
3355
|
+
$[31] = t13;
|
|
3356
|
+
$[32] = t7;
|
|
3357
|
+
$[33] = t9;
|
|
3358
|
+
$[34] = t14;
|
|
3359
|
+
} else t14 = $[34];
|
|
3360
|
+
let t15;
|
|
3361
|
+
if ($[35] !== t14 || $[36] !== t5) {
|
|
3362
|
+
t15 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [t5, t14] });
|
|
3363
|
+
$[35] = t14;
|
|
3364
|
+
$[36] = t5;
|
|
3365
|
+
$[37] = t15;
|
|
3366
|
+
} else t15 = $[37];
|
|
3367
|
+
return t15;
|
|
3368
|
+
});
|
|
3369
|
+
function getLyricFontSizeFromPreset(preset) {
|
|
3370
|
+
switch (preset) {
|
|
3371
|
+
case LyricSizePreset.Tiny: return "max(max(2.5vh, 1.25vw), 10px)";
|
|
3372
|
+
case LyricSizePreset.ExtraSmall: return "max(max(3vh, 1.5vw), 10px)";
|
|
3373
|
+
case LyricSizePreset.Small: return "max(max(4vh, 2vw), 12px)";
|
|
3374
|
+
case LyricSizePreset.Large: return "max(max(6vh, 3vw), 16px)";
|
|
3375
|
+
case LyricSizePreset.ExtraLarge: return "max(max(7vh, 3.5vw), 18px)";
|
|
3376
|
+
case LyricSizePreset.Huge: return "max(max(8vh, 4vw), 20px)";
|
|
3377
|
+
default: return "max(max(5vh, 2.5vw), 14px)";
|
|
3378
|
+
}
|
|
3379
|
+
}
|
|
3380
|
+
const PrebuiltCoreLyricPlayer = (t0) => {
|
|
3381
|
+
const $ = (0, react_compiler_runtime.c)(35);
|
|
3382
|
+
const { alignPosition, alignAnchor, bottomLine } = t0;
|
|
3383
|
+
const amllPlayerRef = (0, react.useRef)(null);
|
|
3384
|
+
const musicIsPlaying = (0, jotai.useAtomValue)(musicPlayingAtom);
|
|
3385
|
+
const lyricLines = (0, jotai.useAtomValue)(musicLyricLinesAtom);
|
|
3386
|
+
const isLyricPageOpened = (0, jotai.useAtomValue)(isLyricPageOpenedAtom);
|
|
3387
|
+
const musicPlayingPosition = (0, jotai.useAtomValue)(musicPlayingPositionAtom);
|
|
3388
|
+
const lyricFontFamily = (0, jotai.useAtomValue)(lyricFontFamilyAtom);
|
|
3389
|
+
const lyricFontWeight = (0, jotai.useAtomValue)(lyricFontWeightAtom);
|
|
3390
|
+
const lyricLetterSpacing = (0, jotai.useAtomValue)(lyricLetterSpacingAtom);
|
|
3391
|
+
const lyricSizePreset = (0, jotai.useAtomValue)(lyricSizePresetAtom);
|
|
3392
|
+
const lyricPlayerImplementation = (0, jotai.useAtomValue)(lyricPlayerImplementationAtom).lyricPlayer;
|
|
3393
|
+
const enableLyricLineBlurEffect = (0, jotai.useAtomValue)(enableLyricLineBlurEffectAtom);
|
|
3394
|
+
const enableLyricLineScaleEffect = (0, jotai.useAtomValue)(enableLyricLineScaleEffectAtom);
|
|
3395
|
+
const enableLyricLineSpringAnimation = (0, jotai.useAtomValue)(enableLyricLineSpringAnimationAtom);
|
|
3396
|
+
const lyricWordFadeWidth = (0, jotai.useAtomValue)(lyricWordFadeWidthAtom);
|
|
3397
|
+
const enableLyricTranslationLine = (0, jotai.useAtomValue)(enableLyricTranslationLineAtom);
|
|
3398
|
+
const enableLyricRomanLine = (0, jotai.useAtomValue)(enableLyricRomanLineAtom);
|
|
3399
|
+
const enableLyricSwapTransRomanLine = (0, jotai.useAtomValue)(enableLyricSwapTransRomanLineAtom);
|
|
3400
|
+
const onLyricLineClick = (0, jotai.useAtomValue)(onLyricLineClickAtom).onEmit;
|
|
3401
|
+
const onLyricLineContextMenu = (0, jotai.useAtomValue)(onLyricLineContextMenuAtom).onEmit;
|
|
3402
|
+
const manualSeekTrigger = (0, jotai.useAtomValue)(manualSeekTriggerAtom);
|
|
3403
|
+
let processed;
|
|
3404
|
+
if ($[0] !== enableLyricRomanLine || $[1] !== enableLyricSwapTransRomanLine || $[2] !== enableLyricTranslationLine || $[3] !== lyricLines) {
|
|
3405
|
+
processed = (0, _ungap_structured_clone.default)(lyricLines);
|
|
3406
|
+
if (!enableLyricTranslationLine) for (const line of processed) line.translatedLyric = "";
|
|
3407
|
+
if (!enableLyricRomanLine) for (const line_0 of processed) line_0.romanLyric = "";
|
|
3408
|
+
if (enableLyricSwapTransRomanLine) for (const line_1 of processed) {
|
|
3409
|
+
const [t1, t2] = [line_1.romanLyric, line_1.translatedLyric];
|
|
3410
|
+
line_1.translatedLyric = t1;
|
|
3411
|
+
line_1.romanLyric = t2;
|
|
3412
|
+
}
|
|
3413
|
+
$[0] = enableLyricRomanLine;
|
|
3414
|
+
$[1] = enableLyricSwapTransRomanLine;
|
|
3415
|
+
$[2] = enableLyricTranslationLine;
|
|
3416
|
+
$[3] = lyricLines;
|
|
3417
|
+
$[4] = processed;
|
|
3418
|
+
} else processed = $[4];
|
|
3419
|
+
const processedLyricLines = processed;
|
|
3420
|
+
let t1;
|
|
3421
|
+
let t2;
|
|
3422
|
+
if ($[5] !== manualSeekTrigger) {
|
|
3423
|
+
t1 = () => {
|
|
3424
|
+
if (manualSeekTrigger) amllPlayerRef.current?.lyricPlayer?.setCurrentTime(manualSeekTrigger.time, true);
|
|
3425
|
+
};
|
|
3426
|
+
t2 = [manualSeekTrigger];
|
|
3427
|
+
$[5] = manualSeekTrigger;
|
|
3428
|
+
$[6] = t1;
|
|
3429
|
+
$[7] = t2;
|
|
3430
|
+
} else {
|
|
3431
|
+
t1 = $[6];
|
|
3432
|
+
t2 = $[7];
|
|
3433
|
+
}
|
|
3434
|
+
(0, react.useEffect)(t1, t2);
|
|
3435
|
+
const t3 = lyricFontFamily || void 0;
|
|
3436
|
+
const t4 = lyricFontWeight || void 0;
|
|
3437
|
+
const t5 = lyricLetterSpacing || void 0;
|
|
3438
|
+
let t6;
|
|
3439
|
+
if ($[8] !== lyricSizePreset) {
|
|
3440
|
+
t6 = getLyricFontSizeFromPreset(lyricSizePreset);
|
|
3441
|
+
$[8] = lyricSizePreset;
|
|
3442
|
+
$[9] = t6;
|
|
3443
|
+
} else t6 = $[9];
|
|
3444
|
+
let t7;
|
|
3445
|
+
if ($[10] !== t3 || $[11] !== t4 || $[12] !== t5 || $[13] !== t6) {
|
|
3446
|
+
t7 = {
|
|
3447
|
+
width: "100%",
|
|
3448
|
+
height: "100%",
|
|
3449
|
+
fontFamily: t3,
|
|
3450
|
+
fontWeight: t4,
|
|
3451
|
+
letterSpacing: t5,
|
|
3452
|
+
"--amll-lp-font-size": t6
|
|
3453
|
+
};
|
|
3454
|
+
$[10] = t3;
|
|
3455
|
+
$[11] = t4;
|
|
3456
|
+
$[12] = t5;
|
|
3457
|
+
$[13] = t6;
|
|
3458
|
+
$[14] = t7;
|
|
3459
|
+
} else t7 = $[14];
|
|
3460
|
+
const t8 = t7;
|
|
3461
|
+
const t9 = !isLyricPageOpened;
|
|
3462
|
+
let t10;
|
|
3463
|
+
if ($[15] !== onLyricLineClick) {
|
|
3464
|
+
t10 = (evt) => {
|
|
3465
|
+
const targetTime = evt.line.getLine().startTime;
|
|
3466
|
+
amllPlayerRef.current?.lyricPlayer?.setCurrentTime(targetTime, true);
|
|
3467
|
+
onLyricLineClick?.(evt, amllPlayerRef.current);
|
|
3468
|
+
};
|
|
3469
|
+
$[15] = onLyricLineClick;
|
|
3470
|
+
$[16] = t10;
|
|
3471
|
+
} else t10 = $[16];
|
|
3472
|
+
let t11;
|
|
3473
|
+
if ($[17] !== onLyricLineContextMenu) {
|
|
3474
|
+
t11 = (evt_0) => onLyricLineContextMenu?.(evt_0, amllPlayerRef.current);
|
|
3475
|
+
$[17] = onLyricLineContextMenu;
|
|
3476
|
+
$[18] = t11;
|
|
3477
|
+
} else t11 = $[18];
|
|
3478
|
+
let t12;
|
|
3479
|
+
if ($[19] !== alignAnchor || $[20] !== alignPosition || $[21] !== bottomLine || $[22] !== enableLyricLineBlurEffect || $[23] !== enableLyricLineScaleEffect || $[24] !== enableLyricLineSpringAnimation || $[25] !== lyricPlayerImplementation || $[26] !== lyricWordFadeWidth || $[27] !== musicIsPlaying || $[28] !== musicPlayingPosition || $[29] !== processedLyricLines || $[30] !== t10 || $[31] !== t11 || $[32] !== t8 || $[33] !== t9) {
|
|
3480
|
+
t12 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_applemusic_like_lyrics_react.LyricPlayer, {
|
|
3481
|
+
style: t8,
|
|
3482
|
+
ref: amllPlayerRef,
|
|
3483
|
+
playing: musicIsPlaying,
|
|
3484
|
+
disabled: t9,
|
|
3485
|
+
alignPosition,
|
|
3486
|
+
alignAnchor,
|
|
3487
|
+
currentTime: musicPlayingPosition,
|
|
3488
|
+
lyricLines: processedLyricLines,
|
|
3489
|
+
enableBlur: enableLyricLineBlurEffect,
|
|
3490
|
+
enableScale: enableLyricLineScaleEffect,
|
|
3491
|
+
enableSpring: enableLyricLineSpringAnimation,
|
|
3492
|
+
wordFadeWidth: lyricWordFadeWidth,
|
|
3493
|
+
lyricPlayer: lyricPlayerImplementation,
|
|
3494
|
+
onLyricLineClick: t10,
|
|
3495
|
+
onLyricLineContextMenu: t11,
|
|
3496
|
+
bottomLine
|
|
3497
|
+
});
|
|
3498
|
+
$[19] = alignAnchor;
|
|
3499
|
+
$[20] = alignPosition;
|
|
3500
|
+
$[21] = bottomLine;
|
|
3501
|
+
$[22] = enableLyricLineBlurEffect;
|
|
3502
|
+
$[23] = enableLyricLineScaleEffect;
|
|
3503
|
+
$[24] = enableLyricLineSpringAnimation;
|
|
3504
|
+
$[25] = lyricPlayerImplementation;
|
|
3505
|
+
$[26] = lyricWordFadeWidth;
|
|
3506
|
+
$[27] = musicIsPlaying;
|
|
3507
|
+
$[28] = musicPlayingPosition;
|
|
3508
|
+
$[29] = processedLyricLines;
|
|
3509
|
+
$[30] = t10;
|
|
3510
|
+
$[31] = t11;
|
|
3511
|
+
$[32] = t8;
|
|
3512
|
+
$[33] = t9;
|
|
3513
|
+
$[34] = t12;
|
|
3514
|
+
} else t12 = $[34];
|
|
3515
|
+
return t12;
|
|
3516
|
+
};
|
|
3517
|
+
const PrebuiltVolumeControl = (t0) => {
|
|
3518
|
+
const $ = (0, react_compiler_runtime.c)(5);
|
|
3519
|
+
const { style, className } = t0;
|
|
3520
|
+
const musicVolume = (0, jotai.useAtomValue)(musicVolumeAtom);
|
|
3521
|
+
const onChangeVolume = (0, jotai.useAtomValue)(onChangeVolumeAtom).onEmit;
|
|
3522
|
+
if ((0, jotai.useAtomValue)(showVolumeControlAtom)) {
|
|
3523
|
+
let t1;
|
|
3524
|
+
if ($[0] !== className || $[1] !== musicVolume || $[2] !== onChangeVolume || $[3] !== style) {
|
|
3525
|
+
t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(VolumeControl, {
|
|
3526
|
+
value: musicVolume,
|
|
3527
|
+
min: 0,
|
|
3528
|
+
max: 1,
|
|
3529
|
+
style,
|
|
3530
|
+
className,
|
|
3531
|
+
onChange: onChangeVolume
|
|
3532
|
+
});
|
|
3533
|
+
$[0] = className;
|
|
3534
|
+
$[1] = musicVolume;
|
|
3535
|
+
$[2] = onChangeVolume;
|
|
3536
|
+
$[3] = style;
|
|
3537
|
+
$[4] = t1;
|
|
3538
|
+
} else t1 = $[4];
|
|
3539
|
+
return t1;
|
|
3540
|
+
}
|
|
3541
|
+
return null;
|
|
3542
|
+
};
|
|
3543
|
+
const PrebuiltMusicControls = (t0) => {
|
|
3544
|
+
const $ = (0, react_compiler_runtime.c)(17);
|
|
3545
|
+
let className;
|
|
3546
|
+
let props;
|
|
3547
|
+
let showOtherButtons;
|
|
3548
|
+
if ($[0] !== t0) {
|
|
3549
|
+
({className, showOtherButtons, ...props} = t0);
|
|
3550
|
+
$[0] = t0;
|
|
3551
|
+
$[1] = className;
|
|
3552
|
+
$[2] = props;
|
|
3553
|
+
$[3] = showOtherButtons;
|
|
3554
|
+
} else {
|
|
3555
|
+
className = $[1];
|
|
3556
|
+
props = $[2];
|
|
3557
|
+
showOtherButtons = $[3];
|
|
3558
|
+
}
|
|
3559
|
+
const playerControlsType = (0, jotai.useAtomValue)(playerControlsTypeAtom);
|
|
3560
|
+
const fftData = (0, jotai.useAtomValue)(fftDataAtom);
|
|
3561
|
+
let t1;
|
|
3562
|
+
if ($[4] !== className) {
|
|
3563
|
+
t1 = (0, classnames.default)(index_module_default.controls, className);
|
|
3564
|
+
$[4] = className;
|
|
3565
|
+
$[5] = t1;
|
|
3566
|
+
} else t1 = $[5];
|
|
3567
|
+
let t2;
|
|
3568
|
+
if ($[6] !== playerControlsType || $[7] !== showOtherButtons) {
|
|
3569
|
+
t2 = playerControlsType === PlayerControlsType.Controls && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMediaButtons, { showOtherButtons });
|
|
3570
|
+
$[6] = playerControlsType;
|
|
3571
|
+
$[7] = showOtherButtons;
|
|
3572
|
+
$[8] = t2;
|
|
3573
|
+
} else t2 = $[8];
|
|
3574
|
+
let t3;
|
|
3575
|
+
if ($[9] !== fftData || $[10] !== playerControlsType) {
|
|
3576
|
+
t3 = playerControlsType === PlayerControlsType.FFT && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AudioFFTVisualizer, {
|
|
3577
|
+
style: {
|
|
3578
|
+
width: "100%",
|
|
3579
|
+
height: "8vh"
|
|
3580
|
+
},
|
|
3581
|
+
fftData
|
|
3582
|
+
});
|
|
3583
|
+
$[9] = fftData;
|
|
3584
|
+
$[10] = playerControlsType;
|
|
3585
|
+
$[11] = t3;
|
|
3586
|
+
} else t3 = $[11];
|
|
3587
|
+
let t4;
|
|
3588
|
+
if ($[12] !== props || $[13] !== t1 || $[14] !== t2 || $[15] !== t3) {
|
|
3589
|
+
t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
3590
|
+
className: t1,
|
|
3591
|
+
...props,
|
|
3592
|
+
children: [t2, t3]
|
|
3593
|
+
});
|
|
3594
|
+
$[12] = props;
|
|
3595
|
+
$[13] = t1;
|
|
3596
|
+
$[14] = t2;
|
|
3597
|
+
$[15] = t3;
|
|
3598
|
+
$[16] = t4;
|
|
3599
|
+
} else t4 = $[16];
|
|
3600
|
+
return t4;
|
|
3601
|
+
};
|
|
3602
|
+
/**
|
|
3603
|
+
* 已经部署好所有组件的歌词播放器组件,在正确设置所有的 Jotai 状态后可以开箱即用
|
|
3604
|
+
*/
|
|
3605
|
+
const PrebuiltLyricPlayer = (t0) => {
|
|
3606
|
+
const $ = (0, react_compiler_runtime.c)(65);
|
|
3607
|
+
let bottomLineSlot;
|
|
3608
|
+
let className;
|
|
3609
|
+
let rest;
|
|
3610
|
+
if ($[0] !== t0) {
|
|
3611
|
+
({className, bottomLineSlot, ...rest} = t0);
|
|
3612
|
+
$[0] = t0;
|
|
3613
|
+
$[1] = bottomLineSlot;
|
|
3614
|
+
$[2] = className;
|
|
3615
|
+
$[3] = rest;
|
|
3616
|
+
} else {
|
|
3617
|
+
bottomLineSlot = $[1];
|
|
3618
|
+
className = $[2];
|
|
3619
|
+
rest = $[3];
|
|
3620
|
+
}
|
|
3621
|
+
const [hideLyricView, setHideLyricView] = (0, jotai.useAtom)(hideLyricViewAtom);
|
|
3622
|
+
const musicCover = (0, jotai.useAtomValue)(musicCoverAtom);
|
|
3623
|
+
const musicCoverIsVideo = (0, jotai.useAtomValue)(musicCoverIsVideoAtom);
|
|
3624
|
+
const musicIsPlaying = (0, jotai.useAtomValue)(musicPlayingAtom);
|
|
3625
|
+
const lowFreqVolume = (0, jotai.useAtomValue)(lowFreqVolumeAtom);
|
|
3626
|
+
const isLyricPageOpened = (0, jotai.useAtomValue)(isLyricPageOpenedAtom);
|
|
3627
|
+
const lyricBackgroundFPS = (0, jotai.useAtomValue)(lyricBackgroundFPSAtom);
|
|
3628
|
+
const verticalCoverLayout = (0, jotai.useAtomValue)(verticalCoverLayoutAtom);
|
|
3629
|
+
const lyricBackgroundStaticMode = (0, jotai.useAtomValue)(lyricBackgroundStaticModeAtom);
|
|
3630
|
+
const lyricBackgroundRenderScale = (0, jotai.useAtomValue)(lyricBackgroundRenderScaleAtom);
|
|
3631
|
+
const onClickControlThumb = (0, jotai.useAtomValue)(onClickControlThumbAtom).onEmit;
|
|
3632
|
+
const [isVertical, setIsVertical] = (0, react.useState)(false);
|
|
3633
|
+
const [alignPosition, setAlignPosition] = (0, react.useState)(.25);
|
|
3634
|
+
const [alignAnchor, setAlignAnchor] = (0, react.useState)("top");
|
|
3635
|
+
const coverElRef = (0, react.useRef)(null);
|
|
3636
|
+
const [layoutEl, setLayoutEl] = (0, react.useState)(null);
|
|
3637
|
+
const backgroundRenderer = (0, jotai.useAtomValue)(lyricBackgroundRendererAtom);
|
|
3638
|
+
const showBottomControl = (0, jotai.useAtomValue)(showBottomControlAtom);
|
|
3639
|
+
const cssBackgroundProperty = (0, jotai.useAtomValue)(cssBackgroundPropertyAtom);
|
|
3640
|
+
let t1;
|
|
3641
|
+
let t2;
|
|
3642
|
+
if ($[4] !== isVertical || $[5] !== layoutEl) {
|
|
3643
|
+
t1 = () => {
|
|
3644
|
+
if (!isVertical && coverElRef.current && layoutEl) {
|
|
3645
|
+
const obz = new ResizeObserver(() => {
|
|
3646
|
+
if (!(coverElRef.current && layoutEl)) return;
|
|
3647
|
+
const coverB = coverElRef.current.getBoundingClientRect();
|
|
3648
|
+
const layoutB = layoutEl.getBoundingClientRect();
|
|
3649
|
+
setAlignPosition((coverB.top + coverB.height / 2 - layoutB.top) / layoutB.height);
|
|
3650
|
+
});
|
|
3651
|
+
obz.observe(coverElRef.current);
|
|
3652
|
+
obz.observe(layoutEl);
|
|
3653
|
+
setAlignAnchor("center");
|
|
3654
|
+
return () => obz.disconnect();
|
|
3655
|
+
}
|
|
3656
|
+
if (isVertical) {
|
|
3657
|
+
setAlignPosition(.1);
|
|
3658
|
+
setAlignAnchor("top");
|
|
3659
|
+
}
|
|
3660
|
+
};
|
|
3661
|
+
t2 = [isVertical, layoutEl];
|
|
3662
|
+
$[4] = isVertical;
|
|
3663
|
+
$[5] = layoutEl;
|
|
3664
|
+
$[6] = t1;
|
|
3665
|
+
$[7] = t2;
|
|
3666
|
+
} else {
|
|
3667
|
+
t1 = $[6];
|
|
3668
|
+
t2 = $[7];
|
|
3669
|
+
}
|
|
3670
|
+
(0, react.useLayoutEffect)(t1, t2);
|
|
3671
|
+
const verticalImmerseCover = hideLyricView && (verticalCoverLayout === VerticalCoverLayout.Auto ? musicCoverIsVideo && isVertical : verticalCoverLayout === VerticalCoverLayout.ForceImmersive);
|
|
3672
|
+
let t3;
|
|
3673
|
+
if ($[8] !== className) {
|
|
3674
|
+
t3 = (0, classnames.default)(index_module_default.autoLyricLayout, className);
|
|
3675
|
+
$[8] = className;
|
|
3676
|
+
$[9] = t3;
|
|
3677
|
+
} else t3 = $[9];
|
|
3678
|
+
const t4 = !musicIsPlaying && !musicCoverIsVideo && verticalImmerseCover;
|
|
3679
|
+
let t5;
|
|
3680
|
+
if ($[10] !== musicCover || $[11] !== musicCoverIsVideo || $[12] !== t4) {
|
|
3681
|
+
t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Cover, {
|
|
3682
|
+
coverUrl: musicCover,
|
|
3683
|
+
coverIsVideo: musicCoverIsVideo,
|
|
3684
|
+
ref: coverElRef,
|
|
3685
|
+
musicPaused: t4
|
|
3686
|
+
});
|
|
3687
|
+
$[10] = musicCover;
|
|
3688
|
+
$[11] = musicCoverIsVideo;
|
|
3689
|
+
$[12] = t4;
|
|
3690
|
+
$[13] = t5;
|
|
3691
|
+
} else t5 = $[13];
|
|
3692
|
+
let t6;
|
|
3693
|
+
if ($[14] !== onClickControlThumb) {
|
|
3694
|
+
t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ControlThumb, { onClick: onClickControlThumb });
|
|
3695
|
+
$[14] = onClickControlThumb;
|
|
3696
|
+
$[15] = t6;
|
|
3697
|
+
} else t6 = $[15];
|
|
3698
|
+
const t7 = hideLyricView && index_module_default.hideLyric;
|
|
3699
|
+
let t8;
|
|
3700
|
+
if ($[16] !== t7) {
|
|
3701
|
+
t8 = (0, classnames.default)(index_module_default.smallMusicInfo, t7);
|
|
3702
|
+
$[16] = t7;
|
|
3703
|
+
$[17] = t8;
|
|
3704
|
+
} else t8 = $[17];
|
|
3705
|
+
let t9;
|
|
3706
|
+
if ($[18] !== t8) {
|
|
3707
|
+
t9 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMusicInfo, { className: t8 });
|
|
3708
|
+
$[18] = t8;
|
|
3709
|
+
$[19] = t9;
|
|
3710
|
+
} else t9 = $[19];
|
|
3711
|
+
let t10;
|
|
3712
|
+
if ($[20] !== backgroundRenderer.renderer || $[21] !== cssBackgroundProperty || $[22] !== isLyricPageOpened || $[23] !== lowFreqVolume || $[24] !== lyricBackgroundFPS || $[25] !== lyricBackgroundRenderScale || $[26] !== lyricBackgroundStaticMode || $[27] !== musicCover || $[28] !== musicCoverIsVideo) {
|
|
3713
|
+
t10 = typeof backgroundRenderer.renderer === "string" && backgroundRenderer.renderer === "css-bg" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { style: {
|
|
3714
|
+
zIndex: -1,
|
|
3715
|
+
width: "100%",
|
|
3716
|
+
height: "100%",
|
|
3717
|
+
minWidth: "0",
|
|
3718
|
+
minHeight: "0",
|
|
3719
|
+
overflow: "hidden",
|
|
3720
|
+
background: cssBackgroundProperty
|
|
3721
|
+
} }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_applemusic_like_lyrics_react.BackgroundRender, {
|
|
3722
|
+
album: musicCover,
|
|
3723
|
+
albumIsVideo: musicCoverIsVideo,
|
|
3724
|
+
lowFreqVolume,
|
|
3725
|
+
renderScale: lyricBackgroundRenderScale,
|
|
3726
|
+
fps: lyricBackgroundFPS,
|
|
3727
|
+
renderer: typeof backgroundRenderer.renderer === "string" ? backgroundRenderer.renderer === "pixi" ? _applemusic_like_lyrics_react.PixiRenderer : _applemusic_like_lyrics_react.MeshGradientRenderer : backgroundRenderer.renderer,
|
|
3728
|
+
staticMode: lyricBackgroundStaticMode || !isLyricPageOpened,
|
|
3729
|
+
style: { zIndex: -1 }
|
|
3730
|
+
});
|
|
3731
|
+
$[20] = backgroundRenderer.renderer;
|
|
3732
|
+
$[21] = cssBackgroundProperty;
|
|
3733
|
+
$[22] = isLyricPageOpened;
|
|
3734
|
+
$[23] = lowFreqVolume;
|
|
3735
|
+
$[24] = lyricBackgroundFPS;
|
|
3736
|
+
$[25] = lyricBackgroundRenderScale;
|
|
3737
|
+
$[26] = lyricBackgroundStaticMode;
|
|
3738
|
+
$[27] = musicCover;
|
|
3739
|
+
$[28] = musicCoverIsVideo;
|
|
3740
|
+
$[29] = t10;
|
|
3741
|
+
} else t10 = $[29];
|
|
3742
|
+
const t11 = hideLyricView && index_module_default.hideLyric;
|
|
3743
|
+
let t12;
|
|
3744
|
+
if ($[30] !== t11) {
|
|
3745
|
+
t12 = (0, classnames.default)(index_module_default.bigMusicInfo, t11);
|
|
3746
|
+
$[30] = t11;
|
|
3747
|
+
$[31] = t12;
|
|
3748
|
+
} else t12 = $[31];
|
|
3749
|
+
let t13;
|
|
3750
|
+
if ($[32] !== t12) {
|
|
3751
|
+
t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMusicInfo, { className: t12 });
|
|
3752
|
+
$[32] = t12;
|
|
3753
|
+
$[33] = t13;
|
|
3754
|
+
} else t13 = $[33];
|
|
3755
|
+
let t14;
|
|
3756
|
+
let t15;
|
|
3757
|
+
if ($[34] === Symbol.for("react.memo_cache_sentinel")) {
|
|
3758
|
+
t14 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltProgressBar, {});
|
|
3759
|
+
t15 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMusicControls, { className: index_module_default.bigControls });
|
|
3760
|
+
$[34] = t14;
|
|
3761
|
+
$[35] = t15;
|
|
3762
|
+
} else {
|
|
3763
|
+
t14 = $[34];
|
|
3764
|
+
t15 = $[35];
|
|
3765
|
+
}
|
|
3766
|
+
let t16;
|
|
3767
|
+
if ($[36] !== hideLyricView || $[37] !== setHideLyricView || $[38] !== showBottomControl) {
|
|
3768
|
+
t16 = showBottomControl && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
3769
|
+
style: {
|
|
3770
|
+
display: "flex",
|
|
3771
|
+
justifyContent: "space-evenly"
|
|
3772
|
+
},
|
|
3773
|
+
children: [
|
|
3774
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, {
|
|
3775
|
+
type: PrebuiltToggleIconButtonType.Lyrics,
|
|
3776
|
+
checked: !hideLyricView,
|
|
3777
|
+
onClick: () => setHideLyricView(!hideLyricView)
|
|
3778
|
+
}),
|
|
3779
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: PrebuiltToggleIconButtonType.AirPlay }),
|
|
3780
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: PrebuiltToggleIconButtonType.Playlist })
|
|
3781
|
+
]
|
|
3782
|
+
});
|
|
3783
|
+
$[36] = hideLyricView;
|
|
3784
|
+
$[37] = setHideLyricView;
|
|
3785
|
+
$[38] = showBottomControl;
|
|
3786
|
+
$[39] = t16;
|
|
3787
|
+
} else t16 = $[39];
|
|
3788
|
+
let t17;
|
|
3789
|
+
if ($[40] === Symbol.for("react.memo_cache_sentinel")) {
|
|
3790
|
+
t17 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltVolumeControl, { className: index_module_default.bigVolumeControl });
|
|
3791
|
+
$[40] = t17;
|
|
3792
|
+
} else t17 = $[40];
|
|
3793
|
+
let t18;
|
|
3794
|
+
if ($[41] !== t13 || $[42] !== t16) {
|
|
3795
|
+
t18 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
3796
|
+
t13,
|
|
3797
|
+
t14,
|
|
3798
|
+
t15,
|
|
3799
|
+
t16,
|
|
3800
|
+
t17
|
|
3801
|
+
] });
|
|
3802
|
+
$[41] = t13;
|
|
3803
|
+
$[42] = t16;
|
|
3804
|
+
$[43] = t18;
|
|
3805
|
+
} else t18 = $[43];
|
|
3806
|
+
let t19;
|
|
3807
|
+
if ($[44] === Symbol.for("react.memo_cache_sentinel")) {
|
|
3808
|
+
t19 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
3809
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMusicInfo, { className: index_module_default.horizontalControls }),
|
|
3810
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltProgressBar, {}),
|
|
3811
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMusicControls, {
|
|
3812
|
+
className: index_module_default.controls,
|
|
3813
|
+
showOtherButtons: true
|
|
3814
|
+
}),
|
|
3815
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltVolumeControl, {})
|
|
3816
|
+
] });
|
|
3817
|
+
$[44] = t19;
|
|
3818
|
+
} else t19 = $[44];
|
|
3819
|
+
let t20;
|
|
3820
|
+
if ($[45] !== hideLyricView || $[46] !== setHideLyricView || $[47] !== showBottomControl) {
|
|
3821
|
+
t20 = showBottomControl && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
3822
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: PrebuiltToggleIconButtonType.Playlist }),
|
|
3823
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, {
|
|
3824
|
+
type: PrebuiltToggleIconButtonType.Lyrics,
|
|
3825
|
+
checked: !hideLyricView,
|
|
3826
|
+
onClick: () => setHideLyricView(!hideLyricView)
|
|
3827
|
+
}),
|
|
3828
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { style: { flex: "1" } }),
|
|
3829
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: PrebuiltToggleIconButtonType.AirPlay })
|
|
3830
|
+
] });
|
|
3831
|
+
$[45] = hideLyricView;
|
|
3832
|
+
$[46] = setHideLyricView;
|
|
3833
|
+
$[47] = showBottomControl;
|
|
3834
|
+
$[48] = t20;
|
|
3835
|
+
} else t20 = $[48];
|
|
3836
|
+
let t21;
|
|
3837
|
+
if ($[49] !== alignAnchor || $[50] !== alignPosition || $[51] !== bottomLineSlot) {
|
|
3838
|
+
t21 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltCoreLyricPlayer, {
|
|
3839
|
+
alignPosition,
|
|
3840
|
+
alignAnchor,
|
|
3841
|
+
bottomLine: bottomLineSlot
|
|
3842
|
+
});
|
|
3843
|
+
$[49] = alignAnchor;
|
|
3844
|
+
$[50] = alignPosition;
|
|
3845
|
+
$[51] = bottomLineSlot;
|
|
3846
|
+
$[52] = t21;
|
|
3847
|
+
} else t21 = $[52];
|
|
3848
|
+
let t22;
|
|
3849
|
+
if ($[53] !== hideLyricView || $[54] !== rest || $[55] !== t10 || $[56] !== t18 || $[57] !== t20 || $[58] !== t21 || $[59] !== t3 || $[60] !== t5 || $[61] !== t6 || $[62] !== t9 || $[63] !== verticalImmerseCover) {
|
|
3850
|
+
t22 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.LayoutGroup, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AutoLyricLayout, {
|
|
3851
|
+
onElementMounted: setLayoutEl,
|
|
3852
|
+
className: t3,
|
|
3853
|
+
onLayoutChange: setIsVertical,
|
|
3854
|
+
verticalImmerseCover,
|
|
3855
|
+
coverSlot: t5,
|
|
3856
|
+
thumbSlot: t6,
|
|
3857
|
+
smallControlsSlot: t9,
|
|
3858
|
+
backgroundSlot: t10,
|
|
3859
|
+
bigControlsSlot: t18,
|
|
3860
|
+
controlsSlot: t19,
|
|
3861
|
+
horizontalBottomControls: t20,
|
|
3862
|
+
lyricSlot: t21,
|
|
3863
|
+
hideLyric: hideLyricView,
|
|
3864
|
+
...rest
|
|
3865
|
+
}) });
|
|
3866
|
+
$[53] = hideLyricView;
|
|
3867
|
+
$[54] = rest;
|
|
3868
|
+
$[55] = t10;
|
|
3869
|
+
$[56] = t18;
|
|
3870
|
+
$[57] = t20;
|
|
3871
|
+
$[58] = t21;
|
|
3872
|
+
$[59] = t3;
|
|
3873
|
+
$[60] = t5;
|
|
3874
|
+
$[61] = t6;
|
|
3875
|
+
$[62] = t9;
|
|
3876
|
+
$[63] = verticalImmerseCover;
|
|
3877
|
+
$[64] = t22;
|
|
3878
|
+
} else t22 = $[64];
|
|
3879
|
+
return t22;
|
|
3880
|
+
};
|
|
3881
|
+
function _temp(v) {
|
|
3882
|
+
return v.name;
|
|
3883
|
+
}
|
|
3884
|
+
//#endregion
|
|
3885
|
+
//#region src/index.ts
|
|
3886
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
3887
|
+
cache: /* @__PURE__ */ new Map(),
|
|
3888
|
+
get(name, inst) {
|
|
3889
|
+
if (this.cache.has(name)) return this.cache.get(name);
|
|
3890
|
+
this.cache.set(name, inst);
|
|
3891
|
+
return inst;
|
|
3892
|
+
}
|
|
3893
|
+
};
|
|
3894
|
+
//#endregion
|
|
3895
|
+
exports.AudioFFTVisualizer = AudioFFTVisualizer;
|
|
3896
|
+
exports.AudioQualityTag = AudioQualityTag;
|
|
3897
|
+
exports.AudioQualityType = AudioQualityType;
|
|
3898
|
+
exports.AutoLyricLayout = AutoLyricLayout;
|
|
3899
|
+
exports.BouncingSlider = BouncingSlider;
|
|
3900
|
+
exports.ControlThumb = ControlThumb;
|
|
3901
|
+
exports.Cover = Cover;
|
|
3902
|
+
exports.HorizontalLayout = HorizontalLayout;
|
|
3903
|
+
exports.LyricPlayerImplementation = LyricPlayerImplementation;
|
|
3904
|
+
exports.LyricSizePreset = LyricSizePreset;
|
|
3905
|
+
exports.MediaButton = MediaButton;
|
|
3906
|
+
exports.MenuButton = MenuButton;
|
|
3907
|
+
exports.MusicInfo = MusicInfo;
|
|
3908
|
+
exports.PlayerControlsType = PlayerControlsType;
|
|
3909
|
+
exports.PrebuiltLyricPlayer = PrebuiltLyricPlayer;
|
|
3910
|
+
exports.PrebuiltToggleIconButton = PrebuiltToggleIconButton;
|
|
3911
|
+
exports.PrebuiltToggleIconButtonType = PrebuiltToggleIconButtonType;
|
|
3912
|
+
exports.RepeatMode = RepeatMode;
|
|
3913
|
+
exports.TextMarquee = TextMarquee;
|
|
3914
|
+
exports.ToggleIconButton = ToggleIconButton;
|
|
3915
|
+
exports.VerticalCoverLayout = VerticalCoverLayout;
|
|
3916
|
+
exports.VerticalLayout = VerticalLayout;
|
|
3917
|
+
exports.VolumeControl = VolumeControl;
|
|
3918
|
+
exports.cssBackgroundPropertyAtom = cssBackgroundPropertyAtom;
|
|
3919
|
+
exports.cycleRepeatModeActionAtom = cycleRepeatModeActionAtom;
|
|
3920
|
+
exports.enableLyricLineBlurEffectAtom = enableLyricLineBlurEffectAtom;
|
|
3921
|
+
exports.enableLyricLineScaleEffectAtom = enableLyricLineScaleEffectAtom;
|
|
3922
|
+
exports.enableLyricLineSpringAnimationAtom = enableLyricLineSpringAnimationAtom;
|
|
3923
|
+
exports.enableLyricRomanLineAtom = enableLyricRomanLineAtom;
|
|
3924
|
+
exports.enableLyricSwapTransRomanLineAtom = enableLyricSwapTransRomanLineAtom;
|
|
3925
|
+
exports.enableLyricTranslationLineAtom = enableLyricTranslationLineAtom;
|
|
3926
|
+
exports.fftDataAtom = fftDataAtom;
|
|
3927
|
+
exports.fftDataRangeAtom = fftDataRangeAtom;
|
|
3928
|
+
exports.hideLyricViewAtom = hideLyricViewAtom;
|
|
3929
|
+
exports.isLyricPageOpenedAtom = isLyricPageOpenedAtom;
|
|
3930
|
+
exports.isRepeatEnabledAtom = isRepeatEnabledAtom;
|
|
3931
|
+
exports.isShuffleActiveAtom = isShuffleActiveAtom;
|
|
3932
|
+
exports.isShuffleEnabledAtom = isShuffleEnabledAtom;
|
|
3933
|
+
exports.lowFreqVolumeAtom = lowFreqVolumeAtom;
|
|
3934
|
+
exports.lyricBackgroundFPSAtom = lyricBackgroundFPSAtom;
|
|
3935
|
+
exports.lyricBackgroundRenderScaleAtom = lyricBackgroundRenderScaleAtom;
|
|
3936
|
+
exports.lyricBackgroundRendererAtom = lyricBackgroundRendererAtom;
|
|
3937
|
+
exports.lyricBackgroundStaticModeAtom = lyricBackgroundStaticModeAtom;
|
|
3938
|
+
exports.lyricFontFamilyAtom = lyricFontFamilyAtom;
|
|
3939
|
+
exports.lyricFontWeightAtom = lyricFontWeightAtom;
|
|
3940
|
+
exports.lyricLetterSpacingAtom = lyricLetterSpacingAtom;
|
|
3941
|
+
exports.lyricPlayerImplementationAtom = lyricPlayerImplementationAtom;
|
|
3942
|
+
exports.lyricSizePresetAtom = lyricSizePresetAtom;
|
|
3943
|
+
exports.lyricWordFadeWidthAtom = lyricWordFadeWidthAtom;
|
|
3944
|
+
exports.musicAlbumNameAtom = musicAlbumNameAtom;
|
|
3945
|
+
exports.musicArtistsAtom = musicArtistsAtom;
|
|
3946
|
+
exports.musicCoverAtom = musicCoverAtom;
|
|
3947
|
+
exports.musicCoverIsVideoAtom = musicCoverIsVideoAtom;
|
|
3948
|
+
exports.musicDurationAtom = musicDurationAtom;
|
|
3949
|
+
exports.musicIdAtom = musicIdAtom;
|
|
3950
|
+
exports.musicLyricLinesAtom = musicLyricLinesAtom;
|
|
3951
|
+
exports.musicNameAtom = musicNameAtom;
|
|
3952
|
+
exports.musicPlayingAtom = musicPlayingAtom;
|
|
3953
|
+
exports.musicPlayingPositionAtom = musicPlayingPositionAtom;
|
|
3954
|
+
exports.musicQualityAtom = musicQualityAtom;
|
|
3955
|
+
exports.musicQualityTagAtom = musicQualityTagAtom;
|
|
3956
|
+
exports.musicVolumeAtom = musicVolumeAtom;
|
|
3957
|
+
exports.onChangeVolumeAtom = onChangeVolumeAtom;
|
|
3958
|
+
exports.onClickAudioQualityTagAtom = onClickAudioQualityTagAtom;
|
|
3959
|
+
exports.onClickControlThumbAtom = onClickControlThumbAtom;
|
|
3960
|
+
exports.onCycleRepeatModeAtom = onCycleRepeatModeAtom;
|
|
3961
|
+
exports.onLyricLineClickAtom = onLyricLineClickAtom;
|
|
3962
|
+
exports.onLyricLineContextMenuAtom = onLyricLineContextMenuAtom;
|
|
3963
|
+
exports.onPlayOrResumeAtom = onPlayOrResumeAtom;
|
|
3964
|
+
exports.onRequestNextSongAtom = onRequestNextSongAtom;
|
|
3965
|
+
exports.onRequestOpenMenuAtom = onRequestOpenMenuAtom;
|
|
3966
|
+
exports.onRequestPrevSongAtom = onRequestPrevSongAtom;
|
|
3967
|
+
exports.onSeekPositionAtom = onSeekPositionAtom;
|
|
3968
|
+
exports.onToggleShuffleAtom = onToggleShuffleAtom;
|
|
3969
|
+
exports.playerControlsTypeAtom = playerControlsTypeAtom;
|
|
3970
|
+
exports.repeatModeAtom = repeatModeAtom;
|
|
3971
|
+
exports.showBottomControlAtom = showBottomControlAtom;
|
|
3972
|
+
exports.showMusicAlbumAtom = showMusicAlbumAtom;
|
|
3973
|
+
exports.showMusicArtistsAtom = showMusicArtistsAtom;
|
|
3974
|
+
exports.showMusicNameAtom = showMusicNameAtom;
|
|
3975
|
+
exports.showRemainingTimeAtom = showRemainingTimeAtom;
|
|
3976
|
+
exports.showVolumeControlAtom = showVolumeControlAtom;
|
|
3977
|
+
exports.toDuration = toDuration;
|
|
3978
|
+
exports.toggleShuffleActionAtom = toggleShuffleActionAtom;
|
|
3979
|
+
exports.verticalCoverLayoutAtom = verticalCoverLayoutAtom;
|
|
3980
|
+
|
|
3981
|
+
//# sourceMappingURL=amll-react-framework.cjs.map
|