@fuxishi/vitepress-theme 2.0.0-alpha.1 → 2.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -9
- package/dist/chunk/{FxCodeBlockFold-C7zqZ39g.js → FxCodeBlockFold-BZw-1rNl.js} +16 -16
- package/dist/chunk/{FxHeroImageBg-CiY3qciK.js → FxHeroImageBg-Ge75loti.js} +81 -81
- package/dist/chunk/{FxMusicBall-DwxRT1yK.js → FxMusicBall-CTP51ydo.js} +68 -65
- package/dist/config.d.ts +9 -4
- package/dist/index.d.ts +2 -4
- package/dist/index.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +3 -4
package/README.md
CHANGED
|
@@ -10,16 +10,14 @@
|
|
|
10
10
|
- 🎊 **点击彩纸** — 全局点击彩纸特效,支持金色星星、彩色纸片和自定义 Emoji
|
|
11
11
|
- 🎨 **Hero 图片取色** — 自动提取首页 hero 图片颜色,动态应用到背景光晕、标题渐变、代码块光束和音乐球
|
|
12
12
|
- ✨ **Feature 光效** — 首页 Feature 卡片鼠标追踪光晕效果
|
|
13
|
-
- ✨ **光束边框** —
|
|
13
|
+
- ✨ **光束边框** — 暗色模式下代码块、代码组和导航 hover 时展示紫青品牌色光束旋转边框
|
|
14
14
|
- 🔄 **主题切换动画** — View Transition API 实现亮暗模式圆形扩散动画
|
|
15
15
|
- 📜 **平滑滚动** — 右侧大纲导航点击时平滑滚动,指示条丝滑过渡
|
|
16
16
|
- 🎨 **标题装饰** — h1-h4 各有不同颜色的下划线装饰
|
|
17
17
|
- 📦 **代码块折叠** — 超过指定行数的代码块自动折叠,底部毛玻璃模糊遮罩,可配置折叠行数阈值
|
|
18
18
|
- ⚙️ **类型安全** — 完整的 TypeScript 类型定义,IDE 友好
|
|
19
19
|
|
|
20
|
-
> **注意:** `
|
|
21
|
-
>
|
|
22
|
-
> ⚠️ `1.0.10` 版本的代码块折叠展开功能存在问题,已废弃,请升级到 `1.0.11` 及以上版本。
|
|
20
|
+
> **注意:** 本版本(v2.x)基于 VitePress `2.0` 开发,不向下兼容 VitePress 1.x。
|
|
23
21
|
|
|
24
22
|
## 安装
|
|
25
23
|
|
|
@@ -51,11 +49,14 @@ export default FxTheme
|
|
|
51
49
|
创建 `.vitepress/config.mts`:
|
|
52
50
|
|
|
53
51
|
```ts
|
|
54
|
-
import {
|
|
52
|
+
import { defineConfig } from "vitepress"
|
|
53
|
+
import type { DefaultTheme } from "vitepress"
|
|
55
54
|
import fxConfig from "@fuxishi/vitepress-theme/config"
|
|
56
|
-
import type {
|
|
55
|
+
import type { FxThemeCustomConfig } from "@fuxishi/vitepress-theme"
|
|
57
56
|
|
|
58
|
-
|
|
57
|
+
type ThemeConfig = DefaultTheme.Config & FxThemeCustomConfig
|
|
58
|
+
|
|
59
|
+
export default defineConfig<ThemeConfig>({
|
|
59
60
|
extends: fxConfig,
|
|
60
61
|
lang: "zh-CN",
|
|
61
62
|
title: "我的文档站",
|
|
@@ -97,9 +98,9 @@ npx vitepress dev
|
|
|
97
98
|
|
|
98
99
|
## 配置
|
|
99
100
|
|
|
100
|
-
###
|
|
101
|
+
### FxThemeCustomConfig
|
|
101
102
|
|
|
102
|
-
|
|
103
|
+
通过 `DefaultTheme.Config & FxThemeCustomConfig` 交叉类型扩展 VitePress 默认主题配置,新增以下字段:
|
|
103
104
|
|
|
104
105
|
| 配置项 | 类型 | 默认值 | 说明 |
|
|
105
106
|
| --------------------- | --------------------------- | -------- | ------------------------------------------------------ |
|
|
@@ -2,17 +2,17 @@ import { t as e } from "./icons-DtAsNqxj.js";
|
|
|
2
2
|
import { defineComponent as t, nextTick as n, onBeforeUnmount as r, onMounted as i, watch as a } from "vue";
|
|
3
3
|
import { useRoute as o } from "vitepress";
|
|
4
4
|
//#region .vitepress/components/FxCodeBlockFold.ts
|
|
5
|
-
var s = "fx-code-folded", c = "fx-code-fold-overlay", l = t({
|
|
5
|
+
var s = "fx-code-folded", c = "fx-code-fold-overlay", l = "div[class*='language-']", u = t({
|
|
6
6
|
props: { lines: {
|
|
7
7
|
type: Number,
|
|
8
8
|
default: 10
|
|
9
9
|
} },
|
|
10
10
|
setup(t) {
|
|
11
|
-
function
|
|
11
|
+
function u() {
|
|
12
12
|
let n = t.lines ?? 10;
|
|
13
|
-
document.querySelectorAll(
|
|
13
|
+
document.querySelectorAll(l).forEach((t) => {
|
|
14
14
|
if (t.classList.contains(c) || t.classList.contains("vp-code-group")) return;
|
|
15
|
-
let r = t.querySelector("pre.
|
|
15
|
+
let r = t.querySelector("pre.shiki code");
|
|
16
16
|
if (!r) return;
|
|
17
17
|
if (r.querySelectorAll(".line").length <= n) {
|
|
18
18
|
t.classList.add("fx-code-no-fold");
|
|
@@ -29,29 +29,29 @@ var s = "fx-code-folded", c = "fx-code-fold-overlay", l = t({
|
|
|
29
29
|
}), t.appendChild(i);
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
let
|
|
33
|
-
function
|
|
34
|
-
|
|
32
|
+
let d = null;
|
|
33
|
+
function f() {
|
|
34
|
+
d?.disconnect();
|
|
35
35
|
let e = document.querySelector(".vp-doc");
|
|
36
|
-
e && (
|
|
37
|
-
requestAnimationFrame(
|
|
38
|
-
}),
|
|
36
|
+
e && (d = new MutationObserver(() => {
|
|
37
|
+
requestAnimationFrame(u);
|
|
38
|
+
}), d.observe(e, {
|
|
39
39
|
childList: !0,
|
|
40
40
|
subtree: !0
|
|
41
41
|
}));
|
|
42
42
|
}
|
|
43
43
|
i(() => {
|
|
44
|
-
|
|
44
|
+
u(), f();
|
|
45
45
|
});
|
|
46
|
-
let
|
|
47
|
-
return a(() =>
|
|
46
|
+
let p = o();
|
|
47
|
+
return a(() => p.path, () => {
|
|
48
48
|
n(() => {
|
|
49
|
-
|
|
49
|
+
u(), f();
|
|
50
50
|
});
|
|
51
51
|
}), r(() => {
|
|
52
|
-
|
|
52
|
+
d?.disconnect();
|
|
53
53
|
}), () => null;
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
//#endregion
|
|
57
|
-
export {
|
|
57
|
+
export { u as default };
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { defineComponent as e, nextTick as t, onBeforeUnmount as n, onMounted as r, watch as i } from "vue";
|
|
2
|
-
import { useData as a, useRoute as o } from "vitepress";
|
|
3
|
-
import { Vibrant as
|
|
2
|
+
import { useData as a, useRoute as o, withBase as s } from "vitepress";
|
|
3
|
+
import { Vibrant as c } from "node-vibrant/browser";
|
|
4
4
|
//#region .vitepress/components/FxHeroImageBg.ts
|
|
5
|
-
var
|
|
6
|
-
function
|
|
5
|
+
var l = "fx-hero-colors";
|
|
6
|
+
function u() {
|
|
7
7
|
try {
|
|
8
|
-
let e = localStorage.getItem(
|
|
8
|
+
let e = localStorage.getItem(l);
|
|
9
9
|
return e ? JSON.parse(e) : null;
|
|
10
10
|
} catch {
|
|
11
11
|
return null;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
function
|
|
14
|
+
function d(e) {
|
|
15
15
|
try {
|
|
16
|
-
localStorage.setItem(
|
|
16
|
+
localStorage.setItem(l, JSON.stringify(e));
|
|
17
17
|
} catch {}
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
function f(e) {
|
|
20
20
|
return [
|
|
21
21
|
e.Vibrant,
|
|
22
22
|
e.DarkVibrant,
|
|
@@ -26,63 +26,63 @@ function d(e) {
|
|
|
26
26
|
e.LightMuted
|
|
27
27
|
].filter(Boolean);
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function p(e) {
|
|
30
30
|
return e.slice().sort((e, t) => e.hsl[0] - t.hsl[0]).map((e) => e.hex);
|
|
31
31
|
}
|
|
32
|
-
function
|
|
33
|
-
let t =
|
|
32
|
+
function m(e) {
|
|
33
|
+
let t = f(e);
|
|
34
34
|
if (t.length === 0) return "-webkit-linear-gradient(-45deg, #bd34fe 50%, #47caff 50%)";
|
|
35
|
-
let n =
|
|
35
|
+
let n = p(t);
|
|
36
36
|
return `conic-gradient(from 0deg, ${[...n, n[0]].join(", ")})`;
|
|
37
37
|
}
|
|
38
|
-
function
|
|
38
|
+
function h(e, t) {
|
|
39
39
|
let n = Math.abs(e - t);
|
|
40
40
|
return Math.min(n, 360 - n);
|
|
41
41
|
}
|
|
42
|
-
function
|
|
43
|
-
let t =
|
|
42
|
+
function g(e) {
|
|
43
|
+
let t = f(e);
|
|
44
44
|
if (t.length < 2) return "linear-gradient(120deg, #bd34fe, #41d1ff)";
|
|
45
45
|
let n = -1, r = [t[0].hex, t[1].hex];
|
|
46
46
|
for (let e = 0; e < t.length; e++) for (let i = e + 1; i < t.length; i++) {
|
|
47
|
-
let a =
|
|
47
|
+
let a = h(t[e].hsl[0], t[i].hsl[0]);
|
|
48
48
|
a > n && (n = a, r = [t[e].hex, t[i].hex]);
|
|
49
49
|
}
|
|
50
50
|
return `linear-gradient(120deg, ${r[0]}, ${r[1]})`;
|
|
51
51
|
}
|
|
52
|
-
function
|
|
52
|
+
function _(e) {
|
|
53
53
|
return `${parseInt(e.slice(1, 3), 16)}, ${parseInt(e.slice(3, 5), 16)}, ${parseInt(e.slice(5, 7), 16)}`;
|
|
54
54
|
}
|
|
55
|
-
function
|
|
56
|
-
let t =
|
|
55
|
+
function v(e) {
|
|
56
|
+
let t = f(e);
|
|
57
57
|
if (t.length < 2) return ["189, 52, 254", "65, 209, 255"];
|
|
58
58
|
let n = -1, r = [t[0], t[1]];
|
|
59
59
|
for (let e = 0; e < t.length; e++) for (let i = e + 1; i < t.length; i++) {
|
|
60
|
-
let a =
|
|
60
|
+
let a = h(t[e].hsl[0], t[i].hsl[0]);
|
|
61
61
|
a > n && (n = a, r = [t[e], t[i]]);
|
|
62
62
|
}
|
|
63
|
-
return [
|
|
63
|
+
return [_(r[0].hex), _(r[1].hex)];
|
|
64
64
|
}
|
|
65
|
-
function
|
|
65
|
+
function y() {
|
|
66
66
|
return document.documentElement.classList.contains("dark");
|
|
67
67
|
}
|
|
68
|
-
function
|
|
69
|
-
let [t, n] =
|
|
68
|
+
function b(e) {
|
|
69
|
+
let [t, n] = v(e);
|
|
70
70
|
return {
|
|
71
|
-
imageGradient:
|
|
72
|
-
nameGradient:
|
|
71
|
+
imageGradient: m(e),
|
|
72
|
+
nameGradient: g(e),
|
|
73
73
|
beamC1: t,
|
|
74
74
|
beamC2: n
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
|
-
function
|
|
77
|
+
function x(e) {
|
|
78
78
|
let t = document.documentElement;
|
|
79
79
|
t.style.setProperty("--vp-home-hero-image-background-image", e.imageGradient), t.style.setProperty("--vp-home-hero-name-background", e.nameGradient), t.style.setProperty("--fx-beam-c1", e.beamC1), t.style.setProperty("--fx-beam-c2", e.beamC2);
|
|
80
80
|
}
|
|
81
|
-
function
|
|
81
|
+
function S(e) {
|
|
82
82
|
let t = document.documentElement;
|
|
83
83
|
t.style.setProperty("--fx-beam-c1", e.beamC1), t.style.setProperty("--fx-beam-c2", e.beamC2);
|
|
84
84
|
}
|
|
85
|
-
var
|
|
85
|
+
var C = e({
|
|
86
86
|
props: { heroImageColor: {
|
|
87
87
|
type: Boolean,
|
|
88
88
|
default: !1
|
|
@@ -90,34 +90,34 @@ var S = e({
|
|
|
90
90
|
render: () => null,
|
|
91
91
|
setup(e) {
|
|
92
92
|
if (!e.heroImageColor) return;
|
|
93
|
-
let
|
|
94
|
-
function
|
|
93
|
+
let f = null, p = o(), { frontmatter: m } = a();
|
|
94
|
+
function h() {
|
|
95
95
|
let e = document.documentElement;
|
|
96
96
|
e.style.removeProperty("--vp-home-hero-image-background-image"), e.style.removeProperty("--vp-home-hero-name-background"), e.style.removeProperty("--fx-beam-c1"), e.style.removeProperty("--fx-beam-c2");
|
|
97
97
|
}
|
|
98
|
-
function h(e) {
|
|
99
|
-
return v() ? e.dark || e.light : e.light || e.dark;
|
|
100
|
-
}
|
|
101
98
|
function g(e) {
|
|
102
|
-
|
|
103
|
-
return !t || !t.images ? !1 : e && (e.light && t.images.light && e.light !== t.images.light || e.dark && t.images.dark && e.dark !== t.images.dark) ? (localStorage.removeItem(c), !0) : !1;
|
|
99
|
+
return y() ? e.dark || e.light : e.light || e.dark;
|
|
104
100
|
}
|
|
105
|
-
function _() {
|
|
106
|
-
let
|
|
107
|
-
|
|
108
|
-
let t = h(e);
|
|
109
|
-
return t ? (b(t), !0) : !1;
|
|
101
|
+
function _(e) {
|
|
102
|
+
let t = u();
|
|
103
|
+
return !t || !t.images ? !1 : e && (e.light && t.images.light && e.light !== t.images.light || e.dark && t.images.dark && e.dark !== t.images.dark) ? (localStorage.removeItem(l), !0) : !1;
|
|
110
104
|
}
|
|
111
|
-
function
|
|
112
|
-
let e =
|
|
105
|
+
function v() {
|
|
106
|
+
let e = u();
|
|
113
107
|
if (!e) return !1;
|
|
114
|
-
let t =
|
|
108
|
+
let t = g(e);
|
|
115
109
|
return t ? (x(t), !0) : !1;
|
|
116
110
|
}
|
|
117
111
|
function C() {
|
|
118
|
-
|
|
112
|
+
let e = u();
|
|
113
|
+
if (!e) return !1;
|
|
114
|
+
let t = g(e);
|
|
115
|
+
return t ? (S(t), !0) : !1;
|
|
116
|
+
}
|
|
117
|
+
function w() {
|
|
118
|
+
return m.value.fxHeroImages || {};
|
|
119
119
|
}
|
|
120
|
-
async function
|
|
120
|
+
async function T() {
|
|
121
121
|
try {
|
|
122
122
|
let e = await import(
|
|
123
123
|
/* @vite-ignore */
|
|
@@ -134,48 +134,48 @@ var S = e({
|
|
|
134
134
|
return null;
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
async function
|
|
137
|
+
async function E(e, t) {
|
|
138
138
|
let n = e.src;
|
|
139
139
|
if (n) try {
|
|
140
|
-
let e =
|
|
141
|
-
(
|
|
142
|
-
let r =
|
|
143
|
-
r[t] = e, r.images ||= {}, r.images[t] = n,
|
|
140
|
+
let e = b(await c.from(n).quality(1).getPalette());
|
|
141
|
+
(y() && t === "dark" || !y() && t === "light") && x(e);
|
|
142
|
+
let r = u() || {};
|
|
143
|
+
r[t] = e, r.images ||= {}, r.images[t] = n, d(r);
|
|
144
144
|
} catch {}
|
|
145
145
|
}
|
|
146
|
-
async function
|
|
146
|
+
async function D(e, t) {
|
|
147
147
|
try {
|
|
148
|
-
let n =
|
|
149
|
-
return r[t] = n, r.images ||= {}, r.images[t] = e,
|
|
148
|
+
let n = b(await c.from(e).quality(1).getPalette()), r = u() || {};
|
|
149
|
+
return r[t] = n, r.images ||= {}, r.images[t] = e, d(r), n;
|
|
150
150
|
} catch {
|
|
151
151
|
return null;
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
|
-
async function
|
|
154
|
+
async function O(e, t = !0) {
|
|
155
155
|
if (!e.light && !e.dark) return;
|
|
156
|
-
let
|
|
156
|
+
let n = {};
|
|
157
157
|
if (e.light) {
|
|
158
|
-
let
|
|
159
|
-
|
|
158
|
+
let r = await D(t ? s(e.light) : e.light, "light");
|
|
159
|
+
r && (n.light = r);
|
|
160
160
|
}
|
|
161
161
|
if (e.dark) {
|
|
162
|
-
let
|
|
163
|
-
|
|
162
|
+
let r = await D(t ? s(e.dark) : e.dark, "dark");
|
|
163
|
+
r && (n.dark = r);
|
|
164
164
|
}
|
|
165
|
-
if (
|
|
166
|
-
let e =
|
|
167
|
-
e &&
|
|
165
|
+
if (n.light || n.dark) {
|
|
166
|
+
let e = y() ? n.dark || n.light : n.light || n.dark;
|
|
167
|
+
e && x(e);
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
async function
|
|
171
|
-
let e =
|
|
170
|
+
async function k() {
|
|
171
|
+
let e = w();
|
|
172
172
|
if (e.light || e.dark) {
|
|
173
|
-
await
|
|
173
|
+
await O(e);
|
|
174
174
|
return;
|
|
175
175
|
}
|
|
176
|
-
let t = await
|
|
176
|
+
let t = await T();
|
|
177
177
|
if (t) {
|
|
178
|
-
await
|
|
178
|
+
await O(t);
|
|
179
179
|
return;
|
|
180
180
|
}
|
|
181
181
|
try {
|
|
@@ -183,34 +183,34 @@ var S = e({
|
|
|
183
183
|
t.forEach((e) => {
|
|
184
184
|
let t = e.getAttribute("src");
|
|
185
185
|
t && (e.classList.contains("dark") ? n.dark = t : n.light = t);
|
|
186
|
-
}), (n.light || n.dark) && await
|
|
186
|
+
}), (n.light || n.dark) && await O(n, !1);
|
|
187
187
|
} catch {}
|
|
188
188
|
}
|
|
189
|
-
function
|
|
189
|
+
function A() {
|
|
190
190
|
let e = document.querySelector(".VPHero .image-container img.VPImage.light"), t = document.querySelector(".VPHero .image-container img.VPImage.dark");
|
|
191
|
-
e || t ? (e && e.complete && e.naturalWidth > 0 ?
|
|
191
|
+
e || t ? (e && e.complete && e.naturalWidth > 0 ? E(e, "light") : e && e.addEventListener("load", () => E(e, "light"), { once: !0 }), t && t.complete && t.naturalWidth > 0 ? E(t, "dark") : t && t.addEventListener("load", () => E(t, "dark"), { once: !0 })) : (h(), C(), T().then((e) => {
|
|
192
192
|
if (e && (e.light || e.dark)) {
|
|
193
|
-
let t =
|
|
194
|
-
t?.images && (e.light && t.images.light && e.light !== t.images.light || e.dark && t.images.dark && e.dark !== t.images.dark) && (localStorage.removeItem(
|
|
193
|
+
let t = u();
|
|
194
|
+
t?.images && (e.light && t.images.light && e.light !== t.images.light || e.dark && t.images.dark && e.dark !== t.images.dark) && (localStorage.removeItem(l), O(e));
|
|
195
195
|
}
|
|
196
|
-
}),
|
|
196
|
+
}), k());
|
|
197
197
|
}
|
|
198
198
|
r(() => {
|
|
199
|
-
|
|
199
|
+
_(w()), v() || k(), A(), f = new MutationObserver((e) => {
|
|
200
200
|
for (let t of e) if (t.attributeName === "class") {
|
|
201
|
-
|
|
201
|
+
C(), A();
|
|
202
202
|
break;
|
|
203
203
|
}
|
|
204
|
-
}),
|
|
204
|
+
}), f.observe(document.documentElement, {
|
|
205
205
|
attributes: !0,
|
|
206
206
|
attributeFilter: ["class"]
|
|
207
207
|
});
|
|
208
|
-
}), i(() =>
|
|
209
|
-
t(
|
|
208
|
+
}), i(() => p.path, () => {
|
|
209
|
+
t(A);
|
|
210
210
|
}), n(() => {
|
|
211
|
-
|
|
211
|
+
f?.disconnect(), h();
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
214
|
});
|
|
215
215
|
//#endregion
|
|
216
|
-
export {
|
|
216
|
+
export { C as default };
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
import { t as e } from "./icons-DtAsNqxj.js";
|
|
2
|
-
import { Fragment as t, computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, nextTick as
|
|
3
|
-
import { useData as
|
|
4
|
-
import { ElSlider as
|
|
2
|
+
import { Fragment as t, computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, nextTick as ee, normalizeClass as c, onBeforeUnmount as l, onMounted as u, openBlock as d, ref as f, renderList as p, toDisplayString as m, unref as h, vShow as g, watchEffect as _, withDirectives as v } from "vue";
|
|
3
|
+
import { useData as y, withBase as b } from "vitepress";
|
|
4
|
+
import { ElSlider as x } from "element-plus";
|
|
5
5
|
//#region .vitepress/components/FxMusicBall.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
-
var
|
|
6
|
+
var S = [
|
|
7
7
|
"src",
|
|
8
8
|
"autoplay",
|
|
9
9
|
"loop"
|
|
10
|
-
],
|
|
10
|
+
], C = ["src", "autoplay"], w = { class: "fx-music-ball__inner" }, T = { class: "fx-play-pause" }, E = ["innerHTML"], D = ["innerHTML"], O = { class: "fx-time" }, k = { class: "fx-duration" }, te = { class: "fx-volume" }, ne = ["innerHTML"], re = ["innerHTML"], ie = ["innerHTML"], ae = {
|
|
11
11
|
id: "fx-progress-gradient",
|
|
12
12
|
x1: "0%",
|
|
13
13
|
y1: "0%",
|
|
14
14
|
x2: "100%",
|
|
15
15
|
y2: "100%"
|
|
16
|
-
},
|
|
16
|
+
}, oe = ["stop-color"], se = ["stop-color"], ce = ["stroke-dasharray"], le = {
|
|
17
17
|
key: 2,
|
|
18
18
|
class: "fx-orbit-ring"
|
|
19
|
-
},
|
|
19
|
+
}, ue = {
|
|
20
20
|
key: 3,
|
|
21
21
|
class: "fx-music-list"
|
|
22
|
-
},
|
|
22
|
+
}, de = ["onClick"], fe = ["d"], A = /* @__PURE__ */ s({
|
|
23
23
|
__name: "FxMusicBall",
|
|
24
24
|
setup(s) {
|
|
25
|
-
let
|
|
25
|
+
let A = [
|
|
26
26
|
"M123.252 73.826h111.169v790.935h-111.169z",
|
|
27
27
|
"M346.361 465.952h111.169v395.467h-111.169z",
|
|
28
28
|
"M569.466 229.325h111.169v636.444h-111.169z",
|
|
29
29
|
"M792.574 391.584h111.169v475.788h-111.169z"
|
|
30
|
-
], { site:
|
|
30
|
+
], { site: j } = y(), M = j.value.themeConfig.musicBall, N = f(null), P = f(0), F = f(0), I = f(0), L = f(!1), R = f(50), z = f(!1), B = f(0), V = f(!!M.autoplay), H = f(!1), U = 2 * Math.PI * 22, W = f("#bd34fe"), G = f("#41d1ff");
|
|
31
31
|
function K() {
|
|
32
32
|
let e = getComputedStyle(document.documentElement), t = e.getPropertyValue("--fx-beam-c1").trim(), n = e.getPropertyValue("--fx-beam-c2").trim();
|
|
33
33
|
t && (W.value = `rgb(${t})`), n && (G.value = `rgb(${n})`);
|
|
34
34
|
}
|
|
35
35
|
let q = null;
|
|
36
|
-
|
|
36
|
+
u(() => {
|
|
37
37
|
K(), q = new MutationObserver((e) => {
|
|
38
38
|
for (let t of e) if (t.attributeName === "style") {
|
|
39
39
|
K();
|
|
@@ -43,27 +43,30 @@ var x = [
|
|
|
43
43
|
attributes: !0,
|
|
44
44
|
attributeFilter: ["style"]
|
|
45
45
|
});
|
|
46
|
-
}),
|
|
46
|
+
}), l(() => {
|
|
47
47
|
q?.disconnect();
|
|
48
48
|
});
|
|
49
|
-
let
|
|
49
|
+
let pe = n(() => {
|
|
50
50
|
let e = U - X.value / 100 * U;
|
|
51
51
|
return `${U - e} ${e}`;
|
|
52
|
-
}), J = n(() => M.src || M.list?.length === 1),
|
|
52
|
+
}), J = n(() => M.src || M.list?.length === 1), me = n(() => b(M.src || M.list?.[0]?.src || "")), Y = n(() => (M.list || []).map((e) => ({
|
|
53
|
+
...e,
|
|
54
|
+
src: b(e.src)
|
|
55
|
+
}))), X = n({
|
|
53
56
|
get() {
|
|
54
57
|
return I.value / P.value * 100 || 0;
|
|
55
58
|
},
|
|
56
59
|
set(e) {
|
|
57
60
|
F.value = P.value * e / 100, !L.value && N.value && (N.value.currentTime = F.value);
|
|
58
61
|
}
|
|
59
|
-
}),
|
|
60
|
-
|
|
62
|
+
}), he = n(() => $(P.value)), Z = n(() => $(I.value));
|
|
63
|
+
_(() => {
|
|
61
64
|
N.value && (z.value = !1, N.value.volume = R.value / 100);
|
|
62
|
-
}),
|
|
65
|
+
}), _(() => {
|
|
63
66
|
N.value && (N.value.muted = z.value);
|
|
64
67
|
});
|
|
65
68
|
let Q = {};
|
|
66
|
-
|
|
69
|
+
u(() => {
|
|
67
70
|
let e = N.value;
|
|
68
71
|
if (!e) return;
|
|
69
72
|
let t = {
|
|
@@ -87,47 +90,47 @@ var x = [
|
|
|
87
90
|
}
|
|
88
91
|
B.value = 0;
|
|
89
92
|
} else B.value++;
|
|
90
|
-
|
|
93
|
+
ee(() => e.play());
|
|
91
94
|
}
|
|
92
95
|
};
|
|
93
96
|
for (let [n, r] of Object.entries(t)) e.addEventListener(n, r);
|
|
94
97
|
Q = t;
|
|
95
|
-
}),
|
|
98
|
+
}), l(() => {
|
|
96
99
|
let e = N.value;
|
|
97
100
|
if (e) {
|
|
98
101
|
for (let [t, n] of Object.entries(Q)) e.removeEventListener(t, n);
|
|
99
102
|
Q = {};
|
|
100
103
|
}
|
|
101
104
|
});
|
|
102
|
-
let
|
|
105
|
+
let ge = () => {
|
|
103
106
|
L.value = !L.value, L.value ? N.value?.play() : N.value?.pause(), !J.value && !V.value && (V.value = !0);
|
|
104
|
-
},
|
|
107
|
+
}, _e = () => {
|
|
105
108
|
N.value && (N.value.currentTime = F.value);
|
|
106
|
-
},
|
|
109
|
+
}, ve = (e) => {
|
|
107
110
|
V.value = !0, B.value = e;
|
|
108
|
-
},
|
|
111
|
+
}, ye = () => {
|
|
109
112
|
H.value = !1;
|
|
110
113
|
};
|
|
111
114
|
function $(e) {
|
|
112
115
|
return e = Math.max(0, Number(e) || 0), `${Math.floor(e % 3600 / 60)}:${Math.floor(e % 60).toString().padStart(2, "0")}`;
|
|
113
116
|
}
|
|
114
|
-
return (n, s) => (
|
|
115
|
-
class:
|
|
117
|
+
return (n, s) => (d(), i("div", {
|
|
118
|
+
class: c(["fx-music-ball", {
|
|
116
119
|
active: H.value,
|
|
117
120
|
"is-playing": L.value
|
|
118
121
|
}]),
|
|
119
|
-
onMouseleave:
|
|
122
|
+
onMouseleave: ye
|
|
120
123
|
}, [
|
|
121
|
-
J.value ? (
|
|
124
|
+
J.value ? (d(), i("audio", {
|
|
122
125
|
key: 0,
|
|
123
126
|
class: "audio",
|
|
124
|
-
src:
|
|
125
|
-
autoplay:
|
|
126
|
-
loop:
|
|
127
|
+
src: me.value,
|
|
128
|
+
autoplay: h(M).autoplay,
|
|
129
|
+
loop: h(M).loop,
|
|
127
130
|
style: { display: "none" },
|
|
128
131
|
ref_key: "audioRef",
|
|
129
132
|
ref: N
|
|
130
|
-
}, null, 8,
|
|
133
|
+
}, null, 8, S)) : (d(), i("audio", {
|
|
131
134
|
key: 1,
|
|
132
135
|
class: "audio",
|
|
133
136
|
src: Y.value[B.value]?.src,
|
|
@@ -135,55 +138,55 @@ var x = [
|
|
|
135
138
|
style: { display: "none" },
|
|
136
139
|
ref_key: "audioRef",
|
|
137
140
|
ref: N
|
|
138
|
-
}, null, 8,
|
|
139
|
-
a("div",
|
|
140
|
-
a("div",
|
|
141
|
-
a("div",
|
|
142
|
-
a("div",
|
|
141
|
+
}, null, 8, C)),
|
|
142
|
+
a("div", w, [
|
|
143
|
+
a("div", T, [v(a("span", { innerHTML: h(e)("music-ball/playfill", 20) }, null, 8, E), [[g, !L.value]]), v(a("span", { innerHTML: h(e)("music-ball/pause", 26) }, null, 8, D), [[g, L.value]])]),
|
|
144
|
+
a("div", O, m(Z.value) + "\xA0/\xA0" + m(he.value), 1),
|
|
145
|
+
a("div", k, [o(h(x), {
|
|
143
146
|
style: { width: "100%" },
|
|
144
147
|
"show-tooltip": !1,
|
|
145
148
|
modelValue: X.value,
|
|
146
149
|
"onUpdate:modelValue": s[0] ||= (e) => X.value = e,
|
|
147
|
-
onChange:
|
|
150
|
+
onChange: _e
|
|
148
151
|
}, null, 8, ["modelValue"])]),
|
|
149
|
-
a("div",
|
|
150
|
-
o(
|
|
152
|
+
a("div", te, [
|
|
153
|
+
o(h(x), {
|
|
151
154
|
style: { width: "100%" },
|
|
152
155
|
"show-tooltip": !1,
|
|
153
156
|
modelValue: R.value,
|
|
154
157
|
"onUpdate:modelValue": s[1] ||= (e) => R.value = e
|
|
155
158
|
}, null, 8, ["modelValue"]),
|
|
156
|
-
|
|
159
|
+
v(a("span", {
|
|
157
160
|
class: "fx-icon-volume",
|
|
158
161
|
onClick: s[2] ||= (e) => z.value = !z.value,
|
|
159
|
-
innerHTML:
|
|
160
|
-
}, null, 8,
|
|
161
|
-
|
|
162
|
+
innerHTML: h(e)("music-ball/volume_off", 20)
|
|
163
|
+
}, null, 8, ne), [[g, z.value]]),
|
|
164
|
+
v(a("span", {
|
|
162
165
|
class: "fx-icon-volume",
|
|
163
166
|
onClick: s[3] ||= (e) => z.value = !z.value,
|
|
164
|
-
innerHTML:
|
|
165
|
-
}, null, 8,
|
|
167
|
+
innerHTML: h(e)("music-ball/volume_up", 20)
|
|
168
|
+
}, null, 8, re), [[g, !z.value]])
|
|
166
169
|
]),
|
|
167
|
-
J.value ? r("", !0) : (
|
|
170
|
+
J.value ? r("", !0) : (d(), i("div", {
|
|
168
171
|
key: 0,
|
|
169
172
|
class: "fx-music-list-button",
|
|
170
173
|
onClick: s[4] ||= (e) => H.value = !H.value
|
|
171
|
-
}, [a("span", { innerHTML:
|
|
174
|
+
}, [a("span", { innerHTML: h(e)("music-ball/music_list", 20) }, null, 8, ie)]))
|
|
172
175
|
]),
|
|
173
|
-
(
|
|
176
|
+
(d(), i("svg", {
|
|
174
177
|
class: "fx-progress-ring",
|
|
175
178
|
width: "50",
|
|
176
179
|
height: "50",
|
|
177
180
|
viewBox: "0 0 50 50",
|
|
178
|
-
onClick:
|
|
181
|
+
onClick: ge
|
|
179
182
|
}, [
|
|
180
|
-
a("defs", null, [a("linearGradient",
|
|
183
|
+
a("defs", null, [a("linearGradient", ae, [a("stop", {
|
|
181
184
|
offset: "0%",
|
|
182
185
|
"stop-color": W.value
|
|
183
|
-
}, null, 8,
|
|
186
|
+
}, null, 8, oe), a("stop", {
|
|
184
187
|
offset: "100%",
|
|
185
188
|
"stop-color": G.value
|
|
186
|
-
}, null, 8,
|
|
189
|
+
}, null, 8, se)])]),
|
|
187
190
|
s[5] ||= a("circle", {
|
|
188
191
|
class: "fx-progress-track",
|
|
189
192
|
cx: "25",
|
|
@@ -201,26 +204,26 @@ var x = [
|
|
|
201
204
|
stroke: "url(#fx-progress-gradient)",
|
|
202
205
|
"stroke-width": "2.5",
|
|
203
206
|
"stroke-linecap": "round",
|
|
204
|
-
"stroke-dasharray":
|
|
205
|
-
}, null, 8,
|
|
207
|
+
"stroke-dasharray": pe.value
|
|
208
|
+
}, null, 8, ce)
|
|
206
209
|
])),
|
|
207
|
-
L.value ? (
|
|
208
|
-
H.value ? (
|
|
209
|
-
class:
|
|
210
|
+
L.value ? (d(), i("div", le)) : r("", !0),
|
|
211
|
+
H.value ? (d(), i("div", ue, [(d(!0), i(t, null, p(Y.value, (e, n) => (d(), i("div", {
|
|
212
|
+
class: c(["fx-music-list-item", B.value === n ? "active" : ""]),
|
|
210
213
|
key: n,
|
|
211
|
-
onClick: (e) =>
|
|
212
|
-
}, [B.value === n ? (
|
|
214
|
+
onClick: (e) => ve(n)
|
|
215
|
+
}, [B.value === n ? (d(), i("svg", {
|
|
213
216
|
key: 0,
|
|
214
|
-
class:
|
|
217
|
+
class: c(["image-live", { playing: L.value }]),
|
|
215
218
|
viewBox: "0 0 1024 1024",
|
|
216
219
|
xmlns: "http://www.w3.org/2000/svg"
|
|
217
|
-
}, [(
|
|
220
|
+
}, [(d(), i(t, null, p(A, (e, t) => a("path", {
|
|
218
221
|
key: t,
|
|
219
222
|
d: e,
|
|
220
|
-
class:
|
|
221
|
-
}, null, 10,
|
|
223
|
+
class: c(["bar", `bar-${t + 1}`])
|
|
224
|
+
}, null, 10, fe)), 64))], 2)) : r("", !0), a("span", null, m(e.name), 1)], 10, de))), 128)), s[6] ||= a("div", { class: "fx-music-list-sep" }, null, -1)])) : r("", !0)
|
|
222
225
|
], 34));
|
|
223
226
|
}
|
|
224
227
|
});
|
|
225
228
|
//#endregion
|
|
226
|
-
export {
|
|
229
|
+
export { A as default };
|
package/dist/config.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { UserConfig, DefaultTheme } from 'vitepress'
|
|
2
|
-
|
|
3
1
|
export type MusicItem = {
|
|
4
2
|
name: string
|
|
5
3
|
src: string
|
|
@@ -13,7 +11,8 @@ export type ConfettiConfig = {
|
|
|
13
11
|
secondary?: boolean
|
|
14
12
|
}
|
|
15
13
|
|
|
16
|
-
|
|
14
|
+
/** 自定义主题属性,消费方通过 & 组合到 DefaultTheme.Config */
|
|
15
|
+
export interface FxThemeCustomConfig {
|
|
17
16
|
musicBall?: {
|
|
18
17
|
enable?: boolean
|
|
19
18
|
visible?: boolean
|
|
@@ -34,5 +33,11 @@ export interface FxThemeConfig extends DefaultTheme.Config {
|
|
|
34
33
|
}
|
|
35
34
|
}
|
|
36
35
|
|
|
37
|
-
|
|
36
|
+
// fxConfig 不引用 vitepress 内部类型,避免跨模块类型冲突
|
|
37
|
+
// 运行时实际值包含完整配置(在 .vitepress/config/index.ts 源码中维护)
|
|
38
|
+
declare const fxConfig: {
|
|
39
|
+
markdown?: { lineNumbers?: boolean }
|
|
40
|
+
transformPageData?: (pageData: any) => any
|
|
41
|
+
vite?: { ssr?: { noExternal?: string[] } }
|
|
42
|
+
}
|
|
38
43
|
export default fxConfig
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -32,7 +32,7 @@ var d = {
|
|
|
32
32
|
}, t = document.querySelector(".VPNavBarTitle .title");
|
|
33
33
|
t && (x = new ResizeObserver(e), x.observe(t)), e();
|
|
34
34
|
}), a(() => x?.disconnect());
|
|
35
|
-
let w = c(() => import("./chunk/FxMusicBall-
|
|
35
|
+
let w = c(() => import("./chunk/FxMusicBall-CTP51ydo.js"), [{ style: { display: g.musicBall && g.musicBall.visible ? "" : "none" } }]), T = c(() => import("./chunk/FxHomeFeatureBefore-Cd9m9wit.js")), E = c(() => import("./chunk/FxConfetti-DFRD5KKS.js"), [{ confetti: g.confetti }]), D = c(() => import("./chunk/FxHeroImageBg-Ge75loti.js"), [{ heroImageColor: g.heroImageColor }]), O = c(() => import("./chunk/FxCodeBlockFold-BZw-1rNl.js"), [{ lines: C }]);
|
|
36
36
|
return () => [
|
|
37
37
|
S && n("style", `:root{--fx-code-fold-lines:${C || 10}}`),
|
|
38
38
|
g.heroImageColor && n("style", ":root{--vp-home-hero-image-background-image:none;--vp-home-hero-name-color:transparent;--vp-home-hero-name-background:none}"),
|
package/dist/style.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
:root{--fx-beam-c1:189, 52, 254;--fx-beam-c2:65, 209, 255;--decoration-color-blue:#45abff;--decoration-color-yellow:#a29bdb;--decoration-color-green:#8eb78b;--decoration-color-red:#f3bad6;--decoration-color-blue-dark:hsl(from var(--decoration-color-blue) h s calc(l * .5));--decoration-color-yellow-dark:hsl(from var(--decoration-color-yellow) h s calc(l * .5));--decoration-color-green-dark:hsl(from var(--decoration-color-green) h s calc(l * .5));--decoration-color-red-dark:hsl(from var(--decoration-color-red) h s calc(l * .5));--decoration-thick:.6em;--decoration-style:solid;--decoration-line:underline;--decoration-skip-ink:none;--underline-offset:-.4em;--vp-home-hero-name-color:transparent;--vp-home-hero-name-background:linear-gradient(120deg, #bd34fe, #41d1ff);--vp-home-hero-image-background-image:-webkit-linear-gradient(-45deg, #bd34fe 50%, #47caff 50%);--vp-home-hero-image-filter:blur(45px);--vp-layout-max-width:1450px;--vp-code-line-height:2.2em;--fx-code-fold-lines:99999}::selection{color:#fff;background-color:#fe7300}.dark ::selection{color:#efefef;background-color:#692f00}@property --beam-angle{syntax:"<angle>";inherits:true;initial-value:0deg}@keyframes beam-spin{to{--beam-angle:360deg}}@keyframes beam-hue-shift{0%{filter:hue-rotate(-20deg)brightness(1.2)saturate(1.1)}50%{filter:hue-rotate(20deg)brightness(1.2)saturate(1.1)}to{filter:hue-rotate(-20deg)brightness(1.2)saturate(1.1)}}@keyframes beam-hue-shift-bloom{0%{filter:blur(4px)hue-rotate(-20deg)brightness(1.2)saturate(1.1)}50%{filter:blur(4px)hue-rotate(20deg)brightness(1.2)saturate(1.1)}to{filter:blur(4px)hue-rotate(-20deg)brightness(1.2)saturate(1.1)}}@property --blur{syntax:"<length>";inherits:false;initial-value:30px}@keyframes filter_blur{0%{--blur:30px}to{--blur:80px}}.VPDoc.has-aside .content-container{max-width:100%!important}.VPDoc.has-aside>.container>.content{padding-left:5px;padding-right:5px}.VPImage{border-radius:50%}.VPDocOutlineItem a{font-size:12px!important}.aside-container{width:350px!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#80808059;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8080808c}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4{text-decoration-thickness:var(--decoration-thick);-webkit-text-decoration-style:var(--decoration-style);text-decoration-style:var(--decoration-style);-webkit-text-decoration-line:var(--decoration-line);text-decoration-line:var(--decoration-line);text-decoration-skip-ink:var(--decoration-skip-ink);text-underline-offset:var(--underline-offset)}.vp-doc h1{-webkit-text-decoration-color:var(--decoration-color-blue);text-decoration-color:var(--decoration-color-blue)}.vp-doc h2{-webkit-text-decoration-color:var(--decoration-color-yellow);text-decoration-color:var(--decoration-color-yellow)}.vp-doc h3{-webkit-text-decoration-color:var(--decoration-color-green);text-decoration-color:var(--decoration-color-green)}.vp-doc h4{-webkit-text-decoration-color:var(--decoration-color-red);text-decoration-color:var(--decoration-color-red)}.vp-doc img{border:1px dashed #efefef;border-radius:5px;margin-top:10px}.vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme){border-top:6px solid #d4eaf7}.vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme) .vp-code:not(.dark .vp-code){padding-bottom:18px}.vp-doc .vp-code-group.vp-adaptive-theme:not(.dark .vp-code-group.vp-adaptive-theme){border-top:none!important}.vp-doc .vp-code-group.vp-adaptive-theme:after{display:none}.vp-doc .vp-code-group .tabs{border-top:6px solid #d4eaf7}.dark .VPHome .image-bg{filter:blur(var(--blur));animation:1.8s ease-in infinite alternate-reverse filter_blur}.dark .vp-doc h1{-webkit-text-decoration-color:var(--decoration-color-blue-dark);text-decoration-color:var(--decoration-color-blue-dark)}.dark .vp-doc h2{-webkit-text-decoration-color:var(--decoration-color-yellow-dark);text-decoration-color:var(--decoration-color-yellow-dark)}.dark .vp-doc h3{-webkit-text-decoration-color:var(--decoration-color-green-dark);text-decoration-color:var(--decoration-color-green-dark)}.dark .vp-doc h4{-webkit-text-decoration-color:var(--decoration-color-red-dark);text-decoration-color:var(--decoration-color-red-dark)}.dark .vp-doc img{border-color:#2b2b2b}.dark .vp-doc .vp-code-group .tabs{border-top:2px solid #0000!important}.dark .vp-doc .vp-adaptive-theme{border:2px solid #0000;border-radius:8px;position:relative}.dark .vp-doc .vp-adaptive-theme.active{margin-bottom:0}.dark .vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme){--beam-radius:8px;--beam-z-before:4;--beam-z-after:5;--beam-mask-inset:28px;border-top:2px solid #0000}.dark .VPDocFooter .pager-link{border-color:#0000;position:relative}.dark .VPDocFooter .pager-link:not(:hover){border-color:var(--vp-c-divider,#313d44)}.dark .VPDocFooter .pager-link{--beam-radius:8px;--beam-z-before:1;--beam-z-after:2;--beam-mask-inset:20px}.dark .vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme):before,.dark .VPDocFooter .pager-link:before{content:"";border-radius:var(--beam-radius);clip-path:inset(0 round var(--beam-radius));pointer-events:none;z-index:var(--beam-z-before);opacity:0;box-shadow:inset 0 0 9px 1px rgba(var(--fx-beam-c1),.3), inset 0 0 12px rgba(var(--fx-beam-c2),.15);background:radial-gradient(ellipse 63px 36px at 33% -7.4%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 54px 31px at 12% -5%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 36px 63px at 2.1% 68.3%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 18px 31px at 2.1% 68.3%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 162px 28px at 74.4% 100%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 76px 23px at 55% 100%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 66px 28px at 93.9% 0%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 23px 37px at 100% 27.1%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 46px 43px at 100% 27.1%, rgba(var(--fx-beam-c2),.45), transparent);-webkit-mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);-webkit-mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);-webkit-mask-composite:source-in, source-over;transition:opacity .5s;animation:3s linear infinite beam-spin,12s ease-in-out infinite beam-hue-shift;position:absolute;inset:0;-webkit-mask-composite:source-in,source-over;mask-composite:intersect,add}.dark .vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme):after,.dark .VPDocFooter .pager-link:after{content:"";border-radius:var(--beam-radius);pointer-events:none;z-index:var(--beam-z-after);opacity:0;background:conic-gradient(from var(--beam-angle), transparent 0%, transparent 64%, rgba(var(--fx-beam-c1),.15) 66.5%, rgba(var(--fx-beam-c1),.35) 68%, rgba(var(--fx-beam-c1),.5) 69%, rgba(var(--fx-beam-c2),.65) 70%, rgba(var(--fx-beam-c2),.65) 70.5%, rgba(var(--fx-beam-c2),.45) 71.5%, rgba(var(--fx-beam-c1),.25) 73%, rgba(var(--fx-beam-c1),.1) 75%, transparent 77%, transparent 100%), radial-gradient(ellipse 70px 40px at 33% -7.4%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 60px 35px at 12% -5%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 40px 70px at 2.1% 68.3%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 20px 35px at 2.1% 68.3%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 180px 32px at 74.4% 100%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 85px 26px at 55% 100%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 74px 32px at 93.9% 0%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 26px 42px at 100% 27.1%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 52px 48px at 100% 27.1%, rgb(var(--fx-beam-c2)), transparent);-webkit-mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:source-in, xor;filter:blur(4px)brightness(1.2)saturate(1.1);padding:1px;transition:opacity .5s;animation:3s linear infinite beam-spin,12s ease-in-out infinite beam-hue-shift-bloom;position:absolute;inset:0;-webkit-mask-composite:source-in,xor;mask-composite:intersect,exclude}.dark .vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme):hover:before,.dark .VPDocFooter .pager-link:hover:before{opacity:.7}.dark .vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme):hover:after,.dark .VPDocFooter .pager-link:hover:after{opacity:.6}.dark .VPHomeFeatures .VPFeature{border-radius:12px;position:relative;overflow:hidden}.dark .VPHomeFeatures .VPFeature:before{content:"";background:radial-gradient(var(--color), transparent, transparent);left:var(--x);top:var(--y);opacity:0;width:700px;height:700px;transition:opacity 1s;display:block;position:absolute;transform:translate(-50%,-50%)}.dark .VPHomeFeatures .VPFeature:hover:before{opacity:1;transition:opacity .3s}.dark .VPHomeFeatures .VPFeature:after{content:"";z-index:0;background-color:#222c;border-radius:10px;display:block;position:absolute;inset:2px}.dark .VPHomeFeatures .VPFeature>.box{z-index:1;position:relative}html.fx-smooth-scroll{scroll-behavior:smooth}html.fx-smooth-scroll .VPDocAsideOutline .outline-marker{transition:top .35s cubic-bezier(.22,1,.36,1),opacity .35s}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}.dark::view-transition-new(root){z-index:1}::view-transition-new(root){z-index:9999}.dark::view-transition-old(root){z-index:9999}.VPNavBarTitle{overflow:hidden}.VPNavBarTitle .title{min-width:0}.VPNavBarTitle .title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.VPNavBarTitle .title img{flex-shrink:0}.vp-doc .vp-adaptive-theme{position:relative}.vp-doc .vp-adaptive-theme>.vp-code{max-height:calc(var(--vp-code-line-height,2.2em) * var(--fx-code-fold-lines,10) + 18px);overflow:hidden}.vp-doc .vp-adaptive-theme>.line-numbers-wrapper{max-height:calc(var(--vp-code-line-height,2.2em) * var(--fx-code-fold-lines,10));overflow:hidden}.fx-code-fold-enabled .vp-doc .fx-code-no-fold>.vp-code,.fx-code-fold-enabled .vp-doc .fx-code-no-fold>.line-numbers-wrapper,.fx-code-fold-enabled .vp-doc .fx-code-foldable:not(.fx-code-folded)>.vp-code,.fx-code-fold-enabled .vp-doc .fx-code-foldable:not(.fx-code-folded)>.line-numbers-wrapper{max-height:none;overflow:visible}.fx-code-fold-overlay{pointer-events:none;z-index:3;justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:-webkit-backdrop-filter .3s,backdrop-filter .3s,height .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.fx-code-fold-label{color:var(--vp-c-text-1);pointer-events:auto;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.fx-code-fold-label svg{fill:currentColor;flex-shrink:0}.fx-code-fold-overlay:hover .fx-code-fold-label{color:var(--vp-c-brand-1)}.fx-code-folded>.fx-code-fold-overlay{-webkit-backdrop-filter:blur(8px);background:linear-gradient(to bottom, transparent, var(--vp-c-bg-soft));align-items:flex-end;height:80px;padding-bottom:10px}.fx-code-fold-overlay.fx-code-fold-expanded{height:auto;padding:8px 0}.fx-code-foldable:not(.fx-code-folded){padding-bottom:36px}:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out, var(--el-transition-duration) padding-left ease-in-out, var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;vertical-align:bottom;width:100%;font-size:var(--el-font-size-base);display:inline-block;position:relative}.el-textarea__inner{resize:vertical;box-sizing:border-box;width:100%;line-height:1.5;font-size:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);background-image:none;border:none;padding:5px 11px;font-family:inherit;display:block;position:relative}.el-textarea__inner.is-clearable{padding:5px 26px 5px 11px}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea__clear{color:var(--el-input-icon-color);cursor:pointer;font-size:14px;position:absolute;top:15px;right:11px;transform:translateY(-50%)}.el-textarea__clear:hover{color:var(--el-input-clear-hover-color)}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);font-size:12px;line-height:14px;position:absolute;bottom:5px;right:10px}.el-textarea .el-input__count.is-outside{top:100%;right:0;bottom:unset;background:0 0;padding-top:2px;line-height:1;position:absolute}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);font-size:var(--el-font-size-base);width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle;display:inline-flex;position:relative}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;color:var(--el-color-info);align-items:center;font-size:12px;display:inline-flex}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;padding-left:8px;display:inline-block}.el-input .el-input__count.is-outside{height:unset;padding-top:2px;position:absolute;top:100%;right:0}.el-input .el-input__count.is-outside .el-input__count-inner{background:0 0;padding-left:0;line-height:1}.el-input__wrapper{background-color:var(--el-input-bg-color,var(--el-fill-color-blank));border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;background-image:none;flex-grow:1;justify-content:center;align-items:center;padding:1px 11px;display:inline-flex;transform:translate(0)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height,32px) - 2px)}.el-input__inner{-webkit-appearance:none;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);box-sizing:border-box;background:0 0;border:none;outline:none;flex-grow:1;padding:0}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__prefix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__suffix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;transition:all var(--el-transition-duration);justify-content:center;align-items:center;margin-left:8px;display:flex}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height,40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height,24px) - 2px)}.el-input-group{align-items:stretch;width:100%;display:inline-flex}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);border-radius:var(--el-input-border-radius);white-space:nowrap;justify-content:center;align-items:center;min-height:100%;padding:0 20px;display:inline-flex;position:relative}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{flex:1;margin:0 -20px;display:inline-block}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{color:inherit;background-color:#0000;border-color:#0000}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{box-shadow:1px 0 0 0 var(--el-input-border-color) inset, 0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{box-shadow:0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset, -1px 0 0 0 var(--el-input-border-color) inset;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{box-shadow:1px 0 0 0 var(--el-input-border-color) inset, 0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{box-shadow:0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset, -1px 0 0 0 var(--el-input-border-color) inset;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-hidden{display:none!important}.el-input-number{vertical-align:middle;width:150px;line-height:30px;display:inline-flex;position:relative}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{z-index:1;background:var(--el-fill-color-light);width:32px;height:auto;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;bottom:1px}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border);right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border);bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;top:auto;left:auto;right:1px}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height:11px}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;width:100%;height:32px;display:flex}.el-slider__runway{height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;position:relative}.el-slider__runway.show-input{width:auto;margin-right:30px}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed;transform:scale(1)}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);z-index:1;top:var(--el-slider-button-wrapper-offset);text-align:center;-webkit-user-select:none;user-select:none;background-color:#0000;outline:none;line-height:normal;position:absolute;transform:translate(-50%)}.el-slider__button-wrapper:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-slider__button-wrapper:hover,.el-slider__button-wrapper.hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;user-select:none;border-radius:50%;display:inline-block}.el-slider__button:hover,.el-slider__button.hover,.el-slider__button.dragging{transform:scale(1.2)}.el-slider__button:hover,.el-slider__button.hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);position:absolute;transform:translate(-50%)}.el-slider__marks{width:18px;height:100%;top:0;left:12px}.el-slider__marks-text{color:var(--el-color-info);white-space:pre;margin-top:15px;font-size:14px;position:absolute;transform:translate(-50%)}.el-slider.is-vertical{flex:0;width:auto;height:100%;display:inline-flex;position:relative}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);border-radius:0 0 3px 3px;height:auto}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.fx-music-ball{--fx-music-accent-start:rgb(var(--fx-beam-c1));--fx-music-accent-end:rgb(var(--fx-beam-c2));--fx-music-bg:#ffffff73;--fx-music-bg-blur:12px;--fx-music-border:#ffffff4d;--fx-music-shadow:0 4px 16px #0000001a;--fx-music-text:#000000a6;--fx-music-text-muted:#0006;--fx-music-slider-track:#00000014;--fx-music-slider-thumb:rgb(var(--fx-beam-c2));--music-list-sep-color:#0000000f;--music-list-bgcolor:#ffffff80;--music-list-bdcolor:#ffffff4d}.dark .fx-music-ball{--fx-music-bg:#1e1e328c;--fx-music-bg-blur:16px;--fx-music-border:#ffffff14;--fx-music-shadow:0 4px 20px #0000004d, 0 0 12px rgba(var(--fx-beam-c1), .15);--fx-music-text:#ffffffb3;--fx-music-text-muted:#fff6;--fx-music-slider-track:#ffffff1a;--music-list-sep-color:#ffffff0d;--music-list-bgcolor:#1e1e3299;--music-list-bdcolor:#ffffff0f}.fx-music-ball{background:var(--fx-music-bg);-webkit-backdrop-filter:blur(var(--fx-music-bg-blur));border:1px solid var(--fx-music-border);box-shadow:var(--fx-music-shadow);cursor:pointer;z-index:99;box-sizing:border-box;border-radius:28px;justify-content:space-between;align-items:center;width:50px;height:50px;padding:0 20px 0 5px;transition:width .35s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;bottom:15px;left:15px;overflow:hidden}.fx-music-ball.active{overflow:inherit}.fx-music-ball:hover{width:330px;transition:width .4s cubic-bezier(.34,1.56,.64,1) .5s}.fx-music-ball .fx-progress-ring{cursor:pointer;position:absolute;top:-1px;left:-1px;transform:rotate(-90deg)}.fx-music-ball .fx-progress-track{stroke:var(--fx-music-slider-track)}.fx-music-ball .fx-progress-bar{stroke:url(#fx-progress-gradient);transition:stroke-dasharray .1s}.fx-music-ball .fx-orbit-ring{border:1.5px solid #0000;border-top-color:rgba(var(--fx-beam-c1), .4);border-right-color:rgba(var(--fx-beam-c2), .2);pointer-events:none;border-radius:50%;animation:3s linear infinite orbit-spin;position:absolute;inset:-4px}.dark .fx-music-ball .fx-orbit-ring{border-top-color:rgba(var(--fx-beam-c1), .6);border-right-color:rgba(var(--fx-beam-c2), .3);filter:drop-shadow(0 0 4px rgba(var(--fx-beam-c1), .3))}@keyframes orbit-spin{to{transform:rotate(360deg)}}.fx-music-ball .fx-music-ball__inner{justify-content:space-between;align-items:center;width:330px;display:flex}.fx-music-ball .fx-play-pause span,.fx-music-ball .fx-music-list-button span,.fx-music-ball .fx-icon-volume{justify-content:center;align-items:center;display:flex}.fx-music-ball .fx-play-pause span svg,.fx-music-ball .fx-music-list-button span svg,.fx-music-ball .fx-icon-volume svg{fill:var(--fx-music-text)}.fx-music-ball .fx-play-pause{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background-color .3s;display:flex}.fx-music-ball .fx-play-pause:hover{background-color:rgba(var(--fx-beam-c1), .1)}.dark .fx-music-ball .fx-play-pause:hover{background-color:rgba(var(--fx-beam-c1), .15)}.fx-music-ball .fx-time{color:var(--fx-music-text-muted);white-space:nowrap;width:78px;padding:0 10px;font-size:12px}.fx-music-ball .fx-duration{flex:1;padding:0 10px 0 3px}.fx-music-ball .fx-music-list-button{justify-content:center;align-items:center;width:30px;margin-left:8px;display:flex}.fx-music-ball .el-slider{--el-slider-height:4px;--el-slider-main-bg-color:var(--fx-music-accent-end);--el-color-white:var(--fx-music-slider-thumb)}.fx-music-ball .el-slider .el-slider__runway{background-color:var(--fx-music-slider-track)}.fx-music-ball .el-slider .el-slider__bar{background:linear-gradient(90deg, var(--fx-music-accent-start), var(--fx-music-accent-end))}.fx-music-ball .el-slider .el-slider__button{--el-slider-button-size:12px;border-color:var(--fx-music-slider-thumb);box-shadow:0 0 6px rgba(var(--fx-beam-c2), .3);position:relative;top:-1px}.fx-music-ball .fx-volume{align-items:center;width:30px;transition:width .3s .3s;display:flex}.fx-music-ball .fx-volume .el-slider{opacity:0;transition:opacity .3s .3s}.fx-music-ball .fx-volume:hover{width:120px;transition:width .3s .3s}.fx-music-ball .fx-volume:hover .el-slider{opacity:1;transition:opacity .3s}.fx-music-ball .fx-icon-volume{cursor:pointer;margin-left:5px}.fx-music-ball.is-playing .fx-progress-bar{animation:2s ease-in-out infinite progress-pulse}@keyframes progress-pulse{0%,to{filter:drop-shadow(0 0 2px rgba(var(--fx-beam-c1), .3))}50%{filter:drop-shadow(0 0 6px rgba(var(--fx-beam-c2), .6))}}.fx-music-ball.is-playing:before{content:"";border-radius:inherit;background:linear-gradient(135deg, rgba(var(--fx-beam-c1), .08) 0%, transparent 40%, rgba(var(--fx-beam-c2), .08) 60%, transparent 100%);pointer-events:none;background-size:200% 200%;animation:4s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{background-position:200% 0}50%{background-position:0 200%}to{background-position:200% 0}}.dark .fx-music-ball.is-playing{box-shadow:0 4px 20px #0000004d, 0 0 12px rgba(var(--fx-beam-c1), .15), 0 0 24px rgba(var(--fx-beam-c2), .08)}.fx-music-ball .fx-music-list{box-sizing:border-box;z-index:-9;background:var(--music-list-bgcolor);-webkit-backdrop-filter:blur(20px);border:1px solid var(--music-list-bdcolor);width:100%;box-shadow:var(--fx-music-shadow);opacity:0;pointer-events:none;border-radius:24px;padding:15px 5px 50px;transition:opacity .3s,transform .3s;position:absolute;bottom:0;left:0;transform:translateY(10px)}.fx-music-ball.active .fx-music-list{opacity:1;pointer-events:auto;transform:translateY(0)}.fx-music-ball .fx-music-list .fx-music-list-sep{border-bottom:1px solid var(--music-list-sep-color);margin:5px 0}.fx-music-ball .fx-music-list .fx-music-list-item{text-wrap:nowrap;text-overflow:ellipsis;color:var(--fx-music-text-muted);padding-left:20px;padding-right:20px;font-size:12px;line-height:24px;transition:color .2s;position:relative;overflow:hidden}.fx-music-ball .fx-music-list .fx-music-list-item:hover{color:var(--fx-music-accent-end)}.fx-music-ball .fx-music-list .fx-music-list-item .image-live{width:12px;height:12px;position:absolute;bottom:6px;left:3px}.fx-music-ball .fx-music-list .fx-music-list-item .image-live svg{width:100%;height:100%}.fx-music-ball .fx-music-list .fx-music-list-item .image-live .bar{fill:currentColor;transform-box:fill-box;transform-origin:bottom}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-1{animation:.8s ease-in-out infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-2{animation:.8s ease-in-out .2s infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-3{animation:.8s ease-in-out .4s infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-4{animation:.8s ease-in-out .1s infinite fx-eq-bar}@keyframes fx-eq-bar{0%,to{transform:scaleY(1)}50%{transform:scaleY(.3)}}.fx-music-ball .fx-music-list .fx-music-list-item.active{color:var(--fx-music-accent-start)}.fx-music-ball .fx-music-list .fx-music-list-item.active:hover{color:var(--fx-music-accent-end)}@media (prefers-reduced-motion:reduce){.fx-music-ball *,.fx-music-ball :before,.fx-music-ball :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
|
|
1
|
+
:root{--fx-beam-c1:189, 52, 254;--fx-beam-c2:65, 209, 255;--decoration-color-blue:#45abff;--decoration-color-yellow:#a29bdb;--decoration-color-green:#8eb78b;--decoration-color-red:#f3bad6;--decoration-color-blue-dark:hsl(from var(--decoration-color-blue) h s calc(l * .5));--decoration-color-yellow-dark:hsl(from var(--decoration-color-yellow) h s calc(l * .5));--decoration-color-green-dark:hsl(from var(--decoration-color-green) h s calc(l * .5));--decoration-color-red-dark:hsl(from var(--decoration-color-red) h s calc(l * .5));--decoration-thick:.6em;--decoration-style:solid;--decoration-line:underline;--decoration-skip-ink:none;--underline-offset:-.4em;--vp-home-hero-name-color:transparent;--vp-home-hero-name-background:linear-gradient(120deg, #bd34fe, #41d1ff);--vp-home-hero-image-background-image:-webkit-linear-gradient(-45deg, #bd34fe 50%, #47caff 50%);--vp-home-hero-image-filter:blur(45px);--vp-layout-max-width:1450px;--vp-code-line-height:2.2em;--fx-code-fold-lines:99999}::selection{color:#fff;background-color:#fe7300}.dark ::selection{color:#efefef;background-color:#692f00}@property --beam-angle{syntax:"<angle>";inherits:true;initial-value:0deg}@keyframes beam-spin{to{--beam-angle:360deg}}@keyframes beam-hue-shift{0%{filter:hue-rotate(-20deg)brightness(1.2)saturate(1.1)}50%{filter:hue-rotate(20deg)brightness(1.2)saturate(1.1)}to{filter:hue-rotate(-20deg)brightness(1.2)saturate(1.1)}}@keyframes beam-hue-shift-bloom{0%{filter:blur(4px)hue-rotate(-20deg)brightness(1.2)saturate(1.1)}50%{filter:blur(4px)hue-rotate(20deg)brightness(1.2)saturate(1.1)}to{filter:blur(4px)hue-rotate(-20deg)brightness(1.2)saturate(1.1)}}@property --blur{syntax:"<length>";inherits:false;initial-value:30px}@keyframes filter_blur{0%{--blur:30px}to{--blur:80px}}.VPDoc.has-aside .content-container{max-width:100%!important}.VPDoc.has-aside>.container>.content{padding-left:5px;padding-right:5px}.VPImage{border-radius:50%}.VPDocOutlineItem a{font-size:12px!important}.aside-container{width:350px!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#80808059;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8080808c}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4{text-decoration-thickness:var(--decoration-thick);-webkit-text-decoration-style:var(--decoration-style);text-decoration-style:var(--decoration-style);-webkit-text-decoration-line:var(--decoration-line);text-decoration-line:var(--decoration-line);text-decoration-skip-ink:var(--decoration-skip-ink);text-underline-offset:var(--underline-offset)}.vp-doc h1{-webkit-text-decoration-color:var(--decoration-color-blue);text-decoration-color:var(--decoration-color-blue)}.vp-doc h2{-webkit-text-decoration-color:var(--decoration-color-yellow);text-decoration-color:var(--decoration-color-yellow)}.vp-doc h3{-webkit-text-decoration-color:var(--decoration-color-green);text-decoration-color:var(--decoration-color-green)}.vp-doc h4{-webkit-text-decoration-color:var(--decoration-color-red);text-decoration-color:var(--decoration-color-red)}.vp-doc img{border:1px dashed #efefef;border-radius:5px;margin-top:10px}.vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]){border-top:6px solid #d4eaf7}.vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]) pre.shiki:not(.dark pre.shiki){padding-bottom:18px}.vp-doc .vp-code-group:not(.dark .vp-code-group){border-top:none!important}.vp-doc .vp-code-group .tabs{border-top:6px solid #d4eaf7}.dark .VPHome .image-bg{filter:blur(var(--blur));animation:1.8s ease-in infinite alternate-reverse filter_blur}.dark .vp-doc h1{-webkit-text-decoration-color:var(--decoration-color-blue-dark);text-decoration-color:var(--decoration-color-blue-dark)}.dark .vp-doc h2{-webkit-text-decoration-color:var(--decoration-color-yellow-dark);text-decoration-color:var(--decoration-color-yellow-dark)}.dark .vp-doc h3{-webkit-text-decoration-color:var(--decoration-color-green-dark);text-decoration-color:var(--decoration-color-green-dark)}.dark .vp-doc h4{-webkit-text-decoration-color:var(--decoration-color-red-dark);text-decoration-color:var(--decoration-color-red-dark)}.dark .vp-doc img{border-color:#2b2b2b}.dark .vp-doc .vp-code-group .tabs{border-top:2px solid #0000!important}.dark .vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]){--beam-radius:8px;--beam-z-before:4;--beam-z-after:5;--beam-mask-inset:28px;border:2px solid #0000;border-radius:8px;position:relative}.dark .vp-doc .vp-code-group{--beam-radius:8px;--beam-z-before:4;--beam-z-after:5;--beam-mask-inset:28px;border-radius:8px;position:relative;overflow:hidden}.vp-doc .vp-code-group div[class*=language-]{margin-bottom:0!important}.dark .VPDocFooter .pager-link{border-color:#0000;position:relative}.dark .VPDocFooter .pager-link:not(:hover){border-color:var(--vp-c-divider,#313d44)}.dark .VPDocFooter .pager-link{--beam-radius:8px;--beam-z-before:1;--beam-z-after:2;--beam-mask-inset:20px}.dark .vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]):before,.dark .vp-doc .vp-code-group:before,.dark .VPDocFooter .pager-link:before{content:"";border-radius:var(--beam-radius);clip-path:inset(0 round var(--beam-radius));pointer-events:none;z-index:var(--beam-z-before);opacity:0;box-shadow:inset 0 0 9px 1px rgba(var(--fx-beam-c1),.3), inset 0 0 12px rgba(var(--fx-beam-c2),.15);background:radial-gradient(ellipse 63px 36px at 33% -7.4%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 54px 31px at 12% -5%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 36px 63px at 2.1% 68.3%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 18px 31px at 2.1% 68.3%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 162px 28px at 74.4% 100%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 76px 23px at 55% 100%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 66px 28px at 93.9% 0%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 23px 37px at 100% 27.1%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 46px 43px at 100% 27.1%, rgba(var(--fx-beam-c2),.45), transparent);-webkit-mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);-webkit-mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);-webkit-mask-composite:source-in, source-over;transition:opacity .5s;animation:3s linear infinite beam-spin,12s ease-in-out infinite beam-hue-shift;position:absolute;inset:0;-webkit-mask-composite:source-in,source-over;mask-composite:intersect,add}.dark .vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]):after,.dark .vp-doc .vp-code-group:after,.dark .VPDocFooter .pager-link:after{content:"";border-radius:var(--beam-radius);pointer-events:none;z-index:var(--beam-z-after);opacity:0;background:conic-gradient(from var(--beam-angle), transparent 0%, transparent 64%, rgba(var(--fx-beam-c1),.15) 66.5%, rgba(var(--fx-beam-c1),.35) 68%, rgba(var(--fx-beam-c1),.5) 69%, rgba(var(--fx-beam-c2),.65) 70%, rgba(var(--fx-beam-c2),.65) 70.5%, rgba(var(--fx-beam-c2),.45) 71.5%, rgba(var(--fx-beam-c1),.25) 73%, rgba(var(--fx-beam-c1),.1) 75%, transparent 77%, transparent 100%), radial-gradient(ellipse 70px 40px at 33% -7.4%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 60px 35px at 12% -5%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 40px 70px at 2.1% 68.3%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 20px 35px at 2.1% 68.3%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 180px 32px at 74.4% 100%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 85px 26px at 55% 100%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 74px 32px at 93.9% 0%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 26px 42px at 100% 27.1%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 52px 48px at 100% 27.1%, rgb(var(--fx-beam-c2)), transparent);-webkit-mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:source-in, xor;filter:blur(4px)brightness(1.2)saturate(1.1);padding:1px;transition:opacity .5s;animation:3s linear infinite beam-spin,12s ease-in-out infinite beam-hue-shift-bloom;position:absolute;inset:0;-webkit-mask-composite:source-in,xor;mask-composite:intersect,exclude}.dark .vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]):hover:before,.dark .vp-doc .vp-code-group:hover:before,.dark .VPDocFooter .pager-link:hover:before{opacity:.7}.dark .vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]):hover:after,.dark .vp-doc .vp-code-group:hover:after,.dark .VPDocFooter .pager-link:hover:after{opacity:.6}.dark .VPHomeFeatures .VPFeature{border-radius:12px;position:relative;overflow:hidden}.dark .VPHomeFeatures .VPFeature:before{content:"";background:radial-gradient(var(--color), transparent, transparent);left:var(--x);top:var(--y);opacity:0;width:700px;height:700px;transition:opacity 1s;display:block;position:absolute;transform:translate(-50%,-50%)}.dark .VPHomeFeatures .VPFeature:hover:before{opacity:1;transition:opacity .3s}.dark .VPHomeFeatures .VPFeature:after{content:"";z-index:0;background-color:#222c;border-radius:10px;display:block;position:absolute;inset:2px}.dark .VPHomeFeatures .VPFeature>.box{z-index:1;position:relative}html.fx-smooth-scroll{scroll-behavior:smooth}html.fx-smooth-scroll .VPDocAsideOutline .outline-marker{transition:top .35s cubic-bezier(.22,1,.36,1),opacity .35s}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}.dark::view-transition-new(root){z-index:1}::view-transition-new(root){z-index:9999}.dark::view-transition-old(root){z-index:9999}.VPNavBarTitle{overflow:hidden}.VPNavBarTitle .title{min-width:0}.VPNavBarTitle .title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.VPNavBarTitle .title img{flex-shrink:0}.vp-doc div[class*=language-]{position:relative;overflow:hidden}.vp-doc div[class*=language-]>pre.shiki{max-height:calc(var(--vp-code-line-height,2.2em) * var(--fx-code-fold-lines,10) + 18px);overflow:hidden}.vp-doc div[class*=language-]>.line-numbers-wrapper{max-height:calc(var(--vp-code-line-height,2.2em) * var(--fx-code-fold-lines,10));overflow:hidden}.fx-code-fold-enabled .vp-doc .fx-code-no-fold>pre.shiki,.fx-code-fold-enabled .vp-doc .fx-code-no-fold>.line-numbers-wrapper,.fx-code-fold-enabled .vp-doc .fx-code-foldable:not(.fx-code-folded)>pre.shiki,.fx-code-fold-enabled .vp-doc .fx-code-foldable:not(.fx-code-folded)>.line-numbers-wrapper{max-height:none;overflow:visible}.fx-code-fold-overlay{pointer-events:none;z-index:3;justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:-webkit-backdrop-filter .3s,backdrop-filter .3s,height .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.fx-code-fold-label{color:var(--vp-c-text-1);pointer-events:auto;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.fx-code-fold-label svg{fill:currentColor;flex-shrink:0}.fx-code-fold-overlay:hover .fx-code-fold-label{color:var(--vp-c-brand-1)}.fx-code-folded>.fx-code-fold-overlay{-webkit-backdrop-filter:blur(8px);background:linear-gradient(to bottom, transparent, var(--vp-c-bg-soft));align-items:flex-end;height:80px;padding-bottom:10px}.fx-code-fold-overlay.fx-code-fold-expanded{height:auto;padding:8px 0}.fx-code-foldable:not(.fx-code-folded){padding-bottom:36px}:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out, var(--el-transition-duration) padding-left ease-in-out, var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;vertical-align:bottom;width:100%;font-size:var(--el-font-size-base);display:inline-block;position:relative}.el-textarea__inner{resize:vertical;box-sizing:border-box;width:100%;line-height:1.5;font-size:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);background-image:none;border:none;padding:5px 11px;font-family:inherit;display:block;position:relative}.el-textarea__inner.is-clearable{padding:5px 26px 5px 11px}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea__clear{color:var(--el-input-icon-color);cursor:pointer;font-size:14px;position:absolute;top:15px;right:11px;transform:translateY(-50%)}.el-textarea__clear:hover{color:var(--el-input-clear-hover-color)}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);font-size:12px;line-height:14px;position:absolute;bottom:5px;right:10px}.el-textarea .el-input__count.is-outside{top:100%;right:0;bottom:unset;background:0 0;padding-top:2px;line-height:1;position:absolute}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);font-size:var(--el-font-size-base);width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle;display:inline-flex;position:relative}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;color:var(--el-color-info);align-items:center;font-size:12px;display:inline-flex}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;padding-left:8px;display:inline-block}.el-input .el-input__count.is-outside{height:unset;padding-top:2px;position:absolute;top:100%;right:0}.el-input .el-input__count.is-outside .el-input__count-inner{background:0 0;padding-left:0;line-height:1}.el-input__wrapper{background-color:var(--el-input-bg-color,var(--el-fill-color-blank));border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;background-image:none;flex-grow:1;justify-content:center;align-items:center;padding:1px 11px;display:inline-flex;transform:translate(0)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height,32px) - 2px)}.el-input__inner{-webkit-appearance:none;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);box-sizing:border-box;background:0 0;border:none;outline:none;flex-grow:1;padding:0}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__prefix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__suffix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;transition:all var(--el-transition-duration);justify-content:center;align-items:center;margin-left:8px;display:flex}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height,40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height,24px) - 2px)}.el-input-group{align-items:stretch;width:100%;display:inline-flex}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);border-radius:var(--el-input-border-radius);white-space:nowrap;justify-content:center;align-items:center;min-height:100%;padding:0 20px;display:inline-flex;position:relative}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{flex:1;margin:0 -20px;display:inline-block}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{color:inherit;background-color:#0000;border-color:#0000}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{box-shadow:1px 0 0 0 var(--el-input-border-color) inset, 0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{box-shadow:0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset, -1px 0 0 0 var(--el-input-border-color) inset;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{box-shadow:1px 0 0 0 var(--el-input-border-color) inset, 0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{box-shadow:0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset, -1px 0 0 0 var(--el-input-border-color) inset;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-hidden{display:none!important}.el-input-number{vertical-align:middle;width:150px;line-height:30px;display:inline-flex;position:relative}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{z-index:1;background:var(--el-fill-color-light);width:32px;height:auto;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;bottom:1px}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border);right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border);bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;top:auto;left:auto;right:1px}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height:11px}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;width:100%;height:32px;display:flex}.el-slider__runway{height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;position:relative}.el-slider__runway.show-input{width:auto;margin-right:30px}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed;transform:scale(1)}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);z-index:1;top:var(--el-slider-button-wrapper-offset);text-align:center;-webkit-user-select:none;user-select:none;background-color:#0000;outline:none;line-height:normal;position:absolute;transform:translate(-50%)}.el-slider__button-wrapper:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-slider__button-wrapper:hover,.el-slider__button-wrapper.hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;user-select:none;border-radius:50%;display:inline-block}.el-slider__button:hover,.el-slider__button.hover,.el-slider__button.dragging{transform:scale(1.2)}.el-slider__button:hover,.el-slider__button.hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);position:absolute;transform:translate(-50%)}.el-slider__marks{width:18px;height:100%;top:0;left:12px}.el-slider__marks-text{color:var(--el-color-info);white-space:pre;margin-top:15px;font-size:14px;position:absolute;transform:translate(-50%)}.el-slider.is-vertical{flex:0;width:auto;height:100%;display:inline-flex;position:relative}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);border-radius:0 0 3px 3px;height:auto}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.fx-music-ball{--fx-music-accent-start:rgb(var(--fx-beam-c1));--fx-music-accent-end:rgb(var(--fx-beam-c2));--fx-music-bg:#ffffff73;--fx-music-bg-blur:12px;--fx-music-border:#ffffff4d;--fx-music-shadow:0 4px 16px #0000001a;--fx-music-text:#000000a6;--fx-music-text-muted:#0006;--fx-music-slider-track:#00000014;--fx-music-slider-thumb:rgb(var(--fx-beam-c2));--music-list-sep-color:#0000000f;--music-list-bgcolor:#ffffff80;--music-list-bdcolor:#ffffff4d}.dark .fx-music-ball{--fx-music-bg:#1e1e328c;--fx-music-bg-blur:16px;--fx-music-border:#ffffff14;--fx-music-shadow:0 4px 20px #0000004d, 0 0 12px rgba(var(--fx-beam-c1), .15);--fx-music-text:#ffffffb3;--fx-music-text-muted:#fff6;--fx-music-slider-track:#ffffff1a;--music-list-sep-color:#ffffff0d;--music-list-bgcolor:#1e1e3299;--music-list-bdcolor:#ffffff0f}.fx-music-ball{background:var(--fx-music-bg);-webkit-backdrop-filter:blur(var(--fx-music-bg-blur));border:1px solid var(--fx-music-border);box-shadow:var(--fx-music-shadow);cursor:pointer;z-index:99;box-sizing:border-box;border-radius:28px;justify-content:space-between;align-items:center;width:50px;height:50px;padding:0 20px 0 5px;transition:width .35s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;bottom:15px;left:15px;overflow:hidden}.fx-music-ball.active{overflow:inherit}.fx-music-ball:hover{width:330px;transition:width .4s cubic-bezier(.34,1.56,.64,1) .5s}.fx-music-ball .fx-progress-ring{cursor:pointer;position:absolute;top:-1px;left:-1px;transform:rotate(-90deg)}.fx-music-ball .fx-progress-track{stroke:var(--fx-music-slider-track)}.fx-music-ball .fx-progress-bar{stroke:url(#fx-progress-gradient);transition:stroke-dasharray .1s}.fx-music-ball .fx-orbit-ring{border:1.5px solid #0000;border-top-color:rgba(var(--fx-beam-c1), .4);border-right-color:rgba(var(--fx-beam-c2), .2);pointer-events:none;border-radius:50%;animation:3s linear infinite orbit-spin;position:absolute;inset:-4px}.dark .fx-music-ball .fx-orbit-ring{border-top-color:rgba(var(--fx-beam-c1), .6);border-right-color:rgba(var(--fx-beam-c2), .3);filter:drop-shadow(0 0 4px rgba(var(--fx-beam-c1), .3))}@keyframes orbit-spin{to{transform:rotate(360deg)}}.fx-music-ball .fx-music-ball__inner{justify-content:space-between;align-items:center;width:330px;display:flex}.fx-music-ball .fx-play-pause span,.fx-music-ball .fx-music-list-button span,.fx-music-ball .fx-icon-volume{justify-content:center;align-items:center;display:flex}.fx-music-ball .fx-play-pause span svg,.fx-music-ball .fx-music-list-button span svg,.fx-music-ball .fx-icon-volume svg{fill:var(--fx-music-text)}.fx-music-ball .fx-play-pause{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background-color .3s;display:flex}.fx-music-ball .fx-play-pause:hover{background-color:rgba(var(--fx-beam-c1), .1)}.dark .fx-music-ball .fx-play-pause:hover{background-color:rgba(var(--fx-beam-c1), .15)}.fx-music-ball .fx-time{color:var(--fx-music-text-muted);white-space:nowrap;width:78px;padding:0 10px;font-size:12px}.fx-music-ball .fx-duration{flex:1;padding:0 10px 0 3px}.fx-music-ball .fx-music-list-button{justify-content:center;align-items:center;width:30px;margin-left:8px;display:flex}.fx-music-ball .el-slider{--el-slider-height:4px;--el-slider-main-bg-color:var(--fx-music-accent-end);--el-color-white:var(--fx-music-slider-thumb)}.fx-music-ball .el-slider .el-slider__runway{background-color:var(--fx-music-slider-track)}.fx-music-ball .el-slider .el-slider__bar{background:linear-gradient(90deg, var(--fx-music-accent-start), var(--fx-music-accent-end))}.fx-music-ball .el-slider .el-slider__button{--el-slider-button-size:12px;border-color:var(--fx-music-slider-thumb);box-shadow:0 0 6px rgba(var(--fx-beam-c2), .3);position:relative;top:-1px}.fx-music-ball .fx-volume{align-items:center;width:30px;transition:width .3s .3s;display:flex}.fx-music-ball .fx-volume .el-slider{opacity:0;transition:opacity .3s .3s}.fx-music-ball .fx-volume:hover{width:120px;transition:width .3s .3s}.fx-music-ball .fx-volume:hover .el-slider{opacity:1;transition:opacity .3s}.fx-music-ball .fx-icon-volume{cursor:pointer;margin-left:5px}.fx-music-ball.is-playing .fx-progress-bar{animation:2s ease-in-out infinite progress-pulse}@keyframes progress-pulse{0%,to{filter:drop-shadow(0 0 2px rgba(var(--fx-beam-c1), .3))}50%{filter:drop-shadow(0 0 6px rgba(var(--fx-beam-c2), .6))}}.fx-music-ball.is-playing:before{content:"";border-radius:inherit;background:linear-gradient(135deg, rgba(var(--fx-beam-c1), .08) 0%, transparent 40%, rgba(var(--fx-beam-c2), .08) 60%, transparent 100%);pointer-events:none;background-size:200% 200%;animation:4s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{background-position:200% 0}50%{background-position:0 200%}to{background-position:200% 0}}.dark .fx-music-ball.is-playing{box-shadow:0 4px 20px #0000004d, 0 0 12px rgba(var(--fx-beam-c1), .15), 0 0 24px rgba(var(--fx-beam-c2), .08)}.fx-music-ball .fx-music-list{box-sizing:border-box;z-index:-9;background:var(--music-list-bgcolor);-webkit-backdrop-filter:blur(20px);border:1px solid var(--music-list-bdcolor);width:100%;box-shadow:var(--fx-music-shadow);opacity:0;pointer-events:none;border-radius:24px;padding:15px 5px 50px;transition:opacity .3s,transform .3s;position:absolute;bottom:0;left:0;transform:translateY(10px)}.fx-music-ball.active .fx-music-list{opacity:1;pointer-events:auto;transform:translateY(0)}.fx-music-ball .fx-music-list .fx-music-list-sep{border-bottom:1px solid var(--music-list-sep-color);margin:5px 0}.fx-music-ball .fx-music-list .fx-music-list-item{text-wrap:nowrap;text-overflow:ellipsis;color:var(--fx-music-text-muted);padding-left:20px;padding-right:20px;font-size:12px;line-height:24px;transition:color .2s;position:relative;overflow:hidden}.fx-music-ball .fx-music-list .fx-music-list-item:hover{color:var(--fx-music-accent-end)}.fx-music-ball .fx-music-list .fx-music-list-item .image-live{width:12px;height:12px;position:absolute;bottom:6px;left:3px}.fx-music-ball .fx-music-list .fx-music-list-item .image-live svg{width:100%;height:100%}.fx-music-ball .fx-music-list .fx-music-list-item .image-live .bar{fill:currentColor;transform-box:fill-box;transform-origin:bottom}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-1{animation:.8s ease-in-out infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-2{animation:.8s ease-in-out .2s infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-3{animation:.8s ease-in-out .4s infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-4{animation:.8s ease-in-out .1s infinite fx-eq-bar}@keyframes fx-eq-bar{0%,to{transform:scaleY(1)}50%{transform:scaleY(.3)}}.fx-music-ball .fx-music-list .fx-music-list-item.active{color:var(--fx-music-accent-start)}.fx-music-ball .fx-music-list .fx-music-list-item.active:hover{color:var(--fx-music-accent-end)}@media (prefers-reduced-motion:reduce){.fx-music-ball *,.fx-music-ball :before,.fx-music-ball :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
|
|
2
2
|
/*$vite$:1*/
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@fuxishi/vitepress-theme",
|
|
3
3
|
"displayName": "@fuxishi/vitepress-theme",
|
|
4
4
|
"private": false,
|
|
5
|
-
"version": "2.0.0-alpha.
|
|
5
|
+
"version": "2.0.0-alpha.3",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"description": "一款精美的 VitePress 主题",
|
|
8
8
|
"keywords": [
|
|
@@ -44,7 +44,6 @@
|
|
|
44
44
|
"ncu": "ncu -u && npm install",
|
|
45
45
|
"login": "npm login --registry=https://registry.npmjs.org/",
|
|
46
46
|
"pub": "npm publish --access public --registry=https://registry.npmjs.org/",
|
|
47
|
-
"pub-alpha": "npm publish --access public --tag alpha --registry=https://registry.npmjs.org/",
|
|
48
47
|
"deprecate": "node -e \"const v=process.argv[1],m=process.argv[2]||'';require('child_process').execSync('npm deprecate @fuxishi/vitepress-theme@'+v+' \\\"'+m+'\\\" --registry=https://registry.npmjs.org/',{stdio:'inherit'})\""
|
|
49
48
|
},
|
|
50
49
|
"dependencies": {
|
|
@@ -58,10 +57,10 @@
|
|
|
58
57
|
"@vitejs/plugin-vue": "^6.0.6",
|
|
59
58
|
"typescript": "^6.0.3",
|
|
60
59
|
"vite": "^8.0.10",
|
|
61
|
-
"vitepress": "^
|
|
60
|
+
"vitepress": "^2.0.0-alpha.17",
|
|
62
61
|
"vue": "^3.5.33"
|
|
63
62
|
},
|
|
64
63
|
"peerDependencies": {
|
|
65
|
-
"vitepress": "
|
|
64
|
+
"vitepress": ">=2.0.0-alpha.17"
|
|
66
65
|
}
|
|
67
66
|
}
|