@applemusic-like-lyrics/react-full 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
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
3
  var __create = Object.create;
12
4
  var __defProp = Object.defineProperty;
13
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -2060,12 +2052,12 @@ const ToggleIconButton = (0, react.memo)((t0) => {
2060
2052
  return t3;
2061
2053
  });
2062
2054
  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]
2055
+ ["lyrics"]: [ForwardRef$20, ForwardRef$19],
2056
+ ["playlist"]: [ForwardRef$18, ForwardRef$17],
2057
+ ["repeat"]: [ForwardRef$16, ForwardRef$15],
2058
+ ["shuffle"]: [ForwardRef$14, ForwardRef$13],
2059
+ ["star"]: [ForwardRef$12, ForwardRef$11],
2060
+ ["airplay"]: [ForwardRef$21, ForwardRef$21]
2069
2061
  };
2070
2062
  const PrebuiltToggleIconButton = (0, react.memo)((t0) => {
2071
2063
  const $ = (0, react_compiler_runtime.c)(15);
@@ -2566,7 +2558,7 @@ let LyricSizePreset = /* @__PURE__ */ function(LyricSizePreset) {
2566
2558
  }({});
2567
2559
  const getInitialPlayerImplementation = () => {
2568
2560
  switch (localStorage.getItem("amll-react-full.lyricPlayerImplementation")) {
2569
- case LyricPlayerImplementation.DomSlim: return { lyricPlayer: _applemusic_like_lyrics_core.DomSlimLyricPlayer };
2561
+ case "dom-slim": return { lyricPlayer: _applemusic_like_lyrics_core.DomSlimLyricPlayer };
2570
2562
  default: return { lyricPlayer: _applemusic_like_lyrics_core.DomLyricPlayer };
2571
2563
  }
2572
2564
  };
@@ -2665,12 +2657,12 @@ const lyricLetterSpacingAtom = globalThis.jotaiAtomCache.get("/home/runner/work/
2665
2657
  * @default LyricSizePreset.Medium
2666
2658
  */
2667
2659
  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));
2660
+ 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", "medium"));
2669
2661
  /**
2670
2662
  * 播放控制组件的显示类型,即歌曲信息下方的组件
2671
2663
  */
2672
2664
  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));
2665
+ 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", "controls"));
2674
2666
  /**
2675
2667
  * 是否显示歌曲名称
2676
2668
  * @default true
@@ -2682,7 +2674,7 @@ const showMusicNameAtom = globalThis.jotaiAtomCache.get("/home/runner/work/apple
2682
2674
  * @default VerticalCoverLayout.Auto
2683
2675
  */
2684
2676
  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));
2677
+ 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", "auto"));
2686
2678
  /**
2687
2679
  * 是否显示歌曲作者
2688
2680
  * @default true
@@ -2808,7 +2800,7 @@ const isShuffleActiveAtom = globalThis.jotaiAtomCache.get("/home/runner/work/app
2808
2800
  * 当前的重复播放模式
2809
2801
  */
2810
2802
  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));
2803
+ 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)("off"));
2812
2804
  /**
2813
2805
  * 随机按钮是否可用
2814
2806
  */
@@ -2919,7 +2911,7 @@ const musicLyricLinesAtom = globalThis.jotaiAtomCache.get("/home/runner/work/app
2919
2911
  */
2920
2912
  musicLyricLinesAtom.debugLabel = "musicLyricLinesAtom";
2921
2913
  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,
2914
+ type: "none",
2923
2915
  codec: "unknown",
2924
2916
  channels: 2,
2925
2917
  sampleRate: 44100,
@@ -2963,10 +2955,6 @@ var index_module_default = {
2963
2955
  };
2964
2956
  //#endregion
2965
2957
  //#region src/components/PrebuiltLyricPlayer/index.tsx
2966
- /**
2967
- * @fileoverview
2968
- * 已经部署好所有组件的歌词播放器组件,在正确设置所有的 Jotai 状态后可以开箱即用
2969
- */
2970
2958
  globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
2971
2959
  cache: /* @__PURE__ */ new Map(),
2972
2960
  get(name, inst) {
@@ -3059,11 +3047,11 @@ const PrebuiltMediaButtons = (t0) => {
3059
3047
  if ($[1] !== currentRepeatMode) {
3060
3048
  t2 = () => {
3061
3049
  switch (currentRepeatMode) {
3062
- case RepeatMode.One: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$2, {
3050
+ case "one": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$2, {
3063
3051
  color: "#ffffffff",
3064
3052
  style: iconStyle
3065
3053
  });
3066
- case RepeatMode.All: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$3, {
3054
+ case "all": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ForwardRef$3, {
3067
3055
  color: "#ffffffff",
3068
3056
  style: iconStyle
3069
3057
  });
@@ -3368,18 +3356,18 @@ const PrebuiltProgressBar = react.default.memo(() => {
3368
3356
  });
3369
3357
  function getLyricFontSizeFromPreset(preset) {
3370
3358
  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)";
3359
+ case "tiny": return "max(max(2.5vh, 1.25vw), 10px)";
3360
+ case "extra-small": return "max(max(3vh, 1.5vw), 10px)";
3361
+ case "small": return "max(max(4vh, 2vw), 12px)";
3362
+ case "large": return "max(max(6vh, 3vw), 16px)";
3363
+ case "extra-large": return "max(max(7vh, 3.5vw), 18px)";
3364
+ case "huge": return "max(max(8vh, 4vw), 20px)";
3377
3365
  default: return "max(max(5vh, 2.5vw), 14px)";
3378
3366
  }
3379
3367
  }
3380
3368
  const PrebuiltCoreLyricPlayer = (t0) => {
3381
- const $ = (0, react_compiler_runtime.c)(35);
3382
- const { alignPosition, alignAnchor, bottomLine } = t0;
3369
+ const $ = (0, react_compiler_runtime.c)(36);
3370
+ const { alignPosition, alignAnchor, bottomLine, optimizeOptions } = t0;
3383
3371
  const amllPlayerRef = (0, react.useRef)(null);
3384
3372
  const musicIsPlaying = (0, jotai.useAtomValue)(musicPlayingAtom);
3385
3373
  const lyricLines = (0, jotai.useAtomValue)(musicLyricLinesAtom);
@@ -3476,7 +3464,7 @@ const PrebuiltCoreLyricPlayer = (t0) => {
3476
3464
  $[18] = t11;
3477
3465
  } else t11 = $[18];
3478
3466
  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) {
3467
+ if ($[19] !== alignAnchor || $[20] !== alignPosition || $[21] !== bottomLine || $[22] !== enableLyricLineBlurEffect || $[23] !== enableLyricLineScaleEffect || $[24] !== enableLyricLineSpringAnimation || $[25] !== lyricPlayerImplementation || $[26] !== lyricWordFadeWidth || $[27] !== musicIsPlaying || $[28] !== musicPlayingPosition || $[29] !== optimizeOptions || $[30] !== processedLyricLines || $[31] !== t10 || $[32] !== t11 || $[33] !== t8 || $[34] !== t9) {
3480
3468
  t12 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_applemusic_like_lyrics_react.LyricPlayer, {
3481
3469
  style: t8,
3482
3470
  ref: amllPlayerRef,
@@ -3486,6 +3474,7 @@ const PrebuiltCoreLyricPlayer = (t0) => {
3486
3474
  alignAnchor,
3487
3475
  currentTime: musicPlayingPosition,
3488
3476
  lyricLines: processedLyricLines,
3477
+ optimizeOptions,
3489
3478
  enableBlur: enableLyricLineBlurEffect,
3490
3479
  enableScale: enableLyricLineScaleEffect,
3491
3480
  enableSpring: enableLyricLineSpringAnimation,
@@ -3505,13 +3494,14 @@ const PrebuiltCoreLyricPlayer = (t0) => {
3505
3494
  $[26] = lyricWordFadeWidth;
3506
3495
  $[27] = musicIsPlaying;
3507
3496
  $[28] = musicPlayingPosition;
3508
- $[29] = processedLyricLines;
3509
- $[30] = t10;
3510
- $[31] = t11;
3511
- $[32] = t8;
3512
- $[33] = t9;
3513
- $[34] = t12;
3514
- } else t12 = $[34];
3497
+ $[29] = optimizeOptions;
3498
+ $[30] = processedLyricLines;
3499
+ $[31] = t10;
3500
+ $[32] = t11;
3501
+ $[33] = t8;
3502
+ $[34] = t9;
3503
+ $[35] = t12;
3504
+ } else t12 = $[35];
3515
3505
  return t12;
3516
3506
  };
3517
3507
  const PrebuiltVolumeControl = (t0) => {
@@ -3566,14 +3556,14 @@ const PrebuiltMusicControls = (t0) => {
3566
3556
  } else t1 = $[5];
3567
3557
  let t2;
3568
3558
  if ($[6] !== playerControlsType || $[7] !== showOtherButtons) {
3569
- t2 = playerControlsType === PlayerControlsType.Controls && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMediaButtons, { showOtherButtons });
3559
+ t2 = playerControlsType === "controls" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMediaButtons, { showOtherButtons });
3570
3560
  $[6] = playerControlsType;
3571
3561
  $[7] = showOtherButtons;
3572
3562
  $[8] = t2;
3573
3563
  } else t2 = $[8];
3574
3564
  let t3;
3575
3565
  if ($[9] !== fftData || $[10] !== playerControlsType) {
3576
- t3 = playerControlsType === PlayerControlsType.FFT && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AudioFFTVisualizer, {
3566
+ t3 = playerControlsType === "fft" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AudioFFTVisualizer, {
3577
3567
  style: {
3578
3568
  width: "100%",
3579
3569
  height: "8vh"
@@ -3603,20 +3593,23 @@ const PrebuiltMusicControls = (t0) => {
3603
3593
  * 已经部署好所有组件的歌词播放器组件,在正确设置所有的 Jotai 状态后可以开箱即用
3604
3594
  */
3605
3595
  const PrebuiltLyricPlayer = (t0) => {
3606
- const $ = (0, react_compiler_runtime.c)(65);
3596
+ const $ = (0, react_compiler_runtime.c)(67);
3607
3597
  let bottomLineSlot;
3608
3598
  let className;
3599
+ let optimizeOptions;
3609
3600
  let rest;
3610
3601
  if ($[0] !== t0) {
3611
- ({className, bottomLineSlot, ...rest} = t0);
3602
+ ({className, bottomLineSlot, optimizeOptions, ...rest} = t0);
3612
3603
  $[0] = t0;
3613
3604
  $[1] = bottomLineSlot;
3614
3605
  $[2] = className;
3615
- $[3] = rest;
3606
+ $[3] = optimizeOptions;
3607
+ $[4] = rest;
3616
3608
  } else {
3617
3609
  bottomLineSlot = $[1];
3618
3610
  className = $[2];
3619
- rest = $[3];
3611
+ optimizeOptions = $[3];
3612
+ rest = $[4];
3620
3613
  }
3621
3614
  const [hideLyricView, setHideLyricView] = (0, jotai.useAtom)(hideLyricViewAtom);
3622
3615
  const musicCover = (0, jotai.useAtomValue)(musicCoverAtom);
@@ -3639,7 +3632,7 @@ const PrebuiltLyricPlayer = (t0) => {
3639
3632
  const cssBackgroundProperty = (0, jotai.useAtomValue)(cssBackgroundPropertyAtom);
3640
3633
  let t1;
3641
3634
  let t2;
3642
- if ($[4] !== isVertical || $[5] !== layoutEl) {
3635
+ if ($[5] !== isVertical || $[6] !== layoutEl) {
3643
3636
  t1 = () => {
3644
3637
  if (!isVertical && coverElRef.current && layoutEl) {
3645
3638
  const obz = new ResizeObserver(() => {
@@ -3659,57 +3652,57 @@ const PrebuiltLyricPlayer = (t0) => {
3659
3652
  }
3660
3653
  };
3661
3654
  t2 = [isVertical, layoutEl];
3662
- $[4] = isVertical;
3663
- $[5] = layoutEl;
3664
- $[6] = t1;
3665
- $[7] = t2;
3655
+ $[5] = isVertical;
3656
+ $[6] = layoutEl;
3657
+ $[7] = t1;
3658
+ $[8] = t2;
3666
3659
  } else {
3667
- t1 = $[6];
3668
- t2 = $[7];
3660
+ t1 = $[7];
3661
+ t2 = $[8];
3669
3662
  }
3670
3663
  (0, react.useLayoutEffect)(t1, t2);
3671
- const verticalImmerseCover = hideLyricView && (verticalCoverLayout === VerticalCoverLayout.Auto ? musicCoverIsVideo && isVertical : verticalCoverLayout === VerticalCoverLayout.ForceImmersive);
3664
+ const verticalImmerseCover = hideLyricView && (verticalCoverLayout === "auto" ? musicCoverIsVideo && isVertical : verticalCoverLayout === "force-immersive");
3672
3665
  let t3;
3673
- if ($[8] !== className) {
3666
+ if ($[9] !== className) {
3674
3667
  t3 = (0, classnames.default)(index_module_default.autoLyricLayout, className);
3675
- $[8] = className;
3676
- $[9] = t3;
3677
- } else t3 = $[9];
3668
+ $[9] = className;
3669
+ $[10] = t3;
3670
+ } else t3 = $[10];
3678
3671
  const t4 = !musicIsPlaying && !musicCoverIsVideo && verticalImmerseCover;
3679
3672
  let t5;
3680
- if ($[10] !== musicCover || $[11] !== musicCoverIsVideo || $[12] !== t4) {
3673
+ if ($[11] !== musicCover || $[12] !== musicCoverIsVideo || $[13] !== t4) {
3681
3674
  t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Cover, {
3682
3675
  coverUrl: musicCover,
3683
3676
  coverIsVideo: musicCoverIsVideo,
3684
3677
  ref: coverElRef,
3685
3678
  musicPaused: t4
3686
3679
  });
3687
- $[10] = musicCover;
3688
- $[11] = musicCoverIsVideo;
3689
- $[12] = t4;
3690
- $[13] = t5;
3691
- } else t5 = $[13];
3680
+ $[11] = musicCover;
3681
+ $[12] = musicCoverIsVideo;
3682
+ $[13] = t4;
3683
+ $[14] = t5;
3684
+ } else t5 = $[14];
3692
3685
  let t6;
3693
- if ($[14] !== onClickControlThumb) {
3686
+ if ($[15] !== onClickControlThumb) {
3694
3687
  t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ControlThumb, { onClick: onClickControlThumb });
3695
- $[14] = onClickControlThumb;
3696
- $[15] = t6;
3697
- } else t6 = $[15];
3688
+ $[15] = onClickControlThumb;
3689
+ $[16] = t6;
3690
+ } else t6 = $[16];
3698
3691
  const t7 = hideLyricView && index_module_default.hideLyric;
3699
3692
  let t8;
3700
- if ($[16] !== t7) {
3693
+ if ($[17] !== t7) {
3701
3694
  t8 = (0, classnames.default)(index_module_default.smallMusicInfo, t7);
3702
- $[16] = t7;
3703
- $[17] = t8;
3704
- } else t8 = $[17];
3695
+ $[17] = t7;
3696
+ $[18] = t8;
3697
+ } else t8 = $[18];
3705
3698
  let t9;
3706
- if ($[18] !== t8) {
3699
+ if ($[19] !== t8) {
3707
3700
  t9 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMusicInfo, { className: t8 });
3708
- $[18] = t8;
3709
- $[19] = t9;
3710
- } else t9 = $[19];
3701
+ $[19] = t8;
3702
+ $[20] = t9;
3703
+ } else t9 = $[20];
3711
3704
  let t10;
3712
- if ($[20] !== backgroundRenderer.renderer || $[21] !== cssBackgroundProperty || $[22] !== isLyricPageOpened || $[23] !== lowFreqVolume || $[24] !== lyricBackgroundFPS || $[25] !== lyricBackgroundRenderScale || $[26] !== lyricBackgroundStaticMode || $[27] !== musicCover || $[28] !== musicCoverIsVideo) {
3705
+ if ($[21] !== backgroundRenderer.renderer || $[22] !== cssBackgroundProperty || $[23] !== isLyricPageOpened || $[24] !== lowFreqVolume || $[25] !== lyricBackgroundFPS || $[26] !== lyricBackgroundRenderScale || $[27] !== lyricBackgroundStaticMode || $[28] !== musicCover || $[29] !== musicCoverIsVideo) {
3713
3706
  t10 = typeof backgroundRenderer.renderer === "string" && backgroundRenderer.renderer === "css-bg" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { style: {
3714
3707
  zIndex: -1,
3715
3708
  width: "100%",
@@ -3728,43 +3721,43 @@ const PrebuiltLyricPlayer = (t0) => {
3728
3721
  staticMode: lyricBackgroundStaticMode || !isLyricPageOpened,
3729
3722
  style: { zIndex: -1 }
3730
3723
  });
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];
3724
+ $[21] = backgroundRenderer.renderer;
3725
+ $[22] = cssBackgroundProperty;
3726
+ $[23] = isLyricPageOpened;
3727
+ $[24] = lowFreqVolume;
3728
+ $[25] = lyricBackgroundFPS;
3729
+ $[26] = lyricBackgroundRenderScale;
3730
+ $[27] = lyricBackgroundStaticMode;
3731
+ $[28] = musicCover;
3732
+ $[29] = musicCoverIsVideo;
3733
+ $[30] = t10;
3734
+ } else t10 = $[30];
3742
3735
  const t11 = hideLyricView && index_module_default.hideLyric;
3743
3736
  let t12;
3744
- if ($[30] !== t11) {
3737
+ if ($[31] !== t11) {
3745
3738
  t12 = (0, classnames.default)(index_module_default.bigMusicInfo, t11);
3746
- $[30] = t11;
3747
- $[31] = t12;
3748
- } else t12 = $[31];
3739
+ $[31] = t11;
3740
+ $[32] = t12;
3741
+ } else t12 = $[32];
3749
3742
  let t13;
3750
- if ($[32] !== t12) {
3743
+ if ($[33] !== t12) {
3751
3744
  t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMusicInfo, { className: t12 });
3752
- $[32] = t12;
3753
- $[33] = t13;
3754
- } else t13 = $[33];
3745
+ $[33] = t12;
3746
+ $[34] = t13;
3747
+ } else t13 = $[34];
3755
3748
  let t14;
3756
3749
  let t15;
3757
- if ($[34] === Symbol.for("react.memo_cache_sentinel")) {
3750
+ if ($[35] === Symbol.for("react.memo_cache_sentinel")) {
3758
3751
  t14 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltProgressBar, {});
3759
3752
  t15 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMusicControls, { className: index_module_default.bigControls });
3760
- $[34] = t14;
3761
- $[35] = t15;
3753
+ $[35] = t14;
3754
+ $[36] = t15;
3762
3755
  } else {
3763
- t14 = $[34];
3764
- t15 = $[35];
3756
+ t14 = $[35];
3757
+ t15 = $[36];
3765
3758
  }
3766
3759
  let t16;
3767
- if ($[36] !== hideLyricView || $[37] !== setHideLyricView || $[38] !== showBottomControl) {
3760
+ if ($[37] !== hideLyricView || $[38] !== setHideLyricView || $[39] !== showBottomControl) {
3768
3761
  t16 = showBottomControl && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3769
3762
  style: {
3770
3763
  display: "flex",
@@ -3772,26 +3765,26 @@ const PrebuiltLyricPlayer = (t0) => {
3772
3765
  },
3773
3766
  children: [
3774
3767
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, {
3775
- type: PrebuiltToggleIconButtonType.Lyrics,
3768
+ type: "lyrics",
3776
3769
  checked: !hideLyricView,
3777
3770
  onClick: () => setHideLyricView(!hideLyricView)
3778
3771
  }),
3779
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: PrebuiltToggleIconButtonType.AirPlay }),
3780
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: PrebuiltToggleIconButtonType.Playlist })
3772
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: "airplay" }),
3773
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: "playlist" })
3781
3774
  ]
3782
3775
  });
3783
- $[36] = hideLyricView;
3784
- $[37] = setHideLyricView;
3785
- $[38] = showBottomControl;
3786
- $[39] = t16;
3787
- } else t16 = $[39];
3776
+ $[37] = hideLyricView;
3777
+ $[38] = setHideLyricView;
3778
+ $[39] = showBottomControl;
3779
+ $[40] = t16;
3780
+ } else t16 = $[40];
3788
3781
  let t17;
3789
- if ($[40] === Symbol.for("react.memo_cache_sentinel")) {
3782
+ if ($[41] === Symbol.for("react.memo_cache_sentinel")) {
3790
3783
  t17 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltVolumeControl, { className: index_module_default.bigVolumeControl });
3791
- $[40] = t17;
3792
- } else t17 = $[40];
3784
+ $[41] = t17;
3785
+ } else t17 = $[41];
3793
3786
  let t18;
3794
- if ($[41] !== t13 || $[42] !== t16) {
3787
+ if ($[42] !== t13 || $[43] !== t16) {
3795
3788
  t18 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
3796
3789
  t13,
3797
3790
  t14,
@@ -3799,12 +3792,12 @@ const PrebuiltLyricPlayer = (t0) => {
3799
3792
  t16,
3800
3793
  t17
3801
3794
  ] });
3802
- $[41] = t13;
3803
- $[42] = t16;
3804
- $[43] = t18;
3805
- } else t18 = $[43];
3795
+ $[42] = t13;
3796
+ $[43] = t16;
3797
+ $[44] = t18;
3798
+ } else t18 = $[44];
3806
3799
  let t19;
3807
- if ($[44] === Symbol.for("react.memo_cache_sentinel")) {
3800
+ if ($[45] === Symbol.for("react.memo_cache_sentinel")) {
3808
3801
  t19 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
3809
3802
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltMusicInfo, { className: index_module_default.horizontalControls }),
3810
3803
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltProgressBar, {}),
@@ -3814,39 +3807,41 @@ const PrebuiltLyricPlayer = (t0) => {
3814
3807
  }),
3815
3808
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltVolumeControl, {})
3816
3809
  ] });
3817
- $[44] = t19;
3818
- } else t19 = $[44];
3810
+ $[45] = t19;
3811
+ } else t19 = $[45];
3819
3812
  let t20;
3820
- if ($[45] !== hideLyricView || $[46] !== setHideLyricView || $[47] !== showBottomControl) {
3813
+ if ($[46] !== hideLyricView || $[47] !== setHideLyricView || $[48] !== showBottomControl) {
3821
3814
  t20 = showBottomControl && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
3822
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: PrebuiltToggleIconButtonType.Playlist }),
3815
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: "playlist" }),
3823
3816
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, {
3824
- type: PrebuiltToggleIconButtonType.Lyrics,
3817
+ type: "lyrics",
3825
3818
  checked: !hideLyricView,
3826
3819
  onClick: () => setHideLyricView(!hideLyricView)
3827
3820
  }),
3828
3821
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { style: { flex: "1" } }),
3829
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: PrebuiltToggleIconButtonType.AirPlay })
3822
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltToggleIconButton, { type: "airplay" })
3830
3823
  ] });
3831
- $[45] = hideLyricView;
3832
- $[46] = setHideLyricView;
3833
- $[47] = showBottomControl;
3834
- $[48] = t20;
3835
- } else t20 = $[48];
3824
+ $[46] = hideLyricView;
3825
+ $[47] = setHideLyricView;
3826
+ $[48] = showBottomControl;
3827
+ $[49] = t20;
3828
+ } else t20 = $[49];
3836
3829
  let t21;
3837
- if ($[49] !== alignAnchor || $[50] !== alignPosition || $[51] !== bottomLineSlot) {
3830
+ if ($[50] !== alignAnchor || $[51] !== alignPosition || $[52] !== bottomLineSlot || $[53] !== optimizeOptions) {
3838
3831
  t21 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrebuiltCoreLyricPlayer, {
3839
3832
  alignPosition,
3840
3833
  alignAnchor,
3841
- bottomLine: bottomLineSlot
3834
+ bottomLine: bottomLineSlot,
3835
+ optimizeOptions
3842
3836
  });
3843
- $[49] = alignAnchor;
3844
- $[50] = alignPosition;
3845
- $[51] = bottomLineSlot;
3846
- $[52] = t21;
3847
- } else t21 = $[52];
3837
+ $[50] = alignAnchor;
3838
+ $[51] = alignPosition;
3839
+ $[52] = bottomLineSlot;
3840
+ $[53] = optimizeOptions;
3841
+ $[54] = t21;
3842
+ } else t21 = $[54];
3848
3843
  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) {
3844
+ if ($[55] !== hideLyricView || $[56] !== rest || $[57] !== t10 || $[58] !== t18 || $[59] !== t20 || $[60] !== t21 || $[61] !== t3 || $[62] !== t5 || $[63] !== t6 || $[64] !== t9 || $[65] !== verticalImmerseCover) {
3850
3845
  t22 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.LayoutGroup, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AutoLyricLayout, {
3851
3846
  onElementMounted: setLayoutEl,
3852
3847
  className: t3,
@@ -3863,19 +3858,19 @@ const PrebuiltLyricPlayer = (t0) => {
3863
3858
  hideLyric: hideLyricView,
3864
3859
  ...rest
3865
3860
  }) });
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];
3861
+ $[55] = hideLyricView;
3862
+ $[56] = rest;
3863
+ $[57] = t10;
3864
+ $[58] = t18;
3865
+ $[59] = t20;
3866
+ $[60] = t21;
3867
+ $[61] = t3;
3868
+ $[62] = t5;
3869
+ $[63] = t6;
3870
+ $[64] = t9;
3871
+ $[65] = verticalImmerseCover;
3872
+ $[66] = t22;
3873
+ } else t22 = $[66];
3879
3874
  return t22;
3880
3875
  };
3881
3876
  function _temp(v) {