From edb7ea201c79b41b56b54add8abb29e1aacf0129 Mon Sep 17 00:00:00 2001 From: alger Date: Wed, 1 Jan 2025 02:30:37 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=88=20style:=20=E5=8E=BB=E9=99=A4?= =?UTF-8?q?=E6=97=A0=E7=94=A8=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +- out/main/index.js | 323 - out/preload/index.js | 25 - out/renderer/assets/AppMenu-CbDXL_JE.js | 98 - out/renderer/assets/AppMenu-CbDXL_JE.js.gz | Bin 1200 -> 0 bytes out/renderer/assets/AppMenu-iZYnVe2B.css | 90 - out/renderer/assets/AppMenu-iZYnVe2B.css.gz | Bin 737 -> 0 bytes out/renderer/assets/Avatar-rQ2og-6c.js | 319 - out/renderer/assets/Avatar-rQ2og-6c.js.gz | Bin 2933 -> 0 bytes out/renderer/assets/Drawer-BEJ8Ydua.js | 803 - out/renderer/assets/Drawer-BEJ8Ydua.js.gz | Bin 5494 -> 0 bytes out/renderer/assets/Ellipsis-D4R5dIX2.js | 195 - out/renderer/assets/Ellipsis-D4R5dIX2.js.gz | Bin 1747 -> 0 bytes .../assets/FiraCode-Regular-CRwVj4V2.woff2 | Bin 114456 -> 0 bytes out/renderer/assets/Icon-DucaliTK.js | 111 - out/renderer/assets/Icon-DucaliTK.js.gz | Bin 1196 -> 0 bytes out/renderer/assets/Image-DXClIklC.js | 2864 -- out/renderer/assets/Image-DXClIklC.js.gz | Bin 23692 -> 0 bytes .../assets/LatoLatin-Regular-Dmlz1U0B.woff2 | Bin 43760 -> 0 bytes .../assets/LatoLatin-Semibold-Dbk81p2D.woff2 | Bin 44356 -> 0 bytes out/renderer/assets/Layout-CvYBg1vI.js | 170 - out/renderer/assets/Layout-CvYBg1vI.js.gz | Bin 1646 -> 0 bytes out/renderer/assets/MusicList-NCsRWE81.css | 162 - out/renderer/assets/MusicList-NCsRWE81.css.gz | Bin 886 -> 0 bytes out/renderer/assets/MusicList-s-QHu-iA.js | 258 - out/renderer/assets/MusicList-s-QHu-iA.js.gz | Bin 2810 -> 0 bytes out/renderer/assets/MvPlayer-BPFZslTY.css | 177 - out/renderer/assets/MvPlayer-BPFZslTY.css.gz | Bin 1082 -> 0 bytes out/renderer/assets/MvPlayer-I4IDK1xL.js | 670 - out/renderer/assets/MvPlayer-I4IDK1xL.js.gz | Bin 4532 -> 0 bytes out/renderer/assets/PlayBar-BNzUvTGp.js | 1620 - out/renderer/assets/PlayBar-BNzUvTGp.js.gz | Bin 11931 -> 0 bytes out/renderer/assets/PlayBar-Ct36doNR.css | 502 - out/renderer/assets/PlayBar-Ct36doNR.css.gz | Bin 2365 -> 0 bytes out/renderer/assets/SearchBar-CIYxJjXH.css | 219 - out/renderer/assets/SearchBar-CIYxJjXH.css.gz | Bin 997 -> 0 bytes out/renderer/assets/SearchBar-Cx7zzS9t.js | 2263 - out/renderer/assets/SearchBar-Cx7zzS9t.js.gz | Bin 15259 -> 0 bytes out/renderer/assets/Slider-BA6NituQ.js | 864 - out/renderer/assets/Slider-BA6NituQ.js.gz | Bin 6523 -> 0 bytes out/renderer/assets/SongItem-Bw5Qa7XV.css | 296 - out/renderer/assets/SongItem-Bw5Qa7XV.css.gz | Bin 1225 -> 0 bytes out/renderer/assets/SongItem-CoswpGn6.js | 170 - out/renderer/assets/SongItem-CoswpGn6.js.gz | Bin 1890 -> 0 bytes out/renderer/assets/Switch-D3Z_Vg3u.js | 2185 - out/renderer/assets/Switch-D3Z_Vg3u.js.gz | Bin 14724 -> 0 bytes out/renderer/assets/Tag-C0oC92WF.js | 344 - out/renderer/assets/Tag-C0oC92WF.js.gz | Bin 2912 -> 0 bytes out/renderer/assets/TitleBar-Bl1cFyS0.js | 63 - out/renderer/assets/TitleBar-Bl1cFyS0.js.gz | Bin 824 -> 0 bytes out/renderer/assets/TitleBar-DxNBjVsT.css | 37 - out/renderer/assets/alipay-CcfmUela.png | Bin 14917 -> 0 bytes out/renderer/assets/home-BXGE9AqN.js | 31 - out/renderer/assets/icon-mGmYaNg4.png | Bin 20007 -> 0 bytes out/renderer/assets/iconfont-53c_NoX9.woff | Bin 10148 -> 0 bytes out/renderer/assets/iconfont-Cio8idH0.ttf | Bin 16316 -> 0 bytes out/renderer/assets/iconfont-DzQUHqRQ.woff2 | Bin 8752 -> 0 bytes out/renderer/assets/index-B-m4kL_6.css | 43 - out/renderer/assets/index-B-m4kL_6.css.gz | Bin 659 -> 0 bytes out/renderer/assets/index-BCv4VDKm.js | 540 - out/renderer/assets/index-BCv4VDKm.js.gz | Bin 4551 -> 0 bytes out/renderer/assets/index-BE7j41Na.css | 203 - out/renderer/assets/index-BE7j41Na.css.gz | Bin 1280 -> 0 bytes out/renderer/assets/index-BPmJoRDi.js | 203 - out/renderer/assets/index-BPmJoRDi.js.gz | Bin 2466 -> 0 bytes out/renderer/assets/index-Bc5fdT5j.js | 233 - out/renderer/assets/index-Bc5fdT5j.js.gz | Bin 2786 -> 0 bytes out/renderer/assets/index-BlaUC8oz.css | 336 - out/renderer/assets/index-BlaUC8oz.css.gz | Bin 1454 -> 0 bytes out/renderer/assets/index-BmgzcEyo.css | 44 - out/renderer/assets/index-BmgzcEyo.css.gz | Bin 643 -> 0 bytes out/renderer/assets/index-C-VCusx9.js | 276 - out/renderer/assets/index-C-VCusx9.js.gz | Bin 3142 -> 0 bytes out/renderer/assets/index-COH3Oisr.css | 197 - out/renderer/assets/index-COH3Oisr.css.gz | Bin 883 -> 0 bytes out/renderer/assets/index-ChDcb7c6.css | 7332 ---- out/renderer/assets/index-ChDcb7c6.css.gz | Bin 32233 -> 0 bytes out/renderer/assets/index-CzpNk4J5.css | 172 - out/renderer/assets/index-CzpNk4J5.css.gz | Bin 1024 -> 0 bytes out/renderer/assets/index-DKaFsuse.js | 34584 ---------------- out/renderer/assets/index-DKaFsuse.js.gz | Bin 225744 -> 0 bytes out/renderer/assets/index-DSilVM87.js | 424 - out/renderer/assets/index-DSilVM87.js.gz | Bin 4000 -> 0 bytes out/renderer/assets/index-DVDStqOk.css | 120 - out/renderer/assets/index-DVDStqOk.css.gz | Bin 540 -> 0 bytes out/renderer/assets/index-DcmHQdN6.css | 189 - out/renderer/assets/index-DcmHQdN6.css.gz | Bin 2019 -> 0 bytes out/renderer/assets/index-DhLgZEXT.js | 151 - out/renderer/assets/index-DhLgZEXT.js.gz | Bin 1971 -> 0 bytes out/renderer/assets/index-Dn0J0Jmw.js | 155 - out/renderer/assets/index-Dn0J0Jmw.js.gz | Bin 1853 -> 0 bytes out/renderer/assets/index-JJypdZPY.js | 320 - out/renderer/assets/index-JJypdZPY.js.gz | Bin 3919 -> 0 bytes out/renderer/assets/index-RCxsGzpS.js | 944 - out/renderer/assets/index-RCxsGzpS.js.gz | Bin 6689 -> 0 bytes out/renderer/assets/index-SvIREzLs.js | 216 - out/renderer/assets/index-SvIREzLs.js.gz | Bin 2517 -> 0 bytes out/renderer/assets/index-b8HibJP6.css | 214 - out/renderer/assets/index-b8HibJP6.css.gz | Bin 1113 -> 0 bytes out/renderer/assets/index-s6QFASec.css | 228 - out/renderer/assets/index-s6QFASec.css.gz | Bin 1170 -> 0 bytes out/renderer/assets/login-BsPxQYi6.js | 38 - out/renderer/assets/login-BsPxQYi6.js.gz | Bin 538 -> 0 bytes out/renderer/assets/remixicon-BBpe-Xu7.woff | Bin 242720 -> 0 bytes out/renderer/assets/remixicon-BVJ9S1ev.eot | Bin 570148 -> 0 bytes out/renderer/assets/remixicon-BVvFtaex.woff2 | Bin 176812 -> 0 bytes out/renderer/assets/remixicon-C2wQ2gtc.svg | 9196 ---- out/renderer/assets/remixicon-CfJD46dY.ttf | Bin 569976 -> 0 bytes out/renderer/assets/use-locale-DLWAOXez.js | 1476 - out/renderer/assets/use-locale-DLWAOXez.js.gz | Bin 9474 -> 0 bytes out/renderer/assets/wechat-DjfpYhZS.png | Bin 16197 -> 0 bytes out/renderer/index.html | 53 - out/renderer/index.html.gz | Bin 932 -> 0 bytes 113 files changed, 3 insertions(+), 72747 deletions(-) delete mode 100644 out/main/index.js delete mode 100644 out/preload/index.js delete mode 100644 out/renderer/assets/AppMenu-CbDXL_JE.js delete mode 100644 out/renderer/assets/AppMenu-CbDXL_JE.js.gz delete mode 100644 out/renderer/assets/AppMenu-iZYnVe2B.css delete mode 100644 out/renderer/assets/AppMenu-iZYnVe2B.css.gz delete mode 100644 out/renderer/assets/Avatar-rQ2og-6c.js delete mode 100644 out/renderer/assets/Avatar-rQ2og-6c.js.gz delete mode 100644 out/renderer/assets/Drawer-BEJ8Ydua.js delete mode 100644 out/renderer/assets/Drawer-BEJ8Ydua.js.gz delete mode 100644 out/renderer/assets/Ellipsis-D4R5dIX2.js delete mode 100644 out/renderer/assets/Ellipsis-D4R5dIX2.js.gz delete mode 100644 out/renderer/assets/FiraCode-Regular-CRwVj4V2.woff2 delete mode 100644 out/renderer/assets/Icon-DucaliTK.js delete mode 100644 out/renderer/assets/Icon-DucaliTK.js.gz delete mode 100644 out/renderer/assets/Image-DXClIklC.js delete mode 100644 out/renderer/assets/Image-DXClIklC.js.gz delete mode 100644 out/renderer/assets/LatoLatin-Regular-Dmlz1U0B.woff2 delete mode 100644 out/renderer/assets/LatoLatin-Semibold-Dbk81p2D.woff2 delete mode 100644 out/renderer/assets/Layout-CvYBg1vI.js delete mode 100644 out/renderer/assets/Layout-CvYBg1vI.js.gz delete mode 100644 out/renderer/assets/MusicList-NCsRWE81.css delete mode 100644 out/renderer/assets/MusicList-NCsRWE81.css.gz delete mode 100644 out/renderer/assets/MusicList-s-QHu-iA.js delete mode 100644 out/renderer/assets/MusicList-s-QHu-iA.js.gz delete mode 100644 out/renderer/assets/MvPlayer-BPFZslTY.css delete mode 100644 out/renderer/assets/MvPlayer-BPFZslTY.css.gz delete mode 100644 out/renderer/assets/MvPlayer-I4IDK1xL.js delete mode 100644 out/renderer/assets/MvPlayer-I4IDK1xL.js.gz delete mode 100644 out/renderer/assets/PlayBar-BNzUvTGp.js delete mode 100644 out/renderer/assets/PlayBar-BNzUvTGp.js.gz delete mode 100644 out/renderer/assets/PlayBar-Ct36doNR.css delete mode 100644 out/renderer/assets/PlayBar-Ct36doNR.css.gz delete mode 100644 out/renderer/assets/SearchBar-CIYxJjXH.css delete mode 100644 out/renderer/assets/SearchBar-CIYxJjXH.css.gz delete mode 100644 out/renderer/assets/SearchBar-Cx7zzS9t.js delete mode 100644 out/renderer/assets/SearchBar-Cx7zzS9t.js.gz delete mode 100644 out/renderer/assets/Slider-BA6NituQ.js delete mode 100644 out/renderer/assets/Slider-BA6NituQ.js.gz delete mode 100644 out/renderer/assets/SongItem-Bw5Qa7XV.css delete mode 100644 out/renderer/assets/SongItem-Bw5Qa7XV.css.gz delete mode 100644 out/renderer/assets/SongItem-CoswpGn6.js delete mode 100644 out/renderer/assets/SongItem-CoswpGn6.js.gz delete mode 100644 out/renderer/assets/Switch-D3Z_Vg3u.js delete mode 100644 out/renderer/assets/Switch-D3Z_Vg3u.js.gz delete mode 100644 out/renderer/assets/Tag-C0oC92WF.js delete mode 100644 out/renderer/assets/Tag-C0oC92WF.js.gz delete mode 100644 out/renderer/assets/TitleBar-Bl1cFyS0.js delete mode 100644 out/renderer/assets/TitleBar-Bl1cFyS0.js.gz delete mode 100644 out/renderer/assets/TitleBar-DxNBjVsT.css delete mode 100644 out/renderer/assets/alipay-CcfmUela.png delete mode 100644 out/renderer/assets/home-BXGE9AqN.js delete mode 100644 out/renderer/assets/icon-mGmYaNg4.png delete mode 100644 out/renderer/assets/iconfont-53c_NoX9.woff delete mode 100644 out/renderer/assets/iconfont-Cio8idH0.ttf delete mode 100644 out/renderer/assets/iconfont-DzQUHqRQ.woff2 delete mode 100644 out/renderer/assets/index-B-m4kL_6.css delete mode 100644 out/renderer/assets/index-B-m4kL_6.css.gz delete mode 100644 out/renderer/assets/index-BCv4VDKm.js delete mode 100644 out/renderer/assets/index-BCv4VDKm.js.gz delete mode 100644 out/renderer/assets/index-BE7j41Na.css delete mode 100644 out/renderer/assets/index-BE7j41Na.css.gz delete mode 100644 out/renderer/assets/index-BPmJoRDi.js delete mode 100644 out/renderer/assets/index-BPmJoRDi.js.gz delete mode 100644 out/renderer/assets/index-Bc5fdT5j.js delete mode 100644 out/renderer/assets/index-Bc5fdT5j.js.gz delete mode 100644 out/renderer/assets/index-BlaUC8oz.css delete mode 100644 out/renderer/assets/index-BlaUC8oz.css.gz delete mode 100644 out/renderer/assets/index-BmgzcEyo.css delete mode 100644 out/renderer/assets/index-BmgzcEyo.css.gz delete mode 100644 out/renderer/assets/index-C-VCusx9.js delete mode 100644 out/renderer/assets/index-C-VCusx9.js.gz delete mode 100644 out/renderer/assets/index-COH3Oisr.css delete mode 100644 out/renderer/assets/index-COH3Oisr.css.gz delete mode 100644 out/renderer/assets/index-ChDcb7c6.css delete mode 100644 out/renderer/assets/index-ChDcb7c6.css.gz delete mode 100644 out/renderer/assets/index-CzpNk4J5.css delete mode 100644 out/renderer/assets/index-CzpNk4J5.css.gz delete mode 100644 out/renderer/assets/index-DKaFsuse.js delete mode 100644 out/renderer/assets/index-DKaFsuse.js.gz delete mode 100644 out/renderer/assets/index-DSilVM87.js delete mode 100644 out/renderer/assets/index-DSilVM87.js.gz delete mode 100644 out/renderer/assets/index-DVDStqOk.css delete mode 100644 out/renderer/assets/index-DVDStqOk.css.gz delete mode 100644 out/renderer/assets/index-DcmHQdN6.css delete mode 100644 out/renderer/assets/index-DcmHQdN6.css.gz delete mode 100644 out/renderer/assets/index-DhLgZEXT.js delete mode 100644 out/renderer/assets/index-DhLgZEXT.js.gz delete mode 100644 out/renderer/assets/index-Dn0J0Jmw.js delete mode 100644 out/renderer/assets/index-Dn0J0Jmw.js.gz delete mode 100644 out/renderer/assets/index-JJypdZPY.js delete mode 100644 out/renderer/assets/index-JJypdZPY.js.gz delete mode 100644 out/renderer/assets/index-RCxsGzpS.js delete mode 100644 out/renderer/assets/index-RCxsGzpS.js.gz delete mode 100644 out/renderer/assets/index-SvIREzLs.js delete mode 100644 out/renderer/assets/index-SvIREzLs.js.gz delete mode 100644 out/renderer/assets/index-b8HibJP6.css delete mode 100644 out/renderer/assets/index-b8HibJP6.css.gz delete mode 100644 out/renderer/assets/index-s6QFASec.css delete mode 100644 out/renderer/assets/index-s6QFASec.css.gz delete mode 100644 out/renderer/assets/login-BsPxQYi6.js delete mode 100644 out/renderer/assets/login-BsPxQYi6.js.gz delete mode 100644 out/renderer/assets/remixicon-BBpe-Xu7.woff delete mode 100644 out/renderer/assets/remixicon-BVJ9S1ev.eot delete mode 100644 out/renderer/assets/remixicon-BVvFtaex.woff2 delete mode 100644 out/renderer/assets/remixicon-C2wQ2gtc.svg delete mode 100644 out/renderer/assets/remixicon-CfJD46dY.ttf delete mode 100644 out/renderer/assets/use-locale-DLWAOXez.js delete mode 100644 out/renderer/assets/use-locale-DLWAOXez.js.gz delete mode 100644 out/renderer/assets/wechat-DjfpYhZS.png delete mode 100644 out/renderer/index.html delete mode 100644 out/renderer/index.html.gz diff --git a/.gitignore b/.gitignore index 7794f9d..18fdbf6 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,6 @@ dist.zip bun.lockb -.env.*.local \ No newline at end of file +.env.*.local + +out \ No newline at end of file diff --git a/out/main/index.js b/out/main/index.js deleted file mode 100644 index f188d04..0000000 --- a/out/main/index.js +++ /dev/null @@ -1,323 +0,0 @@ -"use strict"; -const utils = require("@electron-toolkit/utils"); -const electron = require("electron"); -const Store = require("electron-store"); -const path = require("path"); -const fs = require("fs"); -const os = require("os"); -const match = require("@unblockneteasemusic/server"); -const server = require("netease-cloud-music-api-alger/server"); -const isProxy = false; -const noAnimate = false; -const animationSpeed = 1; -const author = "Alger"; -const authorUrl = "https://github.com/algerkong"; -const musicApiPort = 30488; -const set = { - isProxy, - noAnimate, - animationSpeed, - author, - authorUrl, - musicApiPort -}; -const store$2 = new Store(); -let lyricWindow = null; -const createWin = () => { - console.log("Creating lyric window"); - const windowBounds = store$2.get("lyricWindowBounds") || {}; - const { x, y, width, height } = windowBounds; - const { width: screenWidth, height: screenHeight } = electron.screen.getPrimaryDisplay().workAreaSize; - const validPosition = x !== void 0 && y !== void 0 && x >= 0 && y >= 0 && x < screenWidth && y < screenHeight; - lyricWindow = new electron.BrowserWindow({ - width: width || 800, - height: height || 200, - x: validPosition ? x : void 0, - y: validPosition ? y : void 0, - frame: false, - show: false, - transparent: true, - hasShadow: false, - alwaysOnTop: true, - webPreferences: { - preload: path.join(__dirname, "../preload/index.js"), - sandbox: false, - contextIsolation: true - } - }); - lyricWindow.on("closed", () => { - if (lyricWindow) { - lyricWindow.destroy(); - lyricWindow = null; - } - }); - return lyricWindow; -}; -const loadLyricWindow = (ipcMain, mainWin) => { - const showLyricWindow = () => { - if (lyricWindow && !lyricWindow.isDestroyed()) { - if (lyricWindow.isMinimized()) { - lyricWindow.restore(); - } - lyricWindow.focus(); - lyricWindow.show(); - return true; - } - return false; - }; - ipcMain.on("open-lyric", () => { - console.log("Received open-lyric request"); - if (showLyricWindow()) { - return; - } - console.log("Creating new lyric window"); - const win = createWin(); - if (!win) { - console.error("Failed to create lyric window"); - return; - } - if (process.env.NODE_ENV === "development") { - win.webContents.openDevTools({ mode: "detach" }); - win.loadURL(`${process.env.ELECTRON_RENDERER_URL}/#/lyric`); - } else { - const distPath = path.resolve(__dirname, "../renderer"); - win.loadURL(`file://${distPath}/index.html#/lyric`); - } - win.setMinimumSize(600, 200); - win.setSkipTaskbar(true); - win.once("ready-to-show", () => { - console.log("Lyric window ready to show"); - win.show(); - }); - }); - ipcMain.on("send-lyric", (_, data) => { - if (lyricWindow && !lyricWindow.isDestroyed()) { - try { - lyricWindow.webContents.send("receive-lyric", data); - } catch (error) { - console.error("Error processing lyric data:", error); - } - } - }); - ipcMain.on("top-lyric", (_, data) => { - if (lyricWindow && !lyricWindow.isDestroyed()) { - lyricWindow.setAlwaysOnTop(data); - } - }); - ipcMain.on("close-lyric", () => { - if (lyricWindow && !lyricWindow.isDestroyed()) { - lyricWindow.webContents.send("lyric-window-close"); - mainWin.webContents.send("lyric-control-back", "close"); - lyricWindow.destroy(); - lyricWindow = null; - } - }); - ipcMain.on("mouseenter-lyric", () => { - if (lyricWindow && !lyricWindow.isDestroyed()) { - lyricWindow.setIgnoreMouseEvents(true); - } - }); - ipcMain.on("mouseleave-lyric", () => { - if (lyricWindow && !lyricWindow.isDestroyed()) { - lyricWindow.setIgnoreMouseEvents(false); - } - }); - ipcMain.on("lyric-drag-move", (_, { deltaX, deltaY }) => { - if (!lyricWindow || lyricWindow.isDestroyed()) return; - const [currentX, currentY] = lyricWindow.getPosition(); - const { width: screenWidth, height: screenHeight } = electron.screen.getPrimaryDisplay().workAreaSize; - const [windowWidth, windowHeight] = lyricWindow.getSize(); - const newX = Math.max(0, Math.min(currentX + deltaX, screenWidth - windowWidth)); - const newY = Math.max(0, Math.min(currentY + deltaY, screenHeight - windowHeight)); - lyricWindow.setPosition(newX, newY); - store$2.set("lyricWindowBounds", { - ...lyricWindow.getBounds(), - x: newX, - y: newY - }); - }); - ipcMain.on("set-ignore-mouse", (_, shouldIgnore) => { - if (!lyricWindow || lyricWindow.isDestroyed()) return; - lyricWindow.setIgnoreMouseEvents(shouldIgnore, { forward: true }); - }); - ipcMain.on("control-back", (_, command) => { - console.log("command", command); - if (mainWin && !mainWin.isDestroyed()) { - console.log("Sending control-back command:", command); - mainWin.webContents.send("lyric-control-back", command); - } - }); -}; -const unblockMusic = async (id) => { - return new Promise((resolve, reject) => { - match(parseInt(id, 10), ["qq", "migu", "kugou", "joox"]).then((data) => { - resolve({ - data: { - data, - params: { - id, - type: "song" - } - } - }); - }).catch((err) => { - reject(err); - }); - }); -}; -const store$1 = new Store(); -if (!fs.existsSync(path.resolve(os.tmpdir(), "anonymous_token"))) { - fs.writeFileSync(path.resolve(os.tmpdir(), "anonymous_token"), "", "utf-8"); -} -electron.ipcMain.handle("unblock-music", async (_, id) => { - return unblockMusic(id); -}); -async function startMusicApi() { - console.log("MUSIC API STARTED"); - const port = store$1.get("set").musicApiPort || 30488; - await server.serveNcmApi({ - port - }); -} -const iconPath = path.join(__dirname, "../../resources"); -const icon = electron.nativeImage.createFromPath( - process.platform === "darwin" ? path.join(iconPath, "icon.icns") : process.platform === "win32" ? path.join(iconPath, "favicon.ico") : path.join(iconPath, "icon.png") -); -let mainWindow; -function createWindow() { - startMusicApi(); - mainWindow = new electron.BrowserWindow({ - width: 1200, - height: 780, - show: false, - frame: false, - autoHideMenuBar: true, - icon, - webPreferences: { - preload: path.join(__dirname, "../preload/index.js"), - sandbox: false, - contextIsolation: true - } - }); - mainWindow.setMinimumSize(1200, 780); - mainWindow.on("ready-to-show", () => { - mainWindow.show(); - }); - mainWindow.webContents.setWindowOpenHandler((details) => { - electron.shell.openExternal(details.url); - return { action: "deny" }; - }); - if (utils.is.dev && process.env.ELECTRON_RENDERER_URL) { - mainWindow.webContents.openDevTools({ mode: "detach" }); - mainWindow.loadURL(process.env.ELECTRON_RENDERER_URL); - } else { - mainWindow.webContents.openDevTools({ mode: "detach" }); - mainWindow.loadFile(path.join(__dirname, "../renderer/index.html")); - } - const trayIcon = electron.nativeImage.createFromPath(path.join(iconPath, "icon_16x16.png")).resize({ width: 16, height: 16 }); - const tray = new electron.Tray(trayIcon); - const contextMenu = electron.Menu.buildFromTemplate([ - { - label: "显示", - click: () => { - mainWindow.show(); - } - }, - { - label: "退出", - click: () => { - mainWindow.destroy(); - electron.app.quit(); - } - } - ]); - tray.setContextMenu(contextMenu); - tray.on("click", () => { - if (mainWindow.isVisible()) { - mainWindow.hide(); - } else { - mainWindow.show(); - } - }); - loadLyricWindow(electron.ipcMain, mainWindow); -} -electron.app.whenReady().then(() => { - utils.electronApp.setAppUserModelId("com.alger.music"); - electron.app.on("browser-window-created", (_, window) => { - utils.optimizer.watchWindowShortcuts(window); - }); - electron.ipcMain.on("ping", () => console.log("pong")); - createWindow(); - electron.app.on("activate", function() { - if (electron.BrowserWindow.getAllWindows().length === 0) createWindow(); - }); -}); -electron.app.on("ready", () => { - electron.globalShortcut.register("CommandOrControl+Alt+Shift+M", () => { - if (mainWindow.isVisible()) { - mainWindow.hide(); - } else { - mainWindow.show(); - } - }); -}); -electron.app.on("window-all-closed", () => { - if (process.platform !== "darwin") { - electron.app.quit(); - } -}); -electron.ipcMain.on("minimize-window", (event) => { - const win = electron.BrowserWindow.fromWebContents(event.sender); - if (win) { - win.minimize(); - } -}); -electron.ipcMain.on("maximize-window", (event) => { - const win = electron.BrowserWindow.fromWebContents(event.sender); - if (win) { - if (win.isMaximized()) { - win.unmaximize(); - } else { - win.maximize(); - } - } -}); -electron.ipcMain.on("close-window", (event) => { - const win = electron.BrowserWindow.fromWebContents(event.sender); - if (win) { - win.destroy(); - electron.app.quit(); - } -}); -electron.ipcMain.on("drag-start", (event) => { - const win = electron.BrowserWindow.fromWebContents(event.sender); - if (win) { - win.webContents.beginFrameSubscription((frameBuffer) => { - event.reply("frame-buffer", frameBuffer); - }); - } -}); -electron.ipcMain.on("mini-tray", (event) => { - const win = electron.BrowserWindow.fromWebContents(event.sender); - if (win) { - win.hide(); - } -}); -electron.ipcMain.on("restart", () => { - electron.app.relaunch(); - electron.app.exit(0); -}); -const store = new Store({ - name: "config", - // 配置文件名 - defaults: { - set - } -}); -electron.ipcMain.on("set-store-value", (_, key, value) => { - store.set(key, value); -}); -electron.ipcMain.on("get-store-value", (_, key) => { - const value = store.get(key); - _.returnValue = value || ""; -}); diff --git a/out/preload/index.js b/out/preload/index.js deleted file mode 100644 index f8670c8..0000000 --- a/out/preload/index.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -const preload = require("@electron-toolkit/preload"); -const electron = require("electron"); -const api = { - minimize: () => electron.ipcRenderer.send("minimize-window"), - maximize: () => electron.ipcRenderer.send("maximize-window"), - close: () => electron.ipcRenderer.send("close-window"), - dragStart: (data) => electron.ipcRenderer.send("drag-start", data), - miniTray: () => electron.ipcRenderer.send("mini-tray"), - restart: () => electron.ipcRenderer.send("restart"), - openLyric: () => electron.ipcRenderer.send("open-lyric"), - sendLyric: (data) => electron.ipcRenderer.send("send-lyric", data), - unblockMusic: (id) => electron.ipcRenderer.invoke("unblock-music", id) -}; -if (process.contextIsolated) { - try { - electron.contextBridge.exposeInMainWorld("electron", preload.electronAPI); - electron.contextBridge.exposeInMainWorld("api", api); - } catch (error) { - console.error(error); - } -} else { - window.electron = preload.electronAPI; - window.api = api; -} diff --git a/out/renderer/assets/AppMenu-CbDXL_JE.js b/out/renderer/assets/AppMenu-CbDXL_JE.js deleted file mode 100644 index ae96239..0000000 --- a/out/renderer/assets/AppMenu-CbDXL_JE.js +++ /dev/null @@ -1,98 +0,0 @@ -import { d as defineComponent, af as useRoute, r as ref, E as watch, ar as resolveComponent, j as openBlock, c as createElementBlock, b as createBaseVNode, u as unref, a3 as Fragment, a4 as renderList, e as createVNode, f as withCtx, n as normalizeClass, a2 as normalizeStyle, t as toDisplayString, T as createCommentVNode, _ as _export_sfc } from "./index-DKaFsuse.js"; -const icon = "" + new URL("icon-mGmYaNg4.png", import.meta.url).href; -const _hoisted_1 = { class: "app-menu-header" }; -const _hoisted_2 = ["src"]; -const _hoisted_3 = { class: "app-menu-list" }; -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "AppMenu", - props: { - size: { - type: String, - default: "26px" - }, - color: { - type: String, - default: "#aaa" - }, - selectColor: { - type: String, - default: "#10B981" - }, - menus: { - type: Array, - default: () => [] - } - }, - setup(__props) { - const props = __props; - const route = useRoute(); - const path = ref(route.path); - watch( - () => route.path, - async (newParams) => { - path.value = newParams; - } - ); - const isChecked = (index) => { - return path.value === props.menus[index].path; - }; - const iconStyle = (index) => { - const style = { - fontSize: props.size, - color: isChecked(index) ? props.selectColor : props.color - }; - return style; - }; - const isText = ref(false); - return (_ctx, _cache) => { - const _component_router_link = resolveComponent("router-link"); - return openBlock(), createElementBlock("div", null, [ - createBaseVNode("div", { - class: normalizeClass(["app-menu", { "app-menu-expanded": unref(isText) }]) - }, [ - createBaseVNode("div", _hoisted_1, [ - createBaseVNode("div", { - class: "app-menu-logo", - onClick: _cache[0] || (_cache[0] = ($event) => isText.value = !unref(isText)) - }, [ - createBaseVNode("img", { - src: unref(icon), - class: "w-9 h-9", - alt: "logo" - }, null, 8, _hoisted_2) - ]) - ]), - createBaseVNode("div", _hoisted_3, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(__props.menus, (item, index) => { - return openBlock(), createElementBlock("div", { - key: item.path, - class: "app-menu-item" - }, [ - createVNode(_component_router_link, { - class: "app-menu-item-link", - to: item.path - }, { - default: withCtx(() => [ - createBaseVNode("i", { - class: normalizeClass(["iconfont app-menu-item-icon", item.meta.icon]), - style: normalizeStyle(iconStyle(index)) - }, null, 6), - unref(isText) ? (openBlock(), createElementBlock("span", { - key: 0, - class: normalizeClass(["app-menu-item-text ml-3", isChecked(index) ? "text-green-500" : ""]) - }, toDisplayString(item.meta.title), 3)) : createCommentVNode("", true) - ]), - _: 2 - }, 1032, ["to"]) - ]); - }), 128)) - ]) - ], 2) - ]); - }; - } -}); -const AppMenu = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f209e92f"]]); -export { - AppMenu as default -}; diff --git a/out/renderer/assets/AppMenu-CbDXL_JE.js.gz b/out/renderer/assets/AppMenu-CbDXL_JE.js.gz deleted file mode 100644 index 4d6c45c8ea1b347f8461ecdc4fca310f7b785666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1200 zcmV;h1W)@PiwFP!000026O~tOZ`(Ey{_bCK=DM)jaxTbJre%&)2ZYi*etVD9x)&640B13+ei13y|XwIQTrtvDl6uGV#|F(=v zrtt3%B0>te_06q2HaCZNl5Nrw*vrx-k5Imkm8O8LjY{8QzmN5Hsdp5(IdLIVmc(Ci znJ}d&uvw3KqxT6?(1xhR+gN1@+uvvz^9_Yht%IdV4UEc9U>E`JOeO=h4xxax6e*C& zNz5bMjo<#s-l<&ST()1B50j4+zV$af&=2Z;?eP2^2>PGg!ciC>av} zh&LZLmc&YTO{sMlq%1aJoV#HDu7bk~>@Vawp(B7y zicEQ6_y8*YiuG>*z0c5tD*F{J!Zphi?E#s+%67z3i;@|NM9A;e{*f`((^i;ZsF%;O zaXP&`KRfN2F?mvl2Hr@?_DA}T3yWW2<(KNC%7j9lXHF2trpCLYy#L4~OO+L?V+3n|a>tU~ zKxl+6Dt=+Vdw^oK++ui(5iG#5Ez+|nQRkBP%q|vX_!FDpmDTYr#?o%lGam|WJ9*fA zDWocaHjK64`o>mZ>B>|iZMao=HPCCruWRYHfS|Tub?P)+^rN%>hrp{(xYN~jty!Y5 zN?oPr1fiK`LCC@_4#X9Nb<+j*B4v=o{MOp*k7tLJ{ITH^_W)iqwH=oZjBJNQ@g1SS z^CY3LYO~az;k8(sWT?kVe-b;ZX3QAz&d|YK#(0Dg@ye&bDHG&E;k%91qKn~C6z#C= zi+>mF4)o4M6dOV4ft29OBo1%A>W)@ZAHIDv_g0@4;QWMl$hEz`GM=V?e&|K%_G}l2 zxCfBO>1F^qfRbU8!BB9Q9!b>E-H*>+fGx)f1t->+QaGL!_2+qAah&~I+r8X~5&%^Zh* zScYs?DHDKQqzu7#=_A(dZ1xV;LZ^9Fs?qNbYB!zm>Jjt(DfYTs%8wM4${2ql7q+&h z^qHCJCrFz&Cr!q4lcnP)ju`%UBN6%dm+6#%2ZZ>KCg5OocG|q_SSO}i=dKIhz%uO+ zLcwbVYMPbphA)19}%HIBBt5+ZoHmN&+&Y=Ccbf1s@l7+9hCpmOk<6T Oi_w3Ss=JE84FCYG0buBY(px)pZGvM8SB zynC}C3W$GgQ;iAC>^D3ApHr4)Bt=<#=gcs&BeCZ$aN)&2;MWLXFSyx+KwUR0mm`2U z!IE&HF)~8Q5F(Wnsk9oFh_xibV48;zp){zi_-BzD5g$mTq(N!gs*G_iiICe1Zzio%8)O{y%~CZT+_Whd zd6uw4SdGi_+!0es>(mx48dymfKfS9_4R6xiwVz*#^{sHJZ1+#$pD-?Ny_9q`iH7pou5U zAIIl{{XQAl%{_i18>u7?!xNF4JK% { - const { - value: textEl - } = textRef; - if (textEl) { - if (memoedTextHtml === null || memoedTextHtml !== textEl.innerHTML) { - memoedTextHtml = textEl.innerHTML; - const { - value: selfEl - } = selfRef; - if (selfEl) { - const { - offsetWidth: elWidth, - offsetHeight: elHeight - } = selfEl; - const { - offsetWidth: textWidth, - offsetHeight: textHeight - } = textEl; - const radix = 0.9; - const ratio = Math.min(elWidth / textWidth * radix, elHeight / textHeight * radix, 1); - textEl.style.transform = `translateX(-50%) translateY(-50%) scale(${ratio})`; - } - } - } - }; - const NAvatarGroup = inject(avatarGroupInjectionKey, null); - const mergedSizeRef = computed(() => { - const { - size - } = props; - if (size) return size; - const { - size: avatarGroupSize - } = NAvatarGroup || {}; - if (avatarGroupSize) return avatarGroupSize; - return "medium"; - }); - const themeRef = useTheme("Avatar", "-avatar", style, avatarLight, props, mergedClsPrefixRef); - const TagInjection = inject(tagInjectionKey, null); - const mergedRoundRef = computed(() => { - if (NAvatarGroup) return true; - const { - round, - circle - } = props; - if (round !== void 0 || circle !== void 0) return round || circle; - if (TagInjection) { - return TagInjection.roundRef.value; - } - return false; - }); - const mergedBorderedRef = computed(() => { - if (NAvatarGroup) return true; - return props.bordered || false; - }); - const cssVarsRef = computed(() => { - const size = mergedSizeRef.value; - const round = mergedRoundRef.value; - const bordered = mergedBorderedRef.value; - const { - color: propColor - } = props; - const { - self: { - borderRadius, - fontSize, - color, - border, - colorModal, - colorPopover - }, - common: { - cubicBezierEaseInOut - } - } = themeRef.value; - let height; - if (typeof size === "number") { - height = `${size}px`; - } else { - height = themeRef.value.self[createKey("height", size)]; - } - return { - "--n-font-size": fontSize, - "--n-border": bordered ? border : "none", - "--n-border-radius": round ? "50%" : borderRadius, - "--n-color": propColor || color, - "--n-color-modal": propColor || colorModal, - "--n-color-popover": propColor || colorPopover, - "--n-bezier": cubicBezierEaseInOut, - "--n-merged-size": `var(--n-avatar-size-override, ${height})` - }; - }); - const themeClassHandle = inlineThemeDisabled ? useThemeClass("avatar", computed(() => { - const size = mergedSizeRef.value; - const round = mergedRoundRef.value; - const bordered = mergedBorderedRef.value; - const { - color - } = props; - let hash = ""; - if (size) { - if (typeof size === "number") { - hash += `a${size}`; - } else { - hash += size[0]; - } - } - if (round) { - hash += "b"; - } - if (bordered) { - hash += "c"; - } - if (color) { - hash += color2Class(color); - } - return hash; - }), cssVarsRef, props) : void 0; - const shouldStartLoadingRef = ref(!props.lazy); - onMounted(() => { - if (props.lazy && props.intersectionObserverOptions) { - let unobserve; - const stopWatchHandle = watchEffect(() => { - unobserve === null || unobserve === void 0 ? void 0 : unobserve(); - unobserve = void 0; - if (props.lazy) { - unobserve = observeIntersection(selfRef.value, props.intersectionObserverOptions, shouldStartLoadingRef); - } - }); - onBeforeUnmount(() => { - stopWatchHandle(); - unobserve === null || unobserve === void 0 ? void 0 : unobserve(); - }); - } - }); - watch(() => { - var _a; - return props.src || ((_a = props.imgProps) === null || _a === void 0 ? void 0 : _a.src); - }, () => { - hasLoadErrorRef.value = false; - }); - const loadedRef = ref(!props.lazy); - return { - textRef, - selfRef, - mergedRoundRef, - mergedClsPrefix: mergedClsPrefixRef, - fitTextTransform, - cssVars: inlineThemeDisabled ? void 0 : cssVarsRef, - themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, - onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender, - hasLoadError: hasLoadErrorRef, - shouldStartLoading: shouldStartLoadingRef, - loaded: loadedRef, - mergedOnError: (e) => { - if (!shouldStartLoadingRef.value) return; - hasLoadErrorRef.value = true; - const { - onError, - imgProps: { - onError: imgPropsOnError - } = {} - } = props; - onError === null || onError === void 0 ? void 0 : onError(e); - imgPropsOnError === null || imgPropsOnError === void 0 ? void 0 : imgPropsOnError(e); - }, - mergedOnLoad: (e) => { - const { - onLoad, - imgProps: { - onLoad: imgPropsOnLoad - } = {} - } = props; - onLoad === null || onLoad === void 0 ? void 0 : onLoad(e); - imgPropsOnLoad === null || imgPropsOnLoad === void 0 ? void 0 : imgPropsOnLoad(e); - loadedRef.value = true; - } - }; - }, - render() { - var _a, _b; - const { - $slots, - src, - mergedClsPrefix, - lazy, - onRender, - loaded, - hasLoadError, - imgProps = {} - } = this; - onRender === null || onRender === void 0 ? void 0 : onRender(); - let img; - const placeholderNode = !loaded && !hasLoadError && (this.renderPlaceholder ? this.renderPlaceholder() : (_b = (_a = this.$slots).placeholder) === null || _b === void 0 ? void 0 : _b.call(_a)); - if (this.hasLoadError) { - img = this.renderFallback ? this.renderFallback() : resolveSlot($slots.fallback, () => [h("img", { - src: this.fallbackSrc, - style: { - objectFit: this.objectFit - } - })]); - } else { - img = resolveWrappedSlot($slots.default, (children) => { - if (children) { - return h(VResizeObserver, { - onResize: this.fitTextTransform - }, { - default: () => h("span", { - ref: "textRef", - class: `${mergedClsPrefix}-avatar__text` - }, children) - }); - } else if (src || imgProps.src) { - const loadSrc = this.src || imgProps.src; - return h("img", Object.assign(Object.assign({}, imgProps), { - loading: ( - // If interseciton observer options is set, do not use native lazy - isImageSupportNativeLazy && !this.intersectionObserverOptions && lazy ? "lazy" : "eager" - ), - src: lazy && this.intersectionObserverOptions ? this.shouldStartLoading ? loadSrc : void 0 : loadSrc, - "data-image-src": loadSrc, - onLoad: this.mergedOnLoad, - onError: this.mergedOnError, - style: [imgProps.style || "", { - objectFit: this.objectFit - }, placeholderNode ? { - height: "0", - width: "0", - visibility: "hidden", - position: "absolute" - } : ""] - })); - } - }); - } - return h("span", { - ref: "selfRef", - class: [`${mergedClsPrefix}-avatar`, this.themeClass], - style: this.cssVars - }, img, lazy && placeholderNode); - } -}); -export { - __unplugin_components_2 as _ -}; diff --git a/out/renderer/assets/Avatar-rQ2og-6c.js.gz b/out/renderer/assets/Avatar-rQ2og-6c.js.gz deleted file mode 100644 index 7f329481ab21eaaeb47367301e827aa85e090c87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2933 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 diff --git a/out/renderer/assets/Drawer-BEJ8Ydua.js b/out/renderer/assets/Drawer-BEJ8Ydua.js deleted file mode 100644 index dea8270..0000000 --- a/out/renderer/assets/Drawer-BEJ8Ydua.js +++ /dev/null @@ -1,803 +0,0 @@ -import { d as defineComponent, r as ref, as as inject, G as computed, x as useConfig, F as useRtl, a8 as watchEffect, E as watch, a as onBeforeUnmount, aT as clickoutside, aU as useLockHtmlScroll, $ as provide, w as withDirectives, a6 as vShow, l as h, aV as FocusTrap, ak as Transition, ax as mergeProps, aK as Scrollbar, aW as drawerInjectionKey, aX as drawerBodyInjectionKey, aY as popoverBodyInjectionKey, aZ as modalBodyInjectionKey, m as c, a_ as commonVariables, p as cB, W as cM, Y as cE, a$ as fadeInTransition, aR as isMounted, q as useTheme, C as useMergedState, A as toRef, b0 as useIsComposing, ap as useThemeClass, b1 as LazyTeleport, b2 as drawerLight, b3 as eventEffectNotPerformed, L as call, b4 as zindexable } from "./index-DKaFsuse.js"; -import { f as formatLength } from "./Image-DXClIklC.js"; -const NDrawerBodyWrapper = defineComponent({ - name: "NDrawerContent", - inheritAttrs: false, - props: { - blockScroll: Boolean, - show: { - type: Boolean, - default: void 0 - }, - displayDirective: { - type: String, - required: true - }, - placement: { - type: String, - required: true - }, - contentClass: String, - contentStyle: [Object, String], - nativeScrollbar: { - type: Boolean, - required: true - }, - scrollbarProps: Object, - trapFocus: { - type: Boolean, - default: true - }, - autoFocus: { - type: Boolean, - default: true - }, - showMask: { - type: [Boolean, String], - required: true - }, - maxWidth: Number, - maxHeight: Number, - minWidth: Number, - minHeight: Number, - resizable: Boolean, - onClickoutside: Function, - onAfterLeave: Function, - onAfterEnter: Function, - onEsc: Function - }, - setup(props) { - const displayedRef = ref(!!props.show); - const bodyRef = ref(null); - const NDrawer = inject(drawerInjectionKey); - let startPosition = 0; - let memoizedBodyStyleCursor = ""; - let hoverTimerId = null; - const isHoverOnResizeTriggerRef = ref(false); - const isDraggingRef = ref(false); - const isVertical = computed(() => { - return props.placement === "top" || props.placement === "bottom"; - }); - const { - mergedClsPrefixRef, - mergedRtlRef - } = useConfig(props); - const rtlEnabledRef = useRtl("Drawer", mergedRtlRef, mergedClsPrefixRef); - const handleBodyMouseleave = handleBodyMouseup; - const handleMousedownResizeTrigger = (e) => { - isDraggingRef.value = true; - startPosition = isVertical.value ? e.clientY : e.clientX; - memoizedBodyStyleCursor = document.body.style.cursor; - document.body.style.cursor = isVertical.value ? "ns-resize" : "ew-resize"; - document.body.addEventListener("mousemove", handleBodyMousemove); - document.body.addEventListener("mouseleave", handleBodyMouseleave); - document.body.addEventListener("mouseup", handleBodyMouseup); - }; - const handleMouseenterResizeTrigger = () => { - if (hoverTimerId !== null) { - window.clearTimeout(hoverTimerId); - hoverTimerId = null; - } - if (isDraggingRef.value) { - isHoverOnResizeTriggerRef.value = true; - } else { - hoverTimerId = window.setTimeout(() => { - isHoverOnResizeTriggerRef.value = true; - }, 300); - } - }; - const handleMouseleaveResizeTrigger = () => { - if (hoverTimerId !== null) { - window.clearTimeout(hoverTimerId); - hoverTimerId = null; - } - isHoverOnResizeTriggerRef.value = false; - }; - const { - doUpdateHeight, - doUpdateWidth - } = NDrawer; - const regulateWidth = (size) => { - const { - maxWidth - } = props; - if (maxWidth && size > maxWidth) return maxWidth; - const { - minWidth - } = props; - if (minWidth && size < minWidth) return minWidth; - return size; - }; - const regulateHeight = (size) => { - const { - maxHeight - } = props; - if (maxHeight && size > maxHeight) return maxHeight; - const { - minHeight - } = props; - if (minHeight && size < minHeight) return minHeight; - return size; - }; - function handleBodyMousemove(e) { - var _a, _b; - if (isDraggingRef.value) { - if (isVertical.value) { - let height = ((_a = bodyRef.value) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0; - const increment = startPosition - e.clientY; - height += props.placement === "bottom" ? increment : -increment; - height = regulateHeight(height); - doUpdateHeight(height); - startPosition = e.clientY; - } else { - let width = ((_b = bodyRef.value) === null || _b === void 0 ? void 0 : _b.offsetWidth) || 0; - const increment = startPosition - e.clientX; - width += props.placement === "right" ? increment : -increment; - width = regulateWidth(width); - doUpdateWidth(width); - startPosition = e.clientX; - } - } - } - function handleBodyMouseup() { - if (isDraggingRef.value) { - startPosition = 0; - isDraggingRef.value = false; - document.body.style.cursor = memoizedBodyStyleCursor; - document.body.removeEventListener("mousemove", handleBodyMousemove); - document.body.removeEventListener("mouseup", handleBodyMouseup); - document.body.removeEventListener("mouseleave", handleBodyMouseleave); - } - } - watchEffect(() => { - if (props.show) displayedRef.value = true; - }); - watch(() => props.show, (value) => { - if (!value) { - handleBodyMouseup(); - } - }); - onBeforeUnmount(() => { - handleBodyMouseup(); - }); - const bodyDirectivesRef = computed(() => { - const { - show - } = props; - const directives = [[vShow, show]]; - if (!props.showMask) { - directives.push([clickoutside, props.onClickoutside, void 0, { - capture: true - }]); - } - return directives; - }); - function handleAfterLeave() { - var _a; - displayedRef.value = false; - (_a = props.onAfterLeave) === null || _a === void 0 ? void 0 : _a.call(props); - } - useLockHtmlScroll(computed(() => props.blockScroll && displayedRef.value)); - provide(drawerBodyInjectionKey, bodyRef); - provide(popoverBodyInjectionKey, null); - provide(modalBodyInjectionKey, null); - return { - bodyRef, - rtlEnabled: rtlEnabledRef, - mergedClsPrefix: NDrawer.mergedClsPrefixRef, - isMounted: NDrawer.isMountedRef, - mergedTheme: NDrawer.mergedThemeRef, - displayed: displayedRef, - transitionName: computed(() => { - return { - right: "slide-in-from-right-transition", - left: "slide-in-from-left-transition", - top: "slide-in-from-top-transition", - bottom: "slide-in-from-bottom-transition" - }[props.placement]; - }), - handleAfterLeave, - bodyDirectives: bodyDirectivesRef, - handleMousedownResizeTrigger, - handleMouseenterResizeTrigger, - handleMouseleaveResizeTrigger, - isDragging: isDraggingRef, - isHoverOnResizeTrigger: isHoverOnResizeTriggerRef - }; - }, - render() { - const { - $slots, - mergedClsPrefix - } = this; - return this.displayDirective === "show" || this.displayed || this.show ? withDirectives( - /* Keep the wrapper dom. Make sure the drawer has a host. - Nor the detached content will disappear without transition */ - h("div", { - role: "none" - }, h(FocusTrap, { - disabled: !this.showMask || !this.trapFocus, - active: this.show, - autoFocus: this.autoFocus, - onEsc: this.onEsc - }, { - default: () => h(Transition, { - name: this.transitionName, - appear: this.isMounted, - onAfterEnter: this.onAfterEnter, - onAfterLeave: this.handleAfterLeave - }, { - default: () => withDirectives(h("div", mergeProps(this.$attrs, { - role: "dialog", - ref: "bodyRef", - "aria-modal": "true", - class: [ - `${mergedClsPrefix}-drawer`, - this.rtlEnabled && `${mergedClsPrefix}-drawer--rtl`, - `${mergedClsPrefix}-drawer--${this.placement}-placement`, - /** - * When the mouse is pressed to resize the drawer, - * disable text selection - */ - this.isDragging && `${mergedClsPrefix}-drawer--unselectable`, - this.nativeScrollbar && `${mergedClsPrefix}-drawer--native-scrollbar` - ] - }), [this.resizable ? h("div", { - class: [`${mergedClsPrefix}-drawer__resize-trigger`, (this.isDragging || this.isHoverOnResizeTrigger) && `${mergedClsPrefix}-drawer__resize-trigger--hover`], - onMouseenter: this.handleMouseenterResizeTrigger, - onMouseleave: this.handleMouseleaveResizeTrigger, - onMousedown: this.handleMousedownResizeTrigger - }) : null, this.nativeScrollbar ? h("div", { - class: [`${mergedClsPrefix}-drawer-content-wrapper`, this.contentClass], - style: this.contentStyle, - role: "none" - }, $slots) : h(Scrollbar, Object.assign({}, this.scrollbarProps, { - contentStyle: this.contentStyle, - contentClass: [`${mergedClsPrefix}-drawer-content-wrapper`, this.contentClass], - theme: this.mergedTheme.peers.Scrollbar, - themeOverrides: this.mergedTheme.peerOverrides.Scrollbar - }), $slots)]), this.bodyDirectives) - }) - })), - [[vShow, this.displayDirective === "if" || this.displayed || this.show]] - ) : null; - } -}); -const { - cubicBezierEaseIn: cubicBezierEaseIn$3, - cubicBezierEaseOut: cubicBezierEaseOut$3 -} = commonVariables; -function slideInFromBottomTransition({ - duration = "0.3s", - leaveDuration = "0.2s", - name = "slide-in-from-bottom" -} = {}) { - return [c(`&.${name}-transition-leave-active`, { - transition: `transform ${leaveDuration} ${cubicBezierEaseIn$3}` - }), c(`&.${name}-transition-enter-active`, { - transition: `transform ${duration} ${cubicBezierEaseOut$3}` - }), c(`&.${name}-transition-enter-to`, { - transform: "translateY(0)" - }), c(`&.${name}-transition-enter-from`, { - transform: "translateY(100%)" - }), c(`&.${name}-transition-leave-from`, { - transform: "translateY(0)" - }), c(`&.${name}-transition-leave-to`, { - transform: "translateY(100%)" - })]; -} -const { - cubicBezierEaseIn: cubicBezierEaseIn$2, - cubicBezierEaseOut: cubicBezierEaseOut$2 -} = commonVariables; -function slideInFromLeftTransition({ - duration = "0.3s", - leaveDuration = "0.2s", - name = "slide-in-from-left" -} = {}) { - return [c(`&.${name}-transition-leave-active`, { - transition: `transform ${leaveDuration} ${cubicBezierEaseIn$2}` - }), c(`&.${name}-transition-enter-active`, { - transition: `transform ${duration} ${cubicBezierEaseOut$2}` - }), c(`&.${name}-transition-enter-to`, { - transform: "translateX(0)" - }), c(`&.${name}-transition-enter-from`, { - transform: "translateX(-100%)" - }), c(`&.${name}-transition-leave-from`, { - transform: "translateX(0)" - }), c(`&.${name}-transition-leave-to`, { - transform: "translateX(-100%)" - })]; -} -const { - cubicBezierEaseIn: cubicBezierEaseIn$1, - cubicBezierEaseOut: cubicBezierEaseOut$1 -} = commonVariables; -function slideInFromRightTransition({ - duration = "0.3s", - leaveDuration = "0.2s", - name = "slide-in-from-right" -} = {}) { - return [c(`&.${name}-transition-leave-active`, { - transition: `transform ${leaveDuration} ${cubicBezierEaseIn$1}` - }), c(`&.${name}-transition-enter-active`, { - transition: `transform ${duration} ${cubicBezierEaseOut$1}` - }), c(`&.${name}-transition-enter-to`, { - transform: "translateX(0)" - }), c(`&.${name}-transition-enter-from`, { - transform: "translateX(100%)" - }), c(`&.${name}-transition-leave-from`, { - transform: "translateX(0)" - }), c(`&.${name}-transition-leave-to`, { - transform: "translateX(100%)" - })]; -} -const { - cubicBezierEaseIn, - cubicBezierEaseOut -} = commonVariables; -function slideInFromTopTransition({ - duration = "0.3s", - leaveDuration = "0.2s", - name = "slide-in-from-top" -} = {}) { - return [c(`&.${name}-transition-leave-active`, { - transition: `transform ${leaveDuration} ${cubicBezierEaseIn}` - }), c(`&.${name}-transition-enter-active`, { - transition: `transform ${duration} ${cubicBezierEaseOut}` - }), c(`&.${name}-transition-enter-to`, { - transform: "translateY(0)" - }), c(`&.${name}-transition-enter-from`, { - transform: "translateY(-100%)" - }), c(`&.${name}-transition-leave-from`, { - transform: "translateY(0)" - }), c(`&.${name}-transition-leave-to`, { - transform: "translateY(-100%)" - })]; -} -const style = c([cB("drawer", ` - word-break: break-word; - line-height: var(--n-line-height); - position: absolute; - pointer-events: all; - box-shadow: var(--n-box-shadow); - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - background-color: var(--n-color); - color: var(--n-text-color); - box-sizing: border-box; - `, [slideInFromRightTransition(), slideInFromLeftTransition(), slideInFromTopTransition(), slideInFromBottomTransition(), cM("unselectable", ` - user-select: none; - -webkit-user-select: none; - `), cM("native-scrollbar", [cB("drawer-content-wrapper", ` - overflow: auto; - height: 100%; - `)]), cE("resize-trigger", ` - position: absolute; - background-color: #0000; - transition: background-color .3s var(--n-bezier); - `, [cM("hover", ` - background-color: var(--n-resize-trigger-color-hover); - `)]), cB("drawer-content-wrapper", ` - box-sizing: border-box; - `), cB("drawer-content", ` - height: 100%; - display: flex; - flex-direction: column; - `, [cM("native-scrollbar", [cB("drawer-body-content-wrapper", ` - height: 100%; - overflow: auto; - `)]), cB("drawer-body", ` - flex: 1 0 0; - overflow: hidden; - `), cB("drawer-body-content-wrapper", ` - box-sizing: border-box; - padding: var(--n-body-padding); - `), cB("drawer-header", ` - font-weight: var(--n-title-font-weight); - line-height: 1; - font-size: var(--n-title-font-size); - color: var(--n-title-text-color); - padding: var(--n-header-padding); - transition: border .3s var(--n-bezier); - border-bottom: 1px solid var(--n-divider-color); - border-bottom: var(--n-header-border-bottom); - display: flex; - justify-content: space-between; - align-items: center; - `, [cE("main", ` - flex: 1; - `), cE("close", ` - margin-left: 6px; - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - `)]), cB("drawer-footer", ` - display: flex; - justify-content: flex-end; - border-top: var(--n-footer-border-top); - transition: border .3s var(--n-bezier); - padding: var(--n-footer-padding); - `)]), cM("right-placement", ` - top: 0; - bottom: 0; - right: 0; - border-top-left-radius: var(--n-border-radius); - border-bottom-left-radius: var(--n-border-radius); - `, [cE("resize-trigger", ` - width: 3px; - height: 100%; - top: 0; - left: 0; - transform: translateX(-1.5px); - cursor: ew-resize; - `)]), cM("left-placement", ` - top: 0; - bottom: 0; - left: 0; - border-top-right-radius: var(--n-border-radius); - border-bottom-right-radius: var(--n-border-radius); - `, [cE("resize-trigger", ` - width: 3px; - height: 100%; - top: 0; - right: 0; - transform: translateX(1.5px); - cursor: ew-resize; - `)]), cM("top-placement", ` - top: 0; - left: 0; - right: 0; - border-bottom-left-radius: var(--n-border-radius); - border-bottom-right-radius: var(--n-border-radius); - `, [cE("resize-trigger", ` - width: 100%; - height: 3px; - bottom: 0; - left: 0; - transform: translateY(1.5px); - cursor: ns-resize; - `)]), cM("bottom-placement", ` - left: 0; - bottom: 0; - right: 0; - border-top-left-radius: var(--n-border-radius); - border-top-right-radius: var(--n-border-radius); - `, [cE("resize-trigger", ` - width: 100%; - height: 3px; - top: 0; - left: 0; - transform: translateY(-1.5px); - cursor: ns-resize; - `)])]), c("body", [c(">", [cB("drawer-container", ` - position: fixed; - `)])]), cB("drawer-container", ` - position: relative; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - pointer-events: none; - `, [c("> *", ` - pointer-events: all; - `)]), cB("drawer-mask", ` - background-color: rgba(0, 0, 0, .3); - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - `, [cM("invisible", ` - background-color: rgba(0, 0, 0, 0) - `), fadeInTransition({ - enterDuration: "0.2s", - leaveDuration: "0.2s", - enterCubicBezier: "var(--n-bezier-in)", - leaveCubicBezier: "var(--n-bezier-out)" -})])]); -const drawerProps = Object.assign(Object.assign({}, useTheme.props), { - show: Boolean, - width: [Number, String], - height: [Number, String], - placement: { - type: String, - default: "right" - }, - maskClosable: { - type: Boolean, - default: true - }, - showMask: { - type: [Boolean, String], - default: true - }, - to: [String, Object], - displayDirective: { - type: String, - default: "if" - }, - nativeScrollbar: { - type: Boolean, - default: true - }, - zIndex: Number, - onMaskClick: Function, - scrollbarProps: Object, - contentClass: String, - contentStyle: [Object, String], - trapFocus: { - type: Boolean, - default: true - }, - onEsc: Function, - autoFocus: { - type: Boolean, - default: true - }, - closeOnEsc: { - type: Boolean, - default: true - }, - blockScroll: { - type: Boolean, - default: true - }, - maxWidth: Number, - maxHeight: Number, - minWidth: Number, - minHeight: Number, - resizable: Boolean, - defaultWidth: { - type: [Number, String], - default: 251 - }, - defaultHeight: { - type: [Number, String], - default: 251 - }, - onUpdateWidth: [Function, Array], - onUpdateHeight: [Function, Array], - "onUpdate:width": [Function, Array], - "onUpdate:height": [Function, Array], - "onUpdate:show": [Function, Array], - onUpdateShow: [Function, Array], - onAfterEnter: Function, - onAfterLeave: Function, - /** @deprecated */ - drawerStyle: [String, Object], - drawerClass: String, - target: null, - onShow: Function, - onHide: Function -}); -const __unplugin_components_2 = defineComponent({ - name: "Drawer", - inheritAttrs: false, - props: drawerProps, - setup(props) { - const { - mergedClsPrefixRef, - namespaceRef, - inlineThemeDisabled - } = useConfig(props); - const isMountedRef = isMounted(); - const themeRef = useTheme("Drawer", "-drawer", style, drawerLight, props, mergedClsPrefixRef); - const uncontrolledWidthRef = ref(props.defaultWidth); - const uncontrolledHeightRef = ref(props.defaultHeight); - const mergedWidthRef = useMergedState(toRef(props, "width"), uncontrolledWidthRef); - const mergedHeightRef = useMergedState(toRef(props, "height"), uncontrolledHeightRef); - const styleWidthRef = computed(() => { - const { - placement - } = props; - if (placement === "top" || placement === "bottom") return ""; - return formatLength(mergedWidthRef.value); - }); - const styleHeightRef = computed(() => { - const { - placement - } = props; - if (placement === "left" || placement === "right") return ""; - return formatLength(mergedHeightRef.value); - }); - const doUpdateWidth = (value) => { - const { - onUpdateWidth, - "onUpdate:width": _onUpdateWidth - } = props; - if (onUpdateWidth) call(onUpdateWidth, value); - if (_onUpdateWidth) call(_onUpdateWidth, value); - uncontrolledWidthRef.value = value; - }; - const doUpdateHeight = (value) => { - const { - onUpdateHeight, - "onUpdate:width": _onUpdateHeight - } = props; - if (onUpdateHeight) call(onUpdateHeight, value); - if (_onUpdateHeight) call(_onUpdateHeight, value); - uncontrolledHeightRef.value = value; - }; - const mergedBodyStyleRef = computed(() => { - return [{ - width: styleWidthRef.value, - height: styleHeightRef.value - }, props.drawerStyle || ""]; - }); - function handleMaskClick(e) { - const { - onMaskClick, - maskClosable - } = props; - if (maskClosable) { - doUpdateShow(false); - } - if (onMaskClick) onMaskClick(e); - } - function handleOutsideClick(e) { - handleMaskClick(e); - } - const isComposingRef = useIsComposing(); - function handleEsc(e) { - var _a; - (_a = props.onEsc) === null || _a === void 0 ? void 0 : _a.call(props); - if (props.show && props.closeOnEsc && eventEffectNotPerformed(e)) { - if (!isComposingRef.value) { - doUpdateShow(false); - } - } - } - function doUpdateShow(show) { - const { - onHide, - onUpdateShow, - "onUpdate:show": _onUpdateShow - } = props; - if (onUpdateShow) call(onUpdateShow, show); - if (_onUpdateShow) call(_onUpdateShow, show); - if (onHide && !show) call(onHide, show); - } - provide(drawerInjectionKey, { - isMountedRef, - mergedThemeRef: themeRef, - mergedClsPrefixRef, - doUpdateShow, - doUpdateHeight, - doUpdateWidth - }); - const cssVarsRef = computed(() => { - const { - common: { - cubicBezierEaseInOut, - cubicBezierEaseIn: cubicBezierEaseIn2, - cubicBezierEaseOut: cubicBezierEaseOut2 - }, - self: { - color, - textColor, - boxShadow, - lineHeight, - headerPadding, - footerPadding, - borderRadius, - bodyPadding, - titleFontSize, - titleTextColor, - titleFontWeight, - headerBorderBottom, - footerBorderTop, - closeIconColor, - closeIconColorHover, - closeIconColorPressed, - closeColorHover, - closeColorPressed, - closeIconSize, - closeSize, - closeBorderRadius, - resizableTriggerColorHover - } - } = themeRef.value; - return { - "--n-line-height": lineHeight, - "--n-color": color, - "--n-border-radius": borderRadius, - "--n-text-color": textColor, - "--n-box-shadow": boxShadow, - "--n-bezier": cubicBezierEaseInOut, - "--n-bezier-out": cubicBezierEaseOut2, - "--n-bezier-in": cubicBezierEaseIn2, - "--n-header-padding": headerPadding, - "--n-body-padding": bodyPadding, - "--n-footer-padding": footerPadding, - "--n-title-text-color": titleTextColor, - "--n-title-font-size": titleFontSize, - "--n-title-font-weight": titleFontWeight, - "--n-header-border-bottom": headerBorderBottom, - "--n-footer-border-top": footerBorderTop, - "--n-close-icon-color": closeIconColor, - "--n-close-icon-color-hover": closeIconColorHover, - "--n-close-icon-color-pressed": closeIconColorPressed, - "--n-close-size": closeSize, - "--n-close-color-hover": closeColorHover, - "--n-close-color-pressed": closeColorPressed, - "--n-close-icon-size": closeIconSize, - "--n-close-border-radius": closeBorderRadius, - "--n-resize-trigger-color-hover": resizableTriggerColorHover - }; - }); - const themeClassHandle = inlineThemeDisabled ? useThemeClass("drawer", void 0, cssVarsRef, props) : void 0; - return { - mergedClsPrefix: mergedClsPrefixRef, - namespace: namespaceRef, - mergedBodyStyle: mergedBodyStyleRef, - handleOutsideClick, - handleMaskClick, - handleEsc, - mergedTheme: themeRef, - cssVars: inlineThemeDisabled ? void 0 : cssVarsRef, - themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, - onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender, - isMounted: isMountedRef - }; - }, - render() { - const { - mergedClsPrefix - } = this; - return h(LazyTeleport, { - to: this.to, - show: this.show - }, { - default: () => { - var _a; - (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this); - return withDirectives(h("div", { - class: [`${mergedClsPrefix}-drawer-container`, this.namespace, this.themeClass], - style: this.cssVars, - role: "none" - }, this.showMask ? h(Transition, { - name: "fade-in-transition", - appear: this.isMounted - }, { - default: () => this.show ? h("div", { - "aria-hidden": true, - class: [`${mergedClsPrefix}-drawer-mask`, this.showMask === "transparent" && `${mergedClsPrefix}-drawer-mask--invisible`], - onClick: this.handleMaskClick - }) : null - }) : null, h(NDrawerBodyWrapper, Object.assign({}, this.$attrs, { - class: [this.drawerClass, this.$attrs.class], - style: [this.mergedBodyStyle, this.$attrs.style], - blockScroll: this.blockScroll, - contentStyle: this.contentStyle, - contentClass: this.contentClass, - placement: this.placement, - scrollbarProps: this.scrollbarProps, - show: this.show, - displayDirective: this.displayDirective, - nativeScrollbar: this.nativeScrollbar, - onAfterEnter: this.onAfterEnter, - onAfterLeave: this.onAfterLeave, - trapFocus: this.trapFocus, - autoFocus: this.autoFocus, - resizable: this.resizable, - maxHeight: this.maxHeight, - minHeight: this.minHeight, - maxWidth: this.maxWidth, - minWidth: this.minWidth, - showMask: this.showMask, - onEsc: this.handleEsc, - onClickoutside: this.handleOutsideClick - }), this.$slots)), [[zindexable, { - zIndex: this.zIndex, - enabled: this.show - }]]); - } - }); - } -}); -export { - __unplugin_components_2 as _ -}; diff --git a/out/renderer/assets/Drawer-BEJ8Ydua.js.gz b/out/renderer/assets/Drawer-BEJ8Ydua.js.gz deleted file mode 100644 index 26c87e9f3c49b437211712474f2f436466f3e272..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5494 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 diff --git a/out/renderer/assets/Ellipsis-D4R5dIX2.js b/out/renderer/assets/Ellipsis-D4R5dIX2.js deleted file mode 100644 index a30ba00..0000000 --- a/out/renderer/assets/Ellipsis-D4R5dIX2.js +++ /dev/null @@ -1,195 +0,0 @@ -import { p as cB, V as cNotM, W as cM, q as useTheme, d as defineComponent, b6 as useMergedClsPrefix, b7 as ellipsisLight, r as ref, G as computed, au as onDeactivated, l as h, ax as mergeProps } from "./index-DKaFsuse.js"; -import { _ as __unplugin_components_3 } from "./Image-DXClIklC.js"; -const style = cB("ellipsis", { - overflow: "hidden" -}, [cNotM("line-clamp", ` - white-space: nowrap; - display: inline-block; - vertical-align: bottom; - max-width: 100%; - `), cM("line-clamp", ` - display: -webkit-inline-box; - -webkit-box-orient: vertical; - `), cM("cursor-pointer", ` - cursor: pointer; - `)]); -function createLineClampClass(clsPrefix) { - return `${clsPrefix}-ellipsis--line-clamp`; -} -function createCursorClass(clsPrefix, cursor) { - return `${clsPrefix}-ellipsis--cursor-${cursor}`; -} -const ellipsisProps = Object.assign(Object.assign({}, useTheme.props), { - expandTrigger: String, - lineClamp: [Number, String], - tooltip: { - type: [Boolean, Object], - default: true - } -}); -const __unplugin_components_2 = defineComponent({ - name: "Ellipsis", - inheritAttrs: false, - props: ellipsisProps, - setup(props, { - slots, - attrs - }) { - const mergedClsPrefixRef = useMergedClsPrefix(); - const mergedTheme = useTheme("Ellipsis", "-ellipsis", style, ellipsisLight, props, mergedClsPrefixRef); - const triggerRef = ref(null); - const triggerInnerRef = ref(null); - const tooltipRef = ref(null); - const expandedRef = ref(false); - const ellipsisStyleRef = computed(() => { - const { - lineClamp - } = props; - const { - value: expanded - } = expandedRef; - if (lineClamp !== void 0) { - return { - textOverflow: "", - "-webkit-line-clamp": expanded ? "" : lineClamp - }; - } else { - return { - textOverflow: expanded ? "" : "ellipsis", - "-webkit-line-clamp": "" - }; - } - }); - function getTooltipDisabled() { - let tooltipDisabled = false; - const { - value: expanded - } = expandedRef; - if (expanded) return true; - const { - value: trigger - } = triggerRef; - if (trigger) { - const { - lineClamp - } = props; - syncEllipsisStyle(trigger); - if (lineClamp !== void 0) { - tooltipDisabled = trigger.scrollHeight <= trigger.offsetHeight; - } else { - const { - value: triggerInner - } = triggerInnerRef; - if (triggerInner) { - tooltipDisabled = triggerInner.getBoundingClientRect().width <= trigger.getBoundingClientRect().width; - } - } - syncCursorStyle(trigger, tooltipDisabled); - } - return tooltipDisabled; - } - const handleClickRef = computed(() => { - return props.expandTrigger === "click" ? () => { - var _a; - const { - value: expanded - } = expandedRef; - if (expanded) { - (_a = tooltipRef.value) === null || _a === void 0 ? void 0 : _a.setShow(false); - } - expandedRef.value = !expanded; - } : void 0; - }); - onDeactivated(() => { - var _a; - if (props.tooltip) { - (_a = tooltipRef.value) === null || _a === void 0 ? void 0 : _a.setShow(false); - } - }); - const renderTrigger = () => h("span", Object.assign({}, mergeProps(attrs, { - class: [`${mergedClsPrefixRef.value}-ellipsis`, props.lineClamp !== void 0 ? createLineClampClass(mergedClsPrefixRef.value) : void 0, props.expandTrigger === "click" ? createCursorClass(mergedClsPrefixRef.value, "pointer") : void 0], - style: ellipsisStyleRef.value - }), { - ref: "triggerRef", - onClick: handleClickRef.value, - onMouseenter: ( - // get tooltip disabled will derive cursor style - props.expandTrigger === "click" ? getTooltipDisabled : void 0 - ) - }), props.lineClamp ? slots : h("span", { - ref: "triggerInnerRef" - }, slots)); - function syncEllipsisStyle(trigger) { - if (!trigger) return; - const latestStyle = ellipsisStyleRef.value; - const lineClampClass = createLineClampClass(mergedClsPrefixRef.value); - if (props.lineClamp !== void 0) { - syncTriggerClass(trigger, lineClampClass, "add"); - } else { - syncTriggerClass(trigger, lineClampClass, "remove"); - } - for (const key in latestStyle) { - if (trigger.style[key] !== latestStyle[key]) { - trigger.style[key] = latestStyle[key]; - } - } - } - function syncCursorStyle(trigger, tooltipDisabled) { - const cursorClass = createCursorClass(mergedClsPrefixRef.value, "pointer"); - if (props.expandTrigger === "click" && !tooltipDisabled) { - syncTriggerClass(trigger, cursorClass, "add"); - } else { - syncTriggerClass(trigger, cursorClass, "remove"); - } - } - function syncTriggerClass(trigger, styleClass, action) { - if (action === "add") { - if (!trigger.classList.contains(styleClass)) { - trigger.classList.add(styleClass); - } - } else { - if (trigger.classList.contains(styleClass)) { - trigger.classList.remove(styleClass); - } - } - } - return { - mergedTheme, - triggerRef, - triggerInnerRef, - tooltipRef, - handleClick: handleClickRef, - renderTrigger, - getTooltipDisabled - }; - }, - render() { - var _a; - const { - tooltip, - renderTrigger, - $slots - } = this; - if (tooltip) { - const { - mergedTheme - } = this; - return h(__unplugin_components_3, Object.assign({ - ref: "tooltipRef", - placement: "top" - }, tooltip, { - getDisabled: this.getTooltipDisabled, - theme: mergedTheme.peers.Tooltip, - themeOverrides: mergedTheme.peerOverrides.Tooltip - }), { - trigger: renderTrigger, - default: (_a = $slots.tooltip) !== null && _a !== void 0 ? _a : $slots.default - }); - } else { - return renderTrigger(); - } - } -}); -export { - __unplugin_components_2 as _ -}; diff --git a/out/renderer/assets/Ellipsis-D4R5dIX2.js.gz b/out/renderer/assets/Ellipsis-D4R5dIX2.js.gz deleted file mode 100644 index 210f650f6a8a4d7574c297eeed8b2ae54c494174..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1747 zcmV;^1}ym>iwFP!000026SY`vkK4Er{;pp!E2M!0$WD3%T0pM5Xg1eg(B$rL3EBe| zftQxXHg9QC6{%e>_VnKik|IUDcsIdaKUp3QhtIqZNspDN6+A)(L_+Zj+NlZRR-HXcU&K^-eY;id%8cU3~EiQahJhA%`xIwH44iNNTdG?{uW80=p8XcrfG)^$Vq=3^$9=LqLR?U zt`CR<5fhRejB}QvuSw6nmy&4!r_*iKLs-09myUSZ-2gG z?{3+Zl~D*T6-f2K5Y|w#+me4u5CJdWB7u8k3sm{E?4f{|kt zXK)k2{edc6$chx00~hx-sa6q`R91{U6%b_D0?$7Be+BLjTRB$M2Bnsc_Fwt`JG-b9_>eKPO%<$Og7He@Wb{OEYy-nN%uS%{(EdQ zpC8LgZ%A!y;He_K{8ZEZ9_t)Fs+#hB76CA4l^m|WZ;o56vu^dXURFXdMXTHh0Zy84+UDXjn2S=aHqe?i!Flor<31gkR}?g(oz_o#wx0Z_M@?jZ3ez{PqE zcY>DiIt>JN3E2|>6rR)%eG!ebU@dk9Dky6`9JquyhJ2zHK)do#kxBd-0At}ny?+*1 z9M2#yzisD1U&8jNKG|q^OC{MdER)_&41KJ)Rao2X``tX{$f+}lt{=}x@4`F~-ls+= zyQ7AVA4`NeuZ_bIKtAx|+c4g}?4IXK;tpo)*-2W;q85yOhq@%dUwgXP?IbEoUj-mX z5jCgV*kYzI1nYt6T+LVo%YhBeayk-zRu{v)+@pFU8eUSqzhb(n|Ad7~(xsUgLJgl} z3<0&#^h>+Ow%~zdvN5`Jm4eH#1@RH#bqs8r$Rj!j~B4;^hxv*ZZAuhCp z7%pMBP5Y>Z4Ou-Aqw`sHHm}B+6^cqWMEl8ifTfY08i=|Lz^}i8X7S+*m+m8n4OvQ5 z9}nVw&<}@B)u!ajq>8ruF`a&#r@+VJM#r5_W56>nzBxT@G3t&<+$3i{%G3^lXZj!- ziKwyUkoZV>^-A|Z7b^OmVr$twWeiHJ=^b{XyoKvGK5wRJZ}leVq@-TSu`4g_zzTT~ zO0$M=b=$W5HnaQEai2fmz`R(UP#2zRtJ$y-GonzckKHA7-fg2DgYeU}^Q)qAn(NOs zSgmL04J+HXgCUd*Vp5iIdUinj3PCj<#T~|z2D1}2B-ReM_yClL1`I(5eRgSr?D`fT zJ{t{#9fmj>CZ?OFTc$O-4SL)lLcXYvj>h_;F9Y7cUt1ccembs>tqqbJWNMRv+5hbqo8r=x-^~RJ(X%%2(Ad_GU;Wf^Fh<^A!Qk| z&jifaK4HZEwzI7TpE*9T>geJW+`nC=?>oeZ;!33_`|-e0f(A0~CYdk3LBDszX{C?+ z<*Usix65Cx!bxU0?RA)*Jne-k@sS_k545|f7_W?nq46{sSS-9ic_H4!hvdvti$-{SPkbkwe*{{f_$+arw^003C~PB{Po diff --git a/out/renderer/assets/FiraCode-Regular-CRwVj4V2.woff2 b/out/renderer/assets/FiraCode-Regular-CRwVj4V2.woff2 deleted file mode 100644 index d58667c57b03d5589b1b42c7089bfcc094a2efed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114456 zcmV)KK)SzoPew8T0RR910lydk5dZ)H1###A0lu;T0RR9100000000000000000000 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

DggUKoUWhGHdAZJ~ly_398K$Gub37!g3^OC8Y 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

pn6wn0O&0#vK3qt{0{KYSS0A?1?fEbrz4T>H9 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 diff --git a/out/renderer/assets/Icon-DucaliTK.js b/out/renderer/assets/Icon-DucaliTK.js deleted file mode 100644 index c25b924..0000000 --- a/out/renderer/assets/Icon-DucaliTK.js +++ /dev/null @@ -1,111 +0,0 @@ -import { p as cB, W as cM, m as c, q as useTheme, d as defineComponent, x as useConfig, bv as iconLight, G as computed, ap as useThemeClass, bd as warn, l as h, ax as mergeProps } from "./index-DKaFsuse.js"; -import { f as formatLength } from "./Image-DXClIklC.js"; -const style = cB("icon", ` - height: 1em; - width: 1em; - line-height: 1em; - text-align: center; - display: inline-block; - position: relative; - fill: currentColor; - transform: translateZ(0); -`, [cM("color-transition", { - transition: "color .3s var(--n-bezier)" -}), cM("depth", { - color: "var(--n-color)" -}, [c("svg", { - opacity: "var(--n-opacity)", - transition: "opacity .3s var(--n-bezier)" -})]), c("svg", { - height: "1em", - width: "1em" -})]); -const iconProps = Object.assign(Object.assign({}, useTheme.props), { - depth: [String, Number], - size: [Number, String], - color: String, - component: [Object, Function] -}); -const NIcon = defineComponent({ - _n_icon__: true, - name: "Icon", - inheritAttrs: false, - props: iconProps, - setup(props) { - const { - mergedClsPrefixRef, - inlineThemeDisabled - } = useConfig(props); - const themeRef = useTheme("Icon", "-icon", style, iconLight, props, mergedClsPrefixRef); - const cssVarsRef = computed(() => { - const { - depth - } = props; - const { - common: { - cubicBezierEaseInOut - }, - self - } = themeRef.value; - if (depth !== void 0) { - const { - color, - [`opacity${depth}Depth`]: opacity - } = self; - return { - "--n-bezier": cubicBezierEaseInOut, - "--n-color": color, - "--n-opacity": opacity - }; - } - return { - "--n-bezier": cubicBezierEaseInOut, - "--n-color": "", - "--n-opacity": "" - }; - }); - const themeClassHandle = inlineThemeDisabled ? useThemeClass("icon", computed(() => `${props.depth || "d"}`), cssVarsRef, props) : void 0; - return { - mergedClsPrefix: mergedClsPrefixRef, - mergedStyle: computed(() => { - const { - size, - color - } = props; - return { - fontSize: formatLength(size), - color - }; - }), - cssVars: inlineThemeDisabled ? void 0 : cssVarsRef, - themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, - onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender - }; - }, - render() { - var _a; - const { - $parent, - depth, - mergedClsPrefix, - component, - onRender, - themeClass - } = this; - if ((_a = $parent === null || $parent === void 0 ? void 0 : $parent.$options) === null || _a === void 0 ? void 0 : _a._n_icon__) { - warn("icon", "don't wrap `n-icon` inside `n-icon`"); - } - onRender === null || onRender === void 0 ? void 0 : onRender(); - return h("i", mergeProps(this.$attrs, { - role: "img", - class: [`${mergedClsPrefix}-icon`, themeClass, { - [`${mergedClsPrefix}-icon--depth`]: depth, - [`${mergedClsPrefix}-icon--color-transition`]: depth !== void 0 - }], - style: [this.cssVars, this.mergedStyle] - }), component ? h(component) : this.$slots); - } -}); -export { - NIcon as N -}; diff --git a/out/renderer/assets/Icon-DucaliTK.js.gz b/out/renderer/assets/Icon-DucaliTK.js.gz deleted file mode 100644 index 43f451e2eb2c88d01ed27659367cd37fd769f582..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1196 zcmV;d1XKGTiwFP!000026SY>`j@vd6eb-k^2?Lb?+D*_m8E(+^HtnLxCfF_7qK0A9 z5@j=yNR_0#yK(gI0WZ3)y+9xOVvC#$&&-?|k`<+p8ct9GQIK3=_{)C0$57Z04F8({ zO3^c znK8?REQo$b`CcD-hBpP-)9Ll!%lzhZzI29(;7WtiPdSAJBv&Ca;1Pyx00(Mfh~YIY z<^epgR3Dl}&N!V8<(fX~DaqNM$BKPwq_orrZ)??KK#j6p8(ni`h}3cK6-7xBrk{GM zekVeBjKNDTp;#Lnecw%b(Q8^*Z@vO{Z4H|8nUXn{Ea1cL6HWAtD8=?X9Ij3^Zn-xr zjX~s&va!doy4RBNJ%-z=*ipGQhbs1k#;|fb7@UTc_#}B7yW#sHhLt-Q!`q4{CjNC$ zw{UN762W0H?xxTn+3<~tX0tKnuBdU#NkL;kH1# z!Bbt8p^MZ8YCswY?i*Z#rORA>lr&?HcQnIZ;s|R~bFl{f7H+j%@(g)xw?t@_e175!*>{A=Q)(B{gH8EH4eW?USJgbkUWnd+00m?uPo)^ZV_=T)2j_Dwem z@p+bmZo)B74l~ul4S_{-^dJrWz30(;>1-lOb5W{jU~8P7HQSI`dslV?)I1{F-bAV3 z-)ne~q=YTEch43WS1hIN8u?-1CQ=jh0K#DNIgmyiMuR>+goq*Bd%=b#U9$->*EVhe zOJSN8v0~p2u*6Y$wVj+s#i|`<+$#p|b>l^g=`?MwhyfQ~G#NiDTkGD<)pYT?@u=Jo zTG?2At71!(S#L_M{T#*}?cfa@!gdwet}y9RxzO%`QQH?3eRL1~0Q@tGD7X#kdGHNh KIT;_)3;+Q2#!Axw diff --git a/out/renderer/assets/Image-DXClIklC.js b/out/renderer/assets/Image-DXClIklC.js deleted file mode 100644 index 591c965..0000000 --- a/out/renderer/assets/Image-DXClIklC.js +++ /dev/null @@ -1,2864 +0,0 @@ -import { J as on, aS as off, bA as getNative, bB as root, bC as overArg, bD as isPrototype, bE as isArrayLike, bF as arrayLikeKeys, bG as isArray, bH as isSymbol, bI as MapCache, bJ as toString, bK as toSource, bL as Map$1, bM as baseGetTag, bN as Symbol$1, bO as eq, bP as Uint8Array, bQ as isBuffer, bR as Stack, bS as isTypedArray, bT as isObjectLike, bU as isObject, bV as isLength, bW as isIndex, bX as isArguments, bY as identity, bZ as baseFor, b_ as arrayMap, bk as replaceable, l as h, d as defineComponent, m as c, p as cB, V as cNotM, Y as cE, W as cM, b$ as cCB, x as useConfig, q as useTheme, c0 as popoverLight, r as ref, as as inject, a8 as watchEffect, G as computed, aT as clickoutside, a6 as vShow, ap as useThemeClass, a as onBeforeUnmount, E as watch, A as toRef, c1 as getPreciseEventTarget, $ as provide, ak as Transition, aY as popoverBodyInjectionKey, aX as drawerBodyInjectionKey, aZ as modalBodyInjectionKey, bu as isSlotEmpty, aV as FocusTrap, ax as mergeProps, w as withDirectives, I as resolveWrappedSlot, a3 as Fragment, az as XScrollbar, aR as isMounted, C as useMergedState, D as useMemo, c2 as useCompitable, c3 as getFirstSlotVNode, c4 as cloneVNode, c5 as Text, b4 as zindexable, bf as keep, L as call, c6 as isBrowser, c7 as tooltipLight, aL as createInjectionKey, a$ as fadeInTransition, aM as fadeInScaleUpTransition, c8 as imageLight, N as NBaseIcon, b1 as LazyTeleport, a2 as normalizeStyle, o as onMounted, K as resolveSlot } from "./index-DKaFsuse.js"; -import { d as useAdjustedTo, e as VFollower, V as VTarget, B as Binder, u as useLocale, b as beforeNextFrameOnce } from "./use-locale-DLWAOXez.js"; -const ctxKey = "@@mmoContext"; -const mousemoveoutside = { - mounted(el, { value }) { - el[ctxKey] = { - handler: void 0 - }; - if (typeof value === "function") { - el[ctxKey].handler = value; - on("mousemoveoutside", el, value); - } - }, - updated(el, { value }) { - const ctx = el[ctxKey]; - if (typeof value === "function") { - if (ctx.handler) { - if (ctx.handler !== value) { - off("mousemoveoutside", el, ctx.handler); - ctx.handler = value; - on("mousemoveoutside", el, value); - } - } else { - el[ctxKey].handler = value; - on("mousemoveoutside", el, value); - } - } else { - if (ctx.handler) { - off("mousemoveoutside", el, ctx.handler); - ctx.handler = void 0; - } - } - }, - unmounted(el) { - const { handler } = el[ctxKey]; - if (handler) { - off("mousemoveoutside", el, handler); - } - el[ctxKey].handler = void 0; - } -}; -const pureNumberRegex = /^(\d|\.)+$/; -const numberRegex = /(\d|\.)+/; -function formatLength(length, { - c: c2 = 1, - offset = 0, - attachPx = true -} = {}) { - if (typeof length === "number") { - const result = (length + offset) * c2; - if (result === 0) return "0"; - return `${result}px`; - } else if (typeof length === "string") { - if (pureNumberRegex.test(length)) { - const result = (Number(length) + offset) * c2; - if (attachPx) { - if (result === 0) return "0"; - return `${result}px`; - } else { - return `${result}`; - } - } else { - const result = numberRegex.exec(length); - if (!result) return length; - return length.replace(numberRegex, String((Number(result[0]) + offset) * c2)); - } - } - return length; -} -function download(url, name) { - if (!url) return; - const a = document.createElement("a"); - a.href = url; - document.body.appendChild(a); - a.click(); - document.body.removeChild(a); -} -let _isJsdom; -function isJsdom() { - if (_isJsdom === void 0) { - _isJsdom = navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom"); - } - return _isJsdom; -} -var WeakMap$1 = getNative(root, "WeakMap"); -var nativeKeys = overArg(Object.keys, Object); -var objectProto$3 = Object.prototype; -var hasOwnProperty$2 = objectProto$3.hasOwnProperty; -function baseKeys(object) { - if (!isPrototype(object)) { - return nativeKeys(object); - } - var result = []; - for (var key in Object(object)) { - if (hasOwnProperty$2.call(object, key) && key != "constructor") { - result.push(key); - } - } - return result; -} -function keys(object) { - return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); -} -var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/; -function isKey(value, object) { - if (isArray(value)) { - return false; - } - var type = typeof value; - if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) { - return true; - } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object); -} -var FUNC_ERROR_TEXT = "Expected a function"; -function memoize(func, resolver) { - if (typeof func != "function" || resolver != null && typeof resolver != "function") { - throw new TypeError(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache; - if (cache.has(key)) { - return cache.get(key); - } - var result = func.apply(this, args); - memoized.cache = cache.set(key, result) || cache; - return result; - }; - memoized.cache = new (memoize.Cache || MapCache)(); - return memoized; -} -memoize.Cache = MapCache; -var MAX_MEMOIZE_SIZE = 500; -function memoizeCapped(func) { - var result = memoize(func, function(key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - return key; - }); - var cache = result.cache; - return result; -} -var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; -var reEscapeChar = /\\(\\)?/g; -var stringToPath = memoizeCapped(function(string) { - var result = []; - if (string.charCodeAt(0) === 46) { - result.push(""); - } - string.replace(rePropName, function(match, number, quote, subString) { - result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match); - }); - return result; -}); -function castPath(value, object) { - if (isArray(value)) { - return value; - } - return isKey(value, object) ? [value] : stringToPath(toString(value)); -} -var INFINITY = 1 / 0; -function toKey(value) { - if (typeof value == "string" || isSymbol(value)) { - return value; - } - var result = value + ""; - return result == "0" && 1 / value == -INFINITY ? "-0" : result; -} -function baseGet(object, path) { - path = castPath(path, object); - var index = 0, length = path.length; - while (object != null && index < length) { - object = object[toKey(path[index++])]; - } - return index && index == length ? object : void 0; -} -function get(object, path, defaultValue) { - var result = object == null ? void 0 : baseGet(object, path); - return result === void 0 ? defaultValue : result; -} -function arrayPush(array, values) { - var index = -1, length = values.length, offset = array.length; - while (++index < length) { - array[offset + index] = values[index]; - } - return array; -} -function arrayReduce(array, iteratee, accumulator, initAccum) { - var index = -1, length = array == null ? 0 : array.length; - while (++index < length) { - accumulator = iteratee(accumulator, array[index], index, array); - } - return accumulator; -} -function basePropertyOf(object) { - return function(key) { - return object == null ? void 0 : object[key]; - }; -} -var deburredLetters = { - // Latin-1 Supplement block. - "À": "A", - "Á": "A", - "Â": "A", - "Ã": "A", - "Ä": "A", - "Å": "A", - "à": "a", - "á": "a", - "â": "a", - "ã": "a", - "ä": "a", - "å": "a", - "Ç": "C", - "ç": "c", - "Ð": "D", - "ð": "d", - "È": "E", - "É": "E", - "Ê": "E", - "Ë": "E", - "è": "e", - "é": "e", - "ê": "e", - "ë": "e", - "Ì": "I", - "Í": "I", - "Î": "I", - "Ï": "I", - "ì": "i", - "í": "i", - "î": "i", - "ï": "i", - "Ñ": "N", - "ñ": "n", - "Ò": "O", - "Ó": "O", - "Ô": "O", - "Õ": "O", - "Ö": "O", - "Ø": "O", - "ò": "o", - "ó": "o", - "ô": "o", - "õ": "o", - "ö": "o", - "ø": "o", - "Ù": "U", - "Ú": "U", - "Û": "U", - "Ü": "U", - "ù": "u", - "ú": "u", - "û": "u", - "ü": "u", - "Ý": "Y", - "ý": "y", - "ÿ": "y", - "Æ": "Ae", - "æ": "ae", - "Þ": "Th", - "þ": "th", - "ß": "ss", - // Latin Extended-A block. - "Ā": "A", - "Ă": "A", - "Ą": "A", - "ā": "a", - "ă": "a", - "ą": "a", - "Ć": "C", - "Ĉ": "C", - "Ċ": "C", - "Č": "C", - "ć": "c", - "ĉ": "c", - "ċ": "c", - "č": "c", - "Ď": "D", - "Đ": "D", - "ď": "d", - "đ": "d", - "Ē": "E", - "Ĕ": "E", - "Ė": "E", - "Ę": "E", - "Ě": "E", - "ē": "e", - "ĕ": "e", - "ė": "e", - "ę": "e", - "ě": "e", - "Ĝ": "G", - "Ğ": "G", - "Ġ": "G", - "Ģ": "G", - "ĝ": "g", - "ğ": "g", - "ġ": "g", - "ģ": "g", - "Ĥ": "H", - "Ħ": "H", - "ĥ": "h", - "ħ": "h", - "Ĩ": "I", - "Ī": "I", - "Ĭ": "I", - "Į": "I", - "İ": "I", - "ĩ": "i", - "ī": "i", - "ĭ": "i", - "į": "i", - "ı": "i", - "Ĵ": "J", - "ĵ": "j", - "Ķ": "K", - "ķ": "k", - "ĸ": "k", - "Ĺ": "L", - "Ļ": "L", - "Ľ": "L", - "Ŀ": "L", - "Ł": "L", - "ĺ": "l", - "ļ": "l", - "ľ": "l", - "ŀ": "l", - "ł": "l", - "Ń": "N", - "Ņ": "N", - "Ň": "N", - "Ŋ": "N", - "ń": "n", - "ņ": "n", - "ň": "n", - "ŋ": "n", - "Ō": "O", - "Ŏ": "O", - "Ő": "O", - "ō": "o", - "ŏ": "o", - "ő": "o", - "Ŕ": "R", - "Ŗ": "R", - "Ř": "R", - "ŕ": "r", - "ŗ": "r", - "ř": "r", - "Ś": "S", - "Ŝ": "S", - "Ş": "S", - "Š": "S", - "ś": "s", - "ŝ": "s", - "ş": "s", - "š": "s", - "Ţ": "T", - "Ť": "T", - "Ŧ": "T", - "ţ": "t", - "ť": "t", - "ŧ": "t", - "Ũ": "U", - "Ū": "U", - "Ŭ": "U", - "Ů": "U", - "Ű": "U", - "Ų": "U", - "ũ": "u", - "ū": "u", - "ŭ": "u", - "ů": "u", - "ű": "u", - "ų": "u", - "Ŵ": "W", - "ŵ": "w", - "Ŷ": "Y", - "ŷ": "y", - "Ÿ": "Y", - "Ź": "Z", - "Ż": "Z", - "Ž": "Z", - "ź": "z", - "ż": "z", - "ž": "z", - "IJ": "IJ", - "ij": "ij", - "Œ": "Oe", - "œ": "oe", - "ʼn": "'n", - "ſ": "s" -}; -var deburrLetter = basePropertyOf(deburredLetters); -var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; -var rsComboMarksRange$1 = "\\u0300-\\u036f", reComboHalfMarksRange$1 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$1 = "\\u20d0-\\u20ff", rsComboRange$1 = rsComboMarksRange$1 + reComboHalfMarksRange$1 + rsComboSymbolsRange$1; -var rsCombo$1 = "[" + rsComboRange$1 + "]"; -var reComboMark = RegExp(rsCombo$1, "g"); -function deburr(string) { - string = toString(string); - return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ""); -} -var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; -function asciiWords(string) { - return string.match(reAsciiWord) || []; -} -var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; -function hasUnicodeWord(string) { - return reHasUnicodeWord.test(string); -} -var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsDingbatRange = "\\u2700-\\u27bf", rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff", rsMathOpRange = "\\xac\\xb1\\xd7\\xf7", rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", rsPunctuationRange = "\\u2000-\\u206f", rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde", rsVarRange = "\\ufe0e\\ufe0f", rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; -var rsApos$1 = "['’]", rsBreak = "[" + rsBreakRange + "]", rsCombo = "[" + rsComboRange + "]", rsDigits = "\\d+", rsDingbat = "[" + rsDingbatRange + "]", rsLower = "[" + rsLowerRange + "]", rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]", rsFitz = "\\ud83c[\\udffb-\\udfff]", rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsUpper = "[" + rsUpperRange + "]", rsZWJ = "\\u200d"; -var rsMiscLower = "(?:" + rsLower + "|" + rsMisc + ")", rsMiscUpper = "(?:" + rsUpper + "|" + rsMisc + ")", rsOptContrLower = "(?:" + rsApos$1 + "(?:d|ll|m|re|s|t|ve))?", rsOptContrUpper = "(?:" + rsApos$1 + "(?:D|LL|M|RE|S|T|VE))?", reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*", rsOrdLower = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", rsOrdUpper = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq; -var reUnicodeWord = RegExp([ - rsUpper + "?" + rsLower + "+" + rsOptContrLower + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")", - rsMiscUpper + "+" + rsOptContrUpper + "(?=" + [rsBreak, rsUpper + rsMiscLower, "$"].join("|") + ")", - rsUpper + "?" + rsMiscLower + "+" + rsOptContrLower, - rsUpper + "+" + rsOptContrUpper, - rsOrdUpper, - rsOrdLower, - rsDigits, - rsEmoji -].join("|"), "g"); -function unicodeWords(string) { - return string.match(reUnicodeWord) || []; -} -function words(string, pattern, guard) { - string = toString(string); - pattern = pattern; - if (pattern === void 0) { - return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string); - } - return string.match(pattern) || []; -} -var rsApos = "['’]"; -var reApos = RegExp(rsApos, "g"); -function createCompounder(callback) { - return function(string) { - return arrayReduce(words(deburr(string).replace(reApos, "")), callback, ""); - }; -} -function arrayFilter(array, predicate) { - var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result[resIndex++] = value; - } - } - return result; -} -function stubArray() { - return []; -} -var objectProto$2 = Object.prototype; -var propertyIsEnumerable = objectProto$2.propertyIsEnumerable; -var nativeGetSymbols = Object.getOwnPropertySymbols; -var getSymbols = !nativeGetSymbols ? stubArray : function(object) { - if (object == null) { - return []; - } - object = Object(object); - return arrayFilter(nativeGetSymbols(object), function(symbol) { - return propertyIsEnumerable.call(object, symbol); - }); -}; -function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result = keysFunc(object); - return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); -} -function getAllKeys(object) { - return baseGetAllKeys(object, keys, getSymbols); -} -var DataView = getNative(root, "DataView"); -var Promise$1 = getNative(root, "Promise"); -var Set$1 = getNative(root, "Set"); -var mapTag$1 = "[object Map]", objectTag$1 = "[object Object]", promiseTag = "[object Promise]", setTag$1 = "[object Set]", weakMapTag = "[object WeakMap]"; -var dataViewTag$1 = "[object DataView]"; -var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$1), setCtorString = toSource(Set$1), weakMapCtorString = toSource(WeakMap$1); -var getTag = baseGetTag; -if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag$1 || Map$1 && getTag(new Map$1()) != mapTag$1 || Promise$1 && getTag(Promise$1.resolve()) != promiseTag || Set$1 && getTag(new Set$1()) != setTag$1 || WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag) { - getTag = function(value) { - var result = baseGetTag(value), Ctor = result == objectTag$1 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : ""; - if (ctorString) { - switch (ctorString) { - case dataViewCtorString: - return dataViewTag$1; - case mapCtorString: - return mapTag$1; - case promiseCtorString: - return promiseTag; - case setCtorString: - return setTag$1; - case weakMapCtorString: - return weakMapTag; - } - } - return result; - }; -} -var HASH_UNDEFINED = "__lodash_hash_undefined__"; -function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED); - return this; -} -function setCacheHas(value) { - return this.__data__.has(value); -} -function SetCache(values) { - var index = -1, length = values == null ? 0 : values.length; - this.__data__ = new MapCache(); - while (++index < length) { - this.add(values[index]); - } -} -SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; -SetCache.prototype.has = setCacheHas; -function arraySome(array, predicate) { - var index = -1, length = array == null ? 0 : array.length; - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; -} -function cacheHas(cache, key) { - return cache.has(key); -} -var COMPARE_PARTIAL_FLAG$5 = 1, COMPARE_UNORDERED_FLAG$3 = 2; -function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5, arrLength = array.length, othLength = other.length; - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } - var arrStacked = stack.get(array); - var othStacked = stack.get(other); - if (arrStacked && othStacked) { - return arrStacked == other && othStacked == array; - } - var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG$3 ? new SetCache() : void 0; - stack.set(array, other); - stack.set(other, array); - while (++index < arrLength) { - var arrValue = array[index], othValue = other[index]; - if (customizer) { - var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); - } - if (compared !== void 0) { - if (compared) { - continue; - } - result = false; - break; - } - if (seen) { - if (!arraySome(other, function(othValue2, othIndex) { - if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - result = false; - break; - } - } - stack["delete"](array); - stack["delete"](other); - return result; -} -function mapToArray(map2) { - var index = -1, result = Array(map2.size); - map2.forEach(function(value, key) { - result[++index] = [key, value]; - }); - return result; -} -function setToArray(set) { - var index = -1, result = Array(set.size); - set.forEach(function(value) { - result[++index] = value; - }); - return result; -} -var COMPARE_PARTIAL_FLAG$4 = 1, COMPARE_UNORDERED_FLAG$2 = 2; -var boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]"; -var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]"; -var symbolProto = Symbol$1 ? Symbol$1.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0; -function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - case dataViewTag: - if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { - return false; - } - object = object.buffer; - other = other.buffer; - case arrayBufferTag: - if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) { - return false; - } - return true; - case boolTag: - case dateTag: - case numberTag: - return eq(+object, +other); - case errorTag: - return object.name == other.name && object.message == other.message; - case regexpTag: - case stringTag: - return object == other + ""; - case mapTag: - var convert = mapToArray; - case setTag: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4; - convert || (convert = setToArray); - if (object.size != other.size && !isPartial) { - return false; - } - var stacked = stack.get(object); - if (stacked) { - return stacked == other; - } - bitmask |= COMPARE_UNORDERED_FLAG$2; - stack.set(object, other); - var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); - stack["delete"](object); - return result; - case symbolTag: - if (symbolValueOf) { - return symbolValueOf.call(object) == symbolValueOf.call(other); - } - } - return false; -} -var COMPARE_PARTIAL_FLAG$3 = 1; -var objectProto$1 = Object.prototype; -var hasOwnProperty$1 = objectProto$1.hasOwnProperty; -function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length; - if (objLength != othLength && !isPartial) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty$1.call(other, key))) { - return false; - } - } - var objStacked = stack.get(object); - var othStacked = stack.get(other); - if (objStacked && othStacked) { - return objStacked == other && othStacked == object; - } - var result = true; - stack.set(object, other); - stack.set(other, object); - var skipCtor = isPartial; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], othValue = other[key]; - if (customizer) { - var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); - } - if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { - result = false; - break; - } - skipCtor || (skipCtor = key == "constructor"); - } - if (result && !skipCtor) { - var objCtor = object.constructor, othCtor = other.constructor; - if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) { - result = false; - } - } - stack["delete"](object); - stack["delete"](other); - return result; -} -var COMPARE_PARTIAL_FLAG$2 = 1; -var argsTag = "[object Arguments]", arrayTag = "[object Array]", objectTag = "[object Object]"; -var objectProto = Object.prototype; -var hasOwnProperty = objectProto.hasOwnProperty; -function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other); - objTag = objTag == argsTag ? objectTag : objTag; - othTag = othTag == argsTag ? objectTag : othTag; - var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag; - if (isSameTag && isBuffer(object)) { - if (!isBuffer(other)) { - return false; - } - objIsArr = true; - objIsObj = false; - } - if (isSameTag && !objIsObj) { - stack || (stack = new Stack()); - return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - } - if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__"); - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; - stack || (stack = new Stack()); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - } - } - if (!isSameTag) { - return false; - } - stack || (stack = new Stack()); - return equalObjects(object, other, bitmask, customizer, equalFunc, stack); -} -function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); -} -var COMPARE_PARTIAL_FLAG$1 = 1, COMPARE_UNORDERED_FLAG$1 = 2; -function baseIsMatch(object, source, matchData, customizer) { - var index = matchData.length, length = index; - if (object == null) { - return !length; - } - object = Object(object); - while (index--) { - var data = matchData[index]; - if (data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], objValue = object[key], srcValue = data[1]; - if (data[2]) { - if (objValue === void 0 && !(key in object)) { - return false; - } - } else { - var stack = new Stack(); - var result; - if (!(result === void 0 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack) : result)) { - return false; - } - } - } - return true; -} -function isStrictComparable(value) { - return value === value && !isObject(value); -} -function getMatchData(object) { - var result = keys(object), length = result.length; - while (length--) { - var key = result[length], value = object[key]; - result[length] = [key, value, isStrictComparable(value)]; - } - return result; -} -function matchesStrictComparable(key, srcValue) { - return function(object) { - if (object == null) { - return false; - } - return object[key] === srcValue && (srcValue !== void 0 || key in Object(object)); - }; -} -function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - return matchesStrictComparable(matchData[0][0], matchData[0][1]); - } - return function(object) { - return object === source || baseIsMatch(object, source, matchData); - }; -} -function baseHasIn(object, key) { - return object != null && key in Object(object); -} -function hasPath(object, path, hasFunc) { - path = castPath(path, object); - var index = -1, length = path.length, result = false; - while (++index < length) { - var key = toKey(path[index]); - if (!(result = object != null && hasFunc(object, key))) { - break; - } - object = object[key]; - } - if (result || ++index != length) { - return result; - } - length = object == null ? 0 : object.length; - return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object)); -} -function hasIn(object, path) { - return object != null && hasPath(object, path, baseHasIn); -} -var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; -function baseMatchesProperty(path, srcValue) { - if (isKey(path) && isStrictComparable(srcValue)) { - return matchesStrictComparable(toKey(path), srcValue); - } - return function(object) { - var objValue = get(object, path); - return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); - }; -} -function baseProperty(key) { - return function(object) { - return object == null ? void 0 : object[key]; - }; -} -function basePropertyDeep(path) { - return function(object) { - return baseGet(object, path); - }; -} -function property(path) { - return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); -} -function baseIteratee(value) { - if (typeof value == "function") { - return value; - } - if (value == null) { - return identity; - } - if (typeof value == "object") { - return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value); - } - return property(value); -} -function baseForOwn(object, iteratee) { - return object && baseFor(object, iteratee, keys); -} -function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - if (collection == null) { - return collection; - } - if (!isArrayLike(collection)) { - return eachFunc(collection, iteratee); - } - var length = collection.length, index = -1, iterable = Object(collection); - while (++index < length) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; -} -var baseEach = createBaseEach(baseForOwn); -function baseMap(collection, iteratee) { - var index = -1, result = isArrayLike(collection) ? Array(collection.length) : []; - baseEach(collection, function(value, key, collection2) { - result[++index] = iteratee(value, key, collection2); - }); - return result; -} -function map(collection, iteratee) { - var func = isArray(collection) ? arrayMap : baseMap; - return func(collection, baseIteratee(iteratee)); -} -var kebabCase = createCompounder(function(result, word, index) { - return result + (index ? "-" : "") + word.toLowerCase(); -}); -const DownloadIcon = replaceable("download", () => h("svg", { - viewBox: "0 0 16 16", - version: "1.1", - xmlns: "http://www.w3.org/2000/svg" -}, h("g", { - stroke: "none", - "stroke-width": "1", - fill: "none", - "fill-rule": "evenodd" -}, h("g", { - fill: "currentColor", - "fill-rule": "nonzero" -}, h("path", { - d: "M3.5,13 L12.5,13 C12.7761424,13 13,13.2238576 13,13.5 C13,13.7454599 12.8231248,13.9496084 12.5898756,13.9919443 L12.5,14 L3.5,14 C3.22385763,14 3,13.7761424 3,13.5 C3,13.2545401 3.17687516,13.0503916 3.41012437,13.0080557 L3.5,13 L12.5,13 L3.5,13 Z M7.91012437,1.00805567 L8,1 C8.24545989,1 8.44960837,1.17687516 8.49194433,1.41012437 L8.5,1.5 L8.5,10.292 L11.1819805,7.6109127 C11.3555469,7.43734635 11.6249713,7.4180612 11.8198394,7.55305725 L11.8890873,7.6109127 C12.0626536,7.78447906 12.0819388,8.05390346 11.9469427,8.2487716 L11.8890873,8.31801948 L8.35355339,11.8535534 C8.17998704,12.0271197 7.91056264,12.0464049 7.7156945,11.9114088 L7.64644661,11.8535534 L4.1109127,8.31801948 C3.91565056,8.12275734 3.91565056,7.80617485 4.1109127,7.6109127 C4.28447906,7.43734635 4.55390346,7.4180612 4.7487716,7.55305725 L4.81801948,7.6109127 L7.5,10.292 L7.5,1.5 C7.5,1.25454011 7.67687516,1.05039163 7.91012437,1.00805567 L8,1 L7.91012437,1.00805567 Z" -}))))); -const ResizeSmallIcon = defineComponent({ - name: "ResizeSmall", - render() { - return h("svg", { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 20 20" - }, h("g", { - fill: "none" - }, h("path", { - d: "M5.5 4A1.5 1.5 0 0 0 4 5.5v1a.5.5 0 0 1-1 0v-1A2.5 2.5 0 0 1 5.5 3h1a.5.5 0 0 1 0 1h-1zM16 5.5A1.5 1.5 0 0 0 14.5 4h-1a.5.5 0 0 1 0-1h1A2.5 2.5 0 0 1 17 5.5v1a.5.5 0 0 1-1 0v-1zm0 9a1.5 1.5 0 0 1-1.5 1.5h-1a.5.5 0 0 0 0 1h1a2.5 2.5 0 0 0 2.5-2.5v-1a.5.5 0 0 0-1 0v1zm-12 0A1.5 1.5 0 0 0 5.5 16h1.25a.5.5 0 0 1 0 1H5.5A2.5 2.5 0 0 1 3 14.5v-1.25a.5.5 0 0 1 1 0v1.25zM8.5 7A1.5 1.5 0 0 0 7 8.5v3A1.5 1.5 0 0 0 8.5 13h3a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 11.5 7h-3zM8 8.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3z", - fill: "currentColor" - }))); - } -}); -const RotateClockwiseIcon = replaceable("rotateClockwise", () => h("svg", { - viewBox: "0 0 20 20", - fill: "none", - xmlns: "http://www.w3.org/2000/svg" -}, h("path", { - d: "M3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 12.7916 15.3658 15.2026 13 16.3265V14.5C13 14.2239 12.7761 14 12.5 14C12.2239 14 12 14.2239 12 14.5V17.5C12 17.7761 12.2239 18 12.5 18H15.5C15.7761 18 16 17.7761 16 17.5C16 17.2239 15.7761 17 15.5 17H13.8758C16.3346 15.6357 18 13.0128 18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 10.2761 2.22386 10.5 2.5 10.5C2.77614 10.5 3 10.2761 3 10Z", - fill: "currentColor" -}), h("path", { - d: "M10 12C11.1046 12 12 11.1046 12 10C12 8.89543 11.1046 8 10 8C8.89543 8 8 8.89543 8 10C8 11.1046 8.89543 12 10 12ZM10 11C9.44772 11 9 10.5523 9 10C9 9.44772 9.44772 9 10 9C10.5523 9 11 9.44772 11 10C11 10.5523 10.5523 11 10 11Z", - fill: "currentColor" -}))); -const RotateCounterclockwiseIcon = replaceable("rotateClockwise", () => h("svg", { - viewBox: "0 0 20 20", - fill: "none", - xmlns: "http://www.w3.org/2000/svg" -}, h("path", { - d: "M17 10C17 6.13401 13.866 3 10 3C6.13401 3 3 6.13401 3 10C3 12.7916 4.63419 15.2026 7 16.3265V14.5C7 14.2239 7.22386 14 7.5 14C7.77614 14 8 14.2239 8 14.5V17.5C8 17.7761 7.77614 18 7.5 18H4.5C4.22386 18 4 17.7761 4 17.5C4 17.2239 4.22386 17 4.5 17H6.12422C3.66539 15.6357 2 13.0128 2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10C18 10.2761 17.7761 10.5 17.5 10.5C17.2239 10.5 17 10.2761 17 10Z", - fill: "currentColor" -}), h("path", { - d: "M10 12C8.89543 12 8 11.1046 8 10C8 8.89543 8.89543 8 10 8C11.1046 8 12 8.89543 12 10C12 11.1046 11.1046 12 10 12ZM10 11C10.5523 11 11 10.5523 11 10C11 9.44772 10.5523 9 10 9C9.44772 9 9 9.44772 9 10C9 10.5523 9.44772 11 10 11Z", - fill: "currentColor" -}))); -const ZoomInIcon = replaceable("zoomIn", () => h("svg", { - viewBox: "0 0 20 20", - fill: "none", - xmlns: "http://www.w3.org/2000/svg" -}, h("path", { - d: "M11.5 8.5C11.5 8.22386 11.2761 8 11 8H9V6C9 5.72386 8.77614 5.5 8.5 5.5C8.22386 5.5 8 5.72386 8 6V8H6C5.72386 8 5.5 8.22386 5.5 8.5C5.5 8.77614 5.72386 9 6 9H8V11C8 11.2761 8.22386 11.5 8.5 11.5C8.77614 11.5 9 11.2761 9 11V9H11C11.2761 9 11.5 8.77614 11.5 8.5Z", - fill: "currentColor" -}), h("path", { - d: "M8.5 3C11.5376 3 14 5.46243 14 8.5C14 9.83879 13.5217 11.0659 12.7266 12.0196L16.8536 16.1464C17.0488 16.3417 17.0488 16.6583 16.8536 16.8536C16.68 17.0271 16.4106 17.0464 16.2157 16.9114L16.1464 16.8536L12.0196 12.7266C11.0659 13.5217 9.83879 14 8.5 14C5.46243 14 3 11.5376 3 8.5C3 5.46243 5.46243 3 8.5 3ZM8.5 4C6.01472 4 4 6.01472 4 8.5C4 10.9853 6.01472 13 8.5 13C10.9853 13 13 10.9853 13 8.5C13 6.01472 10.9853 4 8.5 4Z", - fill: "currentColor" -}))); -const ZoomOutIcon = replaceable("zoomOut", () => h("svg", { - viewBox: "0 0 20 20", - fill: "none", - xmlns: "http://www.w3.org/2000/svg" -}, h("path", { - d: "M11 8C11.2761 8 11.5 8.22386 11.5 8.5C11.5 8.77614 11.2761 9 11 9H6C5.72386 9 5.5 8.77614 5.5 8.5C5.5 8.22386 5.72386 8 6 8H11Z", - fill: "currentColor" -}), h("path", { - d: "M14 8.5C14 5.46243 11.5376 3 8.5 3C5.46243 3 3 5.46243 3 8.5C3 11.5376 5.46243 14 8.5 14C9.83879 14 11.0659 13.5217 12.0196 12.7266L16.1464 16.8536L16.2157 16.9114C16.4106 17.0464 16.68 17.0271 16.8536 16.8536C17.0488 16.6583 17.0488 16.3417 16.8536 16.1464L12.7266 12.0196C13.5217 11.0659 14 9.83879 14 8.5ZM4 8.5C4 6.01472 6.01472 4 8.5 4C10.9853 4 13 6.01472 13 8.5C13 10.9853 10.9853 13 8.5 13C6.01472 13 4 10.9853 4 8.5Z", - fill: "currentColor" -}))); -const oppositePlacement = { - top: "bottom", - bottom: "top", - left: "right", - right: "left" -}; -const arrowSize = "var(--n-arrow-height) * 1.414"; -const style$1 = c([cB("popover", ` - transition: - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - position: relative; - font-size: var(--n-font-size); - color: var(--n-text-color); - box-shadow: var(--n-box-shadow); - word-break: break-word; - `, [c(">", [cB("scrollbar", ` - height: inherit; - max-height: inherit; - `)]), cNotM("raw", ` - background-color: var(--n-color); - border-radius: var(--n-border-radius); - `, [cNotM("scrollable", [cNotM("show-header-or-footer", "padding: var(--n-padding);")])]), cE("header", ` - padding: var(--n-padding); - border-bottom: 1px solid var(--n-divider-color); - transition: border-color .3s var(--n-bezier); - `), cE("footer", ` - padding: var(--n-padding); - border-top: 1px solid var(--n-divider-color); - transition: border-color .3s var(--n-bezier); - `), cM("scrollable, show-header-or-footer", [cE("content", ` - padding: var(--n-padding); - `)])]), cB("popover-shared", ` - transform-origin: inherit; - `, [ - cB("popover-arrow-wrapper", ` - position: absolute; - overflow: hidden; - pointer-events: none; - `, [cB("popover-arrow", ` - transition: background-color .3s var(--n-bezier); - position: absolute; - display: block; - width: calc(${arrowSize}); - height: calc(${arrowSize}); - box-shadow: 0 0 8px 0 rgba(0, 0, 0, .12); - transform: rotate(45deg); - background-color: var(--n-color); - pointer-events: all; - `)]), - // body transition - c("&.popover-transition-enter-from, &.popover-transition-leave-to", ` - opacity: 0; - transform: scale(.85); - `), - c("&.popover-transition-enter-to, &.popover-transition-leave-from", ` - transform: scale(1); - opacity: 1; - `), - c("&.popover-transition-enter-active", ` - transition: - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier), - color .3s var(--n-bezier), - opacity .15s var(--n-bezier-ease-out), - transform .15s var(--n-bezier-ease-out); - `), - c("&.popover-transition-leave-active", ` - transition: - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier), - color .3s var(--n-bezier), - opacity .15s var(--n-bezier-ease-in), - transform .15s var(--n-bezier-ease-in); - `) -]), placementStyle("top-start", ` - top: calc(${arrowSize} / -2); - left: calc(${getArrowOffset("top-start")} - var(--v-offset-left)); - `), placementStyle("top", ` - top: calc(${arrowSize} / -2); - transform: translateX(calc(${arrowSize} / -2)) rotate(45deg); - left: 50%; - `), placementStyle("top-end", ` - top: calc(${arrowSize} / -2); - right: calc(${getArrowOffset("top-end")} + var(--v-offset-left)); - `), placementStyle("bottom-start", ` - bottom: calc(${arrowSize} / -2); - left: calc(${getArrowOffset("bottom-start")} - var(--v-offset-left)); - `), placementStyle("bottom", ` - bottom: calc(${arrowSize} / -2); - transform: translateX(calc(${arrowSize} / -2)) rotate(45deg); - left: 50%; - `), placementStyle("bottom-end", ` - bottom: calc(${arrowSize} / -2); - right: calc(${getArrowOffset("bottom-end")} + var(--v-offset-left)); - `), placementStyle("left-start", ` - left: calc(${arrowSize} / -2); - top: calc(${getArrowOffset("left-start")} - var(--v-offset-top)); - `), placementStyle("left", ` - left: calc(${arrowSize} / -2); - transform: translateY(calc(${arrowSize} / -2)) rotate(45deg); - top: 50%; - `), placementStyle("left-end", ` - left: calc(${arrowSize} / -2); - bottom: calc(${getArrowOffset("left-end")} + var(--v-offset-top)); - `), placementStyle("right-start", ` - right: calc(${arrowSize} / -2); - top: calc(${getArrowOffset("right-start")} - var(--v-offset-top)); - `), placementStyle("right", ` - right: calc(${arrowSize} / -2); - transform: translateY(calc(${arrowSize} / -2)) rotate(45deg); - top: 50%; - `), placementStyle("right-end", ` - right: calc(${arrowSize} / -2); - bottom: calc(${getArrowOffset("right-end")} + var(--v-offset-top)); - `), ...map({ - top: ["right-start", "left-start"], - right: ["top-end", "bottom-end"], - bottom: ["right-end", "left-end"], - left: ["top-start", "bottom-start"] -}, (placements, direction) => { - const isVertical = ["right", "left"].includes(direction); - const sizeType = isVertical ? "width" : "height"; - return placements.map((placement) => { - const isReverse = placement.split("-")[1] === "end"; - const targetSize = `var(--v-target-${sizeType}, 0px)`; - const centerOffset = `calc((${targetSize} - ${arrowSize}) / 2)`; - const offset = getArrowOffset(placement); - return c(`[v-placement="${placement}"] >`, [cB("popover-shared", [cM("center-arrow", [cB("popover-arrow", `${direction}: calc(max(${centerOffset}, ${offset}) ${isReverse ? "+" : "-"} var(--v-offset-${isVertical ? "left" : "top"}));`)])])]); - }); -})]); -function getArrowOffset(placement) { - return ["top", "bottom"].includes(placement.split("-")[0]) ? "var(--n-arrow-offset)" : "var(--n-arrow-offset-vertical)"; -} -function placementStyle(placement, arrowStyleLiteral) { - const position = placement.split("-")[0]; - const sizeStyle = ["top", "bottom"].includes(position) ? "height: var(--n-space-arrow);" : "width: var(--n-space-arrow);"; - return c(`[v-placement="${placement}"] >`, [cB("popover-shared", ` - margin-${oppositePlacement[position]}: var(--n-space); - `, [cM("show-arrow", ` - margin-${oppositePlacement[position]}: var(--n-space-arrow); - `), cM("overlap", ` - margin: 0; - `), cCB("popover-arrow-wrapper", ` - right: 0; - left: 0; - top: 0; - bottom: 0; - ${position}: 100%; - ${oppositePlacement[position]}: auto; - ${sizeStyle} - `, [cB("popover-arrow", arrowStyleLiteral)])])]); -} -const popoverBodyProps = Object.assign(Object.assign({}, useTheme.props), { - to: useAdjustedTo.propTo, - show: Boolean, - trigger: String, - showArrow: Boolean, - delay: Number, - duration: Number, - raw: Boolean, - arrowPointToCenter: Boolean, - arrowClass: String, - arrowStyle: [String, Object], - arrowWrapperClass: String, - arrowWrapperStyle: [String, Object], - displayDirective: String, - x: Number, - y: Number, - flip: Boolean, - overlap: Boolean, - placement: String, - width: [Number, String], - keepAliveOnHover: Boolean, - scrollable: Boolean, - contentClass: String, - contentStyle: [Object, String], - headerClass: String, - headerStyle: [Object, String], - footerClass: String, - footerStyle: [Object, String], - // private - internalDeactivateImmediately: Boolean, - animated: Boolean, - onClickoutside: Function, - internalTrapFocus: Boolean, - internalOnAfterLeave: Function, - // deprecated - minWidth: Number, - maxWidth: Number -}); -function renderArrow({ - arrowClass, - arrowStyle, - arrowWrapperClass, - arrowWrapperStyle, - clsPrefix -}) { - return h("div", { - key: "__popover-arrow__", - style: arrowWrapperStyle, - class: [`${clsPrefix}-popover-arrow-wrapper`, arrowWrapperClass] - }, h("div", { - class: [`${clsPrefix}-popover-arrow`, arrowClass], - style: arrowStyle - })); -} -const NPopoverBody = defineComponent({ - name: "PopoverBody", - inheritAttrs: false, - props: popoverBodyProps, - setup(props, { - slots, - attrs - }) { - const { - namespaceRef, - mergedClsPrefixRef, - inlineThemeDisabled - } = useConfig(props); - const themeRef = useTheme("Popover", "-popover", style$1, popoverLight, props, mergedClsPrefixRef); - const followerRef = ref(null); - const NPopover = inject("NPopover"); - const bodyRef = ref(null); - const followerEnabledRef = ref(props.show); - const displayedRef = ref(false); - watchEffect(() => { - const { - show - } = props; - if (show && !isJsdom() && !props.internalDeactivateImmediately) { - displayedRef.value = true; - } - }); - const directivesRef = computed(() => { - const { - trigger, - onClickoutside - } = props; - const directives = []; - const { - positionManuallyRef: { - value: positionManually - } - } = NPopover; - if (!positionManually) { - if (trigger === "click" && !onClickoutside) { - directives.push([clickoutside, handleClickOutside, void 0, { - capture: true - }]); - } - if (trigger === "hover") { - directives.push([mousemoveoutside, handleMouseMoveOutside]); - } - } - if (onClickoutside) { - directives.push([clickoutside, handleClickOutside, void 0, { - capture: true - }]); - } - if (props.displayDirective === "show" || props.animated && displayedRef.value) { - directives.push([vShow, props.show]); - } - return directives; - }); - const cssVarsRef = computed(() => { - const { - common: { - cubicBezierEaseInOut, - cubicBezierEaseIn, - cubicBezierEaseOut - }, - self: { - space, - spaceArrow, - padding, - fontSize, - textColor, - dividerColor, - color, - boxShadow, - borderRadius, - arrowHeight, - arrowOffset, - arrowOffsetVertical - } - } = themeRef.value; - return { - "--n-box-shadow": boxShadow, - "--n-bezier": cubicBezierEaseInOut, - "--n-bezier-ease-in": cubicBezierEaseIn, - "--n-bezier-ease-out": cubicBezierEaseOut, - "--n-font-size": fontSize, - "--n-text-color": textColor, - "--n-color": color, - "--n-divider-color": dividerColor, - "--n-border-radius": borderRadius, - "--n-arrow-height": arrowHeight, - "--n-arrow-offset": arrowOffset, - "--n-arrow-offset-vertical": arrowOffsetVertical, - "--n-padding": padding, - "--n-space": space, - "--n-space-arrow": spaceArrow - }; - }); - const styleRef = computed(() => { - const width = props.width === "trigger" ? void 0 : formatLength(props.width); - const style2 = []; - if (width) { - style2.push({ - width - }); - } - const { - maxWidth, - minWidth - } = props; - if (maxWidth) { - style2.push({ - maxWidth: formatLength(maxWidth) - }); - } - if (minWidth) { - style2.push({ - maxWidth: formatLength(minWidth) - }); - } - if (!inlineThemeDisabled) { - style2.push(cssVarsRef.value); - } - return style2; - }); - const themeClassHandle = inlineThemeDisabled ? useThemeClass("popover", void 0, cssVarsRef, props) : void 0; - NPopover.setBodyInstance({ - syncPosition - }); - onBeforeUnmount(() => { - NPopover.setBodyInstance(null); - }); - watch(toRef(props, "show"), (value) => { - if (props.animated) return; - if (value) { - followerEnabledRef.value = true; - } else { - followerEnabledRef.value = false; - } - }); - function syncPosition() { - var _a; - (_a = followerRef.value) === null || _a === void 0 ? void 0 : _a.syncPosition(); - } - function handleMouseEnter(e) { - if (props.trigger === "hover" && props.keepAliveOnHover && props.show) { - NPopover.handleMouseEnter(e); - } - } - function handleMouseLeave(e) { - if (props.trigger === "hover" && props.keepAliveOnHover) { - NPopover.handleMouseLeave(e); - } - } - function handleMouseMoveOutside(e) { - if (props.trigger === "hover" && !getTriggerElement().contains(getPreciseEventTarget(e))) { - NPopover.handleMouseMoveOutside(e); - } - } - function handleClickOutside(e) { - if (props.trigger === "click" && !getTriggerElement().contains(getPreciseEventTarget(e)) || props.onClickoutside) { - NPopover.handleClickOutside(e); - } - } - function getTriggerElement() { - return NPopover.getTriggerElement(); - } - provide(popoverBodyInjectionKey, bodyRef); - provide(drawerBodyInjectionKey, null); - provide(modalBodyInjectionKey, null); - function renderContentNode() { - themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender(); - const shouldRenderDom = props.displayDirective === "show" || props.show || props.animated && displayedRef.value; - if (!shouldRenderDom) { - return null; - } - let contentNode; - const renderBody = NPopover.internalRenderBodyRef.value; - const { - value: mergedClsPrefix - } = mergedClsPrefixRef; - if (!renderBody) { - const { - value: extraClass - } = NPopover.extraClassRef; - const { - internalTrapFocus - } = props; - const hasHeaderOrFooter = !isSlotEmpty(slots.header) || !isSlotEmpty(slots.footer); - const renderContentInnerNode = () => { - var _a, _b; - const body = hasHeaderOrFooter ? h(Fragment, null, resolveWrappedSlot(slots.header, (children) => { - return children ? h("div", { - class: [`${mergedClsPrefix}-popover__header`, props.headerClass], - style: props.headerStyle - }, children) : null; - }), resolveWrappedSlot(slots.default, (children) => { - return children ? h("div", { - class: [`${mergedClsPrefix}-popover__content`, props.contentClass], - style: props.contentStyle - }, slots) : null; - }), resolveWrappedSlot(slots.footer, (children) => { - return children ? h("div", { - class: [`${mergedClsPrefix}-popover__footer`, props.footerClass], - style: props.footerStyle - }, children) : null; - })) : props.scrollable ? (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots) : h("div", { - class: [`${mergedClsPrefix}-popover__content`, props.contentClass], - style: props.contentStyle - }, slots); - const maybeScrollableBody = props.scrollable ? h(XScrollbar, { - contentClass: hasHeaderOrFooter ? void 0 : `${mergedClsPrefix}-popover__content ${(_b = props.contentClass) !== null && _b !== void 0 ? _b : ""}`, - contentStyle: hasHeaderOrFooter ? void 0 : props.contentStyle - }, { - default: () => body - }) : body; - const arrow = props.showArrow ? renderArrow({ - arrowClass: props.arrowClass, - arrowStyle: props.arrowStyle, - arrowWrapperClass: props.arrowWrapperClass, - arrowWrapperStyle: props.arrowWrapperStyle, - clsPrefix: mergedClsPrefix - }) : null; - return [maybeScrollableBody, arrow]; - }; - contentNode = h("div", mergeProps({ - class: [`${mergedClsPrefix}-popover`, `${mergedClsPrefix}-popover-shared`, themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass.value, extraClass.map((v) => `${mergedClsPrefix}-${v}`), { - [`${mergedClsPrefix}-popover--scrollable`]: props.scrollable, - [`${mergedClsPrefix}-popover--show-header-or-footer`]: hasHeaderOrFooter, - [`${mergedClsPrefix}-popover--raw`]: props.raw, - [`${mergedClsPrefix}-popover-shared--overlap`]: props.overlap, - [`${mergedClsPrefix}-popover-shared--show-arrow`]: props.showArrow, - [`${mergedClsPrefix}-popover-shared--center-arrow`]: props.arrowPointToCenter - }], - ref: bodyRef, - style: styleRef.value, - onKeydown: NPopover.handleKeydown, - onMouseenter: handleMouseEnter, - onMouseleave: handleMouseLeave - }, attrs), internalTrapFocus ? h(FocusTrap, { - active: props.show, - autoFocus: true - }, { - default: renderContentInnerNode - }) : renderContentInnerNode()); - } else { - contentNode = renderBody( - // The popover class and overlap class must exists, they will be used - // to place the body & transition animation. - // Shadow class exists for reuse box-shadow. - [`${mergedClsPrefix}-popover-shared`, themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass.value, props.overlap && `${mergedClsPrefix}-popover-shared--overlap`, props.showArrow && `${mergedClsPrefix}-popover-shared--show-arrow`, props.arrowPointToCenter && `${mergedClsPrefix}-popover-shared--center-arrow`], - bodyRef, - styleRef.value, - handleMouseEnter, - handleMouseLeave - ); - } - return withDirectives(contentNode, directivesRef.value); - } - return { - displayed: displayedRef, - namespace: namespaceRef, - isMounted: NPopover.isMountedRef, - zIndex: NPopover.zIndexRef, - followerRef, - adjustedTo: useAdjustedTo(props), - followerEnabled: followerEnabledRef, - renderContentNode - }; - }, - render() { - return h(VFollower, { - ref: "followerRef", - zIndex: this.zIndex, - show: this.show, - enabled: this.followerEnabled, - to: this.adjustedTo, - x: this.x, - y: this.y, - flip: this.flip, - placement: this.placement, - containerClass: this.namespace, - overlap: this.overlap, - width: this.width === "trigger" ? "target" : void 0, - teleportDisabled: this.adjustedTo === useAdjustedTo.tdkey - }, { - default: () => { - return this.animated ? h(Transition, { - name: "popover-transition", - appear: this.isMounted, - // Don't use watch to enable follower, since the transition may - // make position sync timing very subtle and buggy. - onEnter: () => { - this.followerEnabled = true; - }, - onAfterLeave: () => { - var _a; - (_a = this.internalOnAfterLeave) === null || _a === void 0 ? void 0 : _a.call(this); - this.followerEnabled = false; - this.displayed = false; - } - }, { - default: this.renderContentNode - }) : this.renderContentNode(); - } - }); - } -}); -const bodyPropKeys = Object.keys(popoverBodyProps); -const triggerEventMap = { - focus: ["onFocus", "onBlur"], - click: ["onClick"], - hover: ["onMouseenter", "onMouseleave"], - manual: [], - nested: ["onFocus", "onBlur", "onMouseenter", "onMouseleave", "onClick"] -}; -function appendEvents(vNode, trigger, events) { - triggerEventMap[trigger].forEach((eventName) => { - if (!vNode.props) { - vNode.props = {}; - } else { - vNode.props = Object.assign({}, vNode.props); - } - const originalHandler = vNode.props[eventName]; - const handler = events[eventName]; - if (!originalHandler) { - vNode.props[eventName] = handler; - } else { - vNode.props[eventName] = (...args) => { - originalHandler(...args); - handler(...args); - }; - } - }); -} -const popoverBaseProps = { - show: { - type: Boolean, - default: void 0 - }, - defaultShow: Boolean, - showArrow: { - type: Boolean, - default: true - }, - trigger: { - type: String, - default: "hover" - }, - delay: { - type: Number, - default: 100 - }, - duration: { - type: Number, - default: 100 - }, - raw: Boolean, - placement: { - type: String, - default: "top" - }, - x: Number, - y: Number, - arrowPointToCenter: Boolean, - disabled: Boolean, - getDisabled: Function, - displayDirective: { - type: String, - default: "if" - }, - arrowClass: String, - arrowStyle: [String, Object], - arrowWrapperClass: String, - arrowWrapperStyle: [String, Object], - flip: { - type: Boolean, - default: true - }, - animated: { - type: Boolean, - default: true - }, - width: { - type: [Number, String], - default: void 0 - }, - overlap: Boolean, - keepAliveOnHover: { - type: Boolean, - default: true - }, - zIndex: Number, - to: useAdjustedTo.propTo, - scrollable: Boolean, - contentClass: String, - contentStyle: [Object, String], - headerClass: String, - headerStyle: [Object, String], - footerClass: String, - footerStyle: [Object, String], - // events - onClickoutside: Function, - "onUpdate:show": [Function, Array], - onUpdateShow: [Function, Array], - // internal - internalDeactivateImmediately: Boolean, - internalSyncTargetWithParent: Boolean, - internalInheritedEventHandlers: { - type: Array, - default: () => [] - }, - internalTrapFocus: Boolean, - internalExtraClass: { - type: Array, - default: () => [] - }, - // deprecated - onShow: [Function, Array], - onHide: [Function, Array], - arrow: { - type: Boolean, - default: void 0 - }, - minWidth: Number, - maxWidth: Number -}; -const popoverProps = Object.assign(Object.assign(Object.assign({}, useTheme.props), popoverBaseProps), { - internalOnAfterLeave: Function, - internalRenderBody: Function -}); -const __unplugin_components_5 = defineComponent({ - name: "Popover", - inheritAttrs: false, - props: popoverProps, - __popover__: true, - setup(props) { - const isMountedRef = isMounted(); - const binderInstRef = ref(null); - const controlledShowRef = computed(() => props.show); - const uncontrolledShowRef = ref(props.defaultShow); - const mergedShowWithoutDisabledRef = useMergedState(controlledShowRef, uncontrolledShowRef); - const mergedShowConsideringDisabledPropRef = useMemo(() => { - if (props.disabled) return false; - return mergedShowWithoutDisabledRef.value; - }); - const getMergedDisabled = () => { - if (props.disabled) return true; - const { - getDisabled - } = props; - if (getDisabled === null || getDisabled === void 0 ? void 0 : getDisabled()) return true; - return false; - }; - const getMergedShow = () => { - if (getMergedDisabled()) return false; - return mergedShowWithoutDisabledRef.value; - }; - const compatibleShowArrowRef = useCompitable(props, ["arrow", "showArrow"]); - const mergedShowArrowRef = computed(() => { - if (props.overlap) return false; - return compatibleShowArrowRef.value; - }); - let bodyInstance = null; - const showTimerIdRef = ref(null); - const hideTimerIdRef = ref(null); - const positionManuallyRef = useMemo(() => { - return props.x !== void 0 && props.y !== void 0; - }); - function doUpdateShow(value) { - const { - "onUpdate:show": _onUpdateShow, - onUpdateShow, - onShow, - onHide - } = props; - uncontrolledShowRef.value = value; - if (_onUpdateShow) { - call(_onUpdateShow, value); - } - if (onUpdateShow) { - call(onUpdateShow, value); - } - if (value && onShow) { - call(onShow, true); - } - if (value && onHide) { - call(onHide, false); - } - } - function syncPosition() { - if (bodyInstance) { - bodyInstance.syncPosition(); - } - } - function clearShowTimer() { - const { - value: showTimerId - } = showTimerIdRef; - if (showTimerId) { - window.clearTimeout(showTimerId); - showTimerIdRef.value = null; - } - } - function clearHideTimer() { - const { - value: hideTimerId - } = hideTimerIdRef; - if (hideTimerId) { - window.clearTimeout(hideTimerId); - hideTimerIdRef.value = null; - } - } - function handleFocus() { - const mergedDisabled = getMergedDisabled(); - if (props.trigger === "focus" && !mergedDisabled) { - if (getMergedShow()) return; - doUpdateShow(true); - } - } - function handleBlur() { - const mergedDisabled = getMergedDisabled(); - if (props.trigger === "focus" && !mergedDisabled) { - if (!getMergedShow()) return; - doUpdateShow(false); - } - } - function handleMouseEnter() { - const mergedDisabled = getMergedDisabled(); - if (props.trigger === "hover" && !mergedDisabled) { - clearHideTimer(); - if (showTimerIdRef.value !== null) return; - if (getMergedShow()) return; - const delayCallback = () => { - doUpdateShow(true); - showTimerIdRef.value = null; - }; - const { - delay - } = props; - if (delay === 0) { - delayCallback(); - } else { - showTimerIdRef.value = window.setTimeout(delayCallback, delay); - } - } - } - function handleMouseLeave() { - const mergedDisabled = getMergedDisabled(); - if (props.trigger === "hover" && !mergedDisabled) { - clearShowTimer(); - if (hideTimerIdRef.value !== null) return; - if (!getMergedShow()) return; - const delayedCallback = () => { - doUpdateShow(false); - hideTimerIdRef.value = null; - }; - const { - duration - } = props; - if (duration === 0) { - delayedCallback(); - } else { - hideTimerIdRef.value = window.setTimeout(delayedCallback, duration); - } - } - } - function handleMouseMoveOutside() { - handleMouseLeave(); - } - function handleClickOutside(e) { - var _a; - if (!getMergedShow()) return; - if (props.trigger === "click") { - clearShowTimer(); - clearHideTimer(); - doUpdateShow(false); - } - (_a = props.onClickoutside) === null || _a === void 0 ? void 0 : _a.call(props, e); - } - function handleClick() { - if (props.trigger === "click" && !getMergedDisabled()) { - clearShowTimer(); - clearHideTimer(); - const nextShow = !getMergedShow(); - doUpdateShow(nextShow); - } - } - function handleKeydown(e) { - if (!props.internalTrapFocus) return; - if (e.key === "Escape") { - clearShowTimer(); - clearHideTimer(); - doUpdateShow(false); - } - } - function setShow(value) { - uncontrolledShowRef.value = value; - } - function getTriggerElement() { - var _a; - return (_a = binderInstRef.value) === null || _a === void 0 ? void 0 : _a.targetRef; - } - function setBodyInstance(value) { - bodyInstance = value; - } - provide("NPopover", { - getTriggerElement, - handleKeydown, - handleMouseEnter, - handleMouseLeave, - handleClickOutside, - handleMouseMoveOutside, - setBodyInstance, - positionManuallyRef, - isMountedRef, - zIndexRef: toRef(props, "zIndex"), - extraClassRef: toRef(props, "internalExtraClass"), - internalRenderBodyRef: toRef(props, "internalRenderBody") - }); - watchEffect(() => { - if (mergedShowWithoutDisabledRef.value && getMergedDisabled()) { - doUpdateShow(false); - } - }); - const returned = { - binderInstRef, - positionManually: positionManuallyRef, - mergedShowConsideringDisabledProp: mergedShowConsideringDisabledPropRef, - // if to show popover body - uncontrolledShow: uncontrolledShowRef, - mergedShowArrow: mergedShowArrowRef, - getMergedShow, - setShow, - handleClick, - handleMouseEnter, - handleMouseLeave, - handleFocus, - handleBlur, - syncPosition - }; - return returned; - }, - render() { - var _a; - const { - positionManually, - $slots: slots - } = this; - let triggerVNode; - let popoverInside = false; - if (!positionManually) { - if (slots.activator) { - triggerVNode = getFirstSlotVNode(slots, "activator"); - } else { - triggerVNode = getFirstSlotVNode(slots, "trigger"); - } - if (triggerVNode) { - triggerVNode = cloneVNode(triggerVNode); - triggerVNode = triggerVNode.type === Text ? h("span", [triggerVNode]) : triggerVNode; - const handlers = { - onClick: this.handleClick, - onMouseenter: this.handleMouseEnter, - onMouseleave: this.handleMouseLeave, - onFocus: this.handleFocus, - onBlur: this.handleBlur - }; - if ((_a = triggerVNode.type) === null || _a === void 0 ? void 0 : _a.__popover__) { - popoverInside = true; - if (!triggerVNode.props) { - triggerVNode.props = { - internalSyncTargetWithParent: true, - internalInheritedEventHandlers: [] - }; - } - triggerVNode.props.internalSyncTargetWithParent = true; - if (!triggerVNode.props.internalInheritedEventHandlers) { - triggerVNode.props.internalInheritedEventHandlers = [handlers]; - } else { - triggerVNode.props.internalInheritedEventHandlers = [handlers, ...triggerVNode.props.internalInheritedEventHandlers]; - } - } else { - const { - internalInheritedEventHandlers - } = this; - const ascendantAndCurrentHandlers = [handlers, ...internalInheritedEventHandlers]; - const mergedHandlers = { - onBlur: (e) => { - ascendantAndCurrentHandlers.forEach((_handlers) => { - _handlers.onBlur(e); - }); - }, - onFocus: (e) => { - ascendantAndCurrentHandlers.forEach((_handlers) => { - _handlers.onFocus(e); - }); - }, - onClick: (e) => { - ascendantAndCurrentHandlers.forEach((_handlers) => { - _handlers.onClick(e); - }); - }, - onMouseenter: (e) => { - ascendantAndCurrentHandlers.forEach((_handlers) => { - _handlers.onMouseenter(e); - }); - }, - onMouseleave: (e) => { - ascendantAndCurrentHandlers.forEach((_handlers) => { - _handlers.onMouseleave(e); - }); - } - }; - appendEvents(triggerVNode, internalInheritedEventHandlers ? "nested" : positionManually ? "manual" : this.trigger, mergedHandlers); - } - } - } - return h(Binder, { - ref: "binderInstRef", - syncTarget: !popoverInside, - syncTargetWithParent: this.internalSyncTargetWithParent - }, { - default: () => { - void this.mergedShowConsideringDisabledProp; - const mergedShow = this.getMergedShow(); - return [this.internalTrapFocus && mergedShow ? withDirectives(h("div", { - style: { - position: "fixed", - top: 0, - right: 0, - bottom: 0, - left: 0 - } - }), [[zindexable, { - enabled: mergedShow, - zIndex: this.zIndex - }]]) : null, positionManually ? null : h(VTarget, null, { - default: () => triggerVNode - }), h(NPopoverBody, keep(this.$props, bodyPropKeys, Object.assign(Object.assign({}, this.$attrs), { - showArrow: this.mergedShowArrow, - show: mergedShow - })), { - default: () => { - var _a2, _b; - return (_b = (_a2 = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a2); - }, - header: () => { - var _a2, _b; - return (_b = (_a2 = this.$slots).header) === null || _b === void 0 ? void 0 : _b.call(_a2); - }, - footer: () => { - var _a2, _b; - return (_b = (_a2 = this.$slots).footer) === null || _b === void 0 ? void 0 : _b.call(_a2); - } - })]; - } - }); - } -}); -const isImageSupportNativeLazy = isBrowser && "loading" in document.createElement("img"); -function resolveOptionsAndHash(options = {}) { - var _a; - const { - root: root2 = null - } = options; - return { - hash: `${options.rootMargin || "0px 0px 0px 0px"}-${Array.isArray(options.threshold) ? options.threshold.join(",") : (_a = options.threshold) !== null && _a !== void 0 ? _a : "0"}`, - options: Object.assign(Object.assign({}, options), { - root: (typeof root2 === "string" ? document.querySelector(root2) : root2) || document.documentElement - }) - }; -} -const observers = /* @__PURE__ */ new WeakMap(); -const unobserveHandleMap = /* @__PURE__ */ new WeakMap(); -const shouldStartLoadingRefMap = /* @__PURE__ */ new WeakMap(); -const observeIntersection = (el, options, shouldStartLoadingRef) => { - if (!el) return () => { - }; - const resolvedOptionsAndHash = resolveOptionsAndHash(options); - const { - root: root2 - } = resolvedOptionsAndHash.options; - let rootObservers; - const _rootObservers = observers.get(root2); - if (_rootObservers) { - rootObservers = _rootObservers; - } else { - rootObservers = /* @__PURE__ */ new Map(); - observers.set(root2, rootObservers); - } - let observer; - let observerAndObservedElements; - if (rootObservers.has(resolvedOptionsAndHash.hash)) { - observerAndObservedElements = rootObservers.get(resolvedOptionsAndHash.hash); - if (!observerAndObservedElements[1].has(el)) { - observer = observerAndObservedElements[0]; - observerAndObservedElements[1].add(el); - observer.observe(el); - } - } else { - observer = new IntersectionObserver((entries) => { - entries.forEach((entry) => { - if (entry.isIntersecting) { - const _unobserve = unobserveHandleMap.get(entry.target); - const _shouldStartLoadingRef = shouldStartLoadingRefMap.get(entry.target); - if (_unobserve) _unobserve(); - if (_shouldStartLoadingRef) { - _shouldStartLoadingRef.value = true; - } - } - }); - }, resolvedOptionsAndHash.options); - observer.observe(el); - observerAndObservedElements = [observer, /* @__PURE__ */ new Set([el])]; - rootObservers.set(resolvedOptionsAndHash.hash, observerAndObservedElements); - } - let unobservered = false; - const unobserve = () => { - if (unobservered) return; - unobserveHandleMap.delete(el); - shouldStartLoadingRefMap.delete(el); - unobservered = true; - if (observerAndObservedElements[1].has(el)) { - observerAndObservedElements[0].unobserve(el); - observerAndObservedElements[1].delete(el); - } - if (observerAndObservedElements[1].size <= 0) { - rootObservers.delete(resolvedOptionsAndHash.hash); - } - if (!rootObservers.size) { - observers.delete(root2); - } - }; - unobserveHandleMap.set(el, unobserve); - shouldStartLoadingRefMap.set(el, shouldStartLoadingRef); - return unobserve; -}; -const tooltipProps = Object.assign(Object.assign({}, popoverBaseProps), useTheme.props); -const __unplugin_components_3 = defineComponent({ - name: "Tooltip", - props: tooltipProps, - __popover__: true, - setup(props) { - const { - mergedClsPrefixRef - } = useConfig(props); - const themeRef = useTheme("Tooltip", "-tooltip", void 0, tooltipLight, props, mergedClsPrefixRef); - const popoverRef = ref(null); - const tooltipExposedMethod = { - syncPosition() { - popoverRef.value.syncPosition(); - }, - setShow(show) { - popoverRef.value.setShow(show); - } - }; - return Object.assign(Object.assign({}, tooltipExposedMethod), { - popoverRef, - mergedTheme: themeRef, - popoverThemeOverrides: computed(() => { - return themeRef.value.self; - }) - }); - }, - render() { - const { - mergedTheme, - internalExtraClass - } = this; - return h(__unplugin_components_5, Object.assign(Object.assign({}, this.$props), { - theme: mergedTheme.peers.Popover, - themeOverrides: mergedTheme.peerOverrides.Popover, - builtinThemeOverrides: this.popoverThemeOverrides, - internalExtraClass: internalExtraClass.concat("tooltip"), - ref: "popoverRef" - }), this.$slots); - } -}); -function renderPrevIcon() { - return h("svg", { - viewBox: "0 0 20 20", - fill: "none", - xmlns: "http://www.w3.org/2000/svg" - }, h("path", { - d: "M6 5C5.75454 5 5.55039 5.17688 5.50806 5.41012L5.5 5.5V14.5C5.5 14.7761 5.72386 15 6 15C6.24546 15 6.44961 14.8231 6.49194 14.5899L6.5 14.5V5.5C6.5 5.22386 6.27614 5 6 5ZM13.8536 5.14645C13.68 4.97288 13.4106 4.9536 13.2157 5.08859L13.1464 5.14645L8.64645 9.64645C8.47288 9.82001 8.4536 10.0894 8.58859 10.2843L8.64645 10.3536L13.1464 14.8536C13.3417 15.0488 13.6583 15.0488 13.8536 14.8536C14.0271 14.68 14.0464 14.4106 13.9114 14.2157L13.8536 14.1464L9.70711 10L13.8536 5.85355C14.0488 5.65829 14.0488 5.34171 13.8536 5.14645Z", - fill: "currentColor" - })); -} -function renderNextIcon() { - return h("svg", { - viewBox: "0 0 20 20", - fill: "none", - xmlns: "http://www.w3.org/2000/svg" - }, h("path", { - d: "M13.5 5C13.7455 5 13.9496 5.17688 13.9919 5.41012L14 5.5V14.5C14 14.7761 13.7761 15 13.5 15C13.2545 15 13.0504 14.8231 13.0081 14.5899L13 14.5V5.5C13 5.22386 13.2239 5 13.5 5ZM5.64645 5.14645C5.82001 4.97288 6.08944 4.9536 6.28431 5.08859L6.35355 5.14645L10.8536 9.64645C11.0271 9.82001 11.0464 10.0894 10.9114 10.2843L10.8536 10.3536L6.35355 14.8536C6.15829 15.0488 5.84171 15.0488 5.64645 14.8536C5.47288 14.68 5.4536 14.4106 5.58859 14.2157L5.64645 14.1464L9.79289 10L5.64645 5.85355C5.45118 5.65829 5.45118 5.34171 5.64645 5.14645Z", - fill: "currentColor" - })); -} -function renderCloseIcon() { - return h("svg", { - viewBox: "0 0 20 20", - fill: "none", - xmlns: "http://www.w3.org/2000/svg" - }, h("path", { - d: "M4.089 4.216l.057-.07a.5.5 0 0 1 .638-.057l.07.057L10 9.293l5.146-5.147a.5.5 0 0 1 .638-.057l.07.057a.5.5 0 0 1 .057.638l-.057.07L10.707 10l5.147 5.146a.5.5 0 0 1 .057.638l-.057.07a.5.5 0 0 1-.638.057l-.07-.057L10 10.707l-5.146 5.147a.5.5 0 0 1-.638.057l-.07-.057a.5.5 0 0 1-.057-.638l.057-.07L9.293 10L4.146 4.854a.5.5 0 0 1-.057-.638l.057-.07l-.057.07z", - fill: "currentColor" - })); -} -const imagePreviewSharedProps = Object.assign(Object.assign({}, useTheme.props), { - onPreviewPrev: Function, - onPreviewNext: Function, - showToolbar: { - type: Boolean, - default: true - }, - showToolbarTooltip: Boolean, - renderToolbar: Function -}); -const imageContextKey = createInjectionKey("n-image"); -const style = c([c("body >", [cB("image-container", "position: fixed;")]), cB("image-preview-container", ` - position: fixed; - left: 0; - right: 0; - top: 0; - bottom: 0; - display: flex; - `), cB("image-preview-overlay", ` - z-index: -1; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - background: rgba(0, 0, 0, .3); - `, [fadeInTransition()]), cB("image-preview-toolbar", ` - z-index: 1; - position: absolute; - left: 50%; - transform: translateX(-50%); - border-radius: var(--n-toolbar-border-radius); - height: 48px; - bottom: 40px; - padding: 0 12px; - background: var(--n-toolbar-color); - box-shadow: var(--n-toolbar-box-shadow); - color: var(--n-toolbar-icon-color); - transition: color .3s var(--n-bezier); - display: flex; - align-items: center; - `, [cB("base-icon", ` - padding: 0 8px; - font-size: 28px; - cursor: pointer; - `), fadeInTransition()]), cB("image-preview-wrapper", ` - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - display: flex; - pointer-events: none; - `, [fadeInScaleUpTransition()]), cB("image-preview", ` - user-select: none; - -webkit-user-select: none; - pointer-events: all; - margin: auto; - max-height: calc(100vh - 32px); - max-width: calc(100vw - 32px); - transition: transform .3s var(--n-bezier); - `), cB("image", ` - display: inline-flex; - max-height: 100%; - max-width: 100%; - `, [cNotM("preview-disabled", ` - cursor: pointer; - `), c("img", ` - border-radius: inherit; - `)])]); -const BLEEDING = 32; -const NImagePreview = defineComponent({ - name: "ImagePreview", - props: Object.assign(Object.assign({}, imagePreviewSharedProps), { - onNext: Function, - onPrev: Function, - clsPrefix: { - type: String, - required: true - } - }), - setup(props) { - const themeRef = useTheme("Image", "-image", style, imageLight, props, toRef(props, "clsPrefix")); - let thumbnailEl = null; - const previewRef = ref(null); - const previewWrapperRef = ref(null); - const previewSrcRef = ref(void 0); - const showRef = ref(false); - const displayedRef = ref(false); - const { - localeRef - } = useLocale("Image"); - function syncTransformOrigin() { - const { - value: previewWrapper - } = previewWrapperRef; - if (!thumbnailEl || !previewWrapper) return; - const { - style: style2 - } = previewWrapper; - const tbox = thumbnailEl.getBoundingClientRect(); - const tx = tbox.left + tbox.width / 2; - const ty = tbox.top + tbox.height / 2; - style2.transformOrigin = `${tx}px ${ty}px`; - } - function handleKeydown(e) { - var _a, _b; - switch (e.key) { - case " ": - e.preventDefault(); - break; - case "ArrowLeft": - (_a = props.onPrev) === null || _a === void 0 ? void 0 : _a.call(props); - break; - case "ArrowRight": - (_b = props.onNext) === null || _b === void 0 ? void 0 : _b.call(props); - break; - case "Escape": - toggleShow(); - break; - } - } - watch(showRef, (value) => { - if (value) { - on("keydown", document, handleKeydown); - } else { - off("keydown", document, handleKeydown); - } - }); - onBeforeUnmount(() => { - off("keydown", document, handleKeydown); - }); - let startX = 0; - let startY = 0; - let offsetX = 0; - let offsetY = 0; - let startOffsetX = 0; - let startOffsetY = 0; - let mouseDownClientX = 0; - let mouseDownClientY = 0; - let dragging = false; - function handleMouseMove(e) { - const { - clientX, - clientY - } = e; - offsetX = clientX - startX; - offsetY = clientY - startY; - beforeNextFrameOnce(derivePreviewStyle); - } - function getMoveStrategy(opts) { - const { - mouseUpClientX, - mouseUpClientY, - mouseDownClientX: mouseDownClientX2, - mouseDownClientY: mouseDownClientY2 - } = opts; - const deltaHorizontal = mouseDownClientX2 - mouseUpClientX; - const deltaVertical = mouseDownClientY2 - mouseUpClientY; - const moveVerticalDirection = `vertical${deltaVertical > 0 ? "Top" : "Bottom"}`; - const moveHorizontalDirection = `horizontal${deltaHorizontal > 0 ? "Left" : "Right"}`; - return { - moveVerticalDirection, - moveHorizontalDirection, - deltaHorizontal, - deltaVertical - }; - } - function getDerivedOffset(moveStrategy) { - const { - value: preview - } = previewRef; - if (!preview) return { - offsetX: 0, - offsetY: 0 - }; - const pbox = preview.getBoundingClientRect(); - const { - moveVerticalDirection, - moveHorizontalDirection, - deltaHorizontal, - deltaVertical - } = moveStrategy || {}; - let nextOffsetX = 0; - let nextOffsetY = 0; - if (pbox.width <= window.innerWidth) { - nextOffsetX = 0; - } else if (pbox.left > 0) { - nextOffsetX = (pbox.width - window.innerWidth) / 2; - } else if (pbox.right < window.innerWidth) { - nextOffsetX = -(pbox.width - window.innerWidth) / 2; - } else if (moveHorizontalDirection === "horizontalRight") { - nextOffsetX = Math.min((pbox.width - window.innerWidth) / 2, startOffsetX - (deltaHorizontal !== null && deltaHorizontal !== void 0 ? deltaHorizontal : 0)); - } else { - nextOffsetX = Math.max(-((pbox.width - window.innerWidth) / 2), startOffsetX - (deltaHorizontal !== null && deltaHorizontal !== void 0 ? deltaHorizontal : 0)); - } - if (pbox.height <= window.innerHeight) { - nextOffsetY = 0; - } else if (pbox.top > 0) { - nextOffsetY = (pbox.height - window.innerHeight) / 2; - } else if (pbox.bottom < window.innerHeight) { - nextOffsetY = -(pbox.height - window.innerHeight) / 2; - } else if (moveVerticalDirection === "verticalBottom") { - nextOffsetY = Math.min((pbox.height - window.innerHeight) / 2, startOffsetY - (deltaVertical !== null && deltaVertical !== void 0 ? deltaVertical : 0)); - } else { - nextOffsetY = Math.max(-((pbox.height - window.innerHeight) / 2), startOffsetY - (deltaVertical !== null && deltaVertical !== void 0 ? deltaVertical : 0)); - } - return { - offsetX: nextOffsetX, - offsetY: nextOffsetY - }; - } - function handleMouseUp(e) { - off("mousemove", document, handleMouseMove); - off("mouseup", document, handleMouseUp); - const { - clientX: mouseUpClientX, - clientY: mouseUpClientY - } = e; - dragging = false; - const moveStrategy = getMoveStrategy({ - mouseUpClientX, - mouseUpClientY, - mouseDownClientX, - mouseDownClientY - }); - const offset = getDerivedOffset(moveStrategy); - offsetX = offset.offsetX; - offsetY = offset.offsetY; - derivePreviewStyle(); - } - const imageContext = inject(imageContextKey, null); - function handlePreviewMousedown(e) { - var _a, _b; - (_b = (_a = imageContext === null || imageContext === void 0 ? void 0 : imageContext.previewedImgPropsRef.value) === null || _a === void 0 ? void 0 : _a.onMousedown) === null || _b === void 0 ? void 0 : _b.call(_a, e); - if (e.button !== 0) return; - const { - clientX, - clientY - } = e; - dragging = true; - startX = clientX - offsetX; - startY = clientY - offsetY; - startOffsetX = offsetX; - startOffsetY = offsetY; - mouseDownClientX = clientX; - mouseDownClientY = clientY; - derivePreviewStyle(); - on("mousemove", document, handleMouseMove); - on("mouseup", document, handleMouseUp); - } - const scaleRadix = 1.5; - let scaleExp = 0; - let scale = 1; - let rotate = 0; - function handlePreviewDblclick(e) { - var _a, _b; - (_b = (_a = imageContext === null || imageContext === void 0 ? void 0 : imageContext.previewedImgPropsRef.value) === null || _a === void 0 ? void 0 : _a.onDblclick) === null || _b === void 0 ? void 0 : _b.call(_a, e); - const originalImageSizeScale = getOrignalImageSizeScale(); - scale = scale === originalImageSizeScale ? 1 : originalImageSizeScale; - derivePreviewStyle(); - } - function resetScale() { - scale = 1; - scaleExp = 0; - } - function handleSwitchPrev() { - var _a; - resetScale(); - rotate = 0; - (_a = props.onPrev) === null || _a === void 0 ? void 0 : _a.call(props); - } - function handleSwitchNext() { - var _a; - resetScale(); - rotate = 0; - (_a = props.onNext) === null || _a === void 0 ? void 0 : _a.call(props); - } - function rotateCounterclockwise() { - rotate -= 90; - derivePreviewStyle(); - } - function rotateClockwise() { - rotate += 90; - derivePreviewStyle(); - } - function getMaxScale() { - const { - value: preview - } = previewRef; - if (!preview) return 1; - const { - innerWidth, - innerHeight - } = window; - const heightMaxScale = Math.max(1, preview.naturalHeight / (innerHeight - BLEEDING)); - const widthMaxScale = Math.max(1, preview.naturalWidth / (innerWidth - BLEEDING)); - return Math.max(3, heightMaxScale * 2, widthMaxScale * 2); - } - function getOrignalImageSizeScale() { - const { - value: preview - } = previewRef; - if (!preview) return 1; - const { - innerWidth, - innerHeight - } = window; - const heightScale = preview.naturalHeight / (innerHeight - BLEEDING); - const widthScale = preview.naturalWidth / (innerWidth - BLEEDING); - if (heightScale < 1 && widthScale < 1) { - return 1; - } - return Math.max(heightScale, widthScale); - } - function zoomIn() { - const maxScale = getMaxScale(); - if (scale < maxScale) { - scaleExp += 1; - scale = Math.min(maxScale, Math.pow(scaleRadix, scaleExp)); - derivePreviewStyle(); - } - } - function zoomOut() { - if (scale > 0.5) { - const originalScale = scale; - scaleExp -= 1; - scale = Math.max(0.5, Math.pow(scaleRadix, scaleExp)); - const diff = originalScale - scale; - derivePreviewStyle(false); - const offset = getDerivedOffset(); - scale += diff; - derivePreviewStyle(false); - scale -= diff; - offsetX = offset.offsetX; - offsetY = offset.offsetY; - derivePreviewStyle(); - } - } - function handleDownloadClick() { - const src = previewSrcRef.value; - if (src) { - download(src); - } - } - function derivePreviewStyle(transition = true) { - var _a; - const { - value: preview - } = previewRef; - if (!preview) return; - const { - style: style2 - } = preview; - const controlledStyle = normalizeStyle((_a = imageContext === null || imageContext === void 0 ? void 0 : imageContext.previewedImgPropsRef.value) === null || _a === void 0 ? void 0 : _a.style); - let controlledStyleString = ""; - if (typeof controlledStyle === "string") { - controlledStyleString = `${controlledStyle};`; - } else { - for (const key in controlledStyle) { - controlledStyleString += `${kebabCase(key)}: ${controlledStyle[key]};`; - } - } - const transformStyle = `transform-origin: center; transform: translateX(${offsetX}px) translateY(${offsetY}px) rotate(${rotate}deg) scale(${scale});`; - if (dragging) { - style2.cssText = `${controlledStyleString}cursor: grabbing; transition: none;${transformStyle}`; - } else { - style2.cssText = `${controlledStyleString}cursor: grab;${transformStyle}${transition ? "" : "transition: none;"}`; - } - if (!transition) { - void preview.offsetHeight; - } - } - function toggleShow() { - showRef.value = !showRef.value; - displayedRef.value = true; - } - function resizeToOrignalImageSize() { - scale = getOrignalImageSizeScale(); - scaleExp = Math.ceil(Math.log(scale) / Math.log(scaleRadix)); - offsetX = 0; - offsetY = 0; - derivePreviewStyle(); - } - const exposedMethods = { - setPreviewSrc: (src) => { - previewSrcRef.value = src; - }, - setThumbnailEl: (el) => { - thumbnailEl = el; - }, - toggleShow - }; - function withTooltip(node, tooltipKey) { - if (props.showToolbarTooltip) { - const { - value: theme - } = themeRef; - return h(__unplugin_components_3, { - to: false, - theme: theme.peers.Tooltip, - themeOverrides: theme.peerOverrides.Tooltip, - keepAliveOnHover: false - }, { - default: () => { - return localeRef.value[tooltipKey]; - }, - trigger: () => node - }); - } else { - return node; - } - } - const cssVarsRef = computed(() => { - const { - common: { - cubicBezierEaseInOut - }, - self: { - toolbarIconColor, - toolbarBorderRadius, - toolbarBoxShadow, - toolbarColor - } - } = themeRef.value; - return { - "--n-bezier": cubicBezierEaseInOut, - "--n-toolbar-icon-color": toolbarIconColor, - "--n-toolbar-color": toolbarColor, - "--n-toolbar-border-radius": toolbarBorderRadius, - "--n-toolbar-box-shadow": toolbarBoxShadow - }; - }); - const { - inlineThemeDisabled - } = useConfig(); - const themeClassHandle = inlineThemeDisabled ? useThemeClass("image-preview", void 0, cssVarsRef, props) : void 0; - return Object.assign({ - previewRef, - previewWrapperRef, - previewSrc: previewSrcRef, - show: showRef, - appear: isMounted(), - displayed: displayedRef, - previewedImgProps: imageContext === null || imageContext === void 0 ? void 0 : imageContext.previewedImgPropsRef, - handleWheel(e) { - e.preventDefault(); - }, - handlePreviewMousedown, - handlePreviewDblclick, - syncTransformOrigin, - handleAfterLeave: () => { - resetScale(); - rotate = 0; - displayedRef.value = false; - }, - handleDragStart: (e) => { - var _a, _b; - (_b = (_a = imageContext === null || imageContext === void 0 ? void 0 : imageContext.previewedImgPropsRef.value) === null || _a === void 0 ? void 0 : _a.onDragstart) === null || _b === void 0 ? void 0 : _b.call(_a, e); - e.preventDefault(); - }, - zoomIn, - zoomOut, - handleDownloadClick, - rotateCounterclockwise, - rotateClockwise, - handleSwitchPrev, - handleSwitchNext, - withTooltip, - resizeToOrignalImageSize, - cssVars: inlineThemeDisabled ? void 0 : cssVarsRef, - themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, - onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender - }, exposedMethods); - }, - render() { - var _a, _b; - const { - clsPrefix, - renderToolbar, - withTooltip - } = this; - const prevNode = withTooltip(h(NBaseIcon, { - clsPrefix, - onClick: this.handleSwitchPrev - }, { - default: renderPrevIcon - }), "tipPrevious"); - const nextNode = withTooltip(h(NBaseIcon, { - clsPrefix, - onClick: this.handleSwitchNext - }, { - default: renderNextIcon - }), "tipNext"); - const rotateCounterclockwiseNode = withTooltip(h(NBaseIcon, { - clsPrefix, - onClick: this.rotateCounterclockwise - }, { - default: () => h(RotateCounterclockwiseIcon, null) - }), "tipCounterclockwise"); - const rotateClockwiseNode = withTooltip(h(NBaseIcon, { - clsPrefix, - onClick: this.rotateClockwise - }, { - default: () => h(RotateClockwiseIcon, null) - }), "tipClockwise"); - const originalSizeNode = withTooltip(h(NBaseIcon, { - clsPrefix, - onClick: this.resizeToOrignalImageSize - }, { - default: () => { - return h(ResizeSmallIcon, null); - } - }), "tipOriginalSize"); - const zoomOutNode = withTooltip(h(NBaseIcon, { - clsPrefix, - onClick: this.zoomOut - }, { - default: () => h(ZoomOutIcon, null) - }), "tipZoomOut"); - const downloadNode = withTooltip(h(NBaseIcon, { - clsPrefix, - onClick: this.handleDownloadClick - }, { - default: () => h(DownloadIcon, null) - }), "tipDownload"); - const closeNode = withTooltip(h(NBaseIcon, { - clsPrefix, - onClick: this.toggleShow - }, { - default: renderCloseIcon - }), "tipClose"); - const zoomInNode = withTooltip(h(NBaseIcon, { - clsPrefix, - onClick: this.zoomIn - }, { - default: () => h(ZoomInIcon, null) - }), "tipZoomIn"); - return h(Fragment, null, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a), h(LazyTeleport, { - show: this.show - }, { - default: () => { - var _a2; - if (!(this.show || this.displayed)) { - return null; - } - (_a2 = this.onRender) === null || _a2 === void 0 ? void 0 : _a2.call(this); - return withDirectives(h("div", { - class: [`${clsPrefix}-image-preview-container`, this.themeClass], - style: this.cssVars, - onWheel: this.handleWheel - }, h(Transition, { - name: "fade-in-transition", - appear: this.appear - }, { - default: () => this.show ? h("div", { - class: `${clsPrefix}-image-preview-overlay`, - onClick: this.toggleShow - }) : null - }), this.showToolbar ? h(Transition, { - name: "fade-in-transition", - appear: this.appear - }, { - default: () => { - if (!this.show) return null; - return h("div", { - class: `${clsPrefix}-image-preview-toolbar` - }, renderToolbar ? renderToolbar({ - nodes: { - prev: prevNode, - next: nextNode, - rotateCounterclockwise: rotateCounterclockwiseNode, - rotateClockwise: rotateClockwiseNode, - resizeToOriginalSize: originalSizeNode, - zoomOut: zoomOutNode, - zoomIn: zoomInNode, - download: downloadNode, - close: closeNode - } - }) : h(Fragment, null, this.onPrev ? h(Fragment, null, prevNode, nextNode) : null, rotateCounterclockwiseNode, rotateClockwiseNode, originalSizeNode, zoomOutNode, zoomInNode, downloadNode, closeNode)); - } - }) : null, h(Transition, { - name: "fade-in-scale-up-transition", - onAfterLeave: this.handleAfterLeave, - appear: this.appear, - // BUG: - // onEnter will be called twice, I don't know why - // Maybe it is a bug of vue - onEnter: this.syncTransformOrigin, - onBeforeLeave: this.syncTransformOrigin - }, { - default: () => { - const { - previewedImgProps = {} - } = this; - return withDirectives(h("div", { - class: `${clsPrefix}-image-preview-wrapper`, - ref: "previewWrapperRef" - }, h("img", Object.assign({}, previewedImgProps, { - draggable: false, - onMousedown: this.handlePreviewMousedown, - onDblclick: this.handlePreviewDblclick, - class: [`${clsPrefix}-image-preview`, previewedImgProps.class], - key: this.previewSrc, - src: this.previewSrc, - ref: "previewRef", - onDragstart: this.handleDragStart - }))), [[vShow, this.show]]); - } - })), [[zindexable, { - enabled: this.show - }]]); - } - })); - } -}); -const imageGroupInjectionKey = createInjectionKey("n-image-group"); -const imageProps = Object.assign({ - alt: String, - height: [String, Number], - imgProps: Object, - previewedImgProps: Object, - lazy: Boolean, - intersectionObserverOptions: Object, - objectFit: { - type: String, - default: "fill" - }, - previewSrc: String, - fallbackSrc: String, - width: [String, Number], - src: String, - previewDisabled: Boolean, - loadDescription: String, - onError: Function, - onLoad: Function -}, imagePreviewSharedProps); -const NImage = defineComponent({ - name: "Image", - props: imageProps, - inheritAttrs: false, - setup(props) { - const imageRef = ref(null); - const showErrorRef = ref(false); - const previewInstRef = ref(null); - const imageGroupHandle = inject(imageGroupInjectionKey, null); - const { - mergedClsPrefixRef - } = imageGroupHandle || useConfig(props); - const exposedMethods = { - click: () => { - if (props.previewDisabled || showErrorRef.value) return; - const mergedPreviewSrc = props.previewSrc || props.src; - if (imageGroupHandle) { - imageGroupHandle.setPreviewSrc(mergedPreviewSrc); - imageGroupHandle.setThumbnailEl(imageRef.value); - imageGroupHandle.toggleShow(); - return; - } - const { - value: previewInst - } = previewInstRef; - if (!previewInst) return; - previewInst.setPreviewSrc(mergedPreviewSrc); - previewInst.setThumbnailEl(imageRef.value); - previewInst.toggleShow(); - } - }; - const shouldStartLoadingRef = ref(!props.lazy); - onMounted(() => { - var _a; - (_a = imageRef.value) === null || _a === void 0 ? void 0 : _a.setAttribute("data-group-id", (imageGroupHandle === null || imageGroupHandle === void 0 ? void 0 : imageGroupHandle.groupId) || ""); - }); - onMounted(() => { - if (props.lazy && props.intersectionObserverOptions) { - let unobserve; - const stopWatchHandle = watchEffect(() => { - unobserve === null || unobserve === void 0 ? void 0 : unobserve(); - unobserve = void 0; - unobserve = observeIntersection(imageRef.value, props.intersectionObserverOptions, shouldStartLoadingRef); - }); - onBeforeUnmount(() => { - stopWatchHandle(); - unobserve === null || unobserve === void 0 ? void 0 : unobserve(); - }); - } - }); - watchEffect(() => { - var _a; - void (props.src || ((_a = props.imgProps) === null || _a === void 0 ? void 0 : _a.src)); - showErrorRef.value = false; - }); - const loadedRef = ref(false); - provide(imageContextKey, { - previewedImgPropsRef: toRef(props, "previewedImgProps") - }); - return Object.assign({ - mergedClsPrefix: mergedClsPrefixRef, - groupId: imageGroupHandle === null || imageGroupHandle === void 0 ? void 0 : imageGroupHandle.groupId, - previewInstRef, - imageRef, - showError: showErrorRef, - shouldStartLoading: shouldStartLoadingRef, - loaded: loadedRef, - mergedOnClick: (e) => { - var _a, _b; - exposedMethods.click(); - (_b = (_a = props.imgProps) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e); - }, - mergedOnError: (e) => { - if (!shouldStartLoadingRef.value) return; - showErrorRef.value = true; - const { - onError, - imgProps: { - onError: imgPropsOnError - } = {} - } = props; - onError === null || onError === void 0 ? void 0 : onError(e); - imgPropsOnError === null || imgPropsOnError === void 0 ? void 0 : imgPropsOnError(e); - }, - mergedOnLoad: (e) => { - const { - onLoad, - imgProps: { - onLoad: imgPropsOnLoad - } = {} - } = props; - onLoad === null || onLoad === void 0 ? void 0 : onLoad(e); - imgPropsOnLoad === null || imgPropsOnLoad === void 0 ? void 0 : imgPropsOnLoad(e); - loadedRef.value = true; - } - }, exposedMethods); - }, - render() { - var _a, _b; - const { - mergedClsPrefix, - imgProps = {}, - loaded, - $attrs, - lazy - } = this; - const errorNode = resolveSlot(this.$slots.error, () => []); - const placeholderNode = (_b = (_a = this.$slots).placeholder) === null || _b === void 0 ? void 0 : _b.call(_a); - const loadSrc = this.src || imgProps.src; - const imgNode = this.showError && errorNode.length ? errorNode : h("img", Object.assign(Object.assign({}, imgProps), { - ref: "imageRef", - width: this.width || imgProps.width, - height: this.height || imgProps.height, - src: this.showError ? this.fallbackSrc : lazy && this.intersectionObserverOptions ? this.shouldStartLoading ? loadSrc : void 0 : loadSrc, - alt: this.alt || imgProps.alt, - "aria-label": this.alt || imgProps.alt, - onClick: this.mergedOnClick, - onError: this.mergedOnError, - onLoad: this.mergedOnLoad, - // If interseciton observer options is set, do not use native lazy - loading: isImageSupportNativeLazy && lazy && !this.intersectionObserverOptions ? "lazy" : "eager", - style: [imgProps.style || "", placeholderNode && !loaded ? { - height: "0", - width: "0", - visibility: "hidden" - } : "", { - objectFit: this.objectFit - }], - "data-error": this.showError, - "data-preview-src": this.previewSrc || this.src - })); - return h("div", Object.assign({}, $attrs, { - role: "none", - class: [$attrs.class, `${mergedClsPrefix}-image`, (this.previewDisabled || this.showError) && `${mergedClsPrefix}-image--preview-disabled`] - }), this.groupId ? imgNode : h(NImagePreview, { - theme: this.theme, - themeOverrides: this.themeOverrides, - clsPrefix: mergedClsPrefix, - ref: "previewInstRef", - showToolbar: this.showToolbar, - showToolbarTooltip: this.showToolbarTooltip, - renderToolbar: this.renderToolbar - }, { - default: () => imgNode, - toolbar: () => { - var _a2, _b2; - return (_b2 = (_a2 = this.$slots).toolbar) === null || _b2 === void 0 ? void 0 : _b2.call(_a2); - } - }), !loaded && placeholderNode); - } -}); -export { - NImage as N, - __unplugin_components_3 as _, - __unplugin_components_5 as a, - formatLength as f, - isImageSupportNativeLazy as i, - observeIntersection as o, - popoverBaseProps as p, - renderArrow as r -}; diff --git a/out/renderer/assets/Image-DXClIklC.js.gz b/out/renderer/assets/Image-DXClIklC.js.gz deleted file mode 100644 index 8358a2089aa70b2848b573e78a3ef7ad880e9848..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23692 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 diff --git a/out/renderer/assets/LatoLatin-Regular-Dmlz1U0B.woff2 b/out/renderer/assets/LatoLatin-Regular-Dmlz1U0B.woff2 deleted file mode 100644 index a4d084bfb7a5f329b56cf141d14aa5ed99fcabfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43760 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 { - var _a; - const target = e.target; - scrollX = target.scrollLeft; - scrollY = target.scrollTop; - (_a = props.onScroll) === null || _a === void 0 ? void 0 : _a.call(props, e); - }; - useReactivated(() => { - if (props.nativeScrollbar) { - const el = scrollableElRef.value; - if (el) { - el.scrollTop = scrollY; - el.scrollLeft = scrollX; - } - } - }); - const hasSiderStyle = { - display: "flex", - flexWrap: "nowrap", - width: "100%", - flexDirection: "row" - }; - const exposedMethods = { - scrollTo - }; - const cssVarsRef = computed(() => { - const { - common: { - cubicBezierEaseInOut - }, - self - } = themeRef.value; - return { - "--n-bezier": cubicBezierEaseInOut, - "--n-color": props.embedded ? self.colorEmbedded : self.color, - "--n-text-color": self.textColor - }; - }); - const themeClassHandle = inlineThemeDisabled ? useThemeClass("layout", computed(() => { - return props.embedded ? "e" : ""; - }), cssVarsRef, props) : void 0; - return Object.assign({ - mergedClsPrefix: mergedClsPrefixRef, - scrollableElRef, - scrollbarInstRef, - hasSiderStyle, - mergedTheme: themeRef, - handleNativeElScroll, - cssVars: inlineThemeDisabled ? void 0 : cssVarsRef, - themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, - onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender - }, exposedMethods); - }, - render() { - var _a; - const { - mergedClsPrefix, - hasSider - } = this; - (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this); - const hasSiderStyle = hasSider ? this.hasSiderStyle : void 0; - const layoutClass = [this.themeClass, isContent, `${mergedClsPrefix}-layout`, `${mergedClsPrefix}-layout--${this.position}-positioned`]; - return h("div", { - class: layoutClass, - style: this.cssVars - }, this.nativeScrollbar ? h("div", { - ref: "scrollableElRef", - class: [`${mergedClsPrefix}-layout-scroll-container`, this.contentClass], - style: [this.contentStyle, hasSiderStyle], - onScroll: this.handleNativeElScroll - }, this.$slots) : h(Scrollbar, Object.assign({}, this.scrollbarProps, { - onScroll: this.onScroll, - ref: "scrollbarInstRef", - theme: this.mergedTheme.peers.Scrollbar, - themeOverrides: this.mergedTheme.peerOverrides.Scrollbar, - contentClass: this.contentClass, - contentStyle: [this.contentStyle, hasSiderStyle] - }), this.$slots)); - } - }); -} -const __unplugin_components_1 = createLayoutComponent(false); -export { - __unplugin_components_1 as _ -}; diff --git a/out/renderer/assets/Layout-CvYBg1vI.js.gz b/out/renderer/assets/Layout-CvYBg1vI.js.gz deleted file mode 100644 index aa820708d707638d386b69056ce0992331b5de07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1646 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 { - if (props.listInfo?.trackIds) { - return props.listInfo.trackIds.length; - } - return props.songList.length; - }); - const formatDetail = computed(() => (detail) => { - const song = { - artists: detail.ar, - name: detail.al.name, - id: detail.al.id - }; - detail.song = song; - detail.picUrl = detail.al.picUrl; - return detail; - }); - const handlePlay = () => { - const tracks = props.songList || []; - store.commit( - "setPlayList", - tracks.map((item) => ({ - ...item, - picUrl: item.al.picUrl, - song: { - artists: item.ar - } - })) - ); - }; - const close = () => { - emit("update:show", false); - }; - const loadMoreSongs = async () => { - if (isLoadingMore.value || displayedSongs.value.length >= total.value) return; - isLoadingMore.value = true; - try { - if (props.listInfo?.trackIds) { - const start = page.value * pageSize; - const end = Math.min((page.value + 1) * pageSize, total.value); - const trackIds = props.listInfo.trackIds.slice(start, end).map((item) => item.id); - if (trackIds.length > 0) { - const { data } = await getMusicDetail(trackIds); - displayedSongs.value = [...displayedSongs.value, ...data.songs]; - page.value++; - } - } else { - const start = page.value * pageSize; - const end = Math.min((page.value + 1) * pageSize, props.songList.length); - const newSongs = props.songList.slice(start, end); - displayedSongs.value = [...displayedSongs.value, ...newSongs]; - page.value++; - } - } catch (error) { - console.error("加载歌曲失败:", error); - } finally { - isLoadingMore.value = false; - loadingList.value = false; - } - }; - const getItemAnimationDelay = (index) => { - const currentPageIndex = index % pageSize; - return setAnimationDelay(currentPageIndex, 20); - }; - const handleScroll = (e) => { - const target = e.target; - if (!target) return; - const { scrollTop, scrollHeight, clientHeight } = target; - if (scrollHeight - scrollTop - clientHeight < 100 && !isLoadingMore.value) { - loadMoreSongs(); - } - }; - watch( - () => props.show, - (newVal) => { - loadingList.value = newVal; - if (!props.cover) { - loadingList.value = false; - } - } - ); - watch( - () => props.songList, - (newSongs) => { - page.value = 0; - displayedSongs.value = newSongs.slice(0, pageSize); - if (newSongs.length > pageSize) { - page.value = 1; - } - loadingList.value = false; - }, - { immediate: true } - ); - return (_ctx, _cache) => { - const _component_n_ellipsis = __unplugin_components_2$1; - const _component_n_image = NImage; - const _component_n_avatar = __unplugin_components_2$2; - const _component_n_scrollbar = Scrollbar; - const _component_n_spin = __unplugin_components_0; - const _component_n_drawer = __unplugin_components_2; - return openBlock(), createBlock(_component_n_drawer, { - show: _ctx.show, - height: unref(isMobile) ? "100%" : "80%", - placement: "bottom", - "block-scroll": "", - "mask-closable": "", - style: { backgroundColor: "transparent" }, - to: `#layout-main`, - onMaskClick: close - }, { - default: withCtx(() => [ - createBaseVNode("div", _hoisted_1, [ - createBaseVNode("div", _hoisted_2, [ - createVNode(_component_n_ellipsis, { "line-clamp": 1 }, { - default: withCtx(() => [ - createBaseVNode("div", _hoisted_3, toDisplayString(_ctx.name), 1) - ]), - _: 1 - }), - createBaseVNode("div", { class: "music-close" }, [ - createBaseVNode("i", { - class: "icon iconfont icon-icon_error", - onClick: close - }) - ]) - ]), - createBaseVNode("div", _hoisted_4, [ - createBaseVNode("div", _hoisted_5, [ - createBaseVNode("div", _hoisted_6, [ - createVNode(_component_n_image, { - src: unref(getImgUrl)(_ctx.cover ? _ctx.listInfo?.coverImgUrl : unref(displayedSongs)[0]?.picUrl, "500y500"), - class: normalizeClass(["cover-img", unref(setAnimationClass)("animate__fadeIn")]), - "preview-disabled": "", - "object-fit": "cover" - }, null, 8, ["src", "class"]) - ]), - _ctx.listInfo?.creator ? (openBlock(), createElementBlock("div", _hoisted_7, [ - createVNode(_component_n_avatar, { - round: "", - size: 24, - src: unref(getImgUrl)(_ctx.listInfo.creator.avatarUrl, "50y50") - }, null, 8, ["src"]), - createBaseVNode("span", _hoisted_8, toDisplayString(_ctx.listInfo.creator.nickname), 1) - ])) : createCommentVNode("", true), - createVNode(_component_n_scrollbar, { style: { "max-height": "200" } }, { - default: withCtx(() => [ - _ctx.listInfo?.description ? (openBlock(), createElementBlock("div", _hoisted_9, toDisplayString(_ctx.listInfo.description), 1)) : createCommentVNode("", true), - createVNode(PlayBottom) - ]), - _: 1 - }) - ]), - createBaseVNode("div", _hoisted_10, [ - createBaseVNode("div", _hoisted_11, [ - createVNode(_component_n_scrollbar, { onScroll: handleScroll }, { - default: withCtx(() => [ - createVNode(_component_n_spin, { - show: unref(loadingList) || _ctx.loading - }, { - default: withCtx(() => [ - createBaseVNode("div", _hoisted_12, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(displayedSongs), (item, index) => { - return openBlock(), createElementBlock("div", { - key: item.id, - class: normalizeClass(["double-item", unref(setAnimationClass)("animate__bounceInUp")]), - style: normalizeStyle(getItemAnimationDelay(index)) - }, [ - createVNode(SongItem, { - item: unref(formatDetail)(item), - onPlay: handlePlay - }, null, 8, ["item"]) - ], 6); - }), 128)), - unref(isLoadingMore) ? (openBlock(), createElementBlock("div", _hoisted_13, "加载更多...")) : createCommentVNode("", true), - createVNode(PlayBottom) - ]) - ]), - _: 1 - }, 8, ["show"]) - ]), - _: 1 - }) - ]), - createVNode(PlayBottom) - ]) - ]) - ]) - ]), - _: 1 - }, 8, ["show", "height"]); - }; - } -}); -const MusicList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1b137c3d"]]); -export { - MusicList as M, - getListDetail as a, - getListByCat as b, - getAlbum as g -}; diff --git a/out/renderer/assets/MusicList-s-QHu-iA.js.gz b/out/renderer/assets/MusicList-s-QHu-iA.js.gz deleted file mode 100644 index 99841545d8dc97cda7efb1485d0d5b9ada6d9592..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2810 zcmVP(v}Jj^T~ijtmF+|{ zL4dPTASr+;|#mt>3YK;*YJnU7v!iHorK z^Ng><2k~9VOf51`)0F0dityzA7l+B|*Ru|x&lI80PBXkF7M6YwPrg1*PcPDAgR^ft79zv92Ynf0bGv&3L>`!t737yCerurNuJ+R&Ye;rJ*43P4Aux>7aWat zJ<`U)K27$}t!Um$G_WFFlAXgf&;)i4;vc2UZML5-Rv^RFV$OtwXv3+HB#EZ5fNO|V z;ot1SEO(OKUBaYfD3XphY1=%ji}QTFU&Hd zKIWs=G8Ht#nN!~P2iGwSCPc)pRi+b%G|JhuwlHOGv8K}jG$-(E-x>oJnH~&ElyaO< zwhl915KAWIjL+$}1Qsxx)bzwEjxtOcEa2X|@L?2v{^E()+RtrkT}!*lR- z{{2)(@(3U=c&_3@hqT!6OBE~fDkpPz!g)$CgB{Y72K~Bx6P&FTk!GZ1zK4$#J9wMQ zIjnFhNJUTS>6EQ_LqYr6K73hh3G7tLQ3xcXQq1AZ+vW+DWUjdP5LB-vKi;{56+~`x zKZ>-tDlsVJIYg2A54)gLfKjbb8vvSu|2SU^e4p3=k?CDj&=O3e$kd+{eN zVpM!;*nDP|R1jKAEvUroEl8run<&A~&Ra00xXLDjbR?HJg+;x0^8El7AC$5K&=vSv zrg3GP$75OG_~JAXK@C;s+%{+pIZg>%%gs>;X+cO9L1oFae?YNLUG?v zF+)dfrI=}#7B-kADN*}6Sb*;kS8H9lL|d`&-FI+yUM-^?dK~jCqtdU%^8}HKa-9pz z&rlp^IQM;3$&9`meFBWfV>N-SAtTmYm%c_!8$xk52b+v#8iQ6?le_wP7X;;VshORv zpg84%^mL=*&+p^~I~;c1$Wh@}1s4`qEQWq)v|@Gq3a4A5)Z7kEGhX^Ne6TPvXGVk4 z-j!Kg1Q$BVRS>ecvQ&24_-yhRE>tp5*{3A`Ze2`{dfnnR>k4mu8}J%T1J;!6HbmVpmo5_G)E@Nf+YmKb)*pqH4+ z&e5YL)LH?Y)`SI|jmKlx6jH&U7SfR?&fCNq4Zio@k=wa}sFL`9wVg8sJFLjaWfc+~ zl%DZy|^~ZnBJp=};E>f_f45w);+MLm;vq-~@RdwAUyMDe=O#w-=_IX;RFn!{67l&4RhH^PIZsf50Krf^&Lc!;PfXCoXCzH25n1lCd^0u|d%~Krfw(1_IO| zs6)4xQbxi!#aZsnVcHht4g%el&jZwL%{tu)g?dVu!0hr=gz{&njXKooJ6O6u#I!1#@>(D2ygpymvwhYcW9sO>@-oK4Oj zSBGNo4kweV!^y-8kduSbzU|8*|IE|tgfv@ws9dFYbrkp>)&nGpRyZN2%nQy3mhtj} zyrSeXOsLLgNhh7PVEOVTiDkH=QbC!numf_3fNj$h!6O7`o+x6~kkj&b=eLZuj&4nR z7#@S~s2ld>SkEgS-q9;eu^n;?oz909BCr%r?D55De6cTa1~7NrO!}UO^rp+f-Jm5zbE|mWR8=p-uR~Mol@HD) z6Hi^~xD9rPD$?^gb)`_yTwgf7f#1D)9D?fwdEt6nGNo|eSX~y1@oP}V;>VaWkYK;TUHbJ)`2BZeM93DW^jPOZXfMC z%5W?)xF=H$aAd!$%2MXx>Dvyo)P)j_5|{ zp#q)o?J^~yqI0_vz2sXKlT-F0A1>1^e=@nS{SAljY$%o8q~HdcyPGWD_5bP%i`!@w zv`VW0uy1q%)9FRGAidYOd-?s3KmYKL@p$aLVX?S-(HJ-a++0`oRF~R1X49hXWd_I(ksctsyWQUM zcGC9_JtOCfy@175OF9HzxnViCo2|Q%y5%#Sl=?c}agT3(80FXZ{Rqy^yeJYe&&g?` zmQeQ(;j3`EoE|)k4-)TOEoM-4kTy$T0nZfIt#5SHD7HrRM?q?ESq|ziZuHk%>YIfB M0e)RPnzknZ0O&t`@Bjb+ diff --git a/out/renderer/assets/MvPlayer-BPFZslTY.css b/out/renderer/assets/MvPlayer-BPFZslTY.css deleted file mode 100644 index fd0edf9..0000000 --- a/out/renderer/assets/MvPlayer-BPFZslTY.css +++ /dev/null @@ -1,177 +0,0 @@ -.mv-detail[data-v-f4c63e83] { - height: 100%; - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); -} -.mv-detail[data-v-f4c63e83]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} -.mv-detail-title[data-v-f4c63e83] { - position: fixed; - top: 0px; - left: 0px; - right: 0px; - z-index: 10; - padding: 1rem; - transition-property: opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 300ms; - background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), transparent); -} -.mv-detail-title .title[data-v-f4c63e83] { - font-size: 1.125rem; - line-height: 1.75rem; - font-weight: 700; - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.video-container[data-v-f4c63e83] { - position: relative; - height: 100%; - width: 100%; -} -.video-container .video-player[data-v-f4c63e83] { - height: 100%; - width: 100%; - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); - -o-object-fit: contain; - object-fit: contain; -} -.video-container .play-hint[data-v-f4c63e83] { - position: absolute; - inset: 0px; - display: flex; - align-items: center; - justify-content: center; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); - --tw-bg-opacity: 0.5; -} -.video-container .play-hint .n-button[data-v-f4c63e83] { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.video-container .play-hint .n-button[data-v-f4c63e83]:hover { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity, 1)); -} -.video-container .custom-controls[data-v-f4c63e83] { - position: absolute; - bottom: 0px; - left: 0px; - right: 0px; - padding: 1rem; - transition-property: opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 300ms; - background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent); -} -.video-container .custom-controls .controls-main[data-v-f4c63e83] { - display: flex; - align-items: center; - justify-content: space-between; -} -.video-container .custom-controls .controls-main .left-controls[data-v-f4c63e83], -.video-container .custom-controls .controls-main .right-controls[data-v-f4c63e83] { - display: flex; - align-items: center; - gap: 0.5rem; -} -.video-container .custom-controls .controls-main .left-controls .n-button[data-v-f4c63e83], -.video-container .custom-controls .controls-main .right-controls .n-button[data-v-f4c63e83] { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.video-container .custom-controls .controls-main .left-controls .n-button[data-v-f4c63e83]:hover, -.video-container .custom-controls .controls-main .right-controls .n-button[data-v-f4c63e83]:hover { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity, 1)); -} -.video-container .custom-controls .controls-main .left-controls .time-display[data-v-f4c63e83], -.video-container .custom-controls .controls-main .right-controls .time-display[data-v-f4c63e83] { - margin-left: 1rem; - font-size: 0.875rem; - line-height: 1.25rem; - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.mode-hint[data-v-f4c63e83] { - position: absolute; - top: 50%; - left: 50%; - display: flex; - --tw-translate-x: -50%; - --tw-translate-y: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - flex-direction: column; - align-items: center; -} -.mode-hint .mode-icon[data-v-f4c63e83] { - margin-bottom: 0.5rem; - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.mode-hint .mode-text[data-v-f4c63e83] { - font-size: 0.875rem; - line-height: 1.25rem; - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.custom-slider[data-v-f4c63e83] .n-slider { - --n-rail-height: 4px; - --n-rail-color: rgba(255, 255, 255, 0.2); - --n-fill-color: #10b981; - --n-handle-size: 12px; - --n-handle-color: #10b981; -} -.progress-bar[data-v-f4c63e83] { - margin-bottom: 1rem; -} -.progress-bar .progress-rail[data-v-f4c63e83] { - position: relative; - height: 0.25rem; - width: 100%; - --tw-bg-opacity: 1; - background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1)); -} -.progress-bar .progress-rail .progress-buffer[data-v-f4c63e83] { - position: absolute; - top: 0px; - left: 0px; - height: 100%; - --tw-bg-opacity: 1; - background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1)); -} -.volume-control[data-v-f4c63e83] { - display: flex; - align-items: center; - gap: 0.5rem; -} -.volume-control .volume-slider[data-v-f4c63e83] { - width: 100px; -} -.controls-hidden[data-v-f4c63e83] { - opacity: 0; - pointer-events: none; -} -.cursor-hidden[data-v-f4c63e83] { - cursor: none; -} -.title-hidden[data-v-f4c63e83] { - opacity: 0; -} -.fade-enter-active[data-v-f4c63e83], -.fade-leave-active[data-v-f4c63e83] { - transition: opacity 0.3s ease; -} -.fade-enter-from[data-v-f4c63e83], -.fade-leave-to[data-v-f4c63e83] { - opacity: 0; -} \ No newline at end of file diff --git a/out/renderer/assets/MvPlayer-BPFZslTY.css.gz b/out/renderer/assets/MvPlayer-BPFZslTY.css.gz deleted file mode 100644 index c3be8aa0d2e96eac1303e6774a26dbfe3fa7ee87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1082 zcmV-A1jYLwiwFP!000026YUt$ZsRuWJzqg!7?2E>XE#mLx<9hRum{- z;r@M)Y{zLD$7$2zFkmQBn50ON6iJZ^s|^!KT$XY|68z!sxXUEYqbn378_C-Ygc-{r-dvH`62T0OHx~ zaq@E#4r`G}I}HUlPw>agYxEusB5;3~?#)P2iKqQgYb!}=l|U}HDBPB$>ja{D>%L3O zX%CpjWi9l=q!PGwE_7hcg^;R9AU0TeF@~!~Hmi-U(Kwr0C6DMNE2#>WuT|FQlC4vj zu@qk2;muD=2{W6@&yx!!}w;=I>M>I_VE@jJG@{1+~Su}v=2kVEggly zc=R1I^)axK0yWFDA}$r0u^2E|a*`W-Jdq*KQqZac--?D7QI~u-w9#3SpPc~!Of#K+ z$BbAmDS=j1M*)D7lv8FogV;(c8gm{`tuEK(ohOyWK2?OYPD%oKi5|gAStuq6E1N)u ziqJUp_q8RN@BHql=#X@U7mmFeg^LkOAyh0~6KQqY=1+~%flA?J1#j#QAk{{o=^!sq zV5XZY(4li#mH}8Y`U$_J*u)E8Y(DD7WTiJ~E_LSo7UG8`JlwuJ;UUb{mUQJYMwj+I zLEIF|OYVaIPVpyQUs(CaJPBd<#VRfbGUdaWZ)=_*OOc)t)kpM!(4E)txd$JR=ns7) zlrFWn;I%JBK47jk?@X#)Z|MK!@S1Y?S?Ac4%r8C7UsjdJoIe**lpcLYK!l+;7*MI`hQV)Gwas6`=DF)!{X-GY2l3q;;^pX@)yCyJc9+8^cX_X5LkAB<|BqKE z>Ac`Frn|~kQV1L { - return request({ - url: "/mv/all", - method: "get", - params - }); -}; -const getAllMv = (params) => { - return request({ - url: "/mv/all", - method: "get", - params - }); -}; -const getMvUrl = (id) => { - return request.get("/mv/url", { - params: { - id - } - }); -}; -const _hoisted_1 = { class: "mv-detail" }; -const _hoisted_2 = ["src"]; -const _hoisted_3 = { class: "progress-bar custom-slider" }; -const _hoisted_4 = { class: "progress-rail" }; -const _hoisted_5 = { class: "controls-main" }; -const _hoisted_6 = { class: "left-controls" }; -const _hoisted_7 = { - key: 1, - class: "ri-skip-back-line" -}; -const _hoisted_8 = { - key: 1, - class: "ri-skip-forward-line" -}; -const _hoisted_9 = { class: "time-display" }; -const _hoisted_10 = { class: "right-controls" }; -const _hoisted_11 = { - key: 0, - class: "volume-control custom-slider" -}; -const _hoisted_12 = { - key: 0, - class: "mode-hint" -}; -const _hoisted_13 = { class: "mode-text" }; -const _hoisted_14 = { class: "title" }; -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "MvPlayer", - props: { - show: { type: Boolean, default: false }, - currentMv: { default: void 0 }, - noList: { type: Boolean, default: false } - }, - emits: ["update:show", "next", "prev"], - setup(__props, { emit: __emit }) { - const PLAY_MODE = { - Single: "single", - Auto: "auto" - }; - const props = __props; - const emit = __emit; - const store = useStore(); - const mvUrl = ref(); - const playMode = ref(PLAY_MODE.Auto); - const videoRef = ref(); - const isPlaying = ref(false); - const currentTime = ref(0); - const duration = ref(0); - const progress = ref(0); - const bufferedProgress = ref(0); - const volume = ref(100); - const showControls = ref(true); - let controlsTimer = null; - const formatTime = (seconds) => { - const minutes = Math.floor(seconds / 60); - const remainingSeconds = Math.floor(seconds % 60); - return `${minutes.toString().padStart(2, "0")}:${remainingSeconds.toString().padStart(2, "0")}`; - }; - const togglePlay = () => { - if (!videoRef.value) return; - if (isPlaying.value) { - videoRef.value.pause(); - } else { - videoRef.value.play(); - } - resetCursorTimer(); - }; - const toggleMute = () => { - if (!videoRef.value) return; - if (volume.value === 0) { - volume.value = 100; - } else { - volume.value = 0; - } - }; - watch(volume, (newVolume) => { - if (videoRef.value) { - videoRef.value.volume = newVolume / 100; - } - }); - const handleProgressChange = (value) => { - if (!videoRef.value || !duration.value) return; - const newTime = value / 100 * duration.value; - videoRef.value.currentTime = newTime; - }; - const handleTimeUpdate = () => { - if (!videoRef.value) return; - currentTime.value = videoRef.value.currentTime; - if (!isDragging.value) { - progress.value = currentTime.value / duration.value * 100; - } - if (videoRef.value.buffered.length > 0) { - bufferedProgress.value = videoRef.value.buffered.end(0) / duration.value * 100; - } - }; - const handleLoadedMetadata = () => { - if (!videoRef.value) return; - duration.value = videoRef.value.duration; - }; - const resetControlsTimer = () => { - if (controlsTimer) { - clearTimeout(controlsTimer); - } - showControls.value = true; - controlsTimer = setTimeout(() => { - if (isPlaying.value) { - showControls.value = false; - } - }, 3e3); - }; - const handleMouseMove = () => { - resetControlsTimer(); - resetCursorTimer(); - }; - onMounted(() => { - document.addEventListener("mousemove", handleMouseMove); - }); - onUnmounted(() => { - document.removeEventListener("mousemove", handleMouseMove); - if (controlsTimer) { - clearTimeout(controlsTimer); - } - if (cursorTimer) { - clearTimeout(cursorTimer); - } - unlockScreenOrientation(); - }); - watch( - () => props.currentMv, - async (newMv) => { - if (newMv) { - await loadMvUrl(newMv); - } - } - ); - const autoPlayBlocked = ref(false); - const playLoading = ref(false); - const loadMvUrl = async (mv) => { - playLoading.value = true; - autoPlayBlocked.value = false; - try { - const res = await getMvUrl(mv.id); - mvUrl.value = res.data.data.url; - await nextTick(); - if (videoRef.value) { - try { - await videoRef.value.play(); - } catch (error) { - console.warn("自动播放失败,可能需要用户交互:", error); - autoPlayBlocked.value = true; - } - } - } catch (error) { - console.error("加载MV地址失败:", error); - } finally { - playLoading.value = false; - } - }; - const handleClose = () => { - emit("update:show", false); - if (store.state.playMusicUrl) { - store.commit("setIsPlay", true); - } - }; - const handleEnded = () => { - if (playMode.value === PLAY_MODE.Single) { - if (props.currentMv) { - loadMvUrl(props.currentMv); - } - } else { - emit("next", (value) => { - nextLoading.value = value; - }); - } - }; - const togglePlayMode = () => { - playMode.value = playMode.value === PLAY_MODE.Auto ? PLAY_MODE.Single : PLAY_MODE.Auto; - showModeHint.value = true; - setTimeout(() => { - showModeHint.value = false; - }, 1500); - }; - const isDragging = ref(false); - const videoContainerRef = ref(); - const isFullscreen = ref(false); - const checkFullscreenAPI = () => { - const doc = document; - return { - requestFullscreen: videoContainerRef.value?.requestFullscreen || videoContainerRef.value?.webkitRequestFullscreen || videoContainerRef.value?.mozRequestFullScreen || videoContainerRef.value?.msRequestFullscreen, - exitFullscreen: doc.exitFullscreen || doc.webkitExitFullscreen || doc.mozCancelFullScreen || doc.msExitFullscreen, - fullscreenElement: doc.fullscreenElement || doc.webkitFullscreenElement || doc.mozFullScreenElement || doc.msFullscreenElement, - fullscreenEnabled: doc.fullscreenEnabled || doc.webkitFullscreenEnabled || doc.mozFullScreenEnabled || doc.msFullscreenEnabled - }; - }; - const lockScreenOrientation = async () => { - try { - if ("orientation" in screen) { - await screen.orientation.lock("landscape"); - } - } catch (error) { - console.warn("无法锁定屏幕方向:", error); - } - }; - const unlockScreenOrientation = () => { - try { - if ("orientation" in screen) { - screen.orientation.unlock(); - } - } catch (error) { - console.warn("无法解锁屏幕方向:", error); - } - }; - const toggleFullscreen = async () => { - const api = checkFullscreenAPI(); - if (!api.fullscreenEnabled) { - console.warn("全屏API不可用"); - return; - } - try { - if (!api.fullscreenElement) { - await videoContainerRef.value?.requestFullscreen(); - isFullscreen.value = true; - if (window.innerWidth <= 768) { - await lockScreenOrientation(); - } - } else { - await document.exitFullscreen(); - isFullscreen.value = false; - if (window.innerWidth <= 768) { - unlockScreenOrientation(); - } - } - } catch (error) { - console.error("切换全屏失败:", error); - } - }; - const handleFullscreenChange = () => { - const api = checkFullscreenAPI(); - isFullscreen.value = !!api.fullscreenElement; - }; - onMounted(() => { - document.addEventListener("fullscreenchange", handleFullscreenChange); - document.addEventListener("webkitfullscreenchange", handleFullscreenChange); - document.addEventListener("mozfullscreenchange", handleFullscreenChange); - document.addEventListener("MSFullscreenChange", handleFullscreenChange); - }); - onUnmounted(() => { - document.removeEventListener("fullscreenchange", handleFullscreenChange); - document.removeEventListener("webkitfullscreenchange", handleFullscreenChange); - document.removeEventListener("mozfullscreenchange", handleFullscreenChange); - document.removeEventListener("MSFullscreenChange", handleFullscreenChange); - }); - const handleKeyPress = (e) => { - if (e.key === "f" || e.key === "F") { - toggleFullscreen(); - } - }; - onMounted(() => { - document.addEventListener("keydown", handleKeyPress); - }); - onUnmounted(() => { - document.removeEventListener("keydown", handleKeyPress); - }); - const showModeHint = ref(false); - const prevLoading = ref(false); - const nextLoading = ref(false); - const handlePrev = () => { - prevLoading.value = true; - emit("prev", (value) => { - prevLoading.value = value; - }); - }; - const handleNext = () => { - nextLoading.value = true; - emit("next", (value) => { - nextLoading.value = value; - }); - }; - const showCursor = ref(true); - let cursorTimer = null; - const resetCursorTimer = () => { - if (cursorTimer) { - clearTimeout(cursorTimer); - } - showCursor.value = true; - if (isPlaying.value && !showControls.value) { - cursorTimer = setTimeout(() => { - showCursor.value = false; - }, 3e3); - } - }; - watch(isPlaying, (newValue) => { - if (!newValue) { - showCursor.value = true; - if (cursorTimer) { - clearTimeout(cursorTimer); - } - } else { - resetCursorTimer(); - } - }); - watch(showControls, (newValue) => { - if (newValue) { - showCursor.value = true; - if (cursorTimer) { - clearTimeout(cursorTimer); - } - } else { - resetCursorTimer(); - } - }); - const isMobile = computed(() => store.state.isMobile); - return (_ctx, _cache) => { - const _component_n_spin = __unplugin_components_0$1; - const _component_n_ellipsis = __unplugin_components_2$1; - const _component_n_drawer = __unplugin_components_2; - return openBlock(), createBlock(_component_n_drawer, { - show: _ctx.show, - height: "100%", - placement: "bottom", - "z-index": 999999999, - to: `#layout-main` - }, { - default: withCtx(() => [ - createBaseVNode("div", _hoisted_1, [ - createBaseVNode("div", { - ref_key: "videoContainerRef", - ref: videoContainerRef, - class: normalizeClass(["video-container", { "cursor-hidden": !showCursor.value }]) - }, [ - createBaseVNode("video", { - ref_key: "videoRef", - ref: videoRef, - src: mvUrl.value, - class: "video-player", - onEnded: handleEnded, - onTimeupdate: handleTimeUpdate, - onLoadedmetadata: handleLoadedMetadata, - onPlay: _cache[0] || (_cache[0] = ($event) => isPlaying.value = true), - onPause: _cache[1] || (_cache[1] = ($event) => isPlaying.value = false), - onClick: togglePlay - }, null, 40, _hoisted_2), - autoPlayBlocked.value ? (openBlock(), createElementBlock("div", { - key: 0, - class: "play-hint", - onClick: togglePlay - }, [ - createVNode(unref(Button), { - quaternary: "", - circle: "", - size: "large" - }, { - icon: withCtx(() => [ - createVNode(unref(NIcon), { size: "48" }, { - default: withCtx(() => _cache[4] || (_cache[4] = [ - createBaseVNode("i", { class: "ri-play-circle-line" }, null, -1) - ])), - _: 1 - }) - ]), - _: 1 - }) - ])) : createCommentVNode("", true), - createBaseVNode("div", { - class: normalizeClass(["custom-controls", { "controls-hidden": !showControls.value }]) - }, [ - createBaseVNode("div", _hoisted_3, [ - createVNode(unref(__unplugin_components_0), { - value: progress.value, - "onUpdate:value": [ - _cache[2] || (_cache[2] = ($event) => progress.value = $event), - handleProgressChange - ], - min: 0, - max: 100, - tooltip: false, - step: 0.1 - }, { - rail: withCtx(() => [ - createBaseVNode("div", _hoisted_4, [ - createBaseVNode("div", { - class: "progress-buffer", - style: normalizeStyle({ width: `${bufferedProgress.value}%` }) - }, null, 4) - ]) - ]), - _: 1 - }, 8, ["value"]) - ]), - createBaseVNode("div", _hoisted_5, [ - createBaseVNode("div", _hoisted_6, [ - !props.noList ? (openBlock(), createBlock(unref(__unplugin_components_3), { - key: 0, - placement: "top" - }, { - trigger: withCtx(() => [ - createVNode(unref(Button), { - quaternary: "", - circle: "", - onClick: handlePrev - }, { - icon: withCtx(() => [ - createVNode(unref(NIcon), { size: "24" }, { - default: withCtx(() => [ - prevLoading.value ? (openBlock(), createBlock(_component_n_spin, { - key: 0, - size: "small" - })) : (openBlock(), createElementBlock("i", _hoisted_7)) - ]), - _: 1 - }) - ]), - _: 1 - }) - ]), - default: withCtx(() => [ - _cache[5] || (_cache[5] = createTextVNode(" 上一个 ")) - ]), - _: 1 - })) : createCommentVNode("", true), - createVNode(unref(__unplugin_components_3), { placement: "top" }, { - trigger: withCtx(() => [ - createVNode(unref(Button), { - quaternary: "", - circle: "", - onClick: togglePlay - }, { - icon: withCtx(() => [ - createVNode(unref(NIcon), { size: "24" }, { - default: withCtx(() => [ - playLoading.value ? (openBlock(), createBlock(_component_n_spin, { - key: 0, - size: "small" - })) : (openBlock(), createElementBlock("i", { - key: 1, - class: normalizeClass(isPlaying.value ? "ri-pause-line" : "ri-play-line") - }, null, 2)) - ]), - _: 1 - }) - ]), - _: 1 - }) - ]), - default: withCtx(() => [ - createTextVNode(" " + toDisplayString(isPlaying.value ? "暂停" : "播放"), 1) - ]), - _: 1 - }), - !props.noList ? (openBlock(), createBlock(unref(__unplugin_components_3), { - key: 1, - placement: "top" - }, { - trigger: withCtx(() => [ - createVNode(unref(Button), { - quaternary: "", - circle: "", - onClick: handleNext - }, { - icon: withCtx(() => [ - createVNode(unref(NIcon), { size: "24" }, { - default: withCtx(() => [ - nextLoading.value ? (openBlock(), createBlock(_component_n_spin, { - key: 0, - size: "small" - })) : (openBlock(), createElementBlock("i", _hoisted_8)) - ]), - _: 1 - }) - ]), - _: 1 - }) - ]), - default: withCtx(() => [ - _cache[6] || (_cache[6] = createTextVNode(" 下一个 ")) - ]), - _: 1 - })) : createCommentVNode("", true), - createBaseVNode("div", _hoisted_9, toDisplayString(formatTime(currentTime.value)) + " / " + toDisplayString(formatTime(duration.value)), 1) - ]), - createBaseVNode("div", _hoisted_10, [ - !isMobile.value ? (openBlock(), createElementBlock("div", _hoisted_11, [ - createVNode(unref(__unplugin_components_3), { placement: "top" }, { - trigger: withCtx(() => [ - createVNode(unref(Button), { - quaternary: "", - circle: "", - onClick: toggleMute - }, { - icon: withCtx(() => [ - createVNode(unref(NIcon), { size: "24" }, { - default: withCtx(() => [ - createBaseVNode("i", { - class: normalizeClass(volume.value === 0 ? "ri-volume-mute-line" : "ri-volume-up-line") - }, null, 2) - ]), - _: 1 - }) - ]), - _: 1 - }) - ]), - default: withCtx(() => [ - createTextVNode(" " + toDisplayString(volume.value === 0 ? "取消静音" : "静音"), 1) - ]), - _: 1 - }), - createVNode(unref(__unplugin_components_0), { - value: volume.value, - "onUpdate:value": _cache[3] || (_cache[3] = ($event) => volume.value = $event), - min: 0, - max: 100, - tooltip: false, - class: "volume-slider" - }, null, 8, ["value"]) - ])) : createCommentVNode("", true), - !props.noList ? (openBlock(), createBlock(unref(__unplugin_components_3), { - key: 1, - placement: "top" - }, { - trigger: withCtx(() => [ - createVNode(unref(Button), { - quaternary: "", - circle: "", - class: "play-mode-btn", - onClick: togglePlayMode - }, { - icon: withCtx(() => [ - createVNode(unref(NIcon), { size: "24" }, { - default: withCtx(() => [ - createBaseVNode("i", { - class: normalizeClass( - playMode.value === "single" ? "ri-repeat-one-line" : "ri-play-list-line" - ) - }, null, 2) - ]), - _: 1 - }) - ]), - _: 1 - }) - ]), - default: withCtx(() => [ - createTextVNode(" " + toDisplayString(playMode.value === "single" ? "单曲循环" : "列表循环"), 1) - ]), - _: 1 - })) : createCommentVNode("", true), - createVNode(unref(__unplugin_components_3), { placement: "top" }, { - trigger: withCtx(() => [ - createVNode(unref(Button), { - quaternary: "", - circle: "", - onClick: toggleFullscreen - }, { - icon: withCtx(() => [ - createVNode(unref(NIcon), { size: "24" }, { - default: withCtx(() => [ - createBaseVNode("i", { - class: normalizeClass(isFullscreen.value ? "ri-fullscreen-exit-line" : "ri-fullscreen-line") - }, null, 2) - ]), - _: 1 - }) - ]), - _: 1 - }) - ]), - default: withCtx(() => [ - createTextVNode(" " + toDisplayString(isFullscreen.value ? "退出全屏" : "全屏"), 1) - ]), - _: 1 - }), - createVNode(unref(__unplugin_components_3), { placement: "top" }, { - trigger: withCtx(() => [ - createVNode(unref(Button), { - quaternary: "", - circle: "", - onClick: handleClose - }, { - icon: withCtx(() => [ - createVNode(unref(NIcon), { size: "24" }, { - default: withCtx(() => _cache[7] || (_cache[7] = [ - createBaseVNode("i", { class: "ri-close-line" }, null, -1) - ])), - _: 1 - }) - ]), - _: 1 - }) - ]), - default: withCtx(() => [ - _cache[8] || (_cache[8] = createTextVNode(" 关闭 ")) - ]), - _: 1 - }) - ]) - ]) - ], 2), - createVNode(Transition, { name: "fade" }, { - default: withCtx(() => [ - showModeHint.value ? (openBlock(), createElementBlock("div", _hoisted_12, [ - createVNode(unref(NIcon), { - size: "48", - class: "mode-icon" - }, { - default: withCtx(() => [ - createBaseVNode("i", { - class: normalizeClass(playMode.value === "single" ? "ri-repeat-one-line" : "ri-play-list-line") - }, null, 2) - ]), - _: 1 - }), - createBaseVNode("div", _hoisted_13, toDisplayString(playMode.value === "single" ? "单曲循环" : "自动播放下一个"), 1) - ])) : createCommentVNode("", true) - ]), - _: 1 - }) - ], 2), - createBaseVNode("div", { - class: normalizeClass(["mv-detail-title", { "title-hidden": !showControls.value }]) - }, [ - createBaseVNode("div", _hoisted_14, [ - createVNode(_component_n_ellipsis, null, { - default: withCtx(() => [ - createTextVNode(toDisplayString(_ctx.currentMv?.name), 1) - ]), - _: 1 - }) - ]) - ], 2) - ]) - ]), - _: 1 - }, 8, ["show"]); - }; - } -}); -const MvPlayer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f4c63e83"]]); -export { - MvPlayer as M, - getAllMv as a, - getTopMv as g -}; diff --git a/out/renderer/assets/MvPlayer-I4IDK1xL.js.gz b/out/renderer/assets/MvPlayer-I4IDK1xL.js.gz deleted file mode 100644 index fa6e166d4dba55a808c099b7ab637cd63972aa8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4532 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 SLg=$s#{VBd)Zw!mWdH!|GwoFX diff --git a/out/renderer/assets/PlayBar-BNzUvTGp.js b/out/renderer/assets/PlayBar-BNzUvTGp.js deleted file mode 100644 index a12d40f..0000000 --- a/out/renderer/assets/PlayBar-BNzUvTGp.js +++ /dev/null @@ -1,1620 +0,0 @@ -import { r as ref, G as computed, D as useMemo, $ as provide, d as defineComponent, as as inject, at as useSsrAdapter, o as onMounted, aq as onActivated, au as onDeactivated, A as toRef, av as depx, aw as pxfy, l as h, ax as mergeProps, ay as VResizeObserver, az as XScrollbar, aA as store, ae as audioService, aB as getTextColors, E as watch, M as nextTick, R as isElectron, a1 as onUnmounted, aC as getHoverBackgroundColor, aD as animateGradient, a as onBeforeUnmount, j as openBlock, O as createBlock, f as withCtx, b as createBaseVNode, a2 as normalizeStyle, u as unref, e as createVNode, a7 as getImgUrl, t as toDisplayString, c as createElementBlock, a3 as Fragment, a4 as renderList, n as normalizeClass, T as createCommentVNode, aE as useDebounceFn, _ as _export_sfc, g as useStore, aF as useThrottleFn, aG as useTemplateRef, i as isRef, k as createTextVNode, ac as isMobile, s as setAnimationClass, aH as secondToMinute } from "./index-DKaFsuse.js"; -import { S as SongItem } from "./SongItem-CoswpGn6.js"; -import { N as NImage, _ as __unplugin_components_3, a as __unplugin_components_5 } from "./Image-DXClIklC.js"; -import { _ as __unplugin_components_1 } from "./Layout-CvYBg1vI.js"; -import { _ as __unplugin_components_2 } from "./Drawer-BEJ8Ydua.js"; -import { c as cssrAnchorMetaName, a as c, b as beforeNextFrameOnce } from "./use-locale-DLWAOXez.js"; -import { _ as __unplugin_components_0 } from "./Slider-BA6NituQ.js"; -import { _ as __unplugin_components_2$1 } from "./Ellipsis-D4R5dIX2.js"; -function lowBit(n) { - return n & -n; -} -class FinweckTree { - /** - * @param l length of the array - * @param min min value of the array - */ - constructor(l, min) { - this.l = l; - this.min = min; - const ft = new Array(l + 1); - for (let i = 0; i < l + 1; ++i) { - ft[i] = 0; - } - this.ft = ft; - } - /** - * Add arr[i] by n, start from 0 - * @param i the index of the element to be added - * @param n the value to be added - */ - add(i, n) { - if (n === 0) - return; - const { l, ft } = this; - i += 1; - while (i <= l) { - ft[i] += n; - i += lowBit(i); - } - } - /** - * Get the value of index i - * @param i index - * @returns value of the index - */ - get(i) { - return this.sum(i + 1) - this.sum(i); - } - /** - * Get the sum of first i elements - * @param i count of head elements to be added - * @returns the sum of first i elements - */ - sum(i) { - if (i === void 0) - i = this.l; - if (i <= 0) - return 0; - const { ft, min, l } = this; - if (i > l) - throw new Error("[FinweckTree.sum]: `i` is larger than length."); - let ret = i * min; - while (i > 0) { - ret += ft[i]; - i -= lowBit(i); - } - return ret; - } - /** - * Get the largest count of head elements whose sum are <= threshold - * @param threshold - * @returns the largest count of head elements whose sum are <= threshold - */ - getBound(threshold) { - let l = 0; - let r = this.l; - while (r > l) { - const m = Math.floor((l + r) / 2); - const sumM = this.sum(m); - if (sumM > threshold) { - r = m; - continue; - } else if (sumM < threshold) { - if (l === m) { - if (this.sum(l + 1) <= threshold) - return l + 1; - return m; - } - l = m; - } else { - return m; - } - } - return l; - } -} -let maybeTouch; -function ensureMaybeTouch() { - if (typeof document === "undefined") - return false; - if (maybeTouch === void 0) { - if ("matchMedia" in window) { - maybeTouch = window.matchMedia("(pointer:coarse)").matches; - } else { - maybeTouch = false; - } - } - return maybeTouch; -} -let wheelScale; -function ensureWheelScale() { - if (typeof document === "undefined") - return 1; - if (wheelScale === void 0) { - wheelScale = "chrome" in window ? window.devicePixelRatio : 1; - } - return wheelScale; -} -const xScrollInjextionKey = "VVirtualListXScroll"; -function setupXScroll({ columnsRef, renderColRef, renderItemWithColsRef }) { - const listWidthRef = ref(0); - const scrollLeftRef = ref(0); - const xFinweckTreeRef = computed(() => { - const columns = columnsRef.value; - if (columns.length === 0) { - return null; - } - const ft = new FinweckTree(columns.length, 0); - columns.forEach((column, index) => { - ft.add(index, column.width); - }); - return ft; - }); - const startIndexRef = useMemo(() => { - const xFinweckTree = xFinweckTreeRef.value; - if (xFinweckTree !== null) { - return Math.max(xFinweckTree.getBound(scrollLeftRef.value) - 1, 0); - } else { - return 0; - } - }); - const getLeft = (index) => { - const xFinweckTree = xFinweckTreeRef.value; - if (xFinweckTree !== null) { - return xFinweckTree.sum(index); - } else { - return 0; - } - }; - const endIndexRef = useMemo(() => { - const xFinweckTree = xFinweckTreeRef.value; - if (xFinweckTree !== null) { - return Math.min(xFinweckTree.getBound(scrollLeftRef.value + listWidthRef.value) + 1, columnsRef.value.length - 1); - } else { - return 0; - } - }); - provide(xScrollInjextionKey, { - startIndexRef, - endIndexRef, - columnsRef, - renderColRef, - renderItemWithColsRef, - getLeft - }); - return { - listWidthRef, - scrollLeftRef - }; -} -const VirtualListRow = defineComponent({ - name: "VirtualListRow", - props: { - index: { type: Number, required: true }, - item: { - type: Object, - required: true - } - }, - setup() { - const { startIndexRef, endIndexRef, columnsRef, getLeft, renderColRef, renderItemWithColsRef } = ( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - inject(xScrollInjextionKey) - ); - return { - startIndex: startIndexRef, - endIndex: endIndexRef, - columns: columnsRef, - renderCol: renderColRef, - renderItemWithCols: renderItemWithColsRef, - getLeft - }; - }, - render() { - const { startIndex, endIndex, columns, renderCol, renderItemWithCols, getLeft, item } = this; - if (renderItemWithCols != null) { - return renderItemWithCols({ - itemIndex: this.index, - startColIndex: startIndex, - endColIndex: endIndex, - allColumns: columns, - item, - getLeft - }); - } - if (renderCol != null) { - const items = []; - for (let i = startIndex; i <= endIndex; ++i) { - const column = columns[i]; - items.push(renderCol({ column, left: getLeft(i), item })); - } - return items; - } - return null; - } -}); -const styles = c(".v-vl", { - maxHeight: "inherit", - height: "100%", - overflow: "auto", - minWidth: "1px" - // a zero width container won't be scrollable -}, [ - c("&:not(.v-vl--show-scrollbar)", { - scrollbarWidth: "none" - }, [ - c("&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb", { - width: 0, - height: 0, - display: "none" - }) - ]) -]); -const VVirtualList = defineComponent({ - name: "VirtualList", - inheritAttrs: false, - props: { - showScrollbar: { - type: Boolean, - default: true - }, - columns: { - type: Array, - default: () => [] - }, - renderCol: Function, - renderItemWithCols: Function, - items: { - type: Array, - default: () => [] - }, - // it is suppose to be the min height - itemSize: { - type: Number, - required: true - }, - itemResizable: Boolean, - itemsStyle: [String, Object], - visibleItemsTag: { - type: [String, Object], - default: "div" - }, - visibleItemsProps: Object, - ignoreItemResize: Boolean, - onScroll: Function, - onWheel: Function, - onResize: Function, - defaultScrollKey: [Number, String], - defaultScrollIndex: Number, - keyField: { - type: String, - default: "key" - }, - // Whether it is a good API? - // ResizeObserver + footer & header is not enough. - // Too complex for simple case - paddingTop: { - type: [Number, String], - default: 0 - }, - paddingBottom: { - type: [Number, String], - default: 0 - } - }, - setup(props) { - const ssrAdapter = useSsrAdapter(); - styles.mount({ - id: "vueuc/virtual-list", - head: true, - anchorMetaName: cssrAnchorMetaName, - ssr: ssrAdapter - }); - onMounted(() => { - const { defaultScrollIndex, defaultScrollKey } = props; - if (defaultScrollIndex !== void 0 && defaultScrollIndex !== null) { - scrollTo({ index: defaultScrollIndex }); - } else if (defaultScrollKey !== void 0 && defaultScrollKey !== null) { - scrollTo({ key: defaultScrollKey }); - } - }); - let isDeactivated = false; - let activateStateInitialized = false; - onActivated(() => { - isDeactivated = false; - if (!activateStateInitialized) { - activateStateInitialized = true; - return; - } - scrollTo({ top: scrollTopRef.value, left: scrollLeftRef.value }); - }); - onDeactivated(() => { - isDeactivated = true; - if (!activateStateInitialized) { - activateStateInitialized = true; - } - }); - const totalWidthRef = useMemo(() => { - if (props.renderCol == null && props.renderItemWithCols == null) { - return void 0; - } - if (props.columns.length === 0) - return void 0; - let width = 0; - props.columns.forEach((column) => { - width += column.width; - }); - return width; - }); - const keyIndexMapRef = computed(() => { - const map = /* @__PURE__ */ new Map(); - const { keyField } = props; - props.items.forEach((item, index) => { - map.set(item[keyField], index); - }); - return map; - }); - const { scrollLeftRef, listWidthRef } = setupXScroll({ - columnsRef: toRef(props, "columns"), - renderColRef: toRef(props, "renderCol"), - renderItemWithColsRef: toRef(props, "renderItemWithCols") - }); - const listElRef = ref(null); - const listHeightRef = ref(void 0); - const keyToHeightOffset = /* @__PURE__ */ new Map(); - const finweckTreeRef = computed(() => { - const { items, itemSize, keyField } = props; - const ft = new FinweckTree(items.length, itemSize); - items.forEach((item, index) => { - const key = item[keyField]; - const heightOffset = keyToHeightOffset.get(key); - if (heightOffset !== void 0) { - ft.add(index, heightOffset); - } - }); - return ft; - }); - const finweckTreeUpdateTrigger = ref(0); - const scrollTopRef = ref(0); - const startIndexRef = useMemo(() => { - return Math.max(finweckTreeRef.value.getBound(scrollTopRef.value - depx(props.paddingTop)) - 1, 0); - }); - const viewportItemsRef = computed(() => { - const { value: listHeight } = listHeightRef; - if (listHeight === void 0) - return []; - const { items, itemSize } = props; - const startIndex = startIndexRef.value; - const endIndex = Math.min(startIndex + Math.ceil(listHeight / itemSize + 1), items.length - 1); - const viewportItems = []; - for (let i = startIndex; i <= endIndex; ++i) { - viewportItems.push(items[i]); - } - return viewportItems; - }); - const scrollTo = (options, y) => { - if (typeof options === "number") { - scrollToPosition(options, y, "auto"); - return; - } - const { left, top, index, key, position, behavior, debounce = true } = options; - if (left !== void 0 || top !== void 0) { - scrollToPosition(left, top, behavior); - } else if (index !== void 0) { - scrollToIndex(index, behavior, debounce); - } else if (key !== void 0) { - const toIndex = keyIndexMapRef.value.get(key); - if (toIndex !== void 0) - scrollToIndex(toIndex, behavior, debounce); - } else if (position === "bottom") { - scrollToPosition(0, Number.MAX_SAFE_INTEGER, behavior); - } else if (position === "top") { - scrollToPosition(0, 0, behavior); - } - }; - let anchorIndex; - let anchorTimerId = null; - function scrollToIndex(index, behavior, debounce) { - const { value: ft } = finweckTreeRef; - const targetTop = ft.sum(index) + depx(props.paddingTop); - if (!debounce) { - listElRef.value.scrollTo({ - left: 0, - top: targetTop, - behavior - }); - } else { - anchorIndex = index; - if (anchorTimerId !== null) { - window.clearTimeout(anchorTimerId); - } - anchorTimerId = window.setTimeout(() => { - anchorIndex = void 0; - anchorTimerId = null; - }, 16); - const { scrollTop, offsetHeight } = listElRef.value; - if (targetTop > scrollTop) { - const itemSize = ft.get(index); - if (targetTop + itemSize <= scrollTop + offsetHeight) ; - else { - listElRef.value.scrollTo({ - left: 0, - top: targetTop + itemSize - offsetHeight, - behavior - }); - } - } else { - listElRef.value.scrollTo({ - left: 0, - top: targetTop, - behavior - }); - } - } - } - function scrollToPosition(left, top, behavior) { - listElRef.value.scrollTo({ - left, - top, - behavior - }); - } - function handleItemResize(key, entry) { - var _a, _b, _c; - if (isDeactivated) - return; - if (props.ignoreItemResize) - return; - if (isHideByVShow(entry.target)) - return; - const { value: ft } = finweckTreeRef; - const index = keyIndexMapRef.value.get(key); - const previousHeight = ft.get(index); - const height = (_c = (_b = (_a = entry.borderBoxSize) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.blockSize) !== null && _c !== void 0 ? _c : entry.contentRect.height; - if (height === previousHeight) - return; - const offset = height - props.itemSize; - if (offset === 0) { - keyToHeightOffset.delete(key); - } else { - keyToHeightOffset.set(key, height - props.itemSize); - } - const delta = height - previousHeight; - if (delta === 0) - return; - ft.add(index, delta); - const listEl = listElRef.value; - if (listEl != null) { - if (anchorIndex === void 0) { - const previousHeightSum = ft.sum(index); - if (listEl.scrollTop > previousHeightSum) { - listEl.scrollBy(0, delta); - } - } else { - if (index < anchorIndex) { - listEl.scrollBy(0, delta); - } else if (index === anchorIndex) { - const previousHeightSum = ft.sum(index); - if (height + previousHeightSum > // Note, listEl shouldn't have border, nor offsetHeight won't be - // correct - listEl.scrollTop + listEl.offsetHeight) { - listEl.scrollBy(0, delta); - } - } - } - syncViewport(); - } - finweckTreeUpdateTrigger.value++; - } - const mayUseWheel = !ensureMaybeTouch(); - let wheelCatched = false; - function handleListScroll(e) { - var _a; - (_a = props.onScroll) === null || _a === void 0 ? void 0 : _a.call(props, e); - if (!mayUseWheel || !wheelCatched) { - syncViewport(); - } - } - function handleListWheel(e) { - var _a; - (_a = props.onWheel) === null || _a === void 0 ? void 0 : _a.call(props, e); - if (mayUseWheel) { - const listEl = listElRef.value; - if (listEl != null) { - if (e.deltaX === 0) { - if (listEl.scrollTop === 0 && e.deltaY <= 0) { - return; - } - if (listEl.scrollTop + listEl.offsetHeight >= listEl.scrollHeight && e.deltaY >= 0) { - return; - } - } - e.preventDefault(); - listEl.scrollTop += e.deltaY / ensureWheelScale(); - listEl.scrollLeft += e.deltaX / ensureWheelScale(); - syncViewport(); - wheelCatched = true; - beforeNextFrameOnce(() => { - wheelCatched = false; - }); - } - } - } - function handleListResize(entry) { - if (isDeactivated) - return; - if (isHideByVShow(entry.target)) - return; - if (props.renderCol == null && props.renderItemWithCols == null) { - if (entry.contentRect.height === listHeightRef.value) - return; - } else { - if (entry.contentRect.height === listHeightRef.value && entry.contentRect.width === listWidthRef.value) { - return; - } - } - listHeightRef.value = entry.contentRect.height; - listWidthRef.value = entry.contentRect.width; - const { onResize } = props; - if (onResize !== void 0) - onResize(entry); - } - function syncViewport() { - const { value: listEl } = listElRef; - if (listEl == null) - return; - scrollTopRef.value = listEl.scrollTop; - scrollLeftRef.value = listEl.scrollLeft; - } - function isHideByVShow(el) { - let cursor = el; - while (cursor !== null) { - if (cursor.style.display === "none") - return true; - cursor = cursor.parentElement; - } - return false; - } - return { - listHeight: listHeightRef, - listStyle: { - overflow: "auto" - }, - keyToIndex: keyIndexMapRef, - itemsStyle: computed(() => { - const { itemResizable } = props; - const height = pxfy(finweckTreeRef.value.sum()); - finweckTreeUpdateTrigger.value; - return [ - props.itemsStyle, - { - boxSizing: "content-box", - width: pxfy(totalWidthRef.value), - height: itemResizable ? "" : height, - minHeight: itemResizable ? height : "", - paddingTop: pxfy(props.paddingTop), - paddingBottom: pxfy(props.paddingBottom) - } - ]; - }), - visibleItemsStyle: computed(() => { - finweckTreeUpdateTrigger.value; - return { - transform: `translateY(${pxfy(finweckTreeRef.value.sum(startIndexRef.value))})` - }; - }), - viewportItems: viewportItemsRef, - listElRef, - itemsElRef: ref(null), - scrollTo, - handleListResize, - handleListScroll, - handleListWheel, - handleItemResize - }; - }, - render() { - const { itemResizable, keyField, keyToIndex, visibleItemsTag } = this; - return h(VResizeObserver, { - onResize: this.handleListResize - }, { - default: () => { - var _a, _b; - return h("div", mergeProps(this.$attrs, { - class: ["v-vl", this.showScrollbar && "v-vl--show-scrollbar"], - onScroll: this.handleListScroll, - onWheel: this.handleListWheel, - ref: "listElRef" - }), [ - this.items.length !== 0 ? h("div", { - ref: "itemsElRef", - class: "v-vl-items", - style: this.itemsStyle - }, [ - h(visibleItemsTag, Object.assign({ - class: "v-vl-visible-items", - style: this.visibleItemsStyle - }, this.visibleItemsProps), { - default: () => { - const { renderCol, renderItemWithCols } = this; - return this.viewportItems.map((item) => { - const key = item[keyField]; - const index = keyToIndex.get(key); - const renderedCols = renderCol != null ? h(VirtualListRow, { - index, - item - }) : void 0; - const renderedItemWithCols = renderItemWithCols != null ? h(VirtualListRow, { - index, - item - }) : void 0; - const itemVNode = this.$slots.default({ - item, - renderedCols, - renderedItemWithCols, - index - })[0]; - if (itemResizable) { - return h(VResizeObserver, { - key, - onResize: (entry) => this.handleItemResize(key, entry) - }, { - default: () => itemVNode - }); - } - itemVNode.key = key; - return itemVNode; - }); - } - }) - ]) : (_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a) - ]); - } - }); - } -}); -const virtualListProps = { - scrollbarProps: Object, - items: { - type: Array, - default: () => [] - }, - itemSize: { - type: Number, - required: true - }, - itemResizable: Boolean, - itemsStyle: [String, Object], - visibleItemsTag: { - type: [String, Object], - default: "div" - }, - visibleItemsProps: Object, - ignoreItemResize: Boolean, - onScroll: Function, - onWheel: Function, - onResize: Function, - defaultScrollKey: [Number, String], - defaultScrollIndex: Number, - keyField: { - type: String, - default: "key" - }, - paddingTop: { - type: [Number, String], - default: 0 - }, - paddingBottom: { - type: [Number, String], - default: 0 - } -}; -const __unplugin_components_4 = defineComponent({ - name: "VirtualList", - props: virtualListProps, - setup(props) { - const scrollbarInstRef = ref(null); - const virtualListInstRef = ref(null); - function syncScrollbar() { - const { - value: scrollbarInst - } = scrollbarInstRef; - if (scrollbarInst) scrollbarInst.sync(); - } - function handleScroll(e) { - var _a; - syncScrollbar(); - (_a = props.onScroll) === null || _a === void 0 ? void 0 : _a.call(props, e); - } - function handleResize(e) { - var _a; - syncScrollbar(); - (_a = props.onResize) === null || _a === void 0 ? void 0 : _a.call(props, e); - } - function handleWheel(e) { - var _a; - (_a = props.onWheel) === null || _a === void 0 ? void 0 : _a.call(props, e); - } - function scrollTo(options, y) { - var _a, _b; - if (typeof options === "number") { - (_a = virtualListInstRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(options, y !== null && y !== void 0 ? y : 0); - } else { - (_b = virtualListInstRef.value) === null || _b === void 0 ? void 0 : _b.scrollTo(options); - } - } - function getScrollContainer() { - var _a; - return (_a = virtualListInstRef.value) === null || _a === void 0 ? void 0 : _a.listElRef; - } - function getScrollContent() { - var _a; - return (_a = virtualListInstRef.value) === null || _a === void 0 ? void 0 : _a.itemsElRef; - } - return { - scrollTo, - scrollbarInstRef, - virtualListInstRef, - getScrollContainer, - getScrollContent, - handleScroll, - handleResize, - handleWheel - }; - }, - render() { - return h(XScrollbar, Object.assign({}, this.scrollbarProps, { - ref: "scrollbarInstRef", - container: this.getScrollContainer, - content: this.getScrollContent - }), { - default: () => { - return h(VVirtualList, { - ref: "virtualListInstRef", - showScrollbar: false, - items: this.items, - itemSize: this.itemSize, - itemResizable: this.itemResizable, - itemsStyle: this.itemsStyle, - visibleItemsTag: this.visibleItemsTag, - visibleItemsProps: this.visibleItemsProps, - ignoreItemResize: this.ignoreItemResize, - keyField: this.keyField, - defaultScrollKey: this.defaultScrollKey, - defaultScrollIndex: this.defaultScrollIndex, - paddingTop: this.paddingTop, - paddingBottom: this.paddingBottom, - onScroll: this.handleScroll, - onResize: this.handleResize, - onWheel: this.handleWheel - }, { - default: ({ - item, - index - }) => { - var _a, _b; - return (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a, { - item, - index - }); - } - }); - } - }); - } -}); -const windowData = window; -const lrcArray = ref([]); -const lrcTimeArray = ref([]); -const nowTime = ref(0); -const allTime = ref(0); -const nowIndex = ref(0); -const correctionTime = ref(0.4); -const currentLrcProgress = ref(0); -const playMusic = computed(() => store.state.playMusic); -const sound = ref(audioService.getCurrentSound()); -const isLyricWindowOpen = ref(false); -const textColors = ref(getTextColors()); -document.onkeyup = (e) => { - const target = e.target; - if (target.tagName === "INPUT" || target.tagName === "TEXTAREA") { - return; - } - switch (e.code) { - case "Space": - if (store.state.play) { - store.commit("setPlayMusic", false); - audioService.getCurrentSound()?.pause(); - } else { - store.commit("setPlayMusic", true); - audioService.getCurrentSound()?.play(); - } - break; - } -}; -watch( - () => store.state.playMusicUrl, - (newVal) => { - if (newVal) { - audioService.play(newVal); - sound.value = audioService.getCurrentSound(); - audioServiceOn(audioService); - } - } -); -watch( - () => store.state.playMusic, - () => { - nextTick(async () => { - lrcArray.value = playMusic.value.lyric?.lrcArray || []; - lrcTimeArray.value = playMusic.value.lyric?.lrcTimeArray || []; - if (isElectron && isLyricWindowOpen.value && lrcArray.value.length > 0) { - sendLyricToWin(); - } - }); - }, - { - deep: true, - immediate: true - } -); -const audioServiceOn = (audio) => { - let interval = null; - audio.onPlay(() => { - store.commit("setPlayMusic", true); - interval = setInterval(() => { - nowTime.value = sound.value?.seek(); - allTime.value = sound.value?.duration(); - const newIndex = getLrcIndex(nowTime.value); - if (newIndex !== nowIndex.value) { - nowIndex.value = newIndex; - currentLrcProgress.value = 0; - if (isElectron && isLyricWindowOpen.value) { - sendLyricToWin(); - } - } - if (isElectron && isLyricWindowOpen.value) { - sendLyricToWin(); - } - }, 50); - }); - audio.onPause(() => { - store.commit("setPlayMusic", false); - clearInterval(interval); - if (isElectron && isLyricWindowOpen.value) { - sendLyricToWin(); - } - }); - audio.onEnd(() => { - if (store.state.playMode === 1) { - audio.getCurrentSound()?.play(); - } else if (store.state.playMode === 2) { - const { playList } = store.state; - if (playList.length <= 1) { - audio.getCurrentSound()?.play(); - } else { - let randomIndex; - do { - randomIndex = Math.floor(Math.random() * playList.length); - } while (randomIndex === store.state.playListIndex && playList.length > 1); - store.state.playListIndex = randomIndex; - store.commit("setPlay", playList[randomIndex]); - } - } else { - store.commit("nextPlay"); - } - }); -}; -const isPlaying = computed(() => store.state.play); -const isCurrentLrc = (index, time) => { - const currentTime = lrcTimeArray.value[index]; - const nextTime = lrcTimeArray.value[index + 1]; - const nowTime2 = time + correctionTime.value; - const isTrue = nowTime2 > currentTime && nowTime2 < nextTime; - return isTrue; -}; -const getLrcIndex = (time) => { - for (let i = 0; i < lrcTimeArray.value.length; i++) { - if (isCurrentLrc(i, time)) { - nowIndex.value = i; - return i; - } - } - return nowIndex.value; -}; -const currentLrcTiming = computed(() => { - const start = lrcTimeArray.value[nowIndex.value] || 0; - const end = lrcTimeArray.value[nowIndex.value + 1] || start + 1; - return { start, end }; -}); -const getLrcStyle = (index) => { - if (index === nowIndex.value) { - return { - backgroundImage: `linear-gradient(to right, #ffffff ${currentLrcProgress.value}%, #ffffff8a ${currentLrcProgress.value}%)`, - backgroundClip: "text", - WebkitBackgroundClip: "text", - color: "transparent", - transition: "background-image 0.1s linear" - }; - } - return {}; -}; -const useLyricProgress = () => { - let animationFrameId = null; - const updateProgress = () => { - if (!isPlaying.value) return; - const currentSound = sound.value; - if (!currentSound) return; - const { start, end } = currentLrcTiming.value; - const duration = end - start; - const elapsed = currentSound.seek() - start; - currentLrcProgress.value = Math.min(Math.max(elapsed / duration * 100, 0), 100); - animationFrameId = requestAnimationFrame(updateProgress); - }; - const startProgressAnimation = () => { - if (!animationFrameId && isPlaying.value) { - updateProgress(); - } - }; - const stopProgressAnimation = () => { - if (animationFrameId) { - cancelAnimationFrame(animationFrameId); - animationFrameId = null; - } - }; - watch(isPlaying, (newIsPlaying) => { - if (newIsPlaying) { - startProgressAnimation(); - } else { - stopProgressAnimation(); - } - }); - onMounted(() => { - if (isPlaying.value) { - startProgressAnimation(); - } - }); - onUnmounted(() => { - stopProgressAnimation(); - }); - return { - currentLrcProgress, - getLrcStyle - }; -}; -const setAudioTime = (index) => { - const currentSound = sound.value; - if (!currentSound) return; - currentSound.seek(lrcTimeArray.value[index]); - currentSound.play(); -}; -watch( - () => lrcArray.value, - (newLrcArray) => { - if (newLrcArray.length > 0 && isElectron && isLyricWindowOpen.value) { - sendLyricToWin(); - } - } -); -const sendLyricToWin = () => { - if (!isElectron || !isLyricWindowOpen.value) { - console.log("Cannot send lyric: electron or lyric window not available"); - return; - } - try { - if (lrcArray.value.length > 0) { - const nowIndex2 = getLrcIndex(nowTime.value); - const updateData = { - type: "full", - nowIndex: nowIndex2, - nowTime: nowTime.value, - startCurrentTime: lrcTimeArray.value[nowIndex2], - nextTime: lrcTimeArray.value[nowIndex2 + 1], - isPlay: isPlaying.value, - lrcArray: lrcArray.value, - lrcTimeArray: lrcTimeArray.value, - allTime: allTime.value, - playMusic: playMusic.value - }; - window.api.sendLyric(JSON.stringify(updateData)); - } - } catch (error) { - console.error("Error sending lyric update:", error); - } -}; -const openLyric = () => { - if (!isElectron) return; - console.log("Opening lyric window with current song:", playMusic.value?.name); - isLyricWindowOpen.value = !isLyricWindowOpen.value; - if (isLyricWindowOpen.value) { - setTimeout(() => { - window.api.openLyric(); - sendLyricToWin(); - }, 500); - sendLyricToWin(); - } else { - closeLyric(); - } -}; -const closeLyric = () => { - if (!isElectron) return; - windowData.electron.ipcRenderer.send("close-lyric"); -}; -if (isElectron) { - windowData.electron.ipcRenderer.on("lyric-control-back", (_, command) => { - switch (command) { - case "playpause": - if (store.state.play) { - store.commit("setPlayMusic", false); - audioService.getCurrentSound()?.pause(); - } else { - store.commit("setPlayMusic", true); - audioService.getCurrentSound()?.play(); - } - break; - case "prev": - store.commit("prevPlay"); - break; - case "next": - store.commit("nextPlay"); - break; - case "close": - closeLyric(); - break; - default: - console.log("Unknown command:", command); - break; - } - }); -} -const _hoisted_1$1 = { id: "drawer-target" }; -const _hoisted_2$1 = { class: "music-content-name" }; -const _hoisted_3$1 = { class: "music-content-singer" }; -const _hoisted_4$1 = { class: "music-content" }; -const _hoisted_5$1 = ["id", "onClick"]; -const _hoisted_6$1 = { class: "music-lrc-text-tr" }; -const _hoisted_7$1 = { - key: 0, - class: "music-lrc-text mt-40" -}; -const _sfc_main$1 = /* @__PURE__ */ defineComponent({ - __name: "MusicFull", - props: { - musicFull: { - type: Boolean, - default: false - }, - background: { - type: String, - default: "" - } - }, - setup(__props, { expose: __expose }) { - const lrcSider = ref(null); - const isMouse = ref(false); - const lrcContainer = ref(null); - const currentBackground = ref(""); - const animationFrame = ref(null); - const isDark = ref(false); - const props = __props; - const lrcScroll = (behavior = "smooth") => { - const nowEl = document.querySelector(`#music-lrc-text-${nowIndex.value}`); - if (props.musicFull && !isMouse.value && nowEl && lrcContainer.value) { - const containerRect = lrcContainer.value.getBoundingClientRect(); - const nowElRect = nowEl.getBoundingClientRect(); - const relativeTop = nowElRect.top - containerRect.top; - const scrollTop = relativeTop - lrcSider.value.$el.getBoundingClientRect().height / 2; - lrcSider.value.scrollTo({ top: scrollTop, behavior }); - } - }; - const debouncedLrcScroll = useDebounceFn(lrcScroll, 200); - const mouseOverLayout = () => { - isMouse.value = true; - }; - const mouseLeaveLayout = () => { - setTimeout(() => { - isMouse.value = false; - lrcScroll(); - }, 2e3); - }; - watch(nowIndex, () => { - debouncedLrcScroll(); - }); - watch( - () => props.musicFull, - () => { - if (props.musicFull) { - nextTick(() => { - lrcScroll("instant"); - }); - } - } - ); - watch( - () => props.background, - (newBg) => { - if (!newBg) { - textColors.value = getTextColors(); - document.documentElement.style.setProperty( - "--hover-bg-color", - getHoverBackgroundColor(false) - ); - document.documentElement.style.setProperty("--text-color-primary", textColors.value.primary); - document.documentElement.style.setProperty("--text-color-active", textColors.value.active); - return; - } - if (currentBackground.value) { - if (animationFrame.value) { - cancelAnimationFrame(animationFrame.value); - } - animationFrame.value = animateGradient(currentBackground.value, newBg, (gradient) => { - currentBackground.value = gradient; - }); - } else { - currentBackground.value = newBg; - } - textColors.value = getTextColors(newBg); - isDark.value = textColors.value.active === "#000000"; - document.documentElement.style.setProperty( - "--hover-bg-color", - getHoverBackgroundColor(isDark.value) - ); - document.documentElement.style.setProperty("--text-color-primary", textColors.value.primary); - document.documentElement.style.setProperty("--text-color-active", textColors.value.active); - }, - { immediate: true } - ); - const { getLrcStyle: originalLrcStyle } = useLyricProgress(); - const getLrcStyle2 = (index) => { - const colors = textColors.value || getTextColors; - const originalStyle = originalLrcStyle(index); - if (index === nowIndex.value) { - return { - ...originalStyle, - backgroundImage: originalStyle.backgroundImage?.replace(/#ffffff/g, colors.active).replace(/#ffffff8a/g, `${colors.primary}`), - backgroundClip: "text", - WebkitBackgroundClip: "text", - color: "transparent" - }; - } - return { - color: colors.primary - }; - }; - onBeforeUnmount(() => { - if (animationFrame.value) { - cancelAnimationFrame(animationFrame.value); - } - }); - __expose({ - lrcScroll - }); - return (_ctx, _cache) => { - const _component_n_image = NImage; - const _component_n_layout = __unplugin_components_1; - const _component_n_drawer = __unplugin_components_2; - return openBlock(), createBlock(_component_n_drawer, { - show: __props.musicFull, - height: "100%", - placement: "bottom", - style: normalizeStyle({ background: currentBackground.value || __props.background }), - to: `#layout-main` - }, { - default: withCtx(() => [ - createBaseVNode("div", _hoisted_1$1, [ - _cache[1] || (_cache[1] = createBaseVNode("div", { class: "drawer-back" }, null, -1)), - createBaseVNode("div", { - class: "music-img", - style: normalizeStyle({ color: unref(textColors).theme === "dark" ? "#000000" : "#ffffff" }) - }, [ - createVNode(_component_n_image, { - ref: "PicImgRef", - src: unref(getImgUrl)(unref(playMusic)?.picUrl, "500y500"), - class: "img", - lazy: "", - "preview-disabled": "" - }, null, 8, ["src"]), - createBaseVNode("div", null, [ - createBaseVNode("div", _hoisted_2$1, toDisplayString(unref(playMusic).name), 1), - createBaseVNode("div", _hoisted_3$1, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(playMusic).ar || unref(playMusic).song.artists, (item, index) => { - return openBlock(), createElementBlock("span", { key: index }, toDisplayString(item.name) + toDisplayString(index < (unref(playMusic).ar || unref(playMusic).song.artists).length - 1 ? " / " : ""), 1); - }), 128)) - ]) - ]) - ], 4), - createBaseVNode("div", _hoisted_4$1, [ - createVNode(_component_n_layout, { - ref_key: "lrcSider", - ref: lrcSider, - class: "music-lrc", - style: { "height": "60vh" }, - "native-scrollbar": false, - onMouseover: mouseOverLayout, - onMouseleave: mouseLeaveLayout - }, { - default: withCtx(() => [ - createBaseVNode("div", { - ref_key: "lrcContainer", - ref: lrcContainer - }, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(lrcArray), (item, index) => { - return openBlock(), createElementBlock("div", { - id: `music-lrc-text-${index}`, - key: index, - class: normalizeClass(["music-lrc-text", { "now-text": index === unref(nowIndex), "hover-text": item.text }]), - onClick: ($event) => unref(setAudioTime)(index) - }, [ - createBaseVNode("span", { - style: normalizeStyle(getLrcStyle2(index)) - }, toDisplayString(item.text), 5), - createBaseVNode("div", _hoisted_6$1, toDisplayString(item.trText), 1) - ], 10, _hoisted_5$1); - }), 128)), - !unref(lrcArray).length ? (openBlock(), createElementBlock("div", _hoisted_7$1, _cache[0] || (_cache[0] = [ - createBaseVNode("span", null, "暂无歌词, 请欣赏", -1) - ]))) : createCommentVNode("", true) - ], 512) - ]), - _: 1 - }, 512) - ]) - ]) - ]), - _: 1 - }, 8, ["show", "style"]); - }; - } -}); -const MusicFull = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-03432cea"]]); -const _hoisted_1 = { class: "music-time custom-slider" }; -const _hoisted_2 = { class: "hover-arrow" }; -const _hoisted_3 = { class: "hover-content" }; -const _hoisted_4 = { class: "hover-text" }; -const _hoisted_5 = { class: "music-content" }; -const _hoisted_6 = { class: "music-content-title" }; -const _hoisted_7 = { class: "music-content-name" }; -const _hoisted_8 = { class: "music-buttons" }; -const _hoisted_9 = { class: "audio-button" }; -const _hoisted_10 = { class: "audio-volume custom-slider" }; -const _hoisted_11 = { class: "volume-slider" }; -const _hoisted_12 = { class: "music-play-list" }; -const _hoisted_13 = { class: "music-play-list-content" }; -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "PlayBar", - setup(__props) { - const store2 = useStore(); - const playMusic2 = computed(() => store2.state.playMusic); - const play = computed(() => store2.state.play); - const playList = computed(() => store2.state.playList); - const background = ref("#000"); - watch( - () => store2.state.playMusic, - async () => { - background.value = playMusic2.value.backgroundColor; - }, - { immediate: true, deep: true } - ); - const throttledSeek = useThrottleFn((value) => { - if (!sound.value) return; - sound.value.seek(value); - nowTime.value = value; - }, 50); - const timeSlider = computed({ - get: () => nowTime.value, - set: throttledSeek - }); - const formatTooltip = (value) => { - return `${secondToMinute(value)} / ${secondToMinute(allTime.value)}`; - }; - const audioVolume = ref( - localStorage.getItem("volume") ? parseFloat(localStorage.getItem("volume")) : 1 - ); - const getVolumeIcon = computed(() => { - if (audioVolume.value === 0) { - return "ri-volume-mute-line"; - } - if (audioVolume.value <= 0.5) { - return "ri-volume-down-line"; - } - return "ri-volume-up-line"; - }); - const volumeSlider = computed({ - get: () => audioVolume.value * 100, - set: (value) => { - if (!sound.value) return; - localStorage.setItem("volume", (value / 100).toString()); - sound.value.volume(value / 100); - audioVolume.value = value / 100; - } - }); - const mute = () => { - if (volumeSlider.value === 0) { - volumeSlider.value = 30; - } else { - volumeSlider.value = 0; - } - }; - const playMode = computed(() => store2.state.playMode); - const playModeIcon = computed(() => { - switch (playMode.value) { - case 0: - return "ri-repeat-2-line"; - case 1: - return "ri-repeat-one-line"; - case 2: - return "ri-shuffle-line"; - default: - return "ri-repeat-2-line"; - } - }); - const playModeText = computed(() => { - switch (playMode.value) { - case 0: - return "列表循环"; - case 1: - return "单曲循环"; - case 2: - return "随机播放"; - default: - return "列表循环"; - } - }); - const togglePlayMode = () => { - store2.commit("togglePlayMode"); - }; - function handleNext() { - store2.commit("nextPlay"); - } - function handlePrev() { - store2.commit("prevPlay"); - } - const MusicFullRef = ref(null); - const playMusicEvent = async () => { - if (play.value) { - if (sound.value) { - sound.value.pause(); - } - store2.commit("setPlayMusic", false); - } else { - if (sound.value) { - sound.value.play(); - } - store2.commit("setPlayMusic", true); - } - }; - const musicFullVisible = ref(false); - const setMusicFull = () => { - musicFullVisible.value = !musicFullVisible.value; - }; - const palyListRef = useTemplateRef("palyListRef"); - const scrollToPlayList = (val) => { - if (!val) return; - setTimeout(() => { - palyListRef.value?.scrollTo({ top: store2.state.playListIndex * 62 }); - }, 50); - }; - const isFavorite = computed(() => { - return store2.state.favoriteList.includes(playMusic2.value.id); - }); - const toggleFavorite = async (e) => { - e.stopPropagation(); - if (isFavorite.value) { - store2.commit("removeFromFavorite", playMusic2.value.id); - } else { - store2.commit("addToFavorite", playMusic2.value.id); - } - }; - const openLyricWindow = () => { - openLyric(); - }; - return (_ctx, _cache) => { - const _component_n_slider = __unplugin_components_0; - const _component_n_image = NImage; - const _component_n_ellipsis = __unplugin_components_2$1; - const _component_n_tooltip = __unplugin_components_3; - const _component_n_virtual_list = __unplugin_components_4; - const _component_n_popover = __unplugin_components_5; - return openBlock(), createElementBlock(Fragment, null, [ - createVNode(MusicFull, { - ref_key: "MusicFullRef", - ref: MusicFullRef, - "music-full": unref(musicFullVisible), - "onUpdate:musicFull": _cache[0] || (_cache[0] = ($event) => isRef(musicFullVisible) ? musicFullVisible.value = $event : null), - background: unref(background) - }, null, 8, ["music-full", "background"]), - createBaseVNode("div", { - class: normalizeClass([ - "music-play-bar", - unref(setAnimationClass)("animate__bounceInUp") + " " + (unref(musicFullVisible) ? "play-bar-opcity" : "") - ]), - style: normalizeStyle({ - color: unref(musicFullVisible) ? unref(textColors).theme === "dark" ? "#000000" : "#ffffff" : unref(store2).state.theme === "dark" ? "#ffffff" : "#000000" - }) - }, [ - createBaseVNode("div", _hoisted_1, [ - createVNode(_component_n_slider, { - value: unref(timeSlider), - "onUpdate:value": _cache[1] || (_cache[1] = ($event) => isRef(timeSlider) ? timeSlider.value = $event : null), - step: 1, - max: unref(allTime), - min: 0, - "format-tooltip": formatTooltip - }, null, 8, ["value", "max"]) - ]), - createBaseVNode("div", { - class: "play-bar-img-wrapper", - onClick: setMusicFull - }, [ - createVNode(_component_n_image, { - src: unref(getImgUrl)(unref(playMusic2)?.picUrl, "500y500"), - class: "play-bar-img", - lazy: "", - "preview-disabled": "" - }, null, 8, ["src"]), - createBaseVNode("div", _hoisted_2, [ - createBaseVNode("div", _hoisted_3, [ - createBaseVNode("i", { - class: normalizeClass(["text-3xl", unref(musicFullVisible) ? "ri-arrow-down-s-line" : "ri-arrow-up-s-line"]) - }, null, 2), - createBaseVNode("span", _hoisted_4, toDisplayString(unref(musicFullVisible) ? "收起" : "展开") + "歌词", 1) - ]) - ]) - ]), - createBaseVNode("div", _hoisted_5, [ - createBaseVNode("div", _hoisted_6, [ - createVNode(_component_n_ellipsis, { - class: "text-ellipsis", - "line-clamp": "1" - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(unref(playMusic2).name), 1) - ]), - _: 1 - }) - ]), - createBaseVNode("div", _hoisted_7, [ - createVNode(_component_n_ellipsis, { - class: "text-ellipsis", - "line-clamp": "1" - }, { - default: withCtx(() => [ - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(playMusic2).ar || unref(playMusic2).song.artists, (artists, artistsindex) => { - return openBlock(), createElementBlock("span", { key: artistsindex }, toDisplayString(artists.name) + toDisplayString(artistsindex < (unref(playMusic2).ar || unref(playMusic2).song.artists).length - 1 ? " / " : ""), 1); - }), 128)) - ]), - _: 1 - }) - ]) - ]), - createBaseVNode("div", _hoisted_8, [ - createBaseVNode("div", { - class: "music-buttons-prev", - onClick: handlePrev - }, _cache[3] || (_cache[3] = [ - createBaseVNode("i", { class: "iconfont icon-prev" }, null, -1) - ])), - createBaseVNode("div", { - class: "music-buttons-play", - onClick: playMusicEvent - }, [ - createBaseVNode("i", { - class: normalizeClass(["iconfont icon", unref(play) ? "icon-stop" : "icon-play"]) - }, null, 2) - ]), - createBaseVNode("div", { - class: "music-buttons-next", - onClick: handleNext - }, _cache[4] || (_cache[4] = [ - createBaseVNode("i", { class: "iconfont icon-next" }, null, -1) - ])) - ]), - createBaseVNode("div", _hoisted_9, [ - createBaseVNode("div", _hoisted_10, [ - createBaseVNode("div", { - class: "volume-icon", - onClick: mute - }, [ - createBaseVNode("i", { - class: normalizeClass(["iconfont", unref(getVolumeIcon)]) - }, null, 2) - ]), - createBaseVNode("div", _hoisted_11, [ - createVNode(_component_n_slider, { - value: unref(volumeSlider), - "onUpdate:value": _cache[2] || (_cache[2] = ($event) => isRef(volumeSlider) ? volumeSlider.value = $event : null), - step: 0.01, - tooltip: false, - vertical: "" - }, null, 8, ["value"]) - ]) - ]), - !unref(isMobile) ? (openBlock(), createBlock(_component_n_tooltip, { - key: 0, - trigger: "hover", - "z-index": 9999999 - }, { - trigger: withCtx(() => [ - createBaseVNode("i", { - class: normalizeClass(["iconfont", unref(playModeIcon)]), - onClick: togglePlayMode - }, null, 2) - ]), - default: withCtx(() => [ - createTextVNode(" " + toDisplayString(unref(playModeText)), 1) - ]), - _: 1 - })) : createCommentVNode("", true), - !unref(isMobile) ? (openBlock(), createBlock(_component_n_tooltip, { - key: 1, - trigger: "hover", - "z-index": 9999999 - }, { - trigger: withCtx(() => [ - createBaseVNode("i", { - class: normalizeClass(["iconfont icon-likefill", { "like-active": unref(isFavorite) }]), - onClick: toggleFavorite - }, null, 2) - ]), - default: withCtx(() => [ - _cache[5] || (_cache[5] = createTextVNode(" 喜欢 ")) - ]), - _: 1 - })) : createCommentVNode("", true), - unref(isElectron) ? (openBlock(), createBlock(_component_n_tooltip, { - key: 2, - class: "music-lyric", - trigger: "hover", - "z-index": 9999999 - }, { - trigger: withCtx(() => [ - createBaseVNode("i", { - class: normalizeClass(["iconfont ri-netease-cloud-music-line", { "text-green-500": unref(isLyricWindowOpen) }]), - onClick: openLyricWindow - }, null, 2) - ]), - default: withCtx(() => [ - _cache[6] || (_cache[6] = createTextVNode(" 歌词 ")) - ]), - _: 1 - })) : createCommentVNode("", true), - createVNode(_component_n_popover, { - trigger: "click", - "z-index": 99999999, - "content-class": "music-play", - raw: "", - "show-arrow": false, - delay: 200, - "arrow-wrapper-style": " border-radius:1.5rem", - onUpdateShow: scrollToPlayList - }, { - trigger: withCtx(() => [ - createVNode(_component_n_tooltip, { - trigger: "manual", - "z-index": 9999999 - }, { - trigger: withCtx(() => _cache[7] || (_cache[7] = [ - createBaseVNode("i", { class: "iconfont icon-list" }, null, -1) - ])), - default: withCtx(() => [ - _cache[8] || (_cache[8] = createTextVNode(" 播放列表 ")) - ]), - _: 1 - }) - ]), - default: withCtx(() => [ - createBaseVNode("div", _hoisted_12, [ - _cache[9] || (_cache[9] = createBaseVNode("div", { class: "music-play-list-back" }, null, -1)), - createVNode(_component_n_virtual_list, { - ref_key: "palyListRef", - ref: palyListRef, - "item-size": 62, - "item-resizable": "", - items: unref(playList) - }, { - default: withCtx(({ item }) => [ - createBaseVNode("div", _hoisted_13, [ - (openBlock(), createBlock(SongItem, { - key: item.id, - item, - mini: "" - }, null, 8, ["item"])) - ]) - ]), - _: 1 - }, 8, ["items"]) - ]) - ]), - _: 1 - }) - ]) - ], 6) - ], 64); - }; - } -}); -const PlayBar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5d6cadda"]]); -export { - PlayBar as default -}; diff --git a/out/renderer/assets/PlayBar-BNzUvTGp.js.gz b/out/renderer/assets/PlayBar-BNzUvTGp.js.gz deleted file mode 100644 index a4773f8aceeab622c3b9fa5dfde4b0d23a5e1ea7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11931 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 diff --git a/out/renderer/assets/PlayBar-Ct36doNR.css b/out/renderer/assets/PlayBar-Ct36doNR.css deleted file mode 100644 index 59acd4d..0000000 --- a/out/renderer/assets/PlayBar-Ct36doNR.css +++ /dev/null @@ -1,502 +0,0 @@ -@keyframes round-03432cea { -0% { - transform: rotate(0deg); -} -100% { - transform: rotate(360deg); -} -} -.drawer-back[data-v-03432cea] { - position: absolute; - background-size: cover; - background-position: center; - z-index: -1; - width: 200%; - height: 200%; - top: -50%; - left: -50%; -} -.drawer-back.paused[data-v-03432cea] { - animation-play-state: paused; -} -#drawer-target[data-v-03432cea] { - position: absolute; - top: 0px; - left: 0px; - display: flex; - height: 100%; - width: 100%; - align-items: center; - justify-content: center; - overflow: hidden; - border-radius: 0.25rem; - padding-left: 6rem; - padding-right: 6rem; - padding-bottom: 2rem; - animation-duration: 300ms; -} -#drawer-target .music-img[data-v-03432cea] { - margin-right: 4rem; - display: flex; - flex: 1 1 0%; - flex-direction: column; - justify-content: center; - max-width: 360px; - max-height: 360px; -} -#drawer-target .music-img .img[data-v-03432cea] { - height: 100%; - width: 100%; - border-radius: 0.75rem; - --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); - --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} -#drawer-target .music-content[data-v-03432cea] { - position: relative; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; -} -#drawer-target .music-content-name[data-v-03432cea] { - padding-bottom: 0.25rem; - padding-top: 1rem; - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: 700; -} -#drawer-target .music-content-singer[data-v-03432cea] { - font-size: 1rem; - line-height: 1.5rem; -} -#drawer-target .music-content-time[data-v-03432cea] { - display: none; - display: flex; - align-items: center; - justify-content: center; -} -#drawer-target .music-lrc[data-v-03432cea] { - background-color: inherit; - width: 500px; - height: 550px; - -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%); - mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%); -} -#drawer-target .music-lrc-text[data-v-03432cea] { - cursor: pointer; - padding-left: 0.5rem; - padding-right: 0.5rem; - padding-top: 1rem; - padding-bottom: 1rem; - font-size: 1.5rem; - line-height: 2rem; - font-weight: 700; - transition: all 0.3s ease; - background-color: transparent; -} -#drawer-target .music-lrc-text span[data-v-03432cea] { - background-clip: text !important; - -webkit-background-clip: text !important; - padding-right: 30px; -} -#drawer-target .music-lrc-text-tr[data-v-03432cea] { - font-weight: 400; - opacity: 0.7; - color: var(--text-color-primary); -} -#drawer-target .music-lrc .hover-text[data-v-03432cea]:hover { - border-radius: 0.75rem; - font-weight: 700; - opacity: 1; - background-color: var(--hover-bg-color); -} -#drawer-target .music-lrc .hover-text:hover span[data-v-03432cea] { - color: var(--text-color-active) !important; -} -.mobile #drawer-target[data-v-03432cea] { - flex-direction: column; - justify-content: flex-start; - padding: 1rem; - padding-top: 2rem; -} -.mobile #drawer-target .music-img[data-v-03432cea] { - display: none; -} -.mobile #drawer-target .music-lrc[data-v-03432cea] { - height: calc(100vh - 260px) !important; - width: 100vw; -} -.mobile #drawer-target .music-lrc span[data-v-03432cea] { - padding-right: 0px !important; -} -.mobile #drawer-target .music-lrc-text[data-v-03432cea] { - text-align: center; - font-size: 1.25rem; - line-height: 1.75rem; -} -.music-drawer[data-v-03432cea] { - transition: none; -}.text-ellipsis[data-v-5d6cadda] { - width: 100%; -} -.music-play-bar[data-v-5d6cadda] { - position: absolute; - bottom: 0px; - left: 0px; - box-sizing: border-box; - display: flex; - height: 5rem; - width: 100%; - align-items: center; - padding-left: 1.5rem; - padding-right: 1.5rem; - padding-bottom: 0.5rem; - padding-top: 0.75rem; - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); - --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); - --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); - --tw-shadow-color: #d1d5db; - --tw-shadow: var(--tw-shadow-colored); -} -.music-play-bar[data-v-5d6cadda]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} -.music-play-bar[data-v-5d6cadda] { - z-index: 9999; - animation-duration: 0.5s !important; -} -.music-play-bar .music-content[data-v-5d6cadda] { - width: 160px; - margin-left: 1rem; -} -.music-play-bar .music-content-title[data-v-5d6cadda] { - font-size: 1rem; - line-height: 1.5rem; -} -.music-play-bar .music-content-name[data-v-5d6cadda] { - margin-top: 0.25rem; - font-size: 0.75rem; - line-height: 1rem; - opacity: 0.8; -} -.play-bar-opcity[data-v-5d6cadda] { - background-color: transparent !important; - box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.1137254902); -} -.play-bar-img[data-v-5d6cadda] { - height: 3.5rem; - width: 3.5rem; - border-radius: 1rem; -} -.music-buttons[data-v-5d6cadda] { - margin-left: 1.5rem; - margin-right: 1.5rem; - flex: 1 1 0%; - justify-content: center; - display: flex; - align-items: center; -} -.music-buttons .iconfont[data-v-5d6cadda] { - font-size: 1.5rem; - line-height: 2rem; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.music-buttons .iconfont[data-v-5d6cadda]:hover { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity, 1)); -} -.music-buttons .icon[data-v-5d6cadda] { - font-size: 1.875rem; - line-height: 2.25rem; -} -.music-buttons .icon[data-v-5d6cadda]:hover { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity, 1)); -} -.music-buttons > div[data-v-5d6cadda] { - cursor: pointer; -} -.music-buttons-play[data-v-5d6cadda] { - margin-left: 1rem; - margin-right: 1rem; - display: flex; - height: 3rem; - width: 5rem; - align-items: center; - justify-content: center; - border-radius: 9999px; - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity, 1)); - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; - background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)); - --tw-bg-opacity: 0.6; -} -.music-buttons-play[data-v-5d6cadda]:hover { - --tw-bg-opacity: 1; - background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1)); -} -.audio-volume[data-v-5d6cadda] { - position: relative; - display: flex; - align-items: center; -} -.audio-volume:hover .volume-slider[data-v-5d6cadda] { - visibility: visible; - opacity: 1; -} -.audio-volume .volume-icon[data-v-5d6cadda] { - cursor: pointer; -} -.audio-volume .iconfont[data-v-5d6cadda] { - font-size: 1.5rem; - line-height: 2rem; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.audio-volume .iconfont[data-v-5d6cadda]:hover { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity, 1)); -} -.audio-volume .volume-slider[data-v-5d6cadda] { - visibility: hidden; - position: absolute; - bottom: 30px; - left: 50%; - height: 180px; - --tw-translate-x: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - border-radius: 0.75rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - padding-top: 1rem; - padding-bottom: 1rem; - opacity: 0; - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 300ms; - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); -} -.audio-volume .volume-slider[data-v-5d6cadda]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)); -} -.audio-volume .volume-slider[data-v-5d6cadda] { - border-width: 1px; - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)); -} -.audio-volume .volume-slider[data-v-5d6cadda]:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(55 65 81 / var(--tw-border-opacity, 1)); -} -.audio-button[data-v-5d6cadda] { - margin-left: 1rem; - margin-right: 1rem; - display: flex; - align-items: center; -} -.audio-button .iconfont[data-v-5d6cadda] { - margin: 1rem; - cursor: pointer; - font-size: 1.5rem; - line-height: 2rem; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.audio-button .iconfont[data-v-5d6cadda]:hover { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity, 1)); -} -.music-play-list[data-v-5d6cadda] { - height: 50vh; - width: 300px; - position: relative; - overflow: hidden; - border-radius: 1.5rem; - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} -.music-play-list-back[data-v-5d6cadda] { - -webkit-backdrop-filter: blur(20px); - backdrop-filter: blur(20px); - position: absolute; - top: 0px; - left: 0px; - height: 100%; - width: 100%; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); - --tw-bg-opacity: 0.75; -} -.music-play-list-back[data-v-5d6cadda]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} -.music-play-list-content[data-v-5d6cadda] { - margin-left: 0.5rem; - margin-right: 0.5rem; -} -.mobile .music-play-bar[data-v-5d6cadda] { - padding-left: 1rem; - padding-right: 1rem; - bottom: 70px; -} -.mobile .music-time[data-v-5d6cadda] { - display: none; -} -.mobile .ri-netease-cloud-music-line[data-v-5d6cadda] { - display: none; -} -.mobile .audio-volume[data-v-5d6cadda] { - display: none; -} -.mobile .audio-button[data-v-5d6cadda] { - margin-left: 0px; - margin-right: 0px; -} -.mobile .music-buttons[data-v-5d6cadda] { - margin: 0px; -} -.mobile .music-buttons-prev[data-v-5d6cadda], .mobile .music-buttons-next[data-v-5d6cadda] { - display: none; -} -.mobile .music-buttons-play[data-v-5d6cadda] { - margin: 0px; -} -.mobile .music-content[data-v-5d6cadda] { - flex: 1; -} -.custom-slider[data-v-5d6cadda] .n-slider { - --n-rail-height: 4px; - --n-rail-color: #e5e7eb; - --n-rail-color-dark: #374151; - --n-fill-color: #22c55e; - --n-handle-size: 12px; - --n-handle-color: #22c55e; -} -.custom-slider[data-v-5d6cadda] .n-slider.n-slider--vertical { - height: 100%; -} -.custom-slider[data-v-5d6cadda] .n-slider.n-slider--vertical .n-slider-rail { - width: 4px; -} -.custom-slider[data-v-5d6cadda] .n-slider.n-slider--vertical:hover .n-slider-rail { - width: 6px; -} -.custom-slider[data-v-5d6cadda] .n-slider.n-slider--vertical:hover .n-slider-handle { - width: 14px; - height: 14px; -} -.custom-slider[data-v-5d6cadda] .n-slider .n-slider-rail { - overflow: hidden; - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 200ms; - background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1)) !important; - --tw-bg-opacity: 0.1 !important; -} -.custom-slider[data-v-5d6cadda] .n-slider .n-slider-rail:is(.dark *) { - --tw-bg-opacity: 1 !important; - background-color: rgb(61 61 61 / var(--tw-bg-opacity, 1)) !important; -} -.custom-slider[data-v-5d6cadda] .n-slider .n-slider-handle { - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 200ms; - opacity: 0; -} -.custom-slider[data-v-5d6cadda] .n-slider:hover .n-slider-handle { - opacity: 1; -} -.play-bar-img-wrapper[data-v-5d6cadda] { - position: relative; - height: 3.5rem; - width: 3.5rem; - cursor: pointer; -} -.play-bar-img-wrapper .hover-arrow[data-v-5d6cadda] { - position: absolute; - inset: 0px; - display: flex; - align-items: center; - justify-content: center; - border-radius: 1rem; - opacity: 0; - transition-property: opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 300ms; - background: rgba(0, 0, 0, 0.5); -} -.play-bar-img-wrapper .hover-arrow .hover-content[data-v-5d6cadda] { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; -} -.play-bar-img-wrapper .hover-arrow .hover-content i[data-v-5d6cadda] { - margin-bottom: 0.125rem; - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.play-bar-img-wrapper .hover-arrow .hover-content .hover-text[data-v-5d6cadda] { - --tw-scale-x: .9; - --tw-scale-y: .9; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - font-size: 0.75rem; - line-height: 1rem; - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.play-bar-img-wrapper:hover .hover-arrow[data-v-5d6cadda] { - opacity: 1; -} -.tooltip-content[data-v-5d6cadda] { - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - font-size: 0.875rem; - line-height: 1.25rem; -} -.play-bar-img[data-v-5d6cadda] { - height: 3.5rem; - width: 3.5rem; - border-radius: 1rem; -} -.like-active[data-v-5d6cadda] { - --tw-text-opacity: 1 !important; - color: rgb(239 68 68 / var(--tw-text-opacity, 1)) !important; -} -.like-active[data-v-5d6cadda]:hover { - --tw-text-opacity: 1 !important; - color: rgb(220 38 38 / var(--tw-text-opacity, 1)) !important; -} -.icon-loop[data-v-5d6cadda], -.icon-single-loop[data-v-5d6cadda] { - font-size: 1.5rem; -} -.music-time .n-slider[data-v-5d6cadda] { - position: absolute; - top: 0; - left: 0; - padding: 0; - border-radius: 0; -} \ No newline at end of file diff --git a/out/renderer/assets/PlayBar-Ct36doNR.css.gz b/out/renderer/assets/PlayBar-Ct36doNR.css.gz deleted file mode 100644 index 1c18e3978b8160e57c2aaa065756587d3513b765..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmV-D3BvXtiwFP!000026YU$>j@vl$y}yEsAb`CvHIi((+X^t)&)C6YA83iTxlM@z zMIW6({(V7-k|>(gk+d@hI&l#5tYY0PmjCsN-wqsQxCES?^A!5)%{ojl0>3}`pTX}> z001C3%F6@eSqwN6NZ^H^;^Xqm)3>LH z!Ac?s%VU7{C8KA7zdQjT=O1g_O7a!QAYm8Gjgf9?f^$(1e}yDZ@ht{0kj*Pe#VH1% z?|+uf6DG%#=-Pr6F@RCsp!gt~Rv&Y(K<5&t_5+}tWJsa`3yR)gDTxq+dWGERliEli ze#Bx95i0Eb;?^Oj8Yw9ytQZ_9zUk)*)Vb8Ln3!Dpm zNK*Si*);|ylBPJXD9?C`IpioM=Q0Mq7e*Xsa-=|MO7bJDk=z=+yvEJ!-ZLRs7K2dr zcXUk89M#lV`+ip56A^gXxg-fB+0jnV4Dln$8^{|4;f`$b{}==y05zRt8>WQgM2Qun z=PVx~RfcX*(R;mB43d2fPgLi?8Gz?J$OvQaSn}Mk1VV9zSl5tFtAQ$Wu3cC=@RihCsVU9BFK-JI@i>_71AyAzMmJ4MlgKjD% zIc~);=wzdseO3L>zCVs>N%AA+c3gGXcEB~MqX3LNHKsdsX|?0&$!R z;D26$Jw?eY2)eI3`Bk4K?Lno1&7Vg@8XzDP_~y{SNVy(#M-6^Z45@oVs7*~MR-lB4x5@#@wjzkK+j6(62Ns-Uh`$ZX5AaSh`ml>p zT#eOaa{4|SFIyA?JM(H>YsmX!>(eIUsnBxs)I|}LNI$gfaqQcZm$5ye7)%KrXT&Vk z)KVa>i^aVXRhktln{7vBGypS9_Sim7yW6N~f@rb`eE)I+5QH+KS{hQ`MMjtFB!C0l zGL27ho5Y}LMzG?3<*;;DHOGTX_!XcUx&w@6yc83>3N)sa6eTH}Wl_3KP@1Y`y#TWX zRNZX$h}+jVu5eB4V!6Onfg<@@iJ#KrJsZB-G$fgJwduQ+z~xr%2fB#M>Tt{mdw+yu zmPLlzVHAPp-!EM}+pS)KV7dJJ$L$teWAG^r(kR{Eo!*KsPM1^UGA8B1OA&ts|6Eow zI)_^gf!%zXs2FWBVz=AvTz6dGi^@Cm(%al|yRj>7cLlAkz)Au7cEhnT6hu&L-+p?O zKLSI)^z=a}jFp~+(R~c3X>eS+pmkN~z3CIdLV23*x$r)Zo*Ayuvp;WJ^R!p?; zS3rHdAXq<#(Prm|%RVNW%j~1k<_kQ-)O8(3$YXGIe-?t}SP%TEaQqA5HkF`)WYPg0&Uq67pZ8ME@K=KQ!uK{x zBSUGsjkTQ>4kDFloGhl=Rittf6)pPiMe`}^4G4D6V7JlzioV43EIkA!=*WxRG=_~K zow)H&I@PZrB^Udt?ve!N;>xv5v2u1B=Sl{*_P1|+8>-IFp&Qm(#sDfEG)~ySe+EIY z0YUgOLfQ`l_+bFw(EvJcFq<_9HyaRcwo`5}dZg`p+o?)yTA!)ct8fRxbpXP3G#0j_ zb4nPz$Rr6KyUh+h6S$%r9e_HHSGQnENs1j;g$pUkp3v%~)pv@`w3V@WyRF+n*i31E zi;p1e!v_5sgRqHG`mkuls%TU7w|g=l&Wx>lsj;YEq7c0JdbA+PMUlYp))g#hwHNL9 zqB~f(M9;-^-EYffQ?t?Ka;o-n3CdS|{dd3{!MrDF1))&Zjy+VHb%^Z1K zE{7kmANw%WIVY#~Axa-2vULD90eD}8^p~9`qot{V8Zofbtl@Ax z&|Cek6q|-u6oG97UV`aJ)zQ-XUv`G0mm2C=bWnrpfLLC4KLUu40OF4fAVvlG!Rd}F z>q|)~hEu+ge>v$1-=>hneifNen-{oVug0Fc?lJF`ZuZf4a5e^edgcq68t>Jlj7*zZ z136Y1_a5(X{afsFG@U*__5Gu>+5)$!2UzF^ey_N7^AL?A z{EYYaLr`jR3_h)&H$fCM>#puaC~6yJVe_a-amgt2`9jGFMhm-3C_Nah~Rb^@Dk{;9Xi&>u|WI^Gow z2V)i+-uuG9tXTL?qD}CV<_o;_T-yNDpNWV1K8!UX`eT@?r!8h2VMrT{46|OR0IwVs z1?F?|;(;H_{P0WOj3knp^4LUDrxNj99ZIyEM&G6} z=z$;lTZ!2?0x}q9byu4p?A7cI-|-w*1p6&-Hp-UTX5&t!B~N4E?Y{K;-kQF@LGE`( zVb{;#TVo_gjgDb41!Gi@VpwyGYk26shlk&t0PoS$Q4SJlmAs>$j=aOO&33e#7O360F}@O>lgW%gNn>RLCRQhe+^TE@;6o#+vm7mW7|A{ jyf}CMeU7uNB~nYT^nM%Q+a77YJbn8=pDFb$LOcKfVG4@A diff --git a/out/renderer/assets/SearchBar-CIYxJjXH.css b/out/renderer/assets/SearchBar-CIYxJjXH.css deleted file mode 100644 index e2a2a46..0000000 --- a/out/renderer/assets/SearchBar-CIYxJjXH.css +++ /dev/null @@ -1,219 +0,0 @@ -.user-box[data-v-064c45e9] { - margin-left: 1rem; - display: flex; - align-items: center; - justify-content: center; - border-radius: 9999px; - font-size: 1.125rem; - line-height: 1.75rem; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 200ms; - border-width: 1px; - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)); -}.user-box[data-v-064c45e9]:hover { - --tw-border-opacity: 1; - border-color: rgb(156 163 175 / var(--tw-border-opacity, 1)); -}.user-box[data-v-064c45e9]:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-opacity, 1)); -}.user-box[data-v-064c45e9]:hover:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(156 163 175 / var(--tw-border-opacity, 1)); -}.user-box[data-v-064c45e9] { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); -}.user-box[data-v-064c45e9]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)); -} -.search-box[data-v-064c45e9] { - padding-bottom: 1rem; - padding-right: 1rem; -} -.search-box-input[data-v-064c45e9] { - position: relative; -} -.search-box-input[data-v-064c45e9] .n-input { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1)); -} -.search-box-input[data-v-064c45e9] .n-input:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} -.search-box-input[data-v-064c45e9] .n-input .n-input__input-el { - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.search-box-input[data-v-064c45e9] .n-input .n-input__input-el:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.search-box-input[data-v-064c45e9] .n-input .n-input__prefix { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity, 1)); -} -.search-box-input[data-v-064c45e9] .n-input .n-input__prefix:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} -.mobile .search-box[data-v-064c45e9] { - padding-left: 1rem; -} -.github[data-v-064c45e9] { - margin-left: 1rem; - display: flex; - height: 100%; - cursor: pointer; - align-items: center; - justify-content: center; - border-radius: 9999px; - padding-left: 0.5rem; - padding-right: 0.5rem; - font-size: 1.25rem; - line-height: 1.75rem; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.github[data-v-064c45e9]:hover { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity, 1)); -} -.github[data-v-064c45e9]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(243 244 246 / var(--tw-text-opacity, 1)); -} -.github[data-v-064c45e9]:hover:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} -.github[data-v-064c45e9] { - border-width: 1px; - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)); - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); -} -.github[data-v-064c45e9]:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-opacity, 1)); - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} -.user-popover[data-v-064c45e9] { - min-width: 280px; - overflow: hidden; - border-radius: 0.75rem; - padding: 0px; - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); -} -.user-popover[data-v-064c45e9]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} -.user-popover[data-v-064c45e9] { - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); -} -.user-popover .user-header[data-v-064c45e9] { - display: flex; - cursor: pointer; - align-items: center; - gap: 0.5rem; - padding: 0.75rem; - border-bottom-width: 1px; - --tw-border-opacity: 1; - border-color: rgb(243 244 246 / var(--tw-border-opacity, 1)); -} -.user-popover .user-header[data-v-064c45e9]:hover { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)); -} -.user-popover .user-header[data-v-064c45e9]:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(55 65 81 / var(--tw-border-opacity, 1)); -} -.user-popover .user-header[data-v-064c45e9]:hover:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)); -} -.user-popover .user-header .username[data-v-064c45e9] { - font-size: 0.875rem; - line-height: 1.25rem; - font-weight: 500; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.user-popover .user-header .username[data-v-064c45e9]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(229 231 235 / var(--tw-text-opacity, 1)); -} -.user-popover .menu-items[data-v-064c45e9] { - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} -.user-popover .menu-items .menu-item[data-v-064c45e9] { - display: flex; - cursor: pointer; - align-items: center; - padding-left: 0.75rem; - padding-right: 0.75rem; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - font-size: 0.875rem; - line-height: 1.25rem; - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity, 1)); -} -.user-popover .menu-items .menu-item[data-v-064c45e9]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity, 1)); -} -.user-popover .menu-items .menu-item[data-v-064c45e9] { - transition: background-color 0.2s; -} -.user-popover .menu-items .menu-item[data-v-064c45e9]:hover { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)); -} -.user-popover .menu-items .menu-item[data-v-064c45e9]:hover:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)); -} -.user-popover .menu-items .menu-item i[data-v-064c45e9] { - margin-right: 0.25rem; - font-size: 1.125rem; - line-height: 1.75rem; - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity, 1)); -} -.user-popover .menu-items .menu-item i[data-v-064c45e9]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} -.user-popover .menu-items .menu-item .version-info[data-v-064c45e9] { - margin-left: auto; - display: flex; - align-items: center; -} -.user-popover .menu-items .menu-item .version-info .version-number[data-v-064c45e9] { - border-radius: 0.25rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - padding-top: 0.125rem; - padding-bottom: 0.125rem; - font-size: 0.75rem; - line-height: 1rem; - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity, 1)); -} -.user-popover .menu-items .menu-item .version-info .version-number[data-v-064c45e9]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity, 1)); -} \ No newline at end of file diff --git a/out/renderer/assets/SearchBar-CIYxJjXH.css.gz b/out/renderer/assets/SearchBar-CIYxJjXH.css.gz deleted file mode 100644 index 4992291a6e251d7f8c1d6e6722af013967c142f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 997 zcmVIqj z@LBL0X;sJ&on~sQ&B*YhK_L&6X4MAG^j;*%3UZ^>E59;fL@H#2_Js_}u?Ionivaoj zr{H>tEqeuc1=yl1ATL+XhDB}01B!8)w}S8{LKAyH>Hr{Q-cYlmG8Tx^BhvbK1=9l^ z`AbS&plbqj?Z7{9V0zi{bcyBV+v2y?n`tjr2d=ApkFidi4Uo+m$ab1_kuR-~=~wvr zG8)6yft>@cJKgtu6eS6>B1jCs> zVp#`yUu3Y!Z7o-)lyEndb@vTpVsO*a4b`vRc%n&Irf`Adz{Y_cc}939)j%h(F>$H~ zlBK-+1h=#SwszYdaX>Gm#9K4(U_85Ec*K#1uJ`V1Z3w88%c8F5`!dt0s>12DK0CFa zA4_*EwBFCoK-W5Q+bbk*RvOp(J?oI3Lyp&g#C27~xUAia=|e{eyFkerC~= { - switch (e.key) { - case "Control": - state.ctrl = true; - break; - case "Meta": - state.command = true; - state.win = true; - break; - case "Shift": - state.shift = true; - break; - case "Tab": - state.tab = true; - break; - } - if (keydown !== void 0) { - Object.keys(keydown).forEach((key) => { - if (key !== e.key) - return; - const handler = keydown[key]; - if (typeof handler === "function") { - handler(e); - } else { - const { stop = false, prevent = false } = handler; - if (stop) - e.stopPropagation(); - if (prevent) - e.preventDefault(); - handler.handler(e); - } - }); - } - }; - const keyupHandler = (e) => { - switch (e.key) { - case "Control": - state.ctrl = false; - break; - case "Meta": - state.command = false; - state.win = false; - break; - case "Shift": - state.shift = false; - break; - case "Tab": - state.tab = false; - break; - } - if (keyup !== void 0) { - Object.keys(keyup).forEach((key) => { - if (key !== e.key) - return; - const handler = keyup[key]; - if (typeof handler === "function") { - handler(e); - } else { - const { stop = false, prevent = false } = handler; - if (stop) - e.stopPropagation(); - if (prevent) - e.preventDefault(); - handler.handler(e); - } - }); - } - }; - const setup = () => { - if (enabledRef === void 0 || enabledRef.value) { - on("keydown", document, keydownHandler); - on("keyup", document, keyupHandler); - } - if (enabledRef !== void 0) { - watch(enabledRef, (value) => { - if (value) { - on("keydown", document, keydownHandler); - on("keyup", document, keyupHandler); - } else { - off("keydown", document, keydownHandler); - off("keyup", document, keyupHandler); - } - }); - } - }; - if (hasInstance()) { - onBeforeMount(setup); - onBeforeUnmount(() => { - if (enabledRef === void 0 || enabledRef.value) { - off("keydown", document, keydownHandler); - off("keyup", document, keyupHandler); - } - }); - } else { - setup(); - } - return readonly(state); -} -function useDeferredTrue(valueRef, delay, shouldDelayRef) { - const delayedRef = ref(valueRef.value); - let timerId = null; - watch(valueRef, (value) => { - if (timerId !== null) window.clearTimeout(timerId); - if (value === true) { - if (shouldDelayRef && !shouldDelayRef.value) { - delayedRef.value = true; - } else { - timerId = window.setTimeout(() => { - delayedRef.value = true; - }, delay); - } - } else { - delayedRef.value = false; - } - }); - return delayedRef; -} -function createRefSetter(ref2) { - return (inst) => { - if (inst) { - ref2.value = inst.$el; - } else { - ref2.value = null; - } - }; -} -const ChevronRightIcon = defineComponent({ - name: "ChevronRight", - render() { - return h("svg", { - viewBox: "0 0 16 16", - fill: "none", - xmlns: "http://www.w3.org/2000/svg" - }, h("path", { - d: "M5.64645 3.14645C5.45118 3.34171 5.45118 3.65829 5.64645 3.85355L9.79289 8L5.64645 12.1464C5.45118 12.3417 5.45118 12.6583 5.64645 12.8536C5.84171 13.0488 6.15829 13.0488 6.35355 12.8536L10.8536 8.35355C11.0488 8.15829 11.0488 7.84171 10.8536 7.64645L6.35355 3.14645C6.15829 2.95118 5.84171 2.95118 5.64645 3.14645Z", - fill: "currentColor" - })); - } -}); -function toArray(arg) { - if (Array.isArray(arg)) - return arg; - return [arg]; -} -const TRAVERSE_COMMAND = { - STOP: "STOP" -}; -function traverseWithCb(treeNode, callback) { - const command = callback(treeNode); - if (treeNode.children !== void 0 && command !== TRAVERSE_COMMAND.STOP) { - treeNode.children.forEach((childNode) => traverseWithCb(childNode, callback)); - } -} -function getNonLeafKeys(treeNodes, options = {}) { - const { preserveGroup = false } = options; - const keys = []; - const cb = preserveGroup ? (node) => { - if (!node.isLeaf) { - keys.push(node.key); - traverse(node.children); - } - } : (node) => { - if (!node.isLeaf) { - if (!node.isGroup) - keys.push(node.key); - traverse(node.children); - } - }; - function traverse(nodes) { - nodes.forEach(cb); - } - traverse(treeNodes); - return keys; -} -function isLeaf(rawNode, getChildren) { - const { isLeaf: isLeaf2 } = rawNode; - if (isLeaf2 !== void 0) - return isLeaf2; - else if (!getChildren(rawNode)) - return true; - return false; -} -function defaultGetChildren(node) { - return node.children; -} -function defaultGetKey(node) { - return node.key; -} -function isIgnored() { - return false; -} -function isShallowLoaded(rawNode, getChildren) { - const { isLeaf: isLeaf2 } = rawNode; - if (isLeaf2 === false && !Array.isArray(getChildren(rawNode))) - return false; - return true; -} -function isDisabled(rawNode) { - return rawNode.disabled === true; -} -function isExpilicitlyNotLoaded(rawNode, getChildren) { - return rawNode.isLeaf === false && !Array.isArray(getChildren(rawNode)); -} -function unwrapCheckedKeys(result) { - var _a; - if (result === void 0 || result === null) - return []; - if (Array.isArray(result)) - return result; - return (_a = result.checkedKeys) !== null && _a !== void 0 ? _a : []; -} -function unwrapIndeterminateKeys(result) { - var _a; - if (result === void 0 || result === null || Array.isArray(result)) { - return []; - } - return (_a = result.indeterminateKeys) !== null && _a !== void 0 ? _a : []; -} -function merge(originalKeys, keysToAdd) { - const set = new Set(originalKeys); - keysToAdd.forEach((key) => { - if (!set.has(key)) { - set.add(key); - } - }); - return Array.from(set); -} -function minus(originalKeys, keysToRemove) { - const set = new Set(originalKeys); - keysToRemove.forEach((key) => { - if (set.has(key)) { - set.delete(key); - } - }); - return Array.from(set); -} -function isGroup(rawNode) { - return (rawNode === null || rawNode === void 0 ? void 0 : rawNode.type) === "group"; -} -class SubtreeNotLoadedError extends Error { - constructor() { - super(); - this.message = "SubtreeNotLoadedError: checking a subtree whose required nodes are not fully loaded."; - } -} -function getExtendedCheckedKeySetAfterCheck(checkKeys, currentCheckedKeys, treeMate, allowNotLoaded) { - return getExtendedCheckedKeySet(currentCheckedKeys.concat(checkKeys), treeMate, allowNotLoaded, false); -} -function getAvailableAscendantNodeSet(uncheckedKeys, treeMate) { - const visitedKeys = /* @__PURE__ */ new Set(); - uncheckedKeys.forEach((uncheckedKey) => { - const uncheckedTreeNode = treeMate.treeNodeMap.get(uncheckedKey); - if (uncheckedTreeNode !== void 0) { - let nodeCursor = uncheckedTreeNode.parent; - while (nodeCursor !== null) { - if (nodeCursor.disabled) - break; - if (visitedKeys.has(nodeCursor.key)) - break; - else { - visitedKeys.add(nodeCursor.key); - } - nodeCursor = nodeCursor.parent; - } - } - }); - return visitedKeys; -} -function getExtendedCheckedKeySetAfterUncheck(uncheckedKeys, currentCheckedKeys, treeMate, allowNotLoaded) { - const extendedCheckedKeySet = getExtendedCheckedKeySet(currentCheckedKeys, treeMate, allowNotLoaded, false); - const extendedKeySetToUncheck = getExtendedCheckedKeySet(uncheckedKeys, treeMate, allowNotLoaded, true); - const ascendantKeySet = getAvailableAscendantNodeSet(uncheckedKeys, treeMate); - const keysToRemove = []; - extendedCheckedKeySet.forEach((key) => { - if (extendedKeySetToUncheck.has(key) || ascendantKeySet.has(key)) { - keysToRemove.push(key); - } - }); - keysToRemove.forEach((key) => extendedCheckedKeySet.delete(key)); - return extendedCheckedKeySet; -} -function getCheckedKeys(options, treeMate) { - const { checkedKeys, keysToCheck, keysToUncheck, indeterminateKeys, cascade, leafOnly, checkStrategy, allowNotLoaded } = options; - if (!cascade) { - if (keysToCheck !== void 0) { - return { - checkedKeys: merge(checkedKeys, keysToCheck), - indeterminateKeys: Array.from(indeterminateKeys) - }; - } else if (keysToUncheck !== void 0) { - return { - checkedKeys: minus(checkedKeys, keysToUncheck), - indeterminateKeys: Array.from(indeterminateKeys) - }; - } else { - return { - checkedKeys: Array.from(checkedKeys), - indeterminateKeys: Array.from(indeterminateKeys) - }; - } - } - const { levelTreeNodeMap } = treeMate; - let extendedCheckedKeySet; - if (keysToUncheck !== void 0) { - extendedCheckedKeySet = getExtendedCheckedKeySetAfterUncheck(keysToUncheck, checkedKeys, treeMate, allowNotLoaded); - } else if (keysToCheck !== void 0) { - extendedCheckedKeySet = getExtendedCheckedKeySetAfterCheck(keysToCheck, checkedKeys, treeMate, allowNotLoaded); - } else { - extendedCheckedKeySet = getExtendedCheckedKeySet(checkedKeys, treeMate, allowNotLoaded, false); - } - const checkStrategyIsParent = checkStrategy === "parent"; - const checkStrategyIsChild = checkStrategy === "child" || leafOnly; - const syntheticCheckedKeySet = extendedCheckedKeySet; - const syntheticIndeterminateKeySet = /* @__PURE__ */ new Set(); - const maxLevel = Math.max.apply(null, Array.from(levelTreeNodeMap.keys())); - for (let level = maxLevel; level >= 0; level -= 1) { - const levelIsZero = level === 0; - const levelTreeNodes = levelTreeNodeMap.get(level); - for (const levelTreeNode of levelTreeNodes) { - if (levelTreeNode.isLeaf) - continue; - const { key: levelTreeNodeKey, shallowLoaded } = levelTreeNode; - if (checkStrategyIsChild && shallowLoaded) { - levelTreeNode.children.forEach((v) => { - if (!v.disabled && !v.isLeaf && v.shallowLoaded && syntheticCheckedKeySet.has(v.key)) { - syntheticCheckedKeySet.delete(v.key); - } - }); - } - if (levelTreeNode.disabled || !shallowLoaded) { - continue; - } - let fullyChecked = true; - let partialChecked = false; - let allDisabled = true; - for (const childNode of levelTreeNode.children) { - const childKey = childNode.key; - if (childNode.disabled) - continue; - if (allDisabled) - allDisabled = false; - if (syntheticCheckedKeySet.has(childKey)) { - partialChecked = true; - } else if (syntheticIndeterminateKeySet.has(childKey)) { - partialChecked = true; - fullyChecked = false; - break; - } else { - fullyChecked = false; - if (partialChecked) { - break; - } - } - } - if (fullyChecked && !allDisabled) { - if (checkStrategyIsParent) { - levelTreeNode.children.forEach((v) => { - if (!v.disabled && syntheticCheckedKeySet.has(v.key)) { - syntheticCheckedKeySet.delete(v.key); - } - }); - } - syntheticCheckedKeySet.add(levelTreeNodeKey); - } else if (partialChecked) { - syntheticIndeterminateKeySet.add(levelTreeNodeKey); - } - if (levelIsZero && checkStrategyIsChild && syntheticCheckedKeySet.has(levelTreeNodeKey)) { - syntheticCheckedKeySet.delete(levelTreeNodeKey); - } - } - } - return { - checkedKeys: Array.from(syntheticCheckedKeySet), - indeterminateKeys: Array.from(syntheticIndeterminateKeySet) - }; -} -function getExtendedCheckedKeySet(checkedKeys, treeMate, allowNotLoaded, isUnchecking) { - const { treeNodeMap, getChildren } = treeMate; - const visitedKeySet = /* @__PURE__ */ new Set(); - const extendedKeySet = new Set(checkedKeys); - checkedKeys.forEach((checkedKey) => { - const checkedTreeNode = treeNodeMap.get(checkedKey); - if (checkedTreeNode !== void 0) { - traverseWithCb(checkedTreeNode, (treeNode) => { - if (treeNode.disabled) { - return TRAVERSE_COMMAND.STOP; - } - const { key } = treeNode; - if (visitedKeySet.has(key)) - return; - visitedKeySet.add(key); - extendedKeySet.add(key); - if (isExpilicitlyNotLoaded(treeNode.rawNode, getChildren)) { - if (isUnchecking) { - return TRAVERSE_COMMAND.STOP; - } else if (!allowNotLoaded) { - throw new SubtreeNotLoadedError(); - } - } - }); - } - }); - return extendedKeySet; -} -function getPath(key, { includeGroup = false, includeSelf = true }, treeMate) { - var _a; - const treeNodeMap = treeMate.treeNodeMap; - let treeNode = key === null || key === void 0 ? null : (_a = treeNodeMap.get(key)) !== null && _a !== void 0 ? _a : null; - const mergedPath = { - keyPath: [], - treeNodePath: [], - treeNode - }; - if (treeNode === null || treeNode === void 0 ? void 0 : treeNode.ignored) { - mergedPath.treeNode = null; - return mergedPath; - } - while (treeNode) { - if (!treeNode.ignored && (includeGroup || !treeNode.isGroup)) { - mergedPath.treeNodePath.push(treeNode); - } - treeNode = treeNode.parent; - } - mergedPath.treeNodePath.reverse(); - if (!includeSelf) - mergedPath.treeNodePath.pop(); - mergedPath.keyPath = mergedPath.treeNodePath.map((treeNode2) => treeNode2.key); - return mergedPath; -} -function getFirstAvailableNode(nodes) { - if (nodes.length === 0) - return null; - const node = nodes[0]; - if (node.isGroup || node.ignored || node.disabled) { - return node.getNext(); - } - return node; -} -function rawGetNext(node, loop) { - const sibs = node.siblings; - const l = sibs.length; - const { index } = node; - if (loop) { - return sibs[(index + 1) % l]; - } else { - if (index === sibs.length - 1) - return null; - return sibs[index + 1]; - } -} -function move(fromNode, dir, { loop = false, includeDisabled = false } = {}) { - const iterate = dir === "prev" ? rawGetPrev : rawGetNext; - const getChildOptions = { - reverse: dir === "prev" - }; - let meet = false; - let endNode = null; - function traverse(node) { - if (node === null) - return; - if (node === fromNode) { - if (!meet) { - meet = true; - } else if (!fromNode.disabled && !fromNode.isGroup) { - endNode = fromNode; - return; - } - } else { - if ((!node.disabled || includeDisabled) && !node.ignored && !node.isGroup) { - endNode = node; - return; - } - } - if (node.isGroup) { - const child = getChild(node, getChildOptions); - if (child !== null) { - endNode = child; - } else { - traverse(iterate(node, loop)); - } - } else { - const nextNode = iterate(node, false); - if (nextNode !== null) { - traverse(nextNode); - } else { - const parent = rawGetParent(node); - if (parent === null || parent === void 0 ? void 0 : parent.isGroup) { - traverse(iterate(parent, loop)); - } else if (loop) { - traverse(iterate(node, true)); - } - } - } - } - traverse(fromNode); - return endNode; -} -function rawGetPrev(node, loop) { - const sibs = node.siblings; - const l = sibs.length; - const { index } = node; - if (loop) { - return sibs[(index - 1 + l) % l]; - } else { - if (index === 0) - return null; - return sibs[index - 1]; - } -} -function rawGetParent(node) { - return node.parent; -} -function getChild(node, options = {}) { - const { reverse = false } = options; - const { children } = node; - if (children) { - const { length } = children; - const start = reverse ? length - 1 : 0; - const end = reverse ? -1 : length; - const delta = reverse ? -1 : 1; - for (let i = start; i !== end; i += delta) { - const child = children[i]; - if (!child.disabled && !child.ignored) { - if (child.isGroup) { - const childInGroup = getChild(child, options); - if (childInGroup !== null) - return childInGroup; - } else { - return child; - } - } - } - } - return null; -} -const moveMethods = { - getChild() { - if (this.ignored) - return null; - return getChild(this); - }, - getParent() { - const { parent } = this; - if (parent === null || parent === void 0 ? void 0 : parent.isGroup) { - return parent.getParent(); - } - return parent; - }, - getNext(options = {}) { - return move(this, "next", options); - }, - getPrev(options = {}) { - return move(this, "prev", options); - } -}; -function flatten(treeNodes, expandedKeys) { - const expandedKeySet = expandedKeys ? new Set(expandedKeys) : void 0; - const flattenedNodes = []; - function traverse(treeNodes2) { - treeNodes2.forEach((treeNode) => { - flattenedNodes.push(treeNode); - if (treeNode.isLeaf || !treeNode.children || treeNode.ignored) - return; - if (treeNode.isGroup) { - traverse(treeNode.children); - } else if ( - // normal non-leaf node - expandedKeySet === void 0 || expandedKeySet.has(treeNode.key) - ) { - traverse(treeNode.children); - } - }); - } - traverse(treeNodes); - return flattenedNodes; -} -function contains(parent, child) { - const parentKey = parent.key; - while (child) { - if (child.key === parentKey) - return true; - child = child.parent; - } - return false; -} -function createTreeNodes(rawNodes, treeNodeMap, levelTreeNodeMap, nodeProto, getChildren, parent = null, level = 0) { - const treeNodes = []; - rawNodes.forEach((rawNode, index) => { - var _a; - const treeNode = Object.create(nodeProto); - treeNode.rawNode = rawNode; - treeNode.siblings = treeNodes; - treeNode.level = level; - treeNode.index = index; - treeNode.isFirstChild = index === 0; - treeNode.isLastChild = index + 1 === rawNodes.length; - treeNode.parent = parent; - if (!treeNode.ignored) { - const rawChildren = getChildren(rawNode); - if (Array.isArray(rawChildren)) { - treeNode.children = createTreeNodes(rawChildren, treeNodeMap, levelTreeNodeMap, nodeProto, getChildren, treeNode, level + 1); - } - } - treeNodes.push(treeNode); - treeNodeMap.set(treeNode.key, treeNode); - if (!levelTreeNodeMap.has(level)) - levelTreeNodeMap.set(level, []); - (_a = levelTreeNodeMap.get(level)) === null || _a === void 0 ? void 0 : _a.push(treeNode); - }); - return treeNodes; -} -function createTreeMate(rawNodes, options = {}) { - var _a; - const treeNodeMap = /* @__PURE__ */ new Map(); - const levelTreeNodeMap = /* @__PURE__ */ new Map(); - const { getDisabled = isDisabled, getIgnored = isIgnored, getIsGroup = isGroup, getKey = defaultGetKey } = options; - const _getChildren = (_a = options.getChildren) !== null && _a !== void 0 ? _a : defaultGetChildren; - const getChildren = options.ignoreEmptyChildren ? (node) => { - const children = _getChildren(node); - if (Array.isArray(children)) { - if (!children.length) - return null; - return children; - } - return children; - } : _getChildren; - const nodeProto = Object.assign({ - get key() { - return getKey(this.rawNode); - }, - get disabled() { - return getDisabled(this.rawNode); - }, - get isGroup() { - return getIsGroup(this.rawNode); - }, - get isLeaf() { - return isLeaf(this.rawNode, getChildren); - }, - get shallowLoaded() { - return isShallowLoaded(this.rawNode, getChildren); - }, - get ignored() { - return getIgnored(this.rawNode); - }, - contains(node) { - return contains(this, node); - } - }, moveMethods); - const treeNodes = createTreeNodes(rawNodes, treeNodeMap, levelTreeNodeMap, nodeProto, getChildren); - function getNode(key) { - if (key === null || key === void 0) - return null; - const tmNode = treeNodeMap.get(key); - if (tmNode && !tmNode.isGroup && !tmNode.ignored) { - return tmNode; - } - return null; - } - function _getNode(key) { - if (key === null || key === void 0) - return null; - const tmNode = treeNodeMap.get(key); - if (tmNode && !tmNode.ignored) { - return tmNode; - } - return null; - } - function getPrev(key, options2) { - const node = _getNode(key); - if (!node) - return null; - return node.getPrev(options2); - } - function getNext(key, options2) { - const node = _getNode(key); - if (!node) - return null; - return node.getNext(options2); - } - function getParent(key) { - const node = _getNode(key); - if (!node) - return null; - return node.getParent(); - } - function getChild2(key) { - const node = _getNode(key); - if (!node) - return null; - return node.getChild(); - } - const treemate = { - treeNodes, - treeNodeMap, - levelTreeNodeMap, - maxLevel: Math.max(...levelTreeNodeMap.keys()), - getChildren, - getFlattenedNodes(expandedKeys) { - return flatten(treeNodes, expandedKeys); - }, - getNode, - getPrev, - getNext, - getParent, - getChild: getChild2, - getFirstAvailableNode() { - return getFirstAvailableNode(treeNodes); - }, - getPath(key, options2 = {}) { - return getPath(key, options2, treemate); - }, - getCheckedKeys(checkedKeys, options2 = {}) { - const { cascade = true, leafOnly = false, checkStrategy = "all", allowNotLoaded = false } = options2; - return getCheckedKeys({ - checkedKeys: unwrapCheckedKeys(checkedKeys), - indeterminateKeys: unwrapIndeterminateKeys(checkedKeys), - cascade, - leafOnly, - checkStrategy, - allowNotLoaded - }, treemate); - }, - check(keysToCheck, checkedKeys, options2 = {}) { - const { cascade = true, leafOnly = false, checkStrategy = "all", allowNotLoaded = false } = options2; - return getCheckedKeys({ - checkedKeys: unwrapCheckedKeys(checkedKeys), - indeterminateKeys: unwrapIndeterminateKeys(checkedKeys), - keysToCheck: keysToCheck === void 0 || keysToCheck === null ? [] : toArray(keysToCheck), - cascade, - leafOnly, - checkStrategy, - allowNotLoaded - }, treemate); - }, - uncheck(keysToUncheck, checkedKeys, options2 = {}) { - const { cascade = true, leafOnly = false, checkStrategy = "all", allowNotLoaded = false } = options2; - return getCheckedKeys({ - checkedKeys: unwrapCheckedKeys(checkedKeys), - indeterminateKeys: unwrapIndeterminateKeys(checkedKeys), - keysToUncheck: keysToUncheck === null || keysToUncheck === void 0 ? [] : toArray(keysToUncheck), - cascade, - leafOnly, - checkStrategy, - allowNotLoaded - }, treemate); - }, - getNonLeafKeys(options2 = {}) { - return getNonLeafKeys(treeNodes, options2); - } - }; - return treemate; -} -const dropdownMenuInjectionKey = createInjectionKey("n-dropdown-menu"); -const dropdownInjectionKey = createInjectionKey("n-dropdown"); -const dropdownOptionInjectionKey = createInjectionKey("n-dropdown-option"); -const NDropdownDivider = defineComponent({ - name: "DropdownDivider", - props: { - clsPrefix: { - type: String, - required: true - } - }, - render() { - return h("div", { - class: `${this.clsPrefix}-dropdown-divider` - }); - } -}); -const NDropdownGroupHeader = defineComponent({ - name: "DropdownGroupHeader", - props: { - clsPrefix: { - type: String, - required: true - }, - tmNode: { - type: Object, - required: true - } - }, - setup() { - const { - showIconRef, - hasSubmenuRef - } = inject(dropdownMenuInjectionKey); - const { - renderLabelRef, - labelFieldRef, - nodePropsRef, - renderOptionRef - } = inject(dropdownInjectionKey); - return { - labelField: labelFieldRef, - showIcon: showIconRef, - hasSubmenu: hasSubmenuRef, - renderLabel: renderLabelRef, - nodeProps: nodePropsRef, - renderOption: renderOptionRef - }; - }, - render() { - var _a; - const { - clsPrefix, - hasSubmenu, - showIcon, - nodeProps, - renderLabel, - renderOption - } = this; - const { - rawNode - } = this.tmNode; - const node = h("div", Object.assign({ - class: `${clsPrefix}-dropdown-option` - }, nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode)), h("div", { - class: `${clsPrefix}-dropdown-option-body ${clsPrefix}-dropdown-option-body--group` - }, h("div", { - "data-dropdown-option": true, - class: [`${clsPrefix}-dropdown-option-body__prefix`, showIcon && `${clsPrefix}-dropdown-option-body__prefix--show-icon`] - }, render(rawNode.icon)), h("div", { - class: `${clsPrefix}-dropdown-option-body__label`, - "data-dropdown-option": true - }, renderLabel ? renderLabel(rawNode) : render((_a = rawNode.title) !== null && _a !== void 0 ? _a : rawNode[this.labelField])), h("div", { - class: [`${clsPrefix}-dropdown-option-body__suffix`, hasSubmenu && `${clsPrefix}-dropdown-option-body__suffix--has-submenu`], - "data-dropdown-option": true - }))); - if (renderOption) { - return renderOption({ - node, - option: rawNode - }); - } - return node; - } -}); -function isSubmenuNode(rawNode, childrenField) { - return rawNode.type === "submenu" || rawNode.type === void 0 && rawNode[childrenField] !== void 0; -} -function isGroupNode(rawNode) { - return rawNode.type === "group"; -} -function isDividerNode(rawNode) { - return rawNode.type === "divider"; -} -function isRenderNode(rawNode) { - return rawNode.type === "render"; -} -const NDropdownOption = defineComponent({ - name: "DropdownOption", - props: { - clsPrefix: { - type: String, - required: true - }, - tmNode: { - type: Object, - required: true - }, - parentKey: { - type: [String, Number], - default: null - }, - placement: { - type: String, - default: "right-start" - }, - props: Object, - scrollable: Boolean - }, - setup(props) { - const NDropdown = inject(dropdownInjectionKey); - const { - hoverKeyRef, - keyboardKeyRef, - lastToggledSubmenuKeyRef, - pendingKeyPathRef, - activeKeyPathRef, - animatedRef, - mergedShowRef, - renderLabelRef, - renderIconRef, - labelFieldRef, - childrenFieldRef, - renderOptionRef, - nodePropsRef, - menuPropsRef - } = NDropdown; - const NDropdownOption2 = inject(dropdownOptionInjectionKey, null); - const NDropdownMenu2 = inject(dropdownMenuInjectionKey); - const NPopoverBody = inject(popoverBodyInjectionKey); - const rawNodeRef = computed(() => props.tmNode.rawNode); - const hasSubmenuRef = computed(() => { - const { - value: childrenField - } = childrenFieldRef; - return isSubmenuNode(props.tmNode.rawNode, childrenField); - }); - const mergedDisabledRef = computed(() => { - const { - disabled - } = props.tmNode; - return disabled; - }); - const showSubmenuRef = computed(() => { - if (!hasSubmenuRef.value) return false; - const { - key, - disabled - } = props.tmNode; - if (disabled) return false; - const { - value: hoverKey - } = hoverKeyRef; - const { - value: keyboardKey - } = keyboardKeyRef; - const { - value: lastToggledSubmenuKey - } = lastToggledSubmenuKeyRef; - const { - value: pendingKeyPath - } = pendingKeyPathRef; - if (hoverKey !== null) return pendingKeyPath.includes(key); - if (keyboardKey !== null) { - return pendingKeyPath.includes(key) && pendingKeyPath[pendingKeyPath.length - 1] !== key; - } - if (lastToggledSubmenuKey !== null) return pendingKeyPath.includes(key); - return false; - }); - const shouldDelayRef = computed(() => { - return keyboardKeyRef.value === null && !animatedRef.value; - }); - const deferredShowSubmenuRef = useDeferredTrue(showSubmenuRef, 300, shouldDelayRef); - const parentEnteringSubmenuRef = computed(() => { - return !!(NDropdownOption2 === null || NDropdownOption2 === void 0 ? void 0 : NDropdownOption2.enteringSubmenuRef.value); - }); - const enteringSubmenuRef = ref(false); - provide(dropdownOptionInjectionKey, { - enteringSubmenuRef - }); - function handleSubmenuBeforeEnter() { - enteringSubmenuRef.value = true; - } - function handleSubmenuAfterEnter() { - enteringSubmenuRef.value = false; - } - function handleMouseEnter() { - const { - parentKey, - tmNode - } = props; - if (tmNode.disabled) return; - if (!mergedShowRef.value) return; - lastToggledSubmenuKeyRef.value = parentKey; - keyboardKeyRef.value = null; - hoverKeyRef.value = tmNode.key; - } - function handleMouseMove() { - const { - tmNode - } = props; - if (tmNode.disabled) return; - if (!mergedShowRef.value) return; - if (hoverKeyRef.value === tmNode.key) return; - handleMouseEnter(); - } - function handleMouseLeave(e) { - if (props.tmNode.disabled) return; - if (!mergedShowRef.value) return; - const { - relatedTarget - } = e; - if (relatedTarget && !happensIn({ - target: relatedTarget - }, "dropdownOption") && !happensIn({ - target: relatedTarget - }, "scrollbarRail")) { - hoverKeyRef.value = null; - } - } - function handleClick() { - const { - value: hasSubmenu - } = hasSubmenuRef; - const { - tmNode - } = props; - if (!mergedShowRef.value) return; - if (!hasSubmenu && !tmNode.disabled) { - NDropdown.doSelect(tmNode.key, tmNode.rawNode); - NDropdown.doUpdateShow(false); - } - } - return { - labelField: labelFieldRef, - renderLabel: renderLabelRef, - renderIcon: renderIconRef, - siblingHasIcon: NDropdownMenu2.showIconRef, - siblingHasSubmenu: NDropdownMenu2.hasSubmenuRef, - menuProps: menuPropsRef, - popoverBody: NPopoverBody, - animated: animatedRef, - mergedShowSubmenu: computed(() => { - return deferredShowSubmenuRef.value && !parentEnteringSubmenuRef.value; - }), - rawNode: rawNodeRef, - hasSubmenu: hasSubmenuRef, - pending: useMemo(() => { - const { - value: pendingKeyPath - } = pendingKeyPathRef; - const { - key - } = props.tmNode; - return pendingKeyPath.includes(key); - }), - childActive: useMemo(() => { - const { - value: activeKeyPath - } = activeKeyPathRef; - const { - key - } = props.tmNode; - const index = activeKeyPath.findIndex((k) => key === k); - if (index === -1) return false; - return index < activeKeyPath.length - 1; - }), - active: useMemo(() => { - const { - value: activeKeyPath - } = activeKeyPathRef; - const { - key - } = props.tmNode; - const index = activeKeyPath.findIndex((k) => key === k); - if (index === -1) return false; - return index === activeKeyPath.length - 1; - }), - mergedDisabled: mergedDisabledRef, - renderOption: renderOptionRef, - nodeProps: nodePropsRef, - handleClick, - handleMouseMove, - handleMouseEnter, - handleMouseLeave, - handleSubmenuBeforeEnter, - handleSubmenuAfterEnter - }; - }, - render() { - var _a, _b; - const { - animated, - rawNode, - mergedShowSubmenu, - clsPrefix, - siblingHasIcon, - siblingHasSubmenu, - renderLabel, - renderIcon, - renderOption, - nodeProps, - props, - scrollable - } = this; - let submenuVNode = null; - if (mergedShowSubmenu) { - const submenuNodeProps = (_a = this.menuProps) === null || _a === void 0 ? void 0 : _a.call(this, rawNode, rawNode.children); - submenuVNode = h(NDropdownMenu, Object.assign({}, submenuNodeProps, { - clsPrefix, - scrollable: this.scrollable, - tmNodes: this.tmNode.children, - parentKey: this.tmNode.key - })); - } - const builtinProps = { - class: [`${clsPrefix}-dropdown-option-body`, this.pending && `${clsPrefix}-dropdown-option-body--pending`, this.active && `${clsPrefix}-dropdown-option-body--active`, this.childActive && `${clsPrefix}-dropdown-option-body--child-active`, this.mergedDisabled && `${clsPrefix}-dropdown-option-body--disabled`], - onMousemove: this.handleMouseMove, - onMouseenter: this.handleMouseEnter, - onMouseleave: this.handleMouseLeave, - onClick: this.handleClick - }; - const optionNodeProps = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode); - const node = h("div", Object.assign({ - class: [`${clsPrefix}-dropdown-option`, optionNodeProps === null || optionNodeProps === void 0 ? void 0 : optionNodeProps.class], - "data-dropdown-option": true - }, optionNodeProps), h("div", mergeProps(builtinProps, props), [h("div", { - class: [`${clsPrefix}-dropdown-option-body__prefix`, siblingHasIcon && `${clsPrefix}-dropdown-option-body__prefix--show-icon`] - }, [renderIcon ? renderIcon(rawNode) : render(rawNode.icon)]), h("div", { - "data-dropdown-option": true, - class: `${clsPrefix}-dropdown-option-body__label` - }, renderLabel ? renderLabel(rawNode) : render((_b = rawNode[this.labelField]) !== null && _b !== void 0 ? _b : rawNode.title)), h("div", { - "data-dropdown-option": true, - class: [`${clsPrefix}-dropdown-option-body__suffix`, siblingHasSubmenu && `${clsPrefix}-dropdown-option-body__suffix--has-submenu`] - }, this.hasSubmenu ? h(NIcon, null, { - default: () => h(ChevronRightIcon, null) - }) : null)]), this.hasSubmenu ? h(Binder, null, { - default: () => [h(VTarget, null, { - default: () => h("div", { - class: `${clsPrefix}-dropdown-offset-container` - }, h(VFollower, { - show: this.mergedShowSubmenu, - placement: this.placement, - to: scrollable ? this.popoverBody || void 0 : void 0, - teleportDisabled: !scrollable - }, { - default: () => { - return h("div", { - class: `${clsPrefix}-dropdown-menu-wrapper` - }, animated ? h(Transition, { - onBeforeEnter: this.handleSubmenuBeforeEnter, - onAfterEnter: this.handleSubmenuAfterEnter, - name: "fade-in-scale-up-transition", - appear: true - }, { - default: () => submenuVNode - }) : submenuVNode); - } - })) - })] - }) : null); - if (renderOption) { - return renderOption({ - node, - option: rawNode - }); - } - return node; - } -}); -const NDropdownGroup = defineComponent({ - name: "NDropdownGroup", - props: { - clsPrefix: { - type: String, - required: true - }, - tmNode: { - type: Object, - required: true - }, - parentKey: { - type: [String, Number], - default: null - } - }, - render() { - const { - tmNode, - parentKey, - clsPrefix - } = this; - const { - children - } = tmNode; - return h(Fragment, null, h(NDropdownGroupHeader, { - clsPrefix, - tmNode, - key: tmNode.key - }), children === null || children === void 0 ? void 0 : children.map((child) => { - const { - rawNode - } = child; - if (rawNode.show === false) return null; - if (isDividerNode(rawNode)) { - return h(NDropdownDivider, { - clsPrefix, - key: child.key - }); - } - if (child.isGroup) { - warn("dropdown", "`group` node is not allowed to be put in `group` node."); - return null; - } - return h(NDropdownOption, { - clsPrefix, - tmNode: child, - parentKey, - key: child.key - }); - })); - } -}); -const NDropdownRenderOption = defineComponent({ - name: "DropdownRenderOption", - props: { - tmNode: { - type: Object, - required: true - } - }, - render() { - const { - rawNode: { - render: render2, - props - } - } = this.tmNode; - return h("div", props, [render2 === null || render2 === void 0 ? void 0 : render2()]); - } -}); -const NDropdownMenu = defineComponent({ - name: "DropdownMenu", - props: { - scrollable: Boolean, - showArrow: Boolean, - arrowStyle: [String, Object], - clsPrefix: { - type: String, - required: true - }, - tmNodes: { - type: Array, - default: () => [] - }, - parentKey: { - type: [String, Number], - default: null - } - }, - setup(props) { - const { - renderIconRef, - childrenFieldRef - } = inject(dropdownInjectionKey); - provide(dropdownMenuInjectionKey, { - showIconRef: computed(() => { - const renderIcon = renderIconRef.value; - return props.tmNodes.some((tmNode) => { - var _a; - if (tmNode.isGroup) { - return (_a = tmNode.children) === null || _a === void 0 ? void 0 : _a.some(({ - rawNode: rawChild - }) => renderIcon ? renderIcon(rawChild) : rawChild.icon); - } - const { - rawNode - } = tmNode; - return renderIcon ? renderIcon(rawNode) : rawNode.icon; - }); - }), - hasSubmenuRef: computed(() => { - const { - value: childrenField - } = childrenFieldRef; - return props.tmNodes.some((tmNode) => { - var _a; - if (tmNode.isGroup) { - return (_a = tmNode.children) === null || _a === void 0 ? void 0 : _a.some(({ - rawNode: rawChild - }) => isSubmenuNode(rawChild, childrenField)); - } - const { - rawNode - } = tmNode; - return isSubmenuNode(rawNode, childrenField); - }); - }) - }); - const bodyRef = ref(null); - provide(modalBodyInjectionKey, null); - provide(drawerBodyInjectionKey, null); - provide(popoverBodyInjectionKey, bodyRef); - return { - bodyRef - }; - }, - render() { - const { - parentKey, - clsPrefix, - scrollable - } = this; - const menuOptionsNode = this.tmNodes.map((tmNode) => { - const { - rawNode - } = tmNode; - if (rawNode.show === false) return null; - if (isRenderNode(rawNode)) { - return h(NDropdownRenderOption, { - tmNode, - key: tmNode.key - }); - } - if (isDividerNode(rawNode)) { - return h(NDropdownDivider, { - clsPrefix, - key: tmNode.key - }); - } - if (isGroupNode(rawNode)) { - return h(NDropdownGroup, { - clsPrefix, - tmNode, - parentKey, - key: tmNode.key - }); - } - return h(NDropdownOption, { - clsPrefix, - tmNode, - parentKey, - key: tmNode.key, - props: rawNode.props, - scrollable - }); - }); - return h("div", { - class: [`${clsPrefix}-dropdown-menu`, scrollable && `${clsPrefix}-dropdown-menu--scrollable`], - ref: "bodyRef" - }, scrollable ? h(XScrollbar, { - contentClass: `${clsPrefix}-dropdown-menu__content` - }, { - default: () => menuOptionsNode - }) : menuOptionsNode, this.showArrow ? renderArrow({ - clsPrefix, - arrowStyle: this.arrowStyle, - arrowClass: void 0, - arrowWrapperClass: void 0, - arrowWrapperStyle: void 0 - }) : null); - } -}); -const style = cB("dropdown-menu", ` - transform-origin: var(--v-transform-origin); - background-color: var(--n-color); - border-radius: var(--n-border-radius); - box-shadow: var(--n-box-shadow); - position: relative; - transition: - background-color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier); -`, [fadeInScaleUpTransition(), cB("dropdown-option", ` - position: relative; - `, [c("a", ` - text-decoration: none; - color: inherit; - outline: none; - `, [c("&::before", ` - content: ""; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - `)]), cB("dropdown-option-body", ` - display: flex; - cursor: pointer; - position: relative; - height: var(--n-option-height); - line-height: var(--n-option-height); - font-size: var(--n-font-size); - color: var(--n-option-text-color); - transition: color .3s var(--n-bezier); - `, [c("&::before", ` - content: ""; - position: absolute; - top: 0; - bottom: 0; - left: 4px; - right: 4px; - transition: background-color .3s var(--n-bezier); - border-radius: var(--n-border-radius); - `), cNotM("disabled", [cM("pending", ` - color: var(--n-option-text-color-hover); - `, [cE("prefix, suffix", ` - color: var(--n-option-text-color-hover); - `), c("&::before", "background-color: var(--n-option-color-hover);")]), cM("active", ` - color: var(--n-option-text-color-active); - `, [cE("prefix, suffix", ` - color: var(--n-option-text-color-active); - `), c("&::before", "background-color: var(--n-option-color-active);")]), cM("child-active", ` - color: var(--n-option-text-color-child-active); - `, [cE("prefix, suffix", ` - color: var(--n-option-text-color-child-active); - `)])]), cM("disabled", ` - cursor: not-allowed; - opacity: var(--n-option-opacity-disabled); - `), cM("group", ` - font-size: calc(var(--n-font-size) - 1px); - color: var(--n-group-header-text-color); - `, [cE("prefix", ` - width: calc(var(--n-option-prefix-width) / 2); - `, [cM("show-icon", ` - width: calc(var(--n-option-icon-prefix-width) / 2); - `)])]), cE("prefix", ` - width: var(--n-option-prefix-width); - display: flex; - justify-content: center; - align-items: center; - color: var(--n-prefix-color); - transition: color .3s var(--n-bezier); - z-index: 1; - `, [cM("show-icon", ` - width: var(--n-option-icon-prefix-width); - `), cB("icon", ` - font-size: var(--n-option-icon-size); - `)]), cE("label", ` - white-space: nowrap; - flex: 1; - z-index: 1; - `), cE("suffix", ` - box-sizing: border-box; - flex-grow: 0; - flex-shrink: 0; - display: flex; - justify-content: flex-end; - align-items: center; - min-width: var(--n-option-suffix-width); - padding: 0 8px; - transition: color .3s var(--n-bezier); - color: var(--n-suffix-color); - z-index: 1; - `, [cM("has-submenu", ` - width: var(--n-option-icon-suffix-width); - `), cB("icon", ` - font-size: var(--n-option-icon-size); - `)]), cB("dropdown-menu", "pointer-events: all;")]), cB("dropdown-offset-container", ` - pointer-events: none; - position: absolute; - left: 0; - right: 0; - top: -4px; - bottom: -4px; - `)]), cB("dropdown-divider", ` - transition: background-color .3s var(--n-bezier); - background-color: var(--n-divider-color); - height: 1px; - margin: 4px 0; - `), cB("dropdown-menu-wrapper", ` - transform-origin: var(--v-transform-origin); - width: fit-content; - `), c(">", [cB("scrollbar", ` - height: inherit; - max-height: inherit; - `)]), cNotM("scrollable", ` - padding: var(--n-padding); - `), cM("scrollable", [cE("content", ` - padding: var(--n-padding); - `)])]); -const dropdownBaseProps = { - animated: { - type: Boolean, - default: true - }, - keyboard: { - type: Boolean, - default: true - }, - size: { - type: String, - default: "medium" - }, - inverted: Boolean, - placement: { - type: String, - default: "bottom" - }, - onSelect: [Function, Array], - options: { - type: Array, - default: () => [] - }, - menuProps: Function, - showArrow: Boolean, - renderLabel: Function, - renderIcon: Function, - renderOption: Function, - nodeProps: Function, - labelField: { - type: String, - default: "label" - }, - keyField: { - type: String, - default: "key" - }, - childrenField: { - type: String, - default: "children" - }, - // for menu, not documented - value: [String, Number] -}; -const popoverPropKeys = Object.keys(popoverBaseProps); -const dropdownProps = Object.assign(Object.assign(Object.assign({}, popoverBaseProps), dropdownBaseProps), useTheme.props); -const __unplugin_components_0 = defineComponent({ - name: "Dropdown", - inheritAttrs: false, - props: dropdownProps, - setup(props) { - const uncontrolledShowRef = ref(false); - const mergedShowRef = useMergedState(toRef(props, "show"), uncontrolledShowRef); - const treemateRef = computed(() => { - const { - keyField, - childrenField - } = props; - return createTreeMate(props.options, { - getKey(node) { - return node[keyField]; - }, - getDisabled(node) { - return node.disabled === true; - }, - getIgnored(node) { - return node.type === "divider" || node.type === "render"; - }, - getChildren(node) { - return node[childrenField]; - } - }); - }); - const tmNodesRef = computed(() => { - return treemateRef.value.treeNodes; - }); - const hoverKeyRef = ref(null); - const keyboardKeyRef = ref(null); - const lastToggledSubmenuKeyRef = ref(null); - const pendingKeyRef = computed(() => { - var _a, _b, _c; - return (_c = (_b = (_a = hoverKeyRef.value) !== null && _a !== void 0 ? _a : keyboardKeyRef.value) !== null && _b !== void 0 ? _b : lastToggledSubmenuKeyRef.value) !== null && _c !== void 0 ? _c : null; - }); - const pendingKeyPathRef = computed(() => treemateRef.value.getPath(pendingKeyRef.value).keyPath); - const activeKeyPathRef = computed(() => treemateRef.value.getPath(props.value).keyPath); - const keyboardEnabledRef = useMemo(() => { - return props.keyboard && mergedShowRef.value; - }); - useKeyboard({ - keydown: { - ArrowUp: { - prevent: true, - handler: handleKeydownUp - }, - ArrowRight: { - prevent: true, - handler: handleKeydownRight - }, - ArrowDown: { - prevent: true, - handler: handleKeydownDown - }, - ArrowLeft: { - prevent: true, - handler: handleKeydownLeft - }, - Enter: { - prevent: true, - handler: handleKeydownEnter - }, - Escape: handleKeydownEsc - } - }, keyboardEnabledRef); - const { - mergedClsPrefixRef, - inlineThemeDisabled - } = useConfig(props); - const themeRef = useTheme("Dropdown", "-dropdown", style, dropdownLight, props, mergedClsPrefixRef); - provide(dropdownInjectionKey, { - labelFieldRef: toRef(props, "labelField"), - childrenFieldRef: toRef(props, "childrenField"), - renderLabelRef: toRef(props, "renderLabel"), - renderIconRef: toRef(props, "renderIcon"), - hoverKeyRef, - keyboardKeyRef, - lastToggledSubmenuKeyRef, - pendingKeyPathRef, - activeKeyPathRef, - animatedRef: toRef(props, "animated"), - mergedShowRef, - nodePropsRef: toRef(props, "nodeProps"), - renderOptionRef: toRef(props, "renderOption"), - menuPropsRef: toRef(props, "menuProps"), - doSelect, - doUpdateShow - }); - watch(mergedShowRef, (value) => { - if (!props.animated && !value) { - clearPendingState(); - } - }); - function doSelect(key, node) { - const { - onSelect - } = props; - if (onSelect) call(onSelect, key, node); - } - function doUpdateShow(value) { - const { - "onUpdate:show": _onUpdateShow, - onUpdateShow - } = props; - if (_onUpdateShow) call(_onUpdateShow, value); - if (onUpdateShow) call(onUpdateShow, value); - uncontrolledShowRef.value = value; - } - function clearPendingState() { - hoverKeyRef.value = null; - keyboardKeyRef.value = null; - lastToggledSubmenuKeyRef.value = null; - } - function handleKeydownEsc() { - doUpdateShow(false); - } - function handleKeydownLeft() { - handleKeydown("left"); - } - function handleKeydownRight() { - handleKeydown("right"); - } - function handleKeydownUp() { - handleKeydown("up"); - } - function handleKeydownDown() { - handleKeydown("down"); - } - function handleKeydownEnter() { - const pendingNode = getPendingNode(); - if ((pendingNode === null || pendingNode === void 0 ? void 0 : pendingNode.isLeaf) && mergedShowRef.value) { - doSelect(pendingNode.key, pendingNode.rawNode); - doUpdateShow(false); - } - } - function getPendingNode() { - var _a; - const { - value: treeMate - } = treemateRef; - const { - value: pendingKey - } = pendingKeyRef; - if (!treeMate || pendingKey === null) return null; - return (_a = treeMate.getNode(pendingKey)) !== null && _a !== void 0 ? _a : null; - } - function handleKeydown(direction) { - const { - value: pendingKey - } = pendingKeyRef; - const { - value: { - getFirstAvailableNode: getFirstAvailableNode2 - } - } = treemateRef; - let nextKeyboardKey = null; - if (pendingKey === null) { - const firstNode = getFirstAvailableNode2(); - if (firstNode !== null) { - nextKeyboardKey = firstNode.key; - } - } else { - const currentNode = getPendingNode(); - if (currentNode) { - let nextNode; - switch (direction) { - case "down": - nextNode = currentNode.getNext(); - break; - case "up": - nextNode = currentNode.getPrev(); - break; - case "right": - nextNode = currentNode.getChild(); - break; - case "left": - nextNode = currentNode.getParent(); - break; - } - if (nextNode) nextKeyboardKey = nextNode.key; - } - } - if (nextKeyboardKey !== null) { - hoverKeyRef.value = null; - keyboardKeyRef.value = nextKeyboardKey; - } - } - const cssVarsRef = computed(() => { - const { - size, - inverted - } = props; - const { - common: { - cubicBezierEaseInOut - }, - self - } = themeRef.value; - const { - padding, - dividerColor, - borderRadius, - optionOpacityDisabled, - [createKey("optionIconSuffixWidth", size)]: optionIconSuffixWidth, - [createKey("optionSuffixWidth", size)]: optionSuffixWidth, - [createKey("optionIconPrefixWidth", size)]: optionIconPrefixWidth, - [createKey("optionPrefixWidth", size)]: optionPrefixWidth, - [createKey("fontSize", size)]: fontSize, - [createKey("optionHeight", size)]: optionHeight, - [createKey("optionIconSize", size)]: optionIconSize - } = self; - const vars = { - "--n-bezier": cubicBezierEaseInOut, - "--n-font-size": fontSize, - "--n-padding": padding, - "--n-border-radius": borderRadius, - "--n-option-height": optionHeight, - "--n-option-prefix-width": optionPrefixWidth, - "--n-option-icon-prefix-width": optionIconPrefixWidth, - "--n-option-suffix-width": optionSuffixWidth, - "--n-option-icon-suffix-width": optionIconSuffixWidth, - "--n-option-icon-size": optionIconSize, - "--n-divider-color": dividerColor, - "--n-option-opacity-disabled": optionOpacityDisabled - }; - if (inverted) { - vars["--n-color"] = self.colorInverted; - vars["--n-option-color-hover"] = self.optionColorHoverInverted; - vars["--n-option-color-active"] = self.optionColorActiveInverted; - vars["--n-option-text-color"] = self.optionTextColorInverted; - vars["--n-option-text-color-hover"] = self.optionTextColorHoverInverted; - vars["--n-option-text-color-active"] = self.optionTextColorActiveInverted; - vars["--n-option-text-color-child-active"] = self.optionTextColorChildActiveInverted; - vars["--n-prefix-color"] = self.prefixColorInverted; - vars["--n-suffix-color"] = self.suffixColorInverted; - vars["--n-group-header-text-color"] = self.groupHeaderTextColorInverted; - } else { - vars["--n-color"] = self.color; - vars["--n-option-color-hover"] = self.optionColorHover; - vars["--n-option-color-active"] = self.optionColorActive; - vars["--n-option-text-color"] = self.optionTextColor; - vars["--n-option-text-color-hover"] = self.optionTextColorHover; - vars["--n-option-text-color-active"] = self.optionTextColorActive; - vars["--n-option-text-color-child-active"] = self.optionTextColorChildActive; - vars["--n-prefix-color"] = self.prefixColor; - vars["--n-suffix-color"] = self.suffixColor; - vars["--n-group-header-text-color"] = self.groupHeaderTextColor; - } - return vars; - }); - const themeClassHandle = inlineThemeDisabled ? useThemeClass("dropdown", computed(() => `${props.size[0]}${props.inverted ? "i" : ""}`), cssVarsRef, props) : void 0; - return { - mergedClsPrefix: mergedClsPrefixRef, - mergedTheme: themeRef, - // data - tmNodes: tmNodesRef, - // show - mergedShow: mergedShowRef, - // methods - handleAfterLeave: () => { - if (!props.animated) return; - clearPendingState(); - }, - doUpdateShow, - cssVars: inlineThemeDisabled ? void 0 : cssVarsRef, - themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, - onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender - }; - }, - render() { - const renderPopoverBody = (className, ref2, style2, onMouseenter, onMouseleave) => { - var _a; - const { - mergedClsPrefix, - menuProps - } = this; - (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this); - const menuNodeProps = (menuProps === null || menuProps === void 0 ? void 0 : menuProps(void 0, this.tmNodes.map((v) => v.rawNode))) || {}; - const dropdownProps2 = { - ref: createRefSetter(ref2), - class: [className, `${mergedClsPrefix}-dropdown`, this.themeClass], - clsPrefix: mergedClsPrefix, - tmNodes: this.tmNodes, - style: [...style2, this.cssVars], - showArrow: this.showArrow, - arrowStyle: this.arrowStyle, - scrollable: this.scrollable, - onMouseenter, - onMouseleave - }; - return h(NDropdownMenu, mergeProps(this.$attrs, dropdownProps2, menuNodeProps)); - }; - const { - mergedTheme - } = this; - const popoverProps = { - show: this.mergedShow, - theme: mergedTheme.peers.Popover, - themeOverrides: mergedTheme.peerOverrides.Popover, - internalOnAfterLeave: this.handleAfterLeave, - internalRenderBody: renderPopoverBody, - onUpdateShow: this.doUpdateShow, - "onUpdate:show": void 0 - }; - return h(__unplugin_components_5, Object.assign({}, keep(this.$props, popoverPropKeys), popoverProps), { - trigger: () => { - var _a, _b; - return (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a); - } - }); - } -}); -const alipay = "" + new URL("alipay-CcfmUela.png", import.meta.url).href; -const wechat = "" + new URL("wechat-DjfpYhZS.png", import.meta.url).href; -const _hoisted_1$1 = { class: "relative inline-block" }; -const _hoisted_2$1 = { class: "p-6 rounded-lg shadow-lg bg-light dark:bg-gray-800" }; -const _hoisted_3$1 = { class: "flex gap-10" }; -const _hoisted_4$1 = { class: "flex flex-col items-center gap-2" }; -const _hoisted_5$1 = { class: "flex flex-col items-center gap-2" }; -const _sfc_main$1 = { - __name: "Coffee", - props: { - alipayQR: { - type: String, - required: true - }, - wechatQR: { - type: String, - required: true - } - }, - setup(__props) { - const message = useMessage(); - const copyQQ = () => { - navigator.clipboard.writeText("789288579"); - message.success("已复制到剪贴板"); - }; - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$1, [ - createVNode(unref(__unplugin_components_5), { - trigger: "hover", - placement: "top", - "show-arrow": true, - raw: true, - delay: 100 - }, { - trigger: withCtx(() => [ - renderSlot(_ctx.$slots, "default", {}, () => [ - createVNode(unref(Button), { - quaternary: "", - class: "inline-flex items-center gap-2 px-4 py-2 transition-all duration-300 hover:-translate-y-0.5" - }, { - default: withCtx(() => _cache[0] || (_cache[0] = [ - createTextVNode(" 请我喝咖啡 ") - ])), - _: 1 - }) - ]) - ]), - default: withCtx(() => [ - createBaseVNode("div", _hoisted_2$1, [ - createBaseVNode("div", _hoisted_3$1, [ - createBaseVNode("div", _hoisted_4$1, [ - createVNode(unref(NImage), { - src: __props.alipayQR, - alt: "支付宝收款码", - class: "w-32 h-32 rounded-lg cursor-none", - "preview-disabled": "" - }, null, 8, ["src"]), - _cache[1] || (_cache[1] = createBaseVNode("span", { class: "text-sm text-gray-700 dark:text-gray-200" }, "支付宝", -1)) - ]), - createBaseVNode("div", _hoisted_5$1, [ - createVNode(unref(NImage), { - src: __props.wechatQR, - alt: "微信收款码", - class: "w-32 h-32 rounded-lg cursor-none", - "preview-disabled": "" - }, null, 8, ["src"]), - _cache[2] || (_cache[2] = createBaseVNode("span", { class: "text-sm text-gray-700 dark:text-gray-200" }, "微信支付", -1)) - ]) - ]), - createBaseVNode("div", { class: "mt-4" }, [ - createBaseVNode("p", { - class: "text-sm text-gray-700 dark:text-gray-200 text-center cursor-pointer hover:text-green-500", - onClick: copyQQ - }, " QQ群:789288579 ") - ]) - ]) - ]), - _: 3 - }) - ]); - }; - } -}; -const USER_SET_OPTIONS = [ - // { - // label: '打卡', - // key: 'card', - // }, - // { - // label: '听歌升级', - // key: 'card_music', - // }, - // { - // label: '歌曲次数', - // key: 'listen', - // }, - { - label: "退出登录", - key: "logout" - }, - { - label: "设置", - key: "set" - } -]; -const SEARCH_TYPES = [ - { - label: "单曲", - key: 1 - }, - { - label: "专辑", - key: 10 - }, - // { - // label: '歌手', - // key: 100, - // }, - { - label: "歌单", - key: 1e3 - }, - // { - // label: '用户', - // key: 1002, - // }, - { - label: "MV", - key: 1004 - } - // { - // label: '歌词', - // key: 1006, - // }, - // { - // label: '电台', - // key: 1009, - // }, - // { - // label: '视频', - // key: 1014, - // }, - // { - // label: '综合', - // key: 1018, - // }, -]; -const _hoisted_1 = { class: "search-box flex" }; -const _hoisted_2 = { class: "search-box-input flex-1" }; -const _hoisted_3 = { class: "w-20 px-3 flex justify-between items-center" }; -const _hoisted_4 = { class: "user-box" }; -const _hoisted_5 = { class: "user-popover" }; -const _hoisted_6 = { class: "username" }; -const _hoisted_7 = { class: "menu-items" }; -const _hoisted_8 = { class: "menu-item" }; -const _hoisted_9 = { class: "version-info" }; -const _hoisted_10 = { class: "version-number" }; -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "SearchBar", - setup(__props) { - const router = useRouter(); - const store = useStore(); - const userSetOptions = ref(USER_SET_OPTIONS); - const hotSearchKeyword = ref("搜索点什么吧..."); - const hotSearchValue = ref(""); - const loadHotSearchKeyword = async () => { - const { data } = await getSearchKeyword(); - hotSearchKeyword.value = data.data.showKeyword; - hotSearchValue.value = data.data.realkeyword; - }; - const loadPage = async () => { - const token = localStorage.getItem("token"); - if (!token) return; - const { data } = await getUserDetail(); - store.state.user = data.profile; - localStorage.setItem("user", JSON.stringify(data.profile)); - }; - loadPage(); - watchEffect(() => { - if (store.state.user) { - userSetOptions.value = USER_SET_OPTIONS; - } else { - userSetOptions.value = USER_SET_OPTIONS.filter((item) => item.key !== "logout"); - } - }); - const restartApp = () => { - window.electron.ipcRenderer.send("restart"); - }; - const toLogin = () => { - router.push("/login"); - }; - onMounted(() => { - loadHotSearchKeyword(); - loadPage(); - checkForUpdates(); - }); - const isDarkTheme = computed({ - get: () => store.state.theme === "dark", - set: () => store.commit("toggleTheme") - }); - const searchValue = ref(""); - const search = () => { - const { value } = searchValue; - if (value === "") { - searchValue.value = hotSearchValue.value; - return; - } - if (router.currentRoute.value.path === "/search") { - store.state.searchValue = value; - return; - } - router.push({ - path: "/search", - query: { - keyword: value - } - }); - }; - const selectSearchType = (key) => { - store.state.searchType = key; - }; - const searchTypeOptions = ref(SEARCH_TYPES); - const selectItem = async (key) => { - switch (key) { - case "logout": - logout().then(() => { - store.state.user = null; - localStorage.clear(); - router.push("/login"); - }); - break; - case "login": - router.push("/login"); - break; - case "set": - router.push("/set"); - break; - case "user": - router.push("/user"); - break; - } - }; - const toGithub = () => { - window.open("https://github.com/algerkong/AlgerMusicPlayer", "_blank"); - }; - const updateInfo = ref({ - hasUpdate: false, - latestVersion: "", - currentVersion: config.version, - releaseInfo: null - }); - const checkForUpdates = async () => { - try { - const result = await checkUpdate(); - updateInfo.value = result; - } catch (error) { - console.error("检查更新失败:", error); - } - }; - const toGithubRelease = () => { - if (updateInfo.value.hasUpdate) { - window.open("https://github.com/algerkong/AlgerMusicPlayer/releases/latest", "_blank"); - } else { - window.open("https://github.com/algerkong/AlgerMusicPlayer/releases", "_blank"); - } - }; - return (_ctx, _cache) => { - const _component_n_dropdown = __unplugin_components_0; - const _component_n_input = __unplugin_components_1; - const _component_n_avatar = __unplugin_components_2; - const _component_n_switch = __unplugin_components_3; - const _component_n_tag = __unplugin_components_4; - const _component_n_popover = __unplugin_components_5; - return openBlock(), createElementBlock("div", _hoisted_1, [ - createBaseVNode("div", _hoisted_2, [ - createVNode(_component_n_input, { - value: searchValue.value, - "onUpdate:value": _cache[0] || (_cache[0] = ($event) => searchValue.value = $event), - size: "medium", - round: "", - placeholder: hotSearchKeyword.value, - class: "border dark:border-gray-600 border-gray-200", - onKeydown: withKeys(search, ["enter"]) - }, { - prefix: withCtx(() => _cache[5] || (_cache[5] = [ - createBaseVNode("i", { class: "iconfont icon-search" }, null, -1) - ])), - suffix: withCtx(() => [ - createVNode(_component_n_dropdown, { - trigger: "hover", - options: searchTypeOptions.value, - onSelect: selectSearchType - }, { - default: withCtx(() => [ - createBaseVNode("div", _hoisted_3, [ - createBaseVNode("div", null, toDisplayString(searchTypeOptions.value.find((item) => item.key === unref(store).state.searchType)?.label), 1), - _cache[6] || (_cache[6] = createBaseVNode("i", { class: "iconfont icon-xiasanjiaoxing" }, null, -1)) - ]) - ]), - _: 1 - }, 8, ["options"]) - ]), - _: 1 - }, 8, ["value", "placeholder"]) - ]), - createVNode(_component_n_popover, { - trigger: "hover", - placement: "bottom", - "show-arrow": false, - raw: "" - }, { - trigger: withCtx(() => [ - createBaseVNode("div", _hoisted_4, [ - unref(store).state.user ? (openBlock(), createBlock(_component_n_avatar, { - key: 0, - class: "cursor-pointer", - circle: "", - size: "medium", - src: unref(getImgUrl)(unref(store).state.user.avatarUrl), - onClick: _cache[1] || (_cache[1] = ($event) => selectItem("user")) - }, null, 8, ["src"])) : (openBlock(), createElementBlock("div", { - key: 1, - class: "mx-2 rounded-full cursor-pointer text-sm", - onClick: toLogin - }, "登录")) - ]) - ]), - default: withCtx(() => [ - createBaseVNode("div", _hoisted_5, [ - unref(store).state.user ? (openBlock(), createElementBlock("div", { - key: 0, - class: "user-header", - onClick: _cache[2] || (_cache[2] = ($event) => selectItem("user")) - }, [ - createVNode(_component_n_avatar, { - circle: "", - size: "small", - src: unref(getImgUrl)(unref(store).state.user?.avatarUrl) - }, null, 8, ["src"]), - createBaseVNode("span", _hoisted_6, toDisplayString(unref(store).state.user?.nickname || "Theodore"), 1) - ])) : createCommentVNode("", true), - createBaseVNode("div", _hoisted_7, [ - !unref(store).state.user ? (openBlock(), createElementBlock("div", { - key: 0, - class: "menu-item", - onClick: toLogin - }, _cache[7] || (_cache[7] = [ - createBaseVNode("i", { class: "iconfont ri-login-box-line" }, null, -1), - createBaseVNode("span", null, "去登录", -1) - ]))) : createCommentVNode("", true), - createBaseVNode("div", { - class: "menu-item", - onClick: _cache[3] || (_cache[3] = ($event) => selectItem("set")) - }, _cache[8] || (_cache[8] = [ - createBaseVNode("i", { class: "iconfont ri-settings-3-line" }, null, -1), - createBaseVNode("span", null, "设置", -1) - ])), - createBaseVNode("div", _hoisted_8, [ - createBaseVNode("i", { - class: normalizeClass(["iconfont", isDarkTheme.value ? "ri-moon-line" : "ri-sun-line"]) - }, null, 2), - _cache[11] || (_cache[11] = createBaseVNode("span", null, "主题", -1)), - createVNode(_component_n_switch, { - value: isDarkTheme.value, - "onUpdate:value": _cache[4] || (_cache[4] = ($event) => isDarkTheme.value = $event), - class: "ml-auto" - }, { - checked: withCtx(() => _cache[9] || (_cache[9] = [ - createBaseVNode("i", { class: "ri-moon-line" }, null, -1) - ])), - unchecked: withCtx(() => _cache[10] || (_cache[10] = [ - createBaseVNode("i", { class: "ri-sun-line" }, null, -1) - ])), - _: 1 - }, 8, ["value"]) - ]), - createBaseVNode("div", { - class: "menu-item", - onClick: restartApp - }, _cache[12] || (_cache[12] = [ - createBaseVNode("i", { class: "iconfont ri-restart-line" }, null, -1), - createBaseVNode("span", null, "重启", -1) - ])), - createBaseVNode("div", { - class: "menu-item", - onClick: toGithubRelease - }, [ - _cache[13] || (_cache[13] = createBaseVNode("i", { class: "iconfont ri-refresh-line" }, null, -1)), - _cache[14] || (_cache[14] = createBaseVNode("span", null, "当前版本", -1)), - createBaseVNode("div", _hoisted_9, [ - createBaseVNode("span", _hoisted_10, toDisplayString(updateInfo.value.currentVersion), 1), - updateInfo.value.hasUpdate ? (openBlock(), createBlock(_component_n_tag, { - key: 0, - type: "success", - size: "small", - class: "ml-1" - }, { - default: withCtx(() => [ - createTextVNode(" New " + toDisplayString(updateInfo.value.latestVersion), 1) - ]), - _: 1 - })) : createCommentVNode("", true) - ]) - ]) - ]) - ]) - ]), - _: 1 - }), - createVNode(_sfc_main$1, { - "alipay-q-r": unref(alipay), - "wechat-q-r": unref(wechat) - }, { - default: withCtx(() => [ - createBaseVNode("div", { - class: "github", - onClick: toGithub - }, _cache[15] || (_cache[15] = [ - createBaseVNode("i", { class: "ri-github-fill" }, null, -1) - ])) - ]), - _: 1 - }, 8, ["alipay-q-r", "wechat-q-r"]) - ]); - }; - } -}); -const SearchBar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-064c45e9"]]); -export { - SearchBar as default -}; diff --git a/out/renderer/assets/SearchBar-Cx7zzS9t.js.gz b/out/renderer/assets/SearchBar-Cx7zzS9t.js.gz deleted file mode 100644 index 2d44eb4a6db65226712e4096c74c4f8f3b50c2d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15259 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 diff --git a/out/renderer/assets/Slider-BA6NituQ.js b/out/renderer/assets/Slider-BA6NituQ.js deleted file mode 100644 index 487e189..0000000 --- a/out/renderer/assets/Slider-BA6NituQ.js +++ /dev/null @@ -1,864 +0,0 @@ -import { m as c, p as cB, W as cM, Y as cE, aM as fadeInScaleUpTransition, aN as insideModal, aO as insidePopover, aP as onBeforeUpdate, q as useTheme, d as defineComponent, x as useConfig, aQ as sliderLight, r as ref, z as useFormItem, G as computed, A as toRef, C as useMergedState, E as watch, a as onBeforeUnmount, ap as useThemeClass, aR as isMounted, l as h, K as resolveSlot, ak as Transition, L as call, J as on, aS as off, M as nextTick } from "./index-DKaFsuse.js"; -import { d as useAdjustedTo, B as Binder, V as VTarget, e as VFollower } from "./use-locale-DLWAOXez.js"; -const style = c([cB("slider", ` - display: block; - padding: calc((var(--n-handle-size) - var(--n-rail-height)) / 2) 0; - position: relative; - z-index: 0; - width: 100%; - cursor: pointer; - user-select: none; - -webkit-user-select: none; - `, [cM("reverse", [cB("slider-handles", [cB("slider-handle-wrapper", ` - transform: translate(50%, -50%); - `)]), cB("slider-dots", [cB("slider-dot", ` - transform: translateX(50%, -50%); - `)]), cM("vertical", [cB("slider-handles", [cB("slider-handle-wrapper", ` - transform: translate(-50%, -50%); - `)]), cB("slider-marks", [cB("slider-mark", ` - transform: translateY(calc(-50% + var(--n-dot-height) / 2)); - `)]), cB("slider-dots", [cB("slider-dot", ` - transform: translateX(-50%) translateY(0); - `)])])]), cM("vertical", ` - box-sizing: content-box; - padding: 0 calc((var(--n-handle-size) - var(--n-rail-height)) / 2); - width: var(--n-rail-width-vertical); - height: 100%; - `, [cB("slider-handles", ` - top: calc(var(--n-handle-size) / 2); - right: 0; - bottom: calc(var(--n-handle-size) / 2); - left: 0; - `, [cB("slider-handle-wrapper", ` - top: unset; - left: 50%; - transform: translate(-50%, 50%); - `)]), cB("slider-rail", ` - height: 100%; - `, [cE("fill", ` - top: unset; - right: 0; - bottom: unset; - left: 0; - `)]), cM("with-mark", ` - width: var(--n-rail-width-vertical); - margin: 0 32px 0 8px; - `), cB("slider-marks", ` - top: calc(var(--n-handle-size) / 2); - right: unset; - bottom: calc(var(--n-handle-size) / 2); - left: 22px; - font-size: var(--n-mark-font-size); - `, [cB("slider-mark", ` - transform: translateY(50%); - white-space: nowrap; - `)]), cB("slider-dots", ` - top: calc(var(--n-handle-size) / 2); - right: unset; - bottom: calc(var(--n-handle-size) / 2); - left: 50%; - `, [cB("slider-dot", ` - transform: translateX(-50%) translateY(50%); - `)])]), cM("disabled", ` - cursor: not-allowed; - opacity: var(--n-opacity-disabled); - `, [cB("slider-handle", ` - cursor: not-allowed; - `)]), cM("with-mark", ` - width: 100%; - margin: 8px 0 32px 0; - `), c("&:hover", [cB("slider-rail", { - backgroundColor: "var(--n-rail-color-hover)" -}, [cE("fill", { - backgroundColor: "var(--n-fill-color-hover)" -})]), cB("slider-handle", { - boxShadow: "var(--n-handle-box-shadow-hover)" -})]), cM("active", [cB("slider-rail", { - backgroundColor: "var(--n-rail-color-hover)" -}, [cE("fill", { - backgroundColor: "var(--n-fill-color-hover)" -})]), cB("slider-handle", { - boxShadow: "var(--n-handle-box-shadow-hover)" -})]), cB("slider-marks", ` - position: absolute; - top: 18px; - left: calc(var(--n-handle-size) / 2); - right: calc(var(--n-handle-size) / 2); - `, [cB("slider-mark", ` - position: absolute; - transform: translateX(-50%); - white-space: nowrap; - `)]), cB("slider-rail", ` - width: 100%; - position: relative; - height: var(--n-rail-height); - background-color: var(--n-rail-color); - transition: background-color .3s var(--n-bezier); - border-radius: calc(var(--n-rail-height) / 2); - `, [cE("fill", ` - position: absolute; - top: 0; - bottom: 0; - border-radius: calc(var(--n-rail-height) / 2); - transition: background-color .3s var(--n-bezier); - background-color: var(--n-fill-color); - `)]), cB("slider-handles", ` - position: absolute; - top: 0; - right: calc(var(--n-handle-size) / 2); - bottom: 0; - left: calc(var(--n-handle-size) / 2); - `, [cB("slider-handle-wrapper", ` - outline: none; - position: absolute; - top: 50%; - transform: translate(-50%, -50%); - cursor: pointer; - display: flex; - `, [cB("slider-handle", ` - height: var(--n-handle-size); - width: var(--n-handle-size); - border-radius: 50%; - overflow: hidden; - transition: box-shadow .2s var(--n-bezier), background-color .3s var(--n-bezier); - background-color: var(--n-handle-color); - box-shadow: var(--n-handle-box-shadow); - `, [c("&:hover", ` - box-shadow: var(--n-handle-box-shadow-hover); - `)]), c("&:focus", [cB("slider-handle", ` - box-shadow: var(--n-handle-box-shadow-focus); - `, [c("&:hover", ` - box-shadow: var(--n-handle-box-shadow-active); - `)])])])]), cB("slider-dots", ` - position: absolute; - top: 50%; - left: calc(var(--n-handle-size) / 2); - right: calc(var(--n-handle-size) / 2); - `, [cM("transition-disabled", [cB("slider-dot", "transition: none;")]), cB("slider-dot", ` - transition: - border-color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier); - position: absolute; - transform: translate(-50%, -50%); - height: var(--n-dot-height); - width: var(--n-dot-width); - border-radius: var(--n-dot-border-radius); - overflow: hidden; - box-sizing: border-box; - border: var(--n-dot-border); - background-color: var(--n-dot-color); - `, [cM("active", "border: var(--n-dot-border-active);")])])]), cB("slider-handle-indicator", ` - font-size: var(--n-font-size); - padding: 6px 10px; - border-radius: var(--n-indicator-border-radius); - color: var(--n-indicator-text-color); - background-color: var(--n-indicator-color); - box-shadow: var(--n-indicator-box-shadow); - `, [fadeInScaleUpTransition()]), cB("slider-handle-indicator", ` - font-size: var(--n-font-size); - padding: 6px 10px; - border-radius: var(--n-indicator-border-radius); - color: var(--n-indicator-text-color); - background-color: var(--n-indicator-color); - box-shadow: var(--n-indicator-box-shadow); - `, [cM("top", ` - margin-bottom: 12px; - `), cM("right", ` - margin-left: 12px; - `), cM("bottom", ` - margin-top: 12px; - `), cM("left", ` - margin-right: 12px; - `), fadeInScaleUpTransition()]), insideModal(cB("slider", [cB("slider-dot", "background-color: var(--n-dot-color-modal);")])), insidePopover(cB("slider", [cB("slider-dot", "background-color: var(--n-dot-color-popover);")]))]); -function isTouchEvent(e) { - return window.TouchEvent && e instanceof window.TouchEvent; -} -function useRefs() { - const refs = /* @__PURE__ */ new Map(); - const setRefs = (index) => (el) => { - refs.set(index, el); - }; - onBeforeUpdate(() => { - refs.clear(); - }); - return [refs, setRefs]; -} -const eventButtonLeft = 0; -const sliderProps = Object.assign(Object.assign({}, useTheme.props), { - to: useAdjustedTo.propTo, - defaultValue: { - type: [Number, Array], - default: 0 - }, - marks: Object, - disabled: { - type: Boolean, - default: void 0 - }, - formatTooltip: Function, - keyboard: { - type: Boolean, - default: true - }, - min: { - type: Number, - default: 0 - }, - max: { - type: Number, - default: 100 - }, - step: { - type: [Number, String], - default: 1 - }, - range: Boolean, - value: [Number, Array], - placement: String, - showTooltip: { - type: Boolean, - default: void 0 - }, - tooltip: { - type: Boolean, - default: true - }, - vertical: Boolean, - reverse: Boolean, - "onUpdate:value": [Function, Array], - onUpdateValue: [Function, Array], - onDragstart: [Function], - onDragend: [Function] -}); -const __unplugin_components_0 = defineComponent({ - name: "Slider", - props: sliderProps, - setup(props) { - const { - mergedClsPrefixRef, - namespaceRef, - inlineThemeDisabled - } = useConfig(props); - const themeRef = useTheme("Slider", "-slider", style, sliderLight, props, mergedClsPrefixRef); - const handleRailRef = ref(null); - const [handleRefs, setHandleRefs] = useRefs(); - const [followerRefs, setFollowerRefs] = useRefs(); - const followerEnabledIndexSetRef = ref(/* @__PURE__ */ new Set()); - const formItem = useFormItem(props); - const { - mergedDisabledRef - } = formItem; - const precisionRef = computed(() => { - const { - step - } = props; - if (Number(step) <= 0 || step === "mark") return 0; - const stepString = step.toString(); - let precision = 0; - if (stepString.includes(".")) { - precision = stepString.length - stepString.indexOf(".") - 1; - } - return precision; - }); - const uncontrolledValueRef = ref(props.defaultValue); - const controlledValueRef = toRef(props, "value"); - const mergedValueRef = useMergedState(controlledValueRef, uncontrolledValueRef); - const arrifiedValueRef = computed(() => { - const { - value: mergedValue - } = mergedValueRef; - return (props.range ? mergedValue : [mergedValue]).map(clampValue); - }); - const handleCountExceeds2Ref = computed(() => arrifiedValueRef.value.length > 2); - const mergedPlacementRef = computed(() => { - return props.placement === void 0 ? props.vertical ? "right" : "top" : props.placement; - }); - const markValuesRef = computed(() => { - const { - marks - } = props; - return marks ? Object.keys(marks).map(Number.parseFloat) : null; - }); - const activeIndexRef = ref(-1); - const previousIndexRef = ref(-1); - const hoverIndexRef = ref(-1); - const draggingRef = ref(false); - const dotTransitionDisabledRef = ref(false); - const styleDirectionRef = computed(() => { - const { - vertical, - reverse - } = props; - const left = reverse ? "right" : "left"; - const bottom = reverse ? "top" : "bottom"; - return vertical ? bottom : left; - }); - const fillStyleRef = computed(() => { - if (handleCountExceeds2Ref.value) return; - const values = arrifiedValueRef.value; - const start = valueToPercentage(props.range ? Math.min(...values) : props.min); - const end = valueToPercentage(props.range ? Math.max(...values) : values[0]); - const { - value: styleDirection - } = styleDirectionRef; - return props.vertical ? { - [styleDirection]: `${start}%`, - height: `${end - start}%` - } : { - [styleDirection]: `${start}%`, - width: `${end - start}%` - }; - }); - const markInfosRef = computed(() => { - const mergedMarks = []; - const { - marks - } = props; - if (marks) { - const orderValues = arrifiedValueRef.value.slice(); - orderValues.sort((a, b) => a - b); - const { - value: styleDirection - } = styleDirectionRef; - const { - value: handleCountExceeds2 - } = handleCountExceeds2Ref; - const { - range - } = props; - const isActive = handleCountExceeds2 ? () => false : (num) => range ? num >= orderValues[0] && num <= orderValues[orderValues.length - 1] : num <= orderValues[0]; - for (const key of Object.keys(marks)) { - const num = Number(key); - mergedMarks.push({ - active: isActive(num), - key: num, - label: marks[key], - style: { - [styleDirection]: `${valueToPercentage(num)}%` - } - }); - } - } - return mergedMarks; - }); - function getHandleStyle(value, index) { - const percentage = valueToPercentage(value); - const { - value: styleDirection - } = styleDirectionRef; - return { - [styleDirection]: `${percentage}%`, - zIndex: index === activeIndexRef.value ? 1 : 0 - }; - } - function isShowTooltip(index) { - return props.showTooltip || hoverIndexRef.value === index || activeIndexRef.value === index && draggingRef.value; - } - function shouldKeepTooltipTransition(index) { - if (!draggingRef.value) return true; - return !(activeIndexRef.value === index && previousIndexRef.value === index); - } - function focusActiveHandle(index) { - var _a; - if (~index) { - activeIndexRef.value = index; - (_a = handleRefs.get(index)) === null || _a === void 0 ? void 0 : _a.focus(); - } - } - function syncPosition() { - followerRefs.forEach((inst, index) => { - if (isShowTooltip(index)) inst.syncPosition(); - }); - } - function doUpdateValue(value) { - const { - "onUpdate:value": _onUpdateValue, - onUpdateValue - } = props; - const { - nTriggerFormInput, - nTriggerFormChange - } = formItem; - if (onUpdateValue) call(onUpdateValue, value); - if (_onUpdateValue) call(_onUpdateValue, value); - uncontrolledValueRef.value = value; - nTriggerFormInput(); - nTriggerFormChange(); - } - function dispatchValueUpdate(value) { - const { - range - } = props; - if (range) { - if (Array.isArray(value)) { - const { - value: oldValues - } = arrifiedValueRef; - if (value.join() !== oldValues.join()) { - doUpdateValue(value); - } - } - } else if (!Array.isArray(value)) { - const oldValue = arrifiedValueRef.value[0]; - if (oldValue !== value) { - doUpdateValue(value); - } - } - } - function doDispatchValue(value, index) { - if (props.range) { - const values = arrifiedValueRef.value.slice(); - values.splice(index, 1, value); - dispatchValueUpdate(values); - } else { - dispatchValueUpdate(value); - } - } - function sanitizeValue(value, currentValue, stepBuffer) { - const stepping = stepBuffer !== void 0; - if (!stepBuffer) { - stepBuffer = value - currentValue > 0 ? 1 : -1; - } - const markValues = markValuesRef.value || []; - const { - step - } = props; - if (step === "mark") { - const closestMark2 = getClosestMark(value, markValues.concat(currentValue), stepping ? stepBuffer : void 0); - return closestMark2 ? closestMark2.value : currentValue; - } - if (step <= 0) return currentValue; - const { - value: precision - } = precisionRef; - let closestMark; - if (stepping) { - const currentStep = Number((currentValue / step).toFixed(precision)); - const actualStep = Math.floor(currentStep); - const leftStep = currentStep > actualStep ? actualStep : actualStep - 1; - const rightStep = currentStep < actualStep ? actualStep : actualStep + 1; - closestMark = getClosestMark(currentValue, [Number((leftStep * step).toFixed(precision)), Number((rightStep * step).toFixed(precision)), ...markValues], stepBuffer); - } else { - const roundValue = getRoundValue(value); - closestMark = getClosestMark(value, [...markValues, roundValue]); - } - return closestMark ? clampValue(closestMark.value) : currentValue; - } - function clampValue(value) { - return Math.min(props.max, Math.max(props.min, value)); - } - function valueToPercentage(value) { - const { - max, - min - } = props; - return (value - min) / (max - min) * 100; - } - function percentageToValue(percentage) { - const { - max, - min - } = props; - return min + (max - min) * percentage; - } - function getRoundValue(value) { - const { - step, - min - } = props; - if (Number(step) <= 0 || step === "mark") return value; - const newValue = Math.round((value - min) / step) * step + min; - return Number(newValue.toFixed(precisionRef.value)); - } - function getClosestMark(currentValue, markValues = markValuesRef.value, buffer) { - if (!(markValues === null || markValues === void 0 ? void 0 : markValues.length)) return null; - let closestMark = null; - let index = -1; - while (++index < markValues.length) { - const diff = markValues[index] - currentValue; - const distance = Math.abs(diff); - if ( - // find marks in the same direction - (buffer === void 0 || diff * buffer > 0) && (closestMark === null || distance < closestMark.distance) - ) { - closestMark = { - index, - distance, - value: markValues[index] - }; - } - } - return closestMark; - } - function getPointValue(event) { - const railEl = handleRailRef.value; - if (!railEl) return; - const touchEvent = isTouchEvent(event) ? event.touches[0] : event; - const railRect = railEl.getBoundingClientRect(); - let percentage; - if (props.vertical) { - percentage = (railRect.bottom - touchEvent.clientY) / railRect.height; - } else { - percentage = (touchEvent.clientX - railRect.left) / railRect.width; - } - if (props.reverse) { - percentage = 1 - percentage; - } - return percentageToValue(percentage); - } - function handleRailKeyDown(e) { - if (mergedDisabledRef.value || !props.keyboard) return; - const { - vertical, - reverse - } = props; - switch (e.key) { - case "ArrowUp": - e.preventDefault(); - handleStepValue(vertical && reverse ? -1 : 1); - break; - case "ArrowRight": - e.preventDefault(); - handleStepValue(!vertical && reverse ? -1 : 1); - break; - case "ArrowDown": - e.preventDefault(); - handleStepValue(vertical && reverse ? 1 : -1); - break; - case "ArrowLeft": - e.preventDefault(); - handleStepValue(!vertical && reverse ? 1 : -1); - break; - } - } - function handleStepValue(ratio) { - const activeIndex = activeIndexRef.value; - if (activeIndex === -1) return; - const { - step - } = props; - const currentValue = arrifiedValueRef.value[activeIndex]; - const nextValue = Number(step) <= 0 || step === "mark" ? currentValue : currentValue + step * ratio; - doDispatchValue( - // Avoid the number of value does not change when `step` is null - sanitizeValue(nextValue, currentValue, ratio > 0 ? 1 : -1), - activeIndex - ); - } - function handleRailMouseDown(event) { - var _a, _b; - if (mergedDisabledRef.value) return; - if (!isTouchEvent(event) && event.button !== eventButtonLeft) { - return; - } - const pointValue = getPointValue(event); - if (pointValue === void 0) return; - const values = arrifiedValueRef.value.slice(); - const activeIndex = props.range ? (_b = (_a = getClosestMark(pointValue, values)) === null || _a === void 0 ? void 0 : _a.index) !== null && _b !== void 0 ? _b : -1 : 0; - if (activeIndex !== -1) { - event.preventDefault(); - focusActiveHandle(activeIndex); - startDragging(); - doDispatchValue(sanitizeValue(pointValue, arrifiedValueRef.value[activeIndex]), activeIndex); - } - } - function startDragging() { - if (!draggingRef.value) { - draggingRef.value = true; - if (props.onDragstart) call(props.onDragstart); - on("touchend", document, handleMouseUp); - on("mouseup", document, handleMouseUp); - on("touchmove", document, handleMouseMove); - on("mousemove", document, handleMouseMove); - } - } - function stopDragging() { - if (draggingRef.value) { - draggingRef.value = false; - if (props.onDragend) call(props.onDragend); - off("touchend", document, handleMouseUp); - off("mouseup", document, handleMouseUp); - off("touchmove", document, handleMouseMove); - off("mousemove", document, handleMouseMove); - } - } - function handleMouseMove(event) { - const { - value: activeIndex - } = activeIndexRef; - if (!draggingRef.value || activeIndex === -1) { - stopDragging(); - return; - } - const pointValue = getPointValue(event); - if (pointValue === void 0) return; - doDispatchValue(sanitizeValue(pointValue, arrifiedValueRef.value[activeIndex]), activeIndex); - } - function handleMouseUp() { - stopDragging(); - } - function handleHandleFocus(index) { - activeIndexRef.value = index; - if (!mergedDisabledRef.value) { - hoverIndexRef.value = index; - } - } - function handleHandleBlur(index) { - if (activeIndexRef.value === index) { - activeIndexRef.value = -1; - stopDragging(); - } - if (hoverIndexRef.value === index) { - hoverIndexRef.value = -1; - } - } - function handleHandleMouseEnter(index) { - hoverIndexRef.value = index; - } - function handleHandleMouseLeave(index) { - if (hoverIndexRef.value === index) { - hoverIndexRef.value = -1; - } - } - watch(activeIndexRef, (_, previous) => void nextTick(() => previousIndexRef.value = previous)); - watch(mergedValueRef, () => { - if (props.marks) { - if (dotTransitionDisabledRef.value) return; - dotTransitionDisabledRef.value = true; - void nextTick(() => { - dotTransitionDisabledRef.value = false; - }); - } - void nextTick(syncPosition); - }); - onBeforeUnmount(() => { - stopDragging(); - }); - const cssVarsRef = computed(() => { - const { - self: { - markFontSize, - railColor, - railColorHover, - fillColor, - fillColorHover, - handleColor, - opacityDisabled, - dotColor, - dotColorModal, - handleBoxShadow, - handleBoxShadowHover, - handleBoxShadowActive, - handleBoxShadowFocus, - dotBorder, - dotBoxShadow, - railHeight, - railWidthVertical, - handleSize, - dotHeight, - dotWidth, - dotBorderRadius, - fontSize, - dotBorderActive, - dotColorPopover - }, - common: { - cubicBezierEaseInOut - } - } = themeRef.value; - return { - "--n-bezier": cubicBezierEaseInOut, - "--n-dot-border": dotBorder, - "--n-dot-border-active": dotBorderActive, - "--n-dot-border-radius": dotBorderRadius, - "--n-dot-box-shadow": dotBoxShadow, - "--n-dot-color": dotColor, - "--n-dot-color-modal": dotColorModal, - "--n-dot-color-popover": dotColorPopover, - "--n-dot-height": dotHeight, - "--n-dot-width": dotWidth, - "--n-fill-color": fillColor, - "--n-fill-color-hover": fillColorHover, - "--n-font-size": fontSize, - "--n-handle-box-shadow": handleBoxShadow, - "--n-handle-box-shadow-active": handleBoxShadowActive, - "--n-handle-box-shadow-focus": handleBoxShadowFocus, - "--n-handle-box-shadow-hover": handleBoxShadowHover, - "--n-handle-color": handleColor, - "--n-handle-size": handleSize, - "--n-opacity-disabled": opacityDisabled, - "--n-rail-color": railColor, - "--n-rail-color-hover": railColorHover, - "--n-rail-height": railHeight, - "--n-rail-width-vertical": railWidthVertical, - "--n-mark-font-size": markFontSize - }; - }); - const themeClassHandle = inlineThemeDisabled ? useThemeClass("slider", void 0, cssVarsRef, props) : void 0; - const indicatorCssVarsRef = computed(() => { - const { - self: { - fontSize, - indicatorColor, - indicatorBoxShadow, - indicatorTextColor, - indicatorBorderRadius - } - } = themeRef.value; - return { - "--n-font-size": fontSize, - "--n-indicator-border-radius": indicatorBorderRadius, - "--n-indicator-box-shadow": indicatorBoxShadow, - "--n-indicator-color": indicatorColor, - "--n-indicator-text-color": indicatorTextColor - }; - }); - const indicatorThemeClassHandle = inlineThemeDisabled ? useThemeClass("slider-indicator", void 0, indicatorCssVarsRef, props) : void 0; - return { - mergedClsPrefix: mergedClsPrefixRef, - namespace: namespaceRef, - uncontrolledValue: uncontrolledValueRef, - mergedValue: mergedValueRef, - mergedDisabled: mergedDisabledRef, - mergedPlacement: mergedPlacementRef, - isMounted: isMounted(), - adjustedTo: useAdjustedTo(props), - dotTransitionDisabled: dotTransitionDisabledRef, - markInfos: markInfosRef, - isShowTooltip, - shouldKeepTooltipTransition, - handleRailRef, - setHandleRefs, - setFollowerRefs, - fillStyle: fillStyleRef, - getHandleStyle, - activeIndex: activeIndexRef, - arrifiedValues: arrifiedValueRef, - followerEnabledIndexSet: followerEnabledIndexSetRef, - handleRailMouseDown, - handleHandleFocus, - handleHandleBlur, - handleHandleMouseEnter, - handleHandleMouseLeave, - handleRailKeyDown, - indicatorCssVars: inlineThemeDisabled ? void 0 : indicatorCssVarsRef, - indicatorThemeClass: indicatorThemeClassHandle === null || indicatorThemeClassHandle === void 0 ? void 0 : indicatorThemeClassHandle.themeClass, - indicatorOnRender: indicatorThemeClassHandle === null || indicatorThemeClassHandle === void 0 ? void 0 : indicatorThemeClassHandle.onRender, - cssVars: inlineThemeDisabled ? void 0 : cssVarsRef, - themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, - onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender - }; - }, - render() { - var _a; - const { - mergedClsPrefix, - themeClass, - formatTooltip - } = this; - (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this); - return h("div", { - class: [`${mergedClsPrefix}-slider`, themeClass, { - [`${mergedClsPrefix}-slider--disabled`]: this.mergedDisabled, - [`${mergedClsPrefix}-slider--active`]: this.activeIndex !== -1, - [`${mergedClsPrefix}-slider--with-mark`]: this.marks, - [`${mergedClsPrefix}-slider--vertical`]: this.vertical, - [`${mergedClsPrefix}-slider--reverse`]: this.reverse - }], - style: this.cssVars, - onKeydown: this.handleRailKeyDown, - onMousedown: this.handleRailMouseDown, - onTouchstart: this.handleRailMouseDown - }, h("div", { - class: `${mergedClsPrefix}-slider-rail` - }, h("div", { - class: `${mergedClsPrefix}-slider-rail__fill`, - style: this.fillStyle - }), this.marks ? h("div", { - class: [`${mergedClsPrefix}-slider-dots`, this.dotTransitionDisabled && `${mergedClsPrefix}-slider-dots--transition-disabled`] - }, this.markInfos.map((mark) => h("div", { - key: mark.key, - class: [`${mergedClsPrefix}-slider-dot`, { - [`${mergedClsPrefix}-slider-dot--active`]: mark.active - }], - style: mark.style - }))) : null, h("div", { - ref: "handleRailRef", - class: `${mergedClsPrefix}-slider-handles` - }, this.arrifiedValues.map((value, index) => { - const showTooltip = this.isShowTooltip(index); - return h(Binder, null, { - default: () => [h(VTarget, null, { - default: () => h("div", { - ref: this.setHandleRefs(index), - class: `${mergedClsPrefix}-slider-handle-wrapper`, - tabindex: this.mergedDisabled ? -1 : 0, - role: "slider", - "aria-valuenow": value, - "aria-valuemin": this.min, - "aria-valuemax": this.max, - "aria-orientation": this.vertical ? "vertical" : "horizontal", - "aria-disabled": this.disabled, - style: this.getHandleStyle(value, index), - onFocus: () => { - this.handleHandleFocus(index); - }, - onBlur: () => { - this.handleHandleBlur(index); - }, - onMouseenter: () => { - this.handleHandleMouseEnter(index); - }, - onMouseleave: () => { - this.handleHandleMouseLeave(index); - } - }, resolveSlot(this.$slots.thumb, () => [h("div", { - class: `${mergedClsPrefix}-slider-handle` - })])) - }), this.tooltip && h(VFollower, { - ref: this.setFollowerRefs(index), - show: showTooltip, - to: this.adjustedTo, - enabled: this.showTooltip && !this.range || this.followerEnabledIndexSet.has(index), - teleportDisabled: this.adjustedTo === useAdjustedTo.tdkey, - placement: this.mergedPlacement, - containerClass: this.namespace - }, { - default: () => h(Transition, { - name: "fade-in-scale-up-transition", - appear: this.isMounted, - css: this.shouldKeepTooltipTransition(index), - onEnter: () => { - this.followerEnabledIndexSet.add(index); - }, - onAfterLeave: () => { - this.followerEnabledIndexSet.delete(index); - } - }, { - default: () => { - var _a2; - if (showTooltip) { - (_a2 = this.indicatorOnRender) === null || _a2 === void 0 ? void 0 : _a2.call(this); - return h("div", { - class: [`${mergedClsPrefix}-slider-handle-indicator`, this.indicatorThemeClass, `${mergedClsPrefix}-slider-handle-indicator--${this.mergedPlacement}`], - style: this.indicatorCssVars - }, typeof formatTooltip === "function" ? formatTooltip(value) : value); - } - return null; - } - }) - })] - }); - })), this.marks ? h("div", { - class: `${mergedClsPrefix}-slider-marks` - }, this.markInfos.map((mark) => h("div", { - key: mark.key, - class: `${mergedClsPrefix}-slider-mark`, - style: mark.style - }, typeof mark.label === "function" ? mark.label() : mark.label))) : null)); - } -}); -export { - __unplugin_components_0 as _ -}; diff --git a/out/renderer/assets/Slider-BA6NituQ.js.gz b/out/renderer/assets/Slider-BA6NituQ.js.gz deleted file mode 100644 index 56da44e574f2de7a30ce406e7ba37671e467b46f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6523 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 diff --git a/out/renderer/assets/SongItem-Bw5Qa7XV.css b/out/renderer/assets/SongItem-Bw5Qa7XV.css deleted file mode 100644 index 8895831..0000000 --- a/out/renderer/assets/SongItem-Bw5Qa7XV.css +++ /dev/null @@ -1,296 +0,0 @@ -.text-ellipsis[data-v-aae6c67f] { - width: 100%; -} -.song-item[data-v-aae6c67f] { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - display: flex; - align-items: center; - border-radius: 1.5rem; - background-color: transparent; - padding: 0.75rem; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.song-item[data-v-aae6c67f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.song-item[data-v-aae6c67f]:hover { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)); -} -.song-item[data-v-aae6c67f]:hover:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)); -} -.song-item-img[data-v-aae6c67f] { - margin-right: 1rem; - height: 3rem; - width: 3rem; - border-radius: 1rem; -} -.song-item-content[data-v-aae6c67f] { - flex: 1 1 0%; -} -.song-item-content-title[data-v-aae6c67f] { - font-size: 1rem; - line-height: 1.5rem; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.song-item-content-title[data-v-aae6c67f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.song-item-content-name[data-v-aae6c67f] { - font-size: 0.75rem; - line-height: 1rem; - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity, 1)); -} -.song-item-content-name[data-v-aae6c67f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} -.song-item-operating[data-v-aae6c67f] { - margin-left: 1rem; - display: flex; - align-items: center; - border-radius: 9999px; - border-width: 1px; - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)); - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); -} -.song-item-operating[data-v-aae6c67f]:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(55 65 81 / var(--tw-border-opacity, 1)); - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} -.song-item-operating .iconfont[data-v-aae6c67f] { - font-size: 1.25rem; - line-height: 1.75rem; -} -.song-item-operating .icon-likefill[data-v-aae6c67f] { - font-size: 1.25rem; - line-height: 1.75rem; - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity, 1)); - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.song-item-operating .icon-likefill[data-v-aae6c67f]:hover { - --tw-text-opacity: 1; - color: rgb(239 68 68 / var(--tw-text-opacity, 1)); -} -.song-item-operating .icon-likefill[data-v-aae6c67f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} -.song-item-operating-like[data-v-aae6c67f] { - margin-right: 0.5rem; - margin-left: 1rem; - cursor: pointer; -} -.song-item-operating .like-active[data-v-aae6c67f] { - --tw-text-opacity: 1; - color: rgb(239 68 68 / var(--tw-text-opacity, 1)); -} -.song-item-operating-play[data-v-aae6c67f] { - display: flex; - height: 2.5rem; - width: 2.5rem; - cursor: pointer; - align-items: center; - justify-content: center; - border-radius: 9999px; - border-width: 1px; - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.song-item-operating-play[data-v-aae6c67f]:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(55 65 81 / var(--tw-border-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.song-item-operating-play[data-v-aae6c67f]:hover, .song-item-operating-play.bg-green-600[data-v-aae6c67f] { - --tw-border-opacity: 1; - border-color: rgb(34 197 94 / var(--tw-border-opacity, 1)); - --tw-bg-opacity: 1; - background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.song-mini[data-v-aae6c67f] { - border-radius: 1rem; - padding: 0.5rem; -} -.song-mini .song-item[data-v-aae6c67f] { - padding: 0px; -} -.song-mini .song-item-img[data-v-aae6c67f] { - margin-right: 0.5rem; - height: 2.5rem; - width: 2.5rem; -} -.song-mini .song-item-content[data-v-aae6c67f] { - flex: 1 1 0%; -} -.song-mini .song-item-content-title[data-v-aae6c67f] { - font-size: 0.875rem; - line-height: 1.25rem; -} -.song-mini .song-item-content-name[data-v-aae6c67f] { - font-size: 0.75rem; - line-height: 1rem; -} -.song-mini .song-item-operating[data-v-aae6c67f] { - padding-left: 0.5rem; -} -.song-mini .song-item-operating .iconfont[data-v-aae6c67f] { - font-size: 1rem; - line-height: 1.5rem; -} -.song-mini .song-item-operating-like[data-v-aae6c67f] { - margin-right: 0.25rem; - margin-left: 0.25rem; -} -.song-mini .song-item-operating-play[data-v-aae6c67f] { - height: 2rem; - width: 2rem; -} -.song-list[data-v-aae6c67f] { - margin-bottom: 0.5rem; - border-radius: 0.5rem; - border-width: 1px; - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)); - padding: 0.5rem; -} -.song-list[data-v-aae6c67f]:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(31 41 55 / var(--tw-border-opacity, 1)); -} -.song-list[data-v-aae6c67f]:hover { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1)); -} -.song-list[data-v-aae6c67f]:hover:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)); -} -.song-list .song-item-img[data-v-aae6c67f] { - margin-right: 0.75rem; - height: 2.5rem; - width: 2.5rem; - border-radius: 0.5rem; -} -.song-list .song-item-content[data-v-aae6c67f] { - display: flex; - flex: 1 1 0%; - align-items: center; -} -.song-list .song-item-content-wrapper[data-v-aae6c67f] { - display: flex; - flex: 1 1 0%; - align-items: center; - font-size: 0.875rem; - line-height: 1.25rem; -} -.song-list .song-item-content-title[data-v-aae6c67f] { - max-width: 45%; - flex-shrink: 0; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.song-list .song-item-content-title[data-v-aae6c67f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.song-list .song-item-content-divider[data-v-aae6c67f] { - margin-left: 0.5rem; - margin-right: 0.5rem; - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity, 1)); -} -.song-list .song-item-content-divider[data-v-aae6c67f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} -.song-list .song-item-content-name[data-v-aae6c67f] { - min-width: 0px; - flex: 1 1 0%; - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity, 1)); -} -.song-list .song-item-content-name[data-v-aae6c67f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} -.song-list .song-item-operating[data-v-aae6c67f] { - display: flex; - align-items: center; - gap: 0.5rem; -} -.song-list .song-item-operating-like[data-v-aae6c67f] { - cursor: pointer; - transition-property: transform; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.song-list .song-item-operating-like[data-v-aae6c67f]:hover { - --tw-scale-x: 1.1; - --tw-scale-y: 1.1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.song-list .song-item-operating-like .iconfont[data-v-aae6c67f] { - font-size: 1rem; - line-height: 1.5rem; - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity, 1)); -} -.song-list .song-item-operating-like .iconfont[data-v-aae6c67f]:hover { - --tw-text-opacity: 1; - color: rgb(239 68 68 / var(--tw-text-opacity, 1)); -} -.song-list .song-item-operating-like .iconfont[data-v-aae6c67f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} -.song-list .song-item-operating-play[data-v-aae6c67f] { - height: 1.75rem; - width: 1.75rem; - cursor: pointer; - transition-property: transform; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.song-list .song-item-operating-play[data-v-aae6c67f]:hover { - --tw-scale-x: 1.1; - --tw-scale-y: 1.1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.song-list .song-item-operating-play .iconfont[data-v-aae6c67f] { - font-size: 1rem; - line-height: 1.5rem; -} \ No newline at end of file diff --git a/out/renderer/assets/SongItem-Bw5Qa7XV.css.gz b/out/renderer/assets/SongItem-Bw5Qa7XV.css.gz deleted file mode 100644 index 5304efb5a964b555f3d94ca7baf8cb335bb89db5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1225 zcmV;)1UCC0iwFP!000026YW{uZsIx+zVB1a%}V7c&c=a2Nnd1FN9V#MCU{Bg$T0C5KykD)Z&GZA(cpykZm#_u4TDlXDN}C zEB%F(gdyXR4~{*nln_!|lsiVGBw%Xq1J?3#1sN@#@eJGvjOXwj-iUlY)35-KMp`E~ z#}pGBrBb9+>ecdvtTS*{wU2U?FBsB5NRls5ikB>oEy$D3l^XSeP>iYJNCo^#{$Q8 z^^IxhhMNMo57={(tS9(KsK%4}0}qYoG`Gzq%WLyD=GwrC5kP{!Wr5pK*lMHS{Fm)?#RFTnV? zTYUh+Nz(7DlXOvc*9FdUW`OYou={c|nAf-qdsD#EG2q!n?$TsT6yx2I5Yy#}SFX(G z^Z9(9?oKAElB5t80b9&8;{7Baly}3OgFD9Hj_cuG(>`SHi`dM3>$-`g-H9!XHf)!k z2U8DT@Qt_Vfd0FDb6~STa2-AU9AvxZxT@l<%L0non(Fla`(|z&!C!^oS0Q+(LU4Ex zG|RM}EIOXU^hJNJNeaDKJ|I!$Xol2n&Y|WpX0c!+GmR+~tVmdGF3|Q62^4#4F?;u8 zKsw!;ZJ*`hiUZxl?#ncL6rAn6HG}`!WQr~KRkiZRCikyr{ujG{4t6((@7dzxJ{eB{&u1{7+_-i&uNyta(Fx>6Y5q1G0ym)&|L z=xYHVwKa#gs19wS9FuWxf@-sLMf;>>iGiII$9`#P4^;1tK07yPLbRFadAOH{SJpf| z=YQQBudC10Yv_V1&NY^CPTv^}sh$pZv2hb?3&$)|ok$l#DUqDs@kTtJO+2bNY9#>U zo_;F}8QZTWRNWA+?Lp7M^&D_LJgBkJVf%4CXbs{jCY=qY($<^UhM|*V&)yn!(rtM~ z^q4|hNz#;(J~;R3xL*eJG0pcjOd)$?VcYRG z7`;LCXQjhk+VPhHe@xG#4OM$ZkuY9eMJF}J%0u1vfj?|CA@!6>Lx0YQNZL=JLkb*2 z|Hb%nK0It6@l3sNBh5se1tg|OUpE`S)`k0n@UWqBZ!uBy`FNt02<=7|7{vS02&7Oo zrD8l9LAIvbA4jsCedgCce?`1^LAuZQ)q nq%z=naq@dqRrwz!pNtJU+B;utU~<;Yp49&Xm!s5F<|hCE1P52d diff --git a/out/renderer/assets/SongItem-CoswpGn6.js b/out/renderer/assets/SongItem-CoswpGn6.js deleted file mode 100644 index 2e6953d..0000000 --- a/out/renderer/assets/SongItem-CoswpGn6.js +++ /dev/null @@ -1,170 +0,0 @@ -import { d as defineComponent, g as useStore, G as computed, aG as useTemplateRef, j as openBlock, c as createElementBlock, O as createBlock, u as unref, a7 as getImgUrl, T as createCommentVNode, b as createBaseVNode, e as createVNode, f as withCtx, k as createTextVNode, t as toDisplayString, a3 as Fragment, a4 as renderList, n as normalizeClass, ah as withModifiers, b5 as getImageBackground, ae as audioService, _ as _export_sfc } from "./index-DKaFsuse.js"; -import { N as NImage } from "./Image-DXClIklC.js"; -import { _ as __unplugin_components_2 } from "./Ellipsis-D4R5dIX2.js"; -const _hoisted_1 = { class: "song-item-content" }; -const _hoisted_2 = { - key: 0, - class: "song-item-content-wrapper" -}; -const _hoisted_3 = { class: "song-item-content-title" }; -const _hoisted_4 = { class: "song-item-content-name" }; -const _hoisted_5 = { - key: 0, - class: "song-item-operating-like" -}; -const _hoisted_6 = { - key: 0, - class: "iconfont icon-stop" -}; -const _hoisted_7 = { - key: 1, - class: "iconfont icon-playfill" -}; -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "SongItem", - props: { - item: {}, - mini: { type: Boolean, default: false }, - list: { type: Boolean, default: false }, - favorite: { type: Boolean, default: true } - }, - emits: ["play"], - setup(__props, { emit: __emit }) { - const props = __props; - const store = useStore(); - const play = computed(() => store.state.play); - const playMusic = computed(() => store.state.playMusic); - const playLoading = computed( - () => playMusic.value.id === props.item.id && playMusic.value.playLoading - ); - const isPlaying = computed(() => { - return playMusic.value.id === props.item.id; - }); - const emits = __emit; - const songImageRef = useTemplateRef("songImg"); - const imageLoad = async () => { - if (!songImageRef.value) { - return; - } - const { backgroundColor } = await getImageBackground( - songImageRef.value.imageRef - ); - props.item.backgroundColor = backgroundColor; - }; - const playMusicEvent = async (item) => { - if (playMusic.value.id === item.id) { - if (play.value) { - store.commit("setPlayMusic", false); - audioService.getCurrentSound()?.pause(); - } else { - store.commit("setPlayMusic", true); - audioService.getCurrentSound()?.play(); - } - return; - } - await store.commit("setPlay", item); - store.commit("setIsPlay", true); - emits("play", item); - }; - const isFavorite = computed(() => { - return store.state.favoriteList.includes(props.item.id); - }); - const toggleFavorite = async (e) => { - e.stopPropagation(); - if (isFavorite.value) { - store.commit("removeFromFavorite", props.item.id); - } else { - store.commit("addToFavorite", props.item.id); - } - }; - return (_ctx, _cache) => { - const _component_n_image = NImage; - const _component_n_ellipsis = __unplugin_components_2; - return openBlock(), createElementBlock("div", { - class: normalizeClass(["song-item", { "song-mini": _ctx.mini, "song-list": _ctx.list }]) - }, [ - _ctx.item.picUrl ? (openBlock(), createBlock(_component_n_image, { - key: 0, - ref: "songImg", - src: unref(getImgUrl)(_ctx.item.picUrl, "100y100"), - class: "song-item-img", - "preview-disabled": "", - "img-props": { - crossorigin: "anonymous" - }, - onLoad: imageLoad - }, null, 8, ["src"])) : createCommentVNode("", true), - createBaseVNode("div", _hoisted_1, [ - _ctx.list ? (openBlock(), createElementBlock("div", _hoisted_2, [ - createVNode(_component_n_ellipsis, { - class: "song-item-content-title text-ellipsis", - "line-clamp": "1" - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(_ctx.item.name), 1) - ]), - _: 1 - }), - _cache[1] || (_cache[1] = createBaseVNode("div", { class: "song-item-content-divider" }, "-", -1)), - createVNode(_component_n_ellipsis, { - class: "song-item-content-name text-ellipsis", - "line-clamp": "1" - }, { - default: withCtx(() => [ - (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.item.ar || _ctx.item.song.artists, (artists, artistsindex) => { - return openBlock(), createElementBlock("span", { key: artistsindex }, toDisplayString(artists.name) + toDisplayString(artistsindex < (_ctx.item.ar || _ctx.item.song.artists).length - 1 ? " / " : ""), 1); - }), 128)) - ]), - _: 1 - }) - ])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createBaseVNode("div", _hoisted_3, [ - createVNode(_component_n_ellipsis, { - class: "text-ellipsis", - "line-clamp": "1" - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(_ctx.item.name), 1) - ]), - _: 1 - }) - ]), - createBaseVNode("div", _hoisted_4, [ - createVNode(_component_n_ellipsis, { - class: "text-ellipsis", - "line-clamp": "1" - }, { - default: withCtx(() => [ - (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.item.ar || _ctx.item.song.artists, (artists, artistsindex) => { - return openBlock(), createElementBlock("span", { key: artistsindex }, toDisplayString(artists.name) + toDisplayString(artistsindex < (_ctx.item.ar || _ctx.item.song.artists).length - 1 ? " / " : ""), 1); - }), 128)) - ]), - _: 1 - }) - ]) - ], 64)) - ]), - createBaseVNode("div", { - class: normalizeClass(["song-item-operating", { "song-item-operating-list": _ctx.list }]) - }, [ - _ctx.favorite ? (openBlock(), createElementBlock("div", _hoisted_5, [ - createBaseVNode("i", { - class: normalizeClass(["iconfont icon-likefill", { "like-active": isFavorite.value }]), - onClick: withModifiers(toggleFavorite, ["stop"]) - }, null, 2) - ])) : createCommentVNode("", true), - createBaseVNode("div", { - class: normalizeClass(["song-item-operating-play bg-gray-300 dark:bg-gray-800 animate__animated", { "bg-green-600": isPlaying.value, animate__flipInY: playLoading.value }]), - onClick: _cache[0] || (_cache[0] = ($event) => playMusicEvent(_ctx.item)) - }, [ - isPlaying.value && play.value ? (openBlock(), createElementBlock("i", _hoisted_6)) : (openBlock(), createElementBlock("i", _hoisted_7)) - ], 2) - ], 2) - ], 2); - }; - } -}); -const SongItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-aae6c67f"]]); -export { - SongItem as S -}; diff --git a/out/renderer/assets/SongItem-CoswpGn6.js.gz b/out/renderer/assets/SongItem-CoswpGn6.js.gz deleted file mode 100644 index 877070a004c323f0c9a64100a43dc885659626c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1890 zcmV-o2c7sIiwFP!000026WtkWZ`(NXdw#_naac%ulxwGHS}5o1p>DefZns-B?O_i= zATScGa3hfdNxAW5{ofa)Uev?2TP$#g%@>Qqd2pT_PFP+Dso@b4APN$?W}L1>UI*84H2px=7=ATCQBeLW6Y)KU*b+%fG<}oN zoN`@n{M>ESkkazw(y$@V%_61xGEYCr48z9`eI;_k=il!{LNVMre2Aholy=Y>vNn*< zOy8~a1BUx<|08{9cxeOG;x$u6Mz&X4GM-`}PYw93Bx!EVLe9)uQl3!xBU2g!HvleV zPBQjiy2^-B7|2~C@h6e6HKS5txP8{@MN;~T#P_KbB{$}@M{o>@PFUm4cZTkr72%NBb@2L^Rd#uwtp+5O zsHo&cR;G+caT5kAI(2xw$ud?brh?aJAD$(bznoTVV!@S$=uR-DX%a1936BsPJA{Cg z;Ay}#&4XBQO}R#}8(JA?72M9UI zC+VIYac)siNi^eWkgM$b)5DJw4Bd z_4{3!7i=Uq>N^`Z5F`RcjAM5HNlALzRBgmX1{ zsM=0Z|GWm@Xah?iYRhBjAC|4b`-{uCI<4O#H2PfB>s|d@v44cyw#KhSCM4{PpwEQq ziCe&Hd5$H{SiP)q{6?T-u%WEwPTdq+W?6J9^4&PYh zIny3eRKIW7B3xy7tDO0B@5EV3^{SMTa(!hj=D(a3q*QIXS^a>TDsi+(QzO1kVn((- zfd^ut^7rH!5VqE9nT?PxRgKm=rA-2_Dq}qkyM8jhtxM#=Y;;RXQ&&xMGh;l?%7iMf zmze%kW@?e98FfU~p+tKEjTBM5m!cpk(M<5pk|t=nGmk^3ZyZT;v7v9J$QufTVd|6< z5z*&FlH{W}%)~WtZ8k58O*LX09~JS)W-u)4&g^18BCWeDTjeHOvWvd= z+J@Wn@kF=np@eM^cJ!~?gMQEIU3X23!LEB4bAh7}jHWa5jcd5Ms~foahTVpTnNV;M4bC57aZZn#o5Kte3 zAqQ#avJ%|fQek&tb=3z0FS8883k=st$r#=EK7qR)a&mJ!tx%gND544C|1LaT>%K$qVDG1?uhZ#^TyWvVJ<& z)$@9Q2E)gsH+V)mVQ2bhAH%{Q@VN1Zr;S2b^ba^dsp`)4;s$>E&D5f1wcO{{FFkP* zwqXgC$d~~I2t%;&2lD<HB!D(BBK%2Ry@0W9Dp zAb0`@Oa-*TeKFE*XW*wV{BMf;6Bpl9w}Zu}b6#zwMgLklruaR@qtN+=6zG!R%h7%) z-X|meD`NhSC{k1InsC^_Wn-#CmOuNGS^odD-u$^M&i*8YPF`6MU7i_&)4U+`ayr)HcXwhI-=yn zHh4OpLqg~s=DgQ)&P~th{gs*-Qh&H;$4Xs(_cC#G9}kY&OdspjF%iq$cs)O^Q|J>t_Xj!d z#Du%D-_FowcVea?)oZ?)jZe(foqy+e?d%=H^)-qj6^nvi8ZV-RXcBA!Lg;yX{(OyY cZv2ariqwWwD}gAuGSmFu0j{Gn@yr_l0K-VL?EnA( diff --git a/out/renderer/assets/Switch-D3Z_Vg3u.js b/out/renderer/assets/Switch-D3Z_Vg3u.js deleted file mode 100644 index 176fd48..0000000 --- a/out/renderer/assets/Switch-D3Z_Vg3u.js +++ /dev/null @@ -1,2185 +0,0 @@ -import { d as defineComponent, l as h, bk as replaceable, p as cB, m as c, Y as cE, bl as iconSwitchTransition, Z as useStyle, A as toRef, bm as NIconSwitchTransition, K as resolveSlot, N as NBaseIcon, bn as NBaseLoading, aL as createInjectionKey, W as cM, V as cNotM, r as ref, E as watch, as as inject, G as computed, bo as resolveSlotWithProps, x as useConfig, q as useTheme, bp as inputLight, bq as isSafari, C as useMergedState, z as useFormItem, D as useMemo, o as onMounted, br as getCurrentInstance, a8 as watchEffect, $ as provide, F as useRtl, ao as createKey, bs as getMargin, ap as useThemeClass, I as resolveWrappedSlot, aK as Scrollbar, a3 as Fragment, ay as VResizeObserver, M as nextTick, J as on, L as call, aS as off, bt as switchLight, aw as pxfy, av as depx, bu as isSlotEmpty } from "./index-DKaFsuse.js"; -import { u as useLocale } from "./use-locale-DLWAOXez.js"; -const ChevronDownIcon = defineComponent({ - name: "ChevronDown", - render() { - return h("svg", { - viewBox: "0 0 16 16", - fill: "none", - xmlns: "http://www.w3.org/2000/svg" - }, h("path", { - d: "M3.14645 5.64645C3.34171 5.45118 3.65829 5.45118 3.85355 5.64645L8 9.79289L12.1464 5.64645C12.3417 5.45118 12.6583 5.45118 12.8536 5.64645C13.0488 5.84171 13.0488 6.15829 12.8536 6.35355L8.35355 10.8536C8.15829 11.0488 7.84171 11.0488 7.64645 10.8536L3.14645 6.35355C2.95118 6.15829 2.95118 5.84171 3.14645 5.64645Z", - fill: "currentColor" - })); - } -}); -const ClearIcon = replaceable("clear", () => h("svg", { - viewBox: "0 0 16 16", - version: "1.1", - xmlns: "http://www.w3.org/2000/svg" -}, h("g", { - stroke: "none", - "stroke-width": "1", - fill: "none", - "fill-rule": "evenodd" -}, h("g", { - fill: "currentColor", - "fill-rule": "nonzero" -}, h("path", { - d: "M8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 C2,4.6862915 4.6862915,2 8,2 Z M6.5343055,5.83859116 C6.33943736,5.70359511 6.07001296,5.72288026 5.89644661,5.89644661 L5.89644661,5.89644661 L5.83859116,5.9656945 C5.70359511,6.16056264 5.72288026,6.42998704 5.89644661,6.60355339 L5.89644661,6.60355339 L7.293,8 L5.89644661,9.39644661 L5.83859116,9.4656945 C5.70359511,9.66056264 5.72288026,9.92998704 5.89644661,10.1035534 L5.89644661,10.1035534 L5.9656945,10.1614088 C6.16056264,10.2964049 6.42998704,10.2771197 6.60355339,10.1035534 L6.60355339,10.1035534 L8,8.707 L9.39644661,10.1035534 L9.4656945,10.1614088 C9.66056264,10.2964049 9.92998704,10.2771197 10.1035534,10.1035534 L10.1035534,10.1035534 L10.1614088,10.0343055 C10.2964049,9.83943736 10.2771197,9.57001296 10.1035534,9.39644661 L10.1035534,9.39644661 L8.707,8 L10.1035534,6.60355339 L10.1614088,6.5343055 C10.2964049,6.33943736 10.2771197,6.07001296 10.1035534,5.89644661 L10.1035534,5.89644661 L10.0343055,5.83859116 C9.83943736,5.70359511 9.57001296,5.72288026 9.39644661,5.89644661 L9.39644661,5.89644661 L8,7.293 L6.60355339,5.89644661 Z" -}))))); -const EyeIcon = defineComponent({ - name: "Eye", - render() { - return h("svg", { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 512 512" - }, h("path", { - d: "M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z", - fill: "none", - stroke: "currentColor", - "stroke-linecap": "round", - "stroke-linejoin": "round", - "stroke-width": "32" - }), h("circle", { - cx: "256", - cy: "256", - r: "80", - fill: "none", - stroke: "currentColor", - "stroke-miterlimit": "10", - "stroke-width": "32" - })); - } -}); -const EyeOffIcon = defineComponent({ - name: "EyeOff", - render() { - return h("svg", { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 512 512" - }, h("path", { - d: "M432 448a15.92 15.92 0 0 1-11.31-4.69l-352-352a16 16 0 0 1 22.62-22.62l352 352A16 16 0 0 1 432 448z", - fill: "currentColor" - }), h("path", { - d: "M255.66 384c-41.49 0-81.5-12.28-118.92-36.5c-34.07-22-64.74-53.51-88.7-91v-.08c19.94-28.57 41.78-52.73 65.24-72.21a2 2 0 0 0 .14-2.94L93.5 161.38a2 2 0 0 0-2.71-.12c-24.92 21-48.05 46.76-69.08 76.92a31.92 31.92 0 0 0-.64 35.54c26.41 41.33 60.4 76.14 98.28 100.65C162 402 207.9 416 255.66 416a239.13 239.13 0 0 0 75.8-12.58a2 2 0 0 0 .77-3.31l-21.58-21.58a4 4 0 0 0-3.83-1a204.8 204.8 0 0 1-51.16 6.47z", - fill: "currentColor" - }), h("path", { - d: "M490.84 238.6c-26.46-40.92-60.79-75.68-99.27-100.53C349 110.55 302 96 255.66 96a227.34 227.34 0 0 0-74.89 12.83a2 2 0 0 0-.75 3.31l21.55 21.55a4 4 0 0 0 3.88 1a192.82 192.82 0 0 1 50.21-6.69c40.69 0 80.58 12.43 118.55 37c34.71 22.4 65.74 53.88 89.76 91a.13.13 0 0 1 0 .16a310.72 310.72 0 0 1-64.12 72.73a2 2 0 0 0-.15 2.95l19.9 19.89a2 2 0 0 0 2.7.13a343.49 343.49 0 0 0 68.64-78.48a32.2 32.2 0 0 0-.1-34.78z", - fill: "currentColor" - }), h("path", { - d: "M256 160a95.88 95.88 0 0 0-21.37 2.4a2 2 0 0 0-1 3.38l112.59 112.56a2 2 0 0 0 3.38-1A96 96 0 0 0 256 160z", - fill: "currentColor" - }), h("path", { - d: "M165.78 233.66a2 2 0 0 0-3.38 1a96 96 0 0 0 115 115a2 2 0 0 0 1-3.38z", - fill: "currentColor" - })); - } -}); -const style$2 = cB("base-clear", ` - flex-shrink: 0; - height: 1em; - width: 1em; - position: relative; -`, [c(">", [cE("clear", ` - font-size: var(--n-clear-size); - height: 1em; - width: 1em; - cursor: pointer; - color: var(--n-clear-color); - transition: color .3s var(--n-bezier); - display: flex; - `, [c("&:hover", ` - color: var(--n-clear-color-hover)!important; - `), c("&:active", ` - color: var(--n-clear-color-pressed)!important; - `)]), cE("placeholder", ` - display: flex; - `), cE("clear, placeholder", ` - position: absolute; - left: 50%; - top: 50%; - transform: translateX(-50%) translateY(-50%); - `, [iconSwitchTransition({ - originalTransform: "translateX(-50%) translateY(-50%)", - left: "50%", - top: "50%" -})])])]); -const NBaseClear = defineComponent({ - name: "BaseClear", - props: { - clsPrefix: { - type: String, - required: true - }, - show: Boolean, - onClear: Function - }, - setup(props) { - useStyle("-base-clear", style$2, toRef(props, "clsPrefix")); - return { - handleMouseDown(e) { - e.preventDefault(); - } - }; - }, - render() { - const { - clsPrefix - } = this; - return h("div", { - class: `${clsPrefix}-base-clear` - }, h(NIconSwitchTransition, null, { - default: () => { - var _a, _b; - return this.show ? h("div", { - key: "dismiss", - class: `${clsPrefix}-base-clear__clear`, - onClick: this.onClear, - onMousedown: this.handleMouseDown, - "data-clear": true - }, resolveSlot(this.$slots.icon, () => [h(NBaseIcon, { - clsPrefix - }, { - default: () => h(ClearIcon, null) - })])) : h("div", { - key: "icon", - class: `${clsPrefix}-base-clear__placeholder` - }, (_b = (_a = this.$slots).placeholder) === null || _b === void 0 ? void 0 : _b.call(_a)); - } - })); - } -}); -const NBaseSuffix = defineComponent({ - name: "InternalSelectionSuffix", - props: { - clsPrefix: { - type: String, - required: true - }, - showArrow: { - type: Boolean, - default: void 0 - }, - showClear: { - type: Boolean, - default: void 0 - }, - loading: { - type: Boolean, - default: false - }, - onClear: Function - }, - setup(props, { - slots - }) { - return () => { - const { - clsPrefix - } = props; - return h(NBaseLoading, { - clsPrefix, - class: `${clsPrefix}-base-suffix`, - strokeWidth: 24, - scale: 0.85, - show: props.loading - }, { - default: () => props.showArrow ? h(NBaseClear, { - clsPrefix, - show: props.showClear, - onClear: props.onClear - }, { - placeholder: () => h(NBaseIcon, { - clsPrefix, - class: `${clsPrefix}-base-suffix__arrow` - }, { - default: () => resolveSlot(slots.default, () => [h(ChevronDownIcon, null)]) - }) - }) : null - }); - }; - } -}); -const inputInjectionKey = createInjectionKey("n-input"); -const style$1 = cB("input", ` - max-width: 100%; - cursor: text; - line-height: 1.5; - z-index: auto; - outline: none; - box-sizing: border-box; - position: relative; - display: inline-flex; - border-radius: var(--n-border-radius); - background-color: var(--n-color); - transition: background-color .3s var(--n-bezier); - font-size: var(--n-font-size); - font-weight: var(--n-font-weight); - --n-padding-vertical: calc((var(--n-height) - 1.5 * var(--n-font-size)) / 2); -`, [ - // common - cE("input, textarea", ` - overflow: hidden; - flex-grow: 1; - position: relative; - `), - cE("input-el, textarea-el, input-mirror, textarea-mirror, separator, placeholder", ` - box-sizing: border-box; - font-size: inherit; - line-height: 1.5; - font-family: inherit; - border: none; - outline: none; - background-color: #0000; - text-align: inherit; - transition: - -webkit-text-fill-color .3s var(--n-bezier), - caret-color .3s var(--n-bezier), - color .3s var(--n-bezier), - text-decoration-color .3s var(--n-bezier); - `), - cE("input-el, textarea-el", ` - -webkit-appearance: none; - scrollbar-width: none; - width: 100%; - min-width: 0; - text-decoration-color: var(--n-text-decoration-color); - color: var(--n-text-color); - caret-color: var(--n-caret-color); - background-color: transparent; - `, [c("&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb", ` - width: 0; - height: 0; - display: none; - `), c("&::placeholder", ` - color: #0000; - -webkit-text-fill-color: transparent !important; - `), c("&:-webkit-autofill ~", [cE("placeholder", "display: none;")])]), - cM("round", [cNotM("textarea", "border-radius: calc(var(--n-height) / 2);")]), - cE("placeholder", ` - pointer-events: none; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - overflow: hidden; - color: var(--n-placeholder-color); - `, [c("span", ` - width: 100%; - display: inline-block; - `)]), - cM("textarea", [cE("placeholder", "overflow: visible;")]), - cNotM("autosize", "width: 100%;"), - cM("autosize", [cE("textarea-el, input-el", ` - position: absolute; - top: 0; - left: 0; - height: 100%; - `)]), - // input - cB("input-wrapper", ` - overflow: hidden; - display: inline-flex; - flex-grow: 1; - position: relative; - padding-left: var(--n-padding-left); - padding-right: var(--n-padding-right); - `), - cE("input-mirror", ` - padding: 0; - height: var(--n-height); - line-height: var(--n-height); - overflow: hidden; - visibility: hidden; - position: static; - white-space: pre; - pointer-events: none; - `), - cE("input-el", ` - padding: 0; - height: var(--n-height); - line-height: var(--n-height); - `, [c("&[type=password]::-ms-reveal", "display: none;"), c("+", [cE("placeholder", ` - display: flex; - align-items: center; - `)])]), - cNotM("textarea", [cE("placeholder", "white-space: nowrap;")]), - cE("eye", ` - display: flex; - align-items: center; - justify-content: center; - transition: color .3s var(--n-bezier); - `), - // textarea - cM("textarea", "width: 100%;", [cB("input-word-count", ` - position: absolute; - right: var(--n-padding-right); - bottom: var(--n-padding-vertical); - `), cM("resizable", [cB("input-wrapper", ` - resize: vertical; - min-height: var(--n-height); - `)]), cE("textarea-el, textarea-mirror, placeholder", ` - height: 100%; - padding-left: 0; - padding-right: 0; - padding-top: var(--n-padding-vertical); - padding-bottom: var(--n-padding-vertical); - word-break: break-word; - display: inline-block; - vertical-align: bottom; - box-sizing: border-box; - line-height: var(--n-line-height-textarea); - margin: 0; - resize: none; - white-space: pre-wrap; - scroll-padding-block-end: var(--n-padding-vertical); - `), cE("textarea-mirror", ` - width: 100%; - pointer-events: none; - overflow: hidden; - visibility: hidden; - position: static; - white-space: pre-wrap; - overflow-wrap: break-word; - `)]), - // pair - cM("pair", [cE("input-el, placeholder", "text-align: center;"), cE("separator", ` - display: flex; - align-items: center; - transition: color .3s var(--n-bezier); - color: var(--n-text-color); - white-space: nowrap; - `, [cB("icon", ` - color: var(--n-icon-color); - `), cB("base-icon", ` - color: var(--n-icon-color); - `)])]), - cM("disabled", ` - cursor: not-allowed; - background-color: var(--n-color-disabled); - `, [cE("border", "border: var(--n-border-disabled);"), cE("input-el, textarea-el", ` - cursor: not-allowed; - color: var(--n-text-color-disabled); - text-decoration-color: var(--n-text-color-disabled); - `), cE("placeholder", "color: var(--n-placeholder-color-disabled);"), cE("separator", "color: var(--n-text-color-disabled);", [cB("icon", ` - color: var(--n-icon-color-disabled); - `), cB("base-icon", ` - color: var(--n-icon-color-disabled); - `)]), cB("input-word-count", ` - color: var(--n-count-text-color-disabled); - `), cE("suffix, prefix", "color: var(--n-text-color-disabled);", [cB("icon", ` - color: var(--n-icon-color-disabled); - `), cB("internal-icon", ` - color: var(--n-icon-color-disabled); - `)])]), - cNotM("disabled", [cE("eye", ` - color: var(--n-icon-color); - cursor: pointer; - `, [c("&:hover", ` - color: var(--n-icon-color-hover); - `), c("&:active", ` - color: var(--n-icon-color-pressed); - `)]), c("&:hover", [cE("state-border", "border: var(--n-border-hover);")]), cM("focus", "background-color: var(--n-color-focus);", [cE("state-border", ` - border: var(--n-border-focus); - box-shadow: var(--n-box-shadow-focus); - `)])]), - cE("border, state-border", ` - box-sizing: border-box; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - pointer-events: none; - border-radius: inherit; - border: var(--n-border); - transition: - box-shadow .3s var(--n-bezier), - border-color .3s var(--n-bezier); - `), - cE("state-border", ` - border-color: #0000; - z-index: 1; - `), - cE("prefix", "margin-right: 4px;"), - cE("suffix", ` - margin-left: 4px; - `), - cE("suffix, prefix", ` - transition: color .3s var(--n-bezier); - flex-wrap: nowrap; - flex-shrink: 0; - line-height: var(--n-height); - white-space: nowrap; - display: inline-flex; - align-items: center; - justify-content: center; - color: var(--n-suffix-text-color); - `, [cB("base-loading", ` - font-size: var(--n-icon-size); - margin: 0 2px; - color: var(--n-loading-color); - `), cB("base-clear", ` - font-size: var(--n-icon-size); - `, [cE("placeholder", [cB("base-icon", ` - transition: color .3s var(--n-bezier); - color: var(--n-icon-color); - font-size: var(--n-icon-size); - `)])]), c(">", [cB("icon", ` - transition: color .3s var(--n-bezier); - color: var(--n-icon-color); - font-size: var(--n-icon-size); - `)]), cB("base-icon", ` - font-size: var(--n-icon-size); - `)]), - cB("input-word-count", ` - pointer-events: none; - line-height: 1.5; - font-size: .85em; - color: var(--n-count-text-color); - transition: color .3s var(--n-bezier); - margin-left: 4px; - font-variant: tabular-nums; - `), - ["warning", "error"].map((status) => cM(`${status}-status`, [cNotM("disabled", [cB("base-loading", ` - color: var(--n-loading-color-${status}) - `), cE("input-el, textarea-el", ` - caret-color: var(--n-caret-color-${status}); - `), cE("state-border", ` - border: var(--n-border-${status}); - `), c("&:hover", [cE("state-border", ` - border: var(--n-border-hover-${status}); - `)]), c("&:focus", ` - background-color: var(--n-color-focus-${status}); - `, [cE("state-border", ` - box-shadow: var(--n-box-shadow-focus-${status}); - border: var(--n-border-focus-${status}); - `)]), cM("focus", ` - background-color: var(--n-color-focus-${status}); - `, [cE("state-border", ` - box-shadow: var(--n-box-shadow-focus-${status}); - border: var(--n-border-focus-${status}); - `)])])])) -]); -const safariStyle = cB("input", [cM("disabled", [cE("input-el, textarea-el", ` - -webkit-text-fill-color: var(--n-text-color-disabled); - `)])]); -function len(s) { - let count = 0; - for (const _ of s) { - count++; - } - return count; -} -function isEmptyInputValue(value) { - return value === "" || value == null; -} -function useCursor(inputElRef) { - const selectionRef = ref(null); - function recordCursor() { - const { - value: input - } = inputElRef; - if (!(input === null || input === void 0 ? void 0 : input.focus)) { - reset(); - return; - } - const { - selectionStart, - selectionEnd, - value - } = input; - if (selectionStart == null || selectionEnd == null) { - reset(); - return; - } - selectionRef.value = { - start: selectionStart, - end: selectionEnd, - beforeText: value.slice(0, selectionStart), - afterText: value.slice(selectionEnd) - }; - } - function restoreCursor() { - var _a; - const { - value: selection - } = selectionRef; - const { - value: inputEl - } = inputElRef; - if (!selection || !inputEl) { - return; - } - const { - value - } = inputEl; - const { - start, - beforeText, - afterText - } = selection; - let startPos = value.length; - if (value.endsWith(afterText)) { - startPos = value.length - afterText.length; - } else if (value.startsWith(beforeText)) { - startPos = beforeText.length; - } else { - const beforeLastChar = beforeText[start - 1]; - const newIndex = value.indexOf(beforeLastChar, start - 1); - if (newIndex !== -1) { - startPos = newIndex + 1; - } - } - (_a = inputEl.setSelectionRange) === null || _a === void 0 ? void 0 : _a.call(inputEl, startPos, startPos); - } - function reset() { - selectionRef.value = null; - } - watch(inputElRef, reset); - return { - recordCursor, - restoreCursor - }; -} -const WordCount = defineComponent({ - name: "InputWordCount", - setup(_, { - slots - }) { - const { - mergedValueRef, - maxlengthRef, - mergedClsPrefixRef, - countGraphemesRef - } = inject(inputInjectionKey); - const wordCountRef = computed(() => { - const { - value: mergedValue - } = mergedValueRef; - if (mergedValue === null || Array.isArray(mergedValue)) return 0; - return (countGraphemesRef.value || len)(mergedValue); - }); - return () => { - const { - value: maxlength - } = maxlengthRef; - const { - value: mergedValue - } = mergedValueRef; - return h("span", { - class: `${mergedClsPrefixRef.value}-input-word-count` - }, resolveSlotWithProps(slots.default, { - value: mergedValue === null || Array.isArray(mergedValue) ? "" : mergedValue - }, () => [maxlength === void 0 ? wordCountRef.value : `${wordCountRef.value} / ${maxlength}`])); - }; - } -}); -const inputProps = Object.assign(Object.assign({}, useTheme.props), { - bordered: { - type: Boolean, - default: void 0 - }, - type: { - type: String, - default: "text" - }, - placeholder: [Array, String], - defaultValue: { - type: [String, Array], - default: null - }, - value: [String, Array], - disabled: { - type: Boolean, - default: void 0 - }, - size: String, - rows: { - type: [Number, String], - default: 3 - }, - round: Boolean, - minlength: [String, Number], - maxlength: [String, Number], - clearable: Boolean, - autosize: { - type: [Boolean, Object], - default: false - }, - pair: Boolean, - separator: String, - readonly: { - type: [String, Boolean], - default: false - }, - passivelyActivated: Boolean, - showPasswordOn: String, - stateful: { - type: Boolean, - default: true - }, - autofocus: Boolean, - inputProps: Object, - resizable: { - type: Boolean, - default: true - }, - showCount: Boolean, - loading: { - type: Boolean, - default: void 0 - }, - allowInput: Function, - renderCount: Function, - onMousedown: Function, - onKeydown: Function, - onKeyup: [Function, Array], - onInput: [Function, Array], - onFocus: [Function, Array], - onBlur: [Function, Array], - onClick: [Function, Array], - onChange: [Function, Array], - onClear: [Function, Array], - countGraphemes: Function, - status: String, - "onUpdate:value": [Function, Array], - onUpdateValue: [Function, Array], - /** private */ - textDecoration: [String, Array], - attrSize: { - type: Number, - default: 20 - }, - onInputBlur: [Function, Array], - onInputFocus: [Function, Array], - onDeactivate: [Function, Array], - onActivate: [Function, Array], - onWrapperFocus: [Function, Array], - onWrapperBlur: [Function, Array], - internalDeactivateOnEnter: Boolean, - internalForceFocus: Boolean, - internalLoadingBeforeSuffix: { - type: Boolean, - default: true - }, - /** deprecated */ - showPasswordToggle: Boolean -}); -const __unplugin_components_1 = defineComponent({ - name: "Input", - props: inputProps, - setup(props) { - const { - mergedClsPrefixRef, - mergedBorderedRef, - inlineThemeDisabled, - mergedRtlRef - } = useConfig(props); - const themeRef = useTheme("Input", "-input", style$1, inputLight, props, mergedClsPrefixRef); - if (isSafari) { - useStyle("-input-safari", safariStyle, mergedClsPrefixRef); - } - const wrapperElRef = ref(null); - const textareaElRef = ref(null); - const textareaMirrorElRef = ref(null); - const inputMirrorElRef = ref(null); - const inputElRef = ref(null); - const inputEl2Ref = ref(null); - const currentFocusedInputRef = ref(null); - const focusedInputCursorControl = useCursor(currentFocusedInputRef); - const textareaScrollbarInstRef = ref(null); - const { - localeRef - } = useLocale("Input"); - const uncontrolledValueRef = ref(props.defaultValue); - const controlledValueRef = toRef(props, "value"); - const mergedValueRef = useMergedState(controlledValueRef, uncontrolledValueRef); - const formItem = useFormItem(props); - const { - mergedSizeRef, - mergedDisabledRef, - mergedStatusRef - } = formItem; - const focusedRef = ref(false); - const hoverRef = ref(false); - const isComposingRef = ref(false); - const activatedRef = ref(false); - let syncSource = null; - const mergedPlaceholderRef = computed(() => { - const { - placeholder, - pair - } = props; - if (pair) { - if (Array.isArray(placeholder)) { - return placeholder; - } else if (placeholder === void 0) { - return ["", ""]; - } - return [placeholder, placeholder]; - } else if (placeholder === void 0) { - return [localeRef.value.placeholder]; - } else { - return [placeholder]; - } - }); - const showPlaceholder1Ref = computed(() => { - const { - value: isComposing - } = isComposingRef; - const { - value: mergedValue - } = mergedValueRef; - const { - value: mergedPlaceholder - } = mergedPlaceholderRef; - return !isComposing && (isEmptyInputValue(mergedValue) || Array.isArray(mergedValue) && isEmptyInputValue(mergedValue[0])) && mergedPlaceholder[0]; - }); - const showPlaceholder2Ref = computed(() => { - const { - value: isComposing - } = isComposingRef; - const { - value: mergedValue - } = mergedValueRef; - const { - value: mergedPlaceholder - } = mergedPlaceholderRef; - return !isComposing && mergedPlaceholder[1] && (isEmptyInputValue(mergedValue) || Array.isArray(mergedValue) && isEmptyInputValue(mergedValue[1])); - }); - const mergedFocusRef = useMemo(() => { - return props.internalForceFocus || focusedRef.value; - }); - const showClearButton = useMemo(() => { - if (mergedDisabledRef.value || props.readonly || !props.clearable || !mergedFocusRef.value && !hoverRef.value) { - return false; - } - const { - value: mergedValue - } = mergedValueRef; - const { - value: mergedFocus - } = mergedFocusRef; - if (props.pair) { - return !!(Array.isArray(mergedValue) && (mergedValue[0] || mergedValue[1])) && (hoverRef.value || mergedFocus); - } else { - return !!mergedValue && (hoverRef.value || mergedFocus); - } - }); - const mergedShowPasswordOnRef = computed(() => { - const { - showPasswordOn - } = props; - if (showPasswordOn) { - return showPasswordOn; - } - if (props.showPasswordToggle) return "click"; - return void 0; - }); - const passwordVisibleRef = ref(false); - const textDecorationStyleRef = computed(() => { - const { - textDecoration - } = props; - if (!textDecoration) return ["", ""]; - if (Array.isArray(textDecoration)) { - return textDecoration.map((v) => ({ - textDecoration: v - })); - } - return [{ - textDecoration - }]; - }); - const textAreaScrollContainerWidthRef = ref(void 0); - const updateTextAreaStyle = () => { - var _a, _b; - if (props.type === "textarea") { - const { - autosize - } = props; - if (autosize) { - textAreaScrollContainerWidthRef.value = (_b = (_a = textareaScrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.$el) === null || _b === void 0 ? void 0 : _b.offsetWidth; - } - if (!textareaElRef.value) return; - if (typeof autosize === "boolean") return; - const { - paddingTop: stylePaddingTop, - paddingBottom: stylePaddingBottom, - lineHeight: styleLineHeight - } = window.getComputedStyle(textareaElRef.value); - const paddingTop = Number(stylePaddingTop.slice(0, -2)); - const paddingBottom = Number(stylePaddingBottom.slice(0, -2)); - const lineHeight = Number(styleLineHeight.slice(0, -2)); - const { - value: textareaMirrorEl - } = textareaMirrorElRef; - if (!textareaMirrorEl) return; - if (autosize.minRows) { - const minRows = Math.max(autosize.minRows, 1); - const styleMinHeight = `${paddingTop + paddingBottom + lineHeight * minRows}px`; - textareaMirrorEl.style.minHeight = styleMinHeight; - } - if (autosize.maxRows) { - const styleMaxHeight = `${paddingTop + paddingBottom + lineHeight * autosize.maxRows}px`; - textareaMirrorEl.style.maxHeight = styleMaxHeight; - } - } - }; - const maxlengthRef = computed(() => { - const { - maxlength - } = props; - return maxlength === void 0 ? void 0 : Number(maxlength); - }); - onMounted(() => { - const { - value - } = mergedValueRef; - if (!Array.isArray(value)) { - syncMirror(value); - } - }); - const vm = getCurrentInstance().proxy; - function doUpdateValue(value, meta) { - const { - onUpdateValue, - "onUpdate:value": _onUpdateValue, - onInput - } = props; - const { - nTriggerFormInput - } = formItem; - if (onUpdateValue) call(onUpdateValue, value, meta); - if (_onUpdateValue) call(_onUpdateValue, value, meta); - if (onInput) call(onInput, value, meta); - uncontrolledValueRef.value = value; - nTriggerFormInput(); - } - function doChange(value, meta) { - const { - onChange - } = props; - const { - nTriggerFormChange - } = formItem; - if (onChange) call(onChange, value, meta); - uncontrolledValueRef.value = value; - nTriggerFormChange(); - } - function doBlur(e) { - const { - onBlur - } = props; - const { - nTriggerFormBlur - } = formItem; - if (onBlur) call(onBlur, e); - nTriggerFormBlur(); - } - function doFocus(e) { - const { - onFocus - } = props; - const { - nTriggerFormFocus - } = formItem; - if (onFocus) call(onFocus, e); - nTriggerFormFocus(); - } - function doClear(e) { - const { - onClear - } = props; - if (onClear) call(onClear, e); - } - function doUpdateValueBlur(e) { - const { - onInputBlur - } = props; - if (onInputBlur) call(onInputBlur, e); - } - function doUpdateValueFocus(e) { - const { - onInputFocus - } = props; - if (onInputFocus) call(onInputFocus, e); - } - function doDeactivate() { - const { - onDeactivate - } = props; - if (onDeactivate) call(onDeactivate); - } - function doActivate() { - const { - onActivate - } = props; - if (onActivate) call(onActivate); - } - function doClick(e) { - const { - onClick - } = props; - if (onClick) call(onClick, e); - } - function doWrapperFocus(e) { - const { - onWrapperFocus - } = props; - if (onWrapperFocus) call(onWrapperFocus, e); - } - function doWrapperBlur(e) { - const { - onWrapperBlur - } = props; - if (onWrapperBlur) call(onWrapperBlur, e); - } - function handleCompositionStart() { - isComposingRef.value = true; - } - function handleCompositionEnd(e) { - isComposingRef.value = false; - if (e.target === inputEl2Ref.value) { - handleInput(e, 1); - } else { - handleInput(e, 0); - } - } - function handleInput(e, index = 0, event = "input") { - const targetValue = e.target.value; - syncMirror(targetValue); - if (e instanceof InputEvent && !e.isComposing) { - isComposingRef.value = false; - } - if (props.type === "textarea") { - const { - value: textareaScrollbarInst - } = textareaScrollbarInstRef; - if (textareaScrollbarInst) { - textareaScrollbarInst.syncUnifiedContainer(); - } - } - syncSource = targetValue; - if (isComposingRef.value) return; - focusedInputCursorControl.recordCursor(); - const isIncomingValueValid = allowInput(targetValue); - if (isIncomingValueValid) { - if (!props.pair) { - if (event === "input") { - doUpdateValue(targetValue, { - source: index - }); - } else { - doChange(targetValue, { - source: index - }); - } - } else { - let { - value - } = mergedValueRef; - if (!Array.isArray(value)) { - value = ["", ""]; - } else { - value = [value[0], value[1]]; - } - value[index] = targetValue; - if (event === "input") { - doUpdateValue(value, { - source: index - }); - } else { - doChange(value, { - source: index - }); - } - } - } - vm.$forceUpdate(); - if (!isIncomingValueValid) { - void nextTick(focusedInputCursorControl.restoreCursor); - } - } - function allowInput(value) { - const { - countGraphemes, - maxlength, - minlength - } = props; - if (countGraphemes) { - let graphemesCount; - if (maxlength !== void 0) { - if (graphemesCount === void 0) { - graphemesCount = countGraphemes(value); - } - if (graphemesCount > Number(maxlength)) return false; - } - if (minlength !== void 0) { - if (graphemesCount === void 0) { - graphemesCount = countGraphemes(value); - } - if (graphemesCount < Number(maxlength)) return false; - } - } - const { - allowInput: allowInput2 - } = props; - if (typeof allowInput2 === "function") { - return allowInput2(value); - } - return true; - } - function handleInputBlur(e) { - doUpdateValueBlur(e); - if (e.relatedTarget === wrapperElRef.value) { - doDeactivate(); - } - if (!(e.relatedTarget !== null && (e.relatedTarget === inputElRef.value || e.relatedTarget === inputEl2Ref.value || e.relatedTarget === textareaElRef.value))) { - activatedRef.value = false; - } - dealWithEvent(e, "blur"); - currentFocusedInputRef.value = null; - } - function handleInputFocus(e, index) { - doUpdateValueFocus(e); - focusedRef.value = true; - activatedRef.value = true; - doActivate(); - dealWithEvent(e, "focus"); - if (index === 0) { - currentFocusedInputRef.value = inputElRef.value; - } else if (index === 1) { - currentFocusedInputRef.value = inputEl2Ref.value; - } else if (index === 2) { - currentFocusedInputRef.value = textareaElRef.value; - } - } - function handleWrapperBlur(e) { - if (props.passivelyActivated) { - doWrapperBlur(e); - dealWithEvent(e, "blur"); - } - } - function handleWrapperFocus(e) { - if (props.passivelyActivated) { - focusedRef.value = true; - doWrapperFocus(e); - dealWithEvent(e, "focus"); - } - } - function dealWithEvent(e, type) { - if (e.relatedTarget !== null && (e.relatedTarget === inputElRef.value || e.relatedTarget === inputEl2Ref.value || e.relatedTarget === textareaElRef.value || e.relatedTarget === wrapperElRef.value)) ; - else { - if (type === "focus") { - doFocus(e); - focusedRef.value = true; - } else if (type === "blur") { - doBlur(e); - focusedRef.value = false; - } - } - } - function handleChange(e, index) { - handleInput(e, index, "change"); - } - function handleClick(e) { - doClick(e); - } - function handleClear(e) { - doClear(e); - clearValue(); - } - function clearValue() { - if (props.pair) { - doUpdateValue(["", ""], { - source: "clear" - }); - doChange(["", ""], { - source: "clear" - }); - } else { - doUpdateValue("", { - source: "clear" - }); - doChange("", { - source: "clear" - }); - } - } - function handleMouseDown(e) { - const { - onMousedown - } = props; - if (onMousedown) onMousedown(e); - const { - tagName - } = e.target; - if (tagName !== "INPUT" && tagName !== "TEXTAREA") { - if (props.resizable) { - const { - value: wrapperEl - } = wrapperElRef; - if (wrapperEl) { - const { - left, - top, - width, - height - } = wrapperEl.getBoundingClientRect(); - const resizeHandleSize = 14; - if (left + width - resizeHandleSize < e.clientX && e.clientX < left + width && top + height - resizeHandleSize < e.clientY && e.clientY < top + height) { - return; - } - } - } - e.preventDefault(); - if (!focusedRef.value) { - focus(); - } - } - } - function handleMouseEnter() { - var _a; - hoverRef.value = true; - if (props.type === "textarea") { - (_a = textareaScrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.handleMouseEnterWrapper(); - } - } - function handleMouseLeave() { - var _a; - hoverRef.value = false; - if (props.type === "textarea") { - (_a = textareaScrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.handleMouseLeaveWrapper(); - } - } - function handlePasswordToggleClick() { - if (mergedDisabledRef.value) return; - if (mergedShowPasswordOnRef.value !== "click") return; - passwordVisibleRef.value = !passwordVisibleRef.value; - } - function handlePasswordToggleMousedown(e) { - if (mergedDisabledRef.value) return; - e.preventDefault(); - const preventDefaultOnce = (e2) => { - e2.preventDefault(); - off("mouseup", document, preventDefaultOnce); - }; - on("mouseup", document, preventDefaultOnce); - if (mergedShowPasswordOnRef.value !== "mousedown") return; - passwordVisibleRef.value = true; - const hidePassword = () => { - passwordVisibleRef.value = false; - off("mouseup", document, hidePassword); - }; - on("mouseup", document, hidePassword); - } - function handleWrapperKeyup(e) { - if (props.onKeyup) call(props.onKeyup, e); - } - function handleWrapperKeydown(e) { - if (props.onKeydown) call(props.onKeydown, e); - switch (e.key) { - case "Escape": - handleWrapperKeydownEsc(); - break; - case "Enter": - handleWrapperKeydownEnter(e); - break; - } - } - function handleWrapperKeydownEnter(e) { - var _a, _b; - if (props.passivelyActivated) { - const { - value: focused - } = activatedRef; - if (focused) { - if (props.internalDeactivateOnEnter) { - handleWrapperKeydownEsc(); - } - return; - } - e.preventDefault(); - if (props.type === "textarea") { - (_a = textareaElRef.value) === null || _a === void 0 ? void 0 : _a.focus(); - } else { - (_b = inputElRef.value) === null || _b === void 0 ? void 0 : _b.focus(); - } - } - } - function handleWrapperKeydownEsc() { - if (props.passivelyActivated) { - activatedRef.value = false; - void nextTick(() => { - var _a; - (_a = wrapperElRef.value) === null || _a === void 0 ? void 0 : _a.focus(); - }); - } - } - function focus() { - var _a, _b, _c; - if (mergedDisabledRef.value) return; - if (props.passivelyActivated) { - (_a = wrapperElRef.value) === null || _a === void 0 ? void 0 : _a.focus(); - } else { - (_b = textareaElRef.value) === null || _b === void 0 ? void 0 : _b.focus(); - (_c = inputElRef.value) === null || _c === void 0 ? void 0 : _c.focus(); - } - } - function blur() { - var _a; - if ((_a = wrapperElRef.value) === null || _a === void 0 ? void 0 : _a.contains(document.activeElement)) { - document.activeElement.blur(); - } - } - function select() { - var _a, _b; - (_a = textareaElRef.value) === null || _a === void 0 ? void 0 : _a.select(); - (_b = inputElRef.value) === null || _b === void 0 ? void 0 : _b.select(); - } - function activate() { - if (mergedDisabledRef.value) return; - if (textareaElRef.value) textareaElRef.value.focus(); - else if (inputElRef.value) inputElRef.value.focus(); - } - function deactivate() { - const { - value: wrapperEl - } = wrapperElRef; - if ((wrapperEl === null || wrapperEl === void 0 ? void 0 : wrapperEl.contains(document.activeElement)) && wrapperEl !== document.activeElement) { - handleWrapperKeydownEsc(); - } - } - function scrollTo(options) { - if (props.type === "textarea") { - const { - value: textareaEl - } = textareaElRef; - textareaEl === null || textareaEl === void 0 ? void 0 : textareaEl.scrollTo(options); - } else { - const { - value: inputEl - } = inputElRef; - inputEl === null || inputEl === void 0 ? void 0 : inputEl.scrollTo(options); - } - } - function syncMirror(value) { - const { - type, - pair, - autosize - } = props; - if (!pair && autosize) { - if (type === "textarea") { - const { - value: textareaMirrorEl - } = textareaMirrorElRef; - if (textareaMirrorEl) { - textareaMirrorEl.textContent = `${value !== null && value !== void 0 ? value : ""}\r -`; - } - } else { - const { - value: inputMirrorEl - } = inputMirrorElRef; - if (inputMirrorEl) { - if (value) { - inputMirrorEl.textContent = value; - } else { - inputMirrorEl.innerHTML = " "; - } - } - } - } - } - function handleTextAreaMirrorResize() { - updateTextAreaStyle(); - } - const placeholderStyleRef = ref({ - top: "0" - }); - function handleTextAreaScroll(e) { - var _a; - const { - scrollTop - } = e.target; - placeholderStyleRef.value.top = `${-scrollTop}px`; - (_a = textareaScrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.syncUnifiedContainer(); - } - let stopWatchMergedValue1 = null; - watchEffect(() => { - const { - autosize, - type - } = props; - if (autosize && type === "textarea") { - stopWatchMergedValue1 = watch(mergedValueRef, (value) => { - if (!Array.isArray(value) && value !== syncSource) { - syncMirror(value); - } - }); - } else { - stopWatchMergedValue1 === null || stopWatchMergedValue1 === void 0 ? void 0 : stopWatchMergedValue1(); - } - }); - let stopWatchMergedValue2 = null; - watchEffect(() => { - if (props.type === "textarea") { - stopWatchMergedValue2 = watch(mergedValueRef, (value) => { - var _a; - if (!Array.isArray(value) && value !== syncSource) { - (_a = textareaScrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.syncUnifiedContainer(); - } - }); - } else { - stopWatchMergedValue2 === null || stopWatchMergedValue2 === void 0 ? void 0 : stopWatchMergedValue2(); - } - }); - provide(inputInjectionKey, { - mergedValueRef, - maxlengthRef, - mergedClsPrefixRef, - countGraphemesRef: toRef(props, "countGraphemes") - }); - const exposedProps = { - wrapperElRef, - inputElRef, - textareaElRef, - isCompositing: isComposingRef, - clear: clearValue, - focus, - blur, - select, - deactivate, - activate, - scrollTo - }; - const rtlEnabledRef = useRtl("Input", mergedRtlRef, mergedClsPrefixRef); - const cssVarsRef = computed(() => { - const { - value: size - } = mergedSizeRef; - const { - common: { - cubicBezierEaseInOut - }, - self: { - color, - borderRadius, - textColor, - caretColor, - caretColorError, - caretColorWarning, - textDecorationColor, - border, - borderDisabled, - borderHover, - borderFocus, - placeholderColor, - placeholderColorDisabled, - lineHeightTextarea, - colorDisabled, - colorFocus, - textColorDisabled, - boxShadowFocus, - iconSize, - colorFocusWarning, - boxShadowFocusWarning, - borderWarning, - borderFocusWarning, - borderHoverWarning, - colorFocusError, - boxShadowFocusError, - borderError, - borderFocusError, - borderHoverError, - clearSize, - clearColor, - clearColorHover, - clearColorPressed, - iconColor, - iconColorDisabled, - suffixTextColor, - countTextColor, - countTextColorDisabled, - iconColorHover, - iconColorPressed, - loadingColor, - loadingColorError, - loadingColorWarning, - fontWeight, - [createKey("padding", size)]: padding, - [createKey("fontSize", size)]: fontSize, - [createKey("height", size)]: height - } - } = themeRef.value; - const { - left: paddingLeft, - right: paddingRight - } = getMargin(padding); - return { - "--n-bezier": cubicBezierEaseInOut, - "--n-count-text-color": countTextColor, - "--n-count-text-color-disabled": countTextColorDisabled, - "--n-color": color, - "--n-font-size": fontSize, - "--n-font-weight": fontWeight, - "--n-border-radius": borderRadius, - "--n-height": height, - "--n-padding-left": paddingLeft, - "--n-padding-right": paddingRight, - "--n-text-color": textColor, - "--n-caret-color": caretColor, - "--n-text-decoration-color": textDecorationColor, - "--n-border": border, - "--n-border-disabled": borderDisabled, - "--n-border-hover": borderHover, - "--n-border-focus": borderFocus, - "--n-placeholder-color": placeholderColor, - "--n-placeholder-color-disabled": placeholderColorDisabled, - "--n-icon-size": iconSize, - "--n-line-height-textarea": lineHeightTextarea, - "--n-color-disabled": colorDisabled, - "--n-color-focus": colorFocus, - "--n-text-color-disabled": textColorDisabled, - "--n-box-shadow-focus": boxShadowFocus, - "--n-loading-color": loadingColor, - // form warning - "--n-caret-color-warning": caretColorWarning, - "--n-color-focus-warning": colorFocusWarning, - "--n-box-shadow-focus-warning": boxShadowFocusWarning, - "--n-border-warning": borderWarning, - "--n-border-focus-warning": borderFocusWarning, - "--n-border-hover-warning": borderHoverWarning, - "--n-loading-color-warning": loadingColorWarning, - // form error - "--n-caret-color-error": caretColorError, - "--n-color-focus-error": colorFocusError, - "--n-box-shadow-focus-error": boxShadowFocusError, - "--n-border-error": borderError, - "--n-border-focus-error": borderFocusError, - "--n-border-hover-error": borderHoverError, - "--n-loading-color-error": loadingColorError, - // clear-button - "--n-clear-color": clearColor, - "--n-clear-size": clearSize, - "--n-clear-color-hover": clearColorHover, - "--n-clear-color-pressed": clearColorPressed, - "--n-icon-color": iconColor, - "--n-icon-color-hover": iconColorHover, - "--n-icon-color-pressed": iconColorPressed, - "--n-icon-color-disabled": iconColorDisabled, - "--n-suffix-text-color": suffixTextColor - }; - }); - const themeClassHandle = inlineThemeDisabled ? useThemeClass("input", computed(() => { - const { - value: size - } = mergedSizeRef; - return size[0]; - }), cssVarsRef, props) : void 0; - return Object.assign(Object.assign({}, exposedProps), { - // DOM ref - wrapperElRef, - inputElRef, - inputMirrorElRef, - inputEl2Ref, - textareaElRef, - textareaMirrorElRef, - textareaScrollbarInstRef, - // value - rtlEnabled: rtlEnabledRef, - uncontrolledValue: uncontrolledValueRef, - mergedValue: mergedValueRef, - passwordVisible: passwordVisibleRef, - mergedPlaceholder: mergedPlaceholderRef, - showPlaceholder1: showPlaceholder1Ref, - showPlaceholder2: showPlaceholder2Ref, - mergedFocus: mergedFocusRef, - isComposing: isComposingRef, - activated: activatedRef, - showClearButton, - mergedSize: mergedSizeRef, - mergedDisabled: mergedDisabledRef, - textDecorationStyle: textDecorationStyleRef, - mergedClsPrefix: mergedClsPrefixRef, - mergedBordered: mergedBorderedRef, - mergedShowPasswordOn: mergedShowPasswordOnRef, - placeholderStyle: placeholderStyleRef, - mergedStatus: mergedStatusRef, - textAreaScrollContainerWidth: textAreaScrollContainerWidthRef, - // methods - handleTextAreaScroll, - handleCompositionStart, - handleCompositionEnd, - handleInput, - handleInputBlur, - handleInputFocus, - handleWrapperBlur, - handleWrapperFocus, - handleMouseEnter, - handleMouseLeave, - handleMouseDown, - handleChange, - handleClick, - handleClear, - handlePasswordToggleClick, - handlePasswordToggleMousedown, - handleWrapperKeydown, - handleWrapperKeyup, - handleTextAreaMirrorResize, - getTextareaScrollContainer: () => { - return textareaElRef.value; - }, - mergedTheme: themeRef, - cssVars: inlineThemeDisabled ? void 0 : cssVarsRef, - themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, - onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender - }); - }, - render() { - var _a, _b; - const { - mergedClsPrefix, - mergedStatus, - themeClass, - type, - countGraphemes, - onRender - } = this; - const $slots = this.$slots; - onRender === null || onRender === void 0 ? void 0 : onRender(); - return h("div", { - ref: "wrapperElRef", - class: [`${mergedClsPrefix}-input`, themeClass, mergedStatus && `${mergedClsPrefix}-input--${mergedStatus}-status`, { - [`${mergedClsPrefix}-input--rtl`]: this.rtlEnabled, - [`${mergedClsPrefix}-input--disabled`]: this.mergedDisabled, - [`${mergedClsPrefix}-input--textarea`]: type === "textarea", - [`${mergedClsPrefix}-input--resizable`]: this.resizable && !this.autosize, - [`${mergedClsPrefix}-input--autosize`]: this.autosize, - [`${mergedClsPrefix}-input--round`]: this.round && !(type === "textarea"), - [`${mergedClsPrefix}-input--pair`]: this.pair, - [`${mergedClsPrefix}-input--focus`]: this.mergedFocus, - [`${mergedClsPrefix}-input--stateful`]: this.stateful - }], - style: this.cssVars, - tabindex: !this.mergedDisabled && this.passivelyActivated && !this.activated ? 0 : void 0, - onFocus: this.handleWrapperFocus, - onBlur: this.handleWrapperBlur, - onClick: this.handleClick, - onMousedown: this.handleMouseDown, - onMouseenter: this.handleMouseEnter, - onMouseleave: this.handleMouseLeave, - onCompositionstart: this.handleCompositionStart, - onCompositionend: this.handleCompositionEnd, - onKeyup: this.handleWrapperKeyup, - onKeydown: this.handleWrapperKeydown - }, h("div", { - class: `${mergedClsPrefix}-input-wrapper` - }, resolveWrappedSlot($slots.prefix, (children) => children && h("div", { - class: `${mergedClsPrefix}-input__prefix` - }, children)), type === "textarea" ? h(Scrollbar, { - ref: "textareaScrollbarInstRef", - class: `${mergedClsPrefix}-input__textarea`, - container: this.getTextareaScrollContainer, - triggerDisplayManually: true, - useUnifiedContainer: true, - internalHoistYRail: true - }, { - default: () => { - var _a2, _b2; - const { - textAreaScrollContainerWidth - } = this; - const scrollContainerWidthStyle = { - width: this.autosize && textAreaScrollContainerWidth && `${textAreaScrollContainerWidth}px` - }; - return h(Fragment, null, h("textarea", Object.assign({}, this.inputProps, { - ref: "textareaElRef", - class: [`${mergedClsPrefix}-input__textarea-el`, (_a2 = this.inputProps) === null || _a2 === void 0 ? void 0 : _a2.class], - autofocus: this.autofocus, - rows: Number(this.rows), - placeholder: this.placeholder, - value: this.mergedValue, - disabled: this.mergedDisabled, - maxlength: countGraphemes ? void 0 : this.maxlength, - minlength: countGraphemes ? void 0 : this.minlength, - readonly: this.readonly, - tabindex: this.passivelyActivated && !this.activated ? -1 : void 0, - style: [this.textDecorationStyle[0], (_b2 = this.inputProps) === null || _b2 === void 0 ? void 0 : _b2.style, scrollContainerWidthStyle], - onBlur: this.handleInputBlur, - onFocus: (e) => { - this.handleInputFocus(e, 2); - }, - onInput: this.handleInput, - onChange: this.handleChange, - onScroll: this.handleTextAreaScroll - })), this.showPlaceholder1 ? h("div", { - class: `${mergedClsPrefix}-input__placeholder`, - style: [this.placeholderStyle, scrollContainerWidthStyle], - key: "placeholder" - }, this.mergedPlaceholder[0]) : null, this.autosize ? h(VResizeObserver, { - onResize: this.handleTextAreaMirrorResize - }, { - default: () => h("div", { - ref: "textareaMirrorElRef", - class: `${mergedClsPrefix}-input__textarea-mirror`, - key: "mirror" - }) - }) : null); - } - }) : h("div", { - class: `${mergedClsPrefix}-input__input` - }, h("input", Object.assign({ - type: type === "password" && this.mergedShowPasswordOn && this.passwordVisible ? "text" : type - }, this.inputProps, { - ref: "inputElRef", - class: [`${mergedClsPrefix}-input__input-el`, (_a = this.inputProps) === null || _a === void 0 ? void 0 : _a.class], - style: [this.textDecorationStyle[0], (_b = this.inputProps) === null || _b === void 0 ? void 0 : _b.style], - tabindex: this.passivelyActivated && !this.activated ? -1 : void 0, - placeholder: this.mergedPlaceholder[0], - disabled: this.mergedDisabled, - maxlength: countGraphemes ? void 0 : this.maxlength, - minlength: countGraphemes ? void 0 : this.minlength, - value: Array.isArray(this.mergedValue) ? this.mergedValue[0] : this.mergedValue, - readonly: this.readonly, - autofocus: this.autofocus, - size: this.attrSize, - onBlur: this.handleInputBlur, - onFocus: (e) => { - this.handleInputFocus(e, 0); - }, - onInput: (e) => { - this.handleInput(e, 0); - }, - onChange: (e) => { - this.handleChange(e, 0); - } - })), this.showPlaceholder1 ? h("div", { - class: `${mergedClsPrefix}-input__placeholder` - }, h("span", null, this.mergedPlaceholder[0])) : null, this.autosize ? h("div", { - class: `${mergedClsPrefix}-input__input-mirror`, - key: "mirror", - ref: "inputMirrorElRef" - }, " ") : null), !this.pair && resolveWrappedSlot($slots.suffix, (children) => { - return children || this.clearable || this.showCount || this.mergedShowPasswordOn || this.loading !== void 0 ? h("div", { - class: `${mergedClsPrefix}-input__suffix` - }, [resolveWrappedSlot($slots["clear-icon-placeholder"], (children2) => { - return (this.clearable || children2) && h(NBaseClear, { - clsPrefix: mergedClsPrefix, - show: this.showClearButton, - onClear: this.handleClear - }, { - placeholder: () => children2, - icon: () => { - var _a2, _b2; - return (_b2 = (_a2 = this.$slots)["clear-icon"]) === null || _b2 === void 0 ? void 0 : _b2.call(_a2); - } - }); - }), !this.internalLoadingBeforeSuffix ? children : null, this.loading !== void 0 ? h(NBaseSuffix, { - clsPrefix: mergedClsPrefix, - loading: this.loading, - showArrow: false, - showClear: false, - style: this.cssVars - }) : null, this.internalLoadingBeforeSuffix ? children : null, this.showCount && this.type !== "textarea" ? h(WordCount, null, { - default: (props) => { - var _a2; - return (_a2 = $slots.count) === null || _a2 === void 0 ? void 0 : _a2.call($slots, props); - } - }) : null, this.mergedShowPasswordOn && this.type === "password" ? h("div", { - class: `${mergedClsPrefix}-input__eye`, - onMousedown: this.handlePasswordToggleMousedown, - onClick: this.handlePasswordToggleClick - }, this.passwordVisible ? resolveSlot($slots["password-visible-icon"], () => [h(NBaseIcon, { - clsPrefix: mergedClsPrefix - }, { - default: () => h(EyeIcon, null) - })]) : resolveSlot($slots["password-invisible-icon"], () => [h(NBaseIcon, { - clsPrefix: mergedClsPrefix - }, { - default: () => h(EyeOffIcon, null) - })])) : null]) : null; - })), this.pair ? h("span", { - class: `${mergedClsPrefix}-input__separator` - }, resolveSlot($slots.separator, () => [this.separator])) : null, this.pair ? h("div", { - class: `${mergedClsPrefix}-input-wrapper` - }, h("div", { - class: `${mergedClsPrefix}-input__input` - }, h("input", { - ref: "inputEl2Ref", - type: this.type, - class: `${mergedClsPrefix}-input__input-el`, - tabindex: this.passivelyActivated && !this.activated ? -1 : void 0, - placeholder: this.mergedPlaceholder[1], - disabled: this.mergedDisabled, - maxlength: countGraphemes ? void 0 : this.maxlength, - minlength: countGraphemes ? void 0 : this.minlength, - value: Array.isArray(this.mergedValue) ? this.mergedValue[1] : void 0, - readonly: this.readonly, - style: this.textDecorationStyle[1], - onBlur: this.handleInputBlur, - onFocus: (e) => { - this.handleInputFocus(e, 1); - }, - onInput: (e) => { - this.handleInput(e, 1); - }, - onChange: (e) => { - this.handleChange(e, 1); - } - }), this.showPlaceholder2 ? h("div", { - class: `${mergedClsPrefix}-input__placeholder` - }, h("span", null, this.mergedPlaceholder[1])) : null), resolveWrappedSlot($slots.suffix, (children) => { - return (this.clearable || children) && h("div", { - class: `${mergedClsPrefix}-input__suffix` - }, [this.clearable && h(NBaseClear, { - clsPrefix: mergedClsPrefix, - show: this.showClearButton, - onClear: this.handleClear - }, { - icon: () => { - var _a2; - return (_a2 = $slots["clear-icon"]) === null || _a2 === void 0 ? void 0 : _a2.call($slots); - }, - placeholder: () => { - var _a2; - return (_a2 = $slots["clear-icon-placeholder"]) === null || _a2 === void 0 ? void 0 : _a2.call($slots); - } - }), children]); - })) : null, this.mergedBordered ? h("div", { - class: `${mergedClsPrefix}-input__border` - }) : null, this.mergedBordered ? h("div", { - class: `${mergedClsPrefix}-input__state-border` - }) : null, this.showCount && type === "textarea" ? h(WordCount, null, { - default: (props) => { - var _a2; - const { - renderCount - } = this; - if (renderCount) { - return renderCount(props); - } - return (_a2 = $slots.count) === null || _a2 === void 0 ? void 0 : _a2.call($slots, props); - } - }) : null); - } -}); -const style = cB("switch", ` - height: var(--n-height); - min-width: var(--n-width); - vertical-align: middle; - user-select: none; - -webkit-user-select: none; - display: inline-flex; - outline: none; - justify-content: center; - align-items: center; -`, [cE("children-placeholder", ` - height: var(--n-rail-height); - display: flex; - flex-direction: column; - overflow: hidden; - pointer-events: none; - visibility: hidden; - `), cE("rail-placeholder", ` - display: flex; - flex-wrap: none; - `), cE("button-placeholder", ` - width: calc(1.75 * var(--n-rail-height)); - height: var(--n-rail-height); - `), cB("base-loading", ` - position: absolute; - top: 50%; - left: 50%; - transform: translateX(-50%) translateY(-50%); - font-size: calc(var(--n-button-width) - 4px); - color: var(--n-loading-color); - transition: color .3s var(--n-bezier); - `, [iconSwitchTransition({ - left: "50%", - top: "50%", - originalTransform: "translateX(-50%) translateY(-50%)" -})]), cE("checked, unchecked", ` - transition: color .3s var(--n-bezier); - color: var(--n-text-color); - box-sizing: border-box; - position: absolute; - white-space: nowrap; - top: 0; - bottom: 0; - display: flex; - align-items: center; - line-height: 1; - `), cE("checked", ` - right: 0; - padding-right: calc(1.25 * var(--n-rail-height) - var(--n-offset)); - `), cE("unchecked", ` - left: 0; - justify-content: flex-end; - padding-left: calc(1.25 * var(--n-rail-height) - var(--n-offset)); - `), c("&:focus", [cE("rail", ` - box-shadow: var(--n-box-shadow-focus); - `)]), cM("round", [cE("rail", "border-radius: calc(var(--n-rail-height) / 2);", [cE("button", "border-radius: calc(var(--n-button-height) / 2);")])]), cNotM("disabled", [cNotM("icon", [cM("rubber-band", [cM("pressed", [cE("rail", [cE("button", "max-width: var(--n-button-width-pressed);")])]), cE("rail", [c("&:active", [cE("button", "max-width: var(--n-button-width-pressed);")])]), cM("active", [cM("pressed", [cE("rail", [cE("button", "left: calc(100% - var(--n-offset) - var(--n-button-width-pressed));")])]), cE("rail", [c("&:active", [cE("button", "left: calc(100% - var(--n-offset) - var(--n-button-width-pressed));")])])])])])]), cM("active", [cE("rail", [cE("button", "left: calc(100% - var(--n-button-width) - var(--n-offset))")])]), cE("rail", ` - overflow: hidden; - height: var(--n-rail-height); - min-width: var(--n-rail-width); - border-radius: var(--n-rail-border-radius); - cursor: pointer; - position: relative; - transition: - opacity .3s var(--n-bezier), - background .3s var(--n-bezier), - box-shadow .3s var(--n-bezier); - background-color: var(--n-rail-color); - `, [cE("button-icon", ` - color: var(--n-icon-color); - transition: color .3s var(--n-bezier); - font-size: calc(var(--n-button-height) - 4px); - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - display: flex; - justify-content: center; - align-items: center; - line-height: 1; - `, [iconSwitchTransition()]), cE("button", ` - align-items: center; - top: var(--n-offset); - left: var(--n-offset); - height: var(--n-button-height); - width: var(--n-button-width-pressed); - max-width: var(--n-button-width); - border-radius: var(--n-button-border-radius); - background-color: var(--n-button-color); - box-shadow: var(--n-button-box-shadow); - box-sizing: border-box; - cursor: inherit; - content: ""; - position: absolute; - transition: - background-color .3s var(--n-bezier), - left .3s var(--n-bezier), - opacity .3s var(--n-bezier), - max-width .3s var(--n-bezier), - box-shadow .3s var(--n-bezier); - `)]), cM("active", [cE("rail", "background-color: var(--n-rail-color-active);")]), cM("loading", [cE("rail", ` - cursor: wait; - `)]), cM("disabled", [cE("rail", ` - cursor: not-allowed; - opacity: .5; - `)])]); -const switchProps = Object.assign(Object.assign({}, useTheme.props), { - size: { - type: String, - default: "medium" - }, - value: { - type: [String, Number, Boolean], - default: void 0 - }, - loading: Boolean, - defaultValue: { - type: [String, Number, Boolean], - default: false - }, - disabled: { - type: Boolean, - default: void 0 - }, - round: { - type: Boolean, - default: true - }, - "onUpdate:value": [Function, Array], - onUpdateValue: [Function, Array], - checkedValue: { - type: [String, Number, Boolean], - default: true - }, - uncheckedValue: { - type: [String, Number, Boolean], - default: false - }, - railStyle: Function, - rubberBand: { - type: Boolean, - default: true - }, - /** @deprecated */ - onChange: [Function, Array] -}); -let supportCssMax; -const __unplugin_components_3 = defineComponent({ - name: "Switch", - props: switchProps, - setup(props) { - if (supportCssMax === void 0) { - if (typeof CSS !== "undefined") { - if (typeof CSS.supports !== "undefined") { - supportCssMax = CSS.supports("width", "max(1px)"); - } else { - supportCssMax = false; - } - } else { - supportCssMax = true; - } - } - const { - mergedClsPrefixRef, - inlineThemeDisabled - } = useConfig(props); - const themeRef = useTheme("Switch", "-switch", style, switchLight, props, mergedClsPrefixRef); - const formItem = useFormItem(props); - const { - mergedSizeRef, - mergedDisabledRef - } = formItem; - const uncontrolledValueRef = ref(props.defaultValue); - const controlledValueRef = toRef(props, "value"); - const mergedValueRef = useMergedState(controlledValueRef, uncontrolledValueRef); - const checkedRef = computed(() => { - return mergedValueRef.value === props.checkedValue; - }); - const pressedRef = ref(false); - const focusedRef = ref(false); - const mergedRailStyleRef = computed(() => { - const { - railStyle - } = props; - if (!railStyle) return void 0; - return railStyle({ - focused: focusedRef.value, - checked: checkedRef.value - }); - }); - function doUpdateValue(value) { - const { - "onUpdate:value": _onUpdateValue, - onChange, - onUpdateValue - } = props; - const { - nTriggerFormInput, - nTriggerFormChange - } = formItem; - if (_onUpdateValue) call(_onUpdateValue, value); - if (onUpdateValue) call(onUpdateValue, value); - if (onChange) call(onChange, value); - uncontrolledValueRef.value = value; - nTriggerFormInput(); - nTriggerFormChange(); - } - function doFocus() { - const { - nTriggerFormFocus - } = formItem; - nTriggerFormFocus(); - } - function doBlur() { - const { - nTriggerFormBlur - } = formItem; - nTriggerFormBlur(); - } - function handleClick() { - if (props.loading || mergedDisabledRef.value) return; - if (mergedValueRef.value !== props.checkedValue) { - doUpdateValue(props.checkedValue); - } else { - doUpdateValue(props.uncheckedValue); - } - } - function handleFocus() { - focusedRef.value = true; - doFocus(); - } - function handleBlur() { - focusedRef.value = false; - doBlur(); - pressedRef.value = false; - } - function handleKeyup(e) { - if (props.loading || mergedDisabledRef.value) return; - if (e.key === " ") { - if (mergedValueRef.value !== props.checkedValue) { - doUpdateValue(props.checkedValue); - } else { - doUpdateValue(props.uncheckedValue); - } - pressedRef.value = false; - } - } - function handleKeydown(e) { - if (props.loading || mergedDisabledRef.value) return; - if (e.key === " ") { - e.preventDefault(); - pressedRef.value = true; - } - } - const cssVarsRef = computed(() => { - const { - value: size - } = mergedSizeRef; - const { - self: { - opacityDisabled, - railColor, - railColorActive, - buttonBoxShadow, - buttonColor, - boxShadowFocus, - loadingColor, - textColor, - iconColor, - [createKey("buttonHeight", size)]: buttonHeight, - [createKey("buttonWidth", size)]: buttonWidth, - [createKey("buttonWidthPressed", size)]: buttonWidthPressed, - [createKey("railHeight", size)]: railHeight, - [createKey("railWidth", size)]: railWidth, - [createKey("railBorderRadius", size)]: railBorderRadius, - [createKey("buttonBorderRadius", size)]: buttonBorderRadius - }, - common: { - cubicBezierEaseInOut - } - } = themeRef.value; - let offset; - let height; - let width; - if (supportCssMax) { - offset = `calc((${railHeight} - ${buttonHeight}) / 2)`; - height = `max(${railHeight}, ${buttonHeight})`; - width = `max(${railWidth}, calc(${railWidth} + ${buttonHeight} - ${railHeight}))`; - } else { - offset = pxfy((depx(railHeight) - depx(buttonHeight)) / 2); - height = pxfy(Math.max(depx(railHeight), depx(buttonHeight))); - width = depx(railHeight) > depx(buttonHeight) ? railWidth : pxfy(depx(railWidth) + depx(buttonHeight) - depx(railHeight)); - } - return { - "--n-bezier": cubicBezierEaseInOut, - "--n-button-border-radius": buttonBorderRadius, - "--n-button-box-shadow": buttonBoxShadow, - "--n-button-color": buttonColor, - "--n-button-width": buttonWidth, - "--n-button-width-pressed": buttonWidthPressed, - "--n-button-height": buttonHeight, - "--n-height": height, - "--n-offset": offset, - "--n-opacity-disabled": opacityDisabled, - "--n-rail-border-radius": railBorderRadius, - "--n-rail-color": railColor, - "--n-rail-color-active": railColorActive, - "--n-rail-height": railHeight, - "--n-rail-width": railWidth, - "--n-width": width, - "--n-box-shadow-focus": boxShadowFocus, - "--n-loading-color": loadingColor, - "--n-text-color": textColor, - "--n-icon-color": iconColor - }; - }); - const themeClassHandle = inlineThemeDisabled ? useThemeClass("switch", computed(() => { - return mergedSizeRef.value[0]; - }), cssVarsRef, props) : void 0; - return { - handleClick, - handleBlur, - handleFocus, - handleKeyup, - handleKeydown, - mergedRailStyle: mergedRailStyleRef, - pressed: pressedRef, - mergedClsPrefix: mergedClsPrefixRef, - mergedValue: mergedValueRef, - checked: checkedRef, - mergedDisabled: mergedDisabledRef, - cssVars: inlineThemeDisabled ? void 0 : cssVarsRef, - themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, - onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender - }; - }, - render() { - const { - mergedClsPrefix, - mergedDisabled, - checked, - mergedRailStyle, - onRender, - $slots - } = this; - onRender === null || onRender === void 0 ? void 0 : onRender(); - const { - checked: checkedSlot, - unchecked: uncheckedSlot, - icon: iconSlot, - "checked-icon": checkedIconSlot, - "unchecked-icon": uncheckedIconSlot - } = $slots; - const hasIcon = !(isSlotEmpty(iconSlot) && isSlotEmpty(checkedIconSlot) && isSlotEmpty(uncheckedIconSlot)); - return h("div", { - role: "switch", - "aria-checked": checked, - class: [`${mergedClsPrefix}-switch`, this.themeClass, hasIcon && `${mergedClsPrefix}-switch--icon`, checked && `${mergedClsPrefix}-switch--active`, mergedDisabled && `${mergedClsPrefix}-switch--disabled`, this.round && `${mergedClsPrefix}-switch--round`, this.loading && `${mergedClsPrefix}-switch--loading`, this.pressed && `${mergedClsPrefix}-switch--pressed`, this.rubberBand && `${mergedClsPrefix}-switch--rubber-band`], - tabindex: !this.mergedDisabled ? 0 : void 0, - style: this.cssVars, - onClick: this.handleClick, - onFocus: this.handleFocus, - onBlur: this.handleBlur, - onKeyup: this.handleKeyup, - onKeydown: this.handleKeydown - }, h("div", { - class: `${mergedClsPrefix}-switch__rail`, - "aria-hidden": "true", - style: mergedRailStyle - }, resolveWrappedSlot(checkedSlot, (checkedSlotChildren) => resolveWrappedSlot(uncheckedSlot, (uncheckedSlotChildren) => { - if (checkedSlotChildren || uncheckedSlotChildren) { - return h("div", { - "aria-hidden": true, - class: `${mergedClsPrefix}-switch__children-placeholder` - }, h("div", { - class: `${mergedClsPrefix}-switch__rail-placeholder` - }, h("div", { - class: `${mergedClsPrefix}-switch__button-placeholder` - }), checkedSlotChildren), h("div", { - class: `${mergedClsPrefix}-switch__rail-placeholder` - }, h("div", { - class: `${mergedClsPrefix}-switch__button-placeholder` - }), uncheckedSlotChildren)); - } - return null; - })), h("div", { - class: `${mergedClsPrefix}-switch__button` - }, resolveWrappedSlot(iconSlot, (icon) => resolveWrappedSlot(checkedIconSlot, (checkedIcon) => resolveWrappedSlot(uncheckedIconSlot, (uncheckedIcon) => { - return h(NIconSwitchTransition, null, { - default: () => this.loading ? h(NBaseLoading, { - key: "loading", - clsPrefix: mergedClsPrefix, - strokeWidth: 20 - }) : this.checked && (checkedIcon || icon) ? h("div", { - class: `${mergedClsPrefix}-switch__button-icon`, - key: checkedIcon ? "checked-icon" : "icon" - }, checkedIcon || icon) : !this.checked && (uncheckedIcon || icon) ? h("div", { - class: `${mergedClsPrefix}-switch__button-icon`, - key: uncheckedIcon ? "unchecked-icon" : "icon" - }, uncheckedIcon || icon) : null - }); - }))), resolveWrappedSlot(checkedSlot, (children) => children && h("div", { - key: "checked", - class: `${mergedClsPrefix}-switch__checked` - }, children)), resolveWrappedSlot(uncheckedSlot, (children) => children && h("div", { - key: "unchecked", - class: `${mergedClsPrefix}-switch__unchecked` - }, children))))); - } -}); -export { - __unplugin_components_1 as _, - __unplugin_components_3 as a -}; diff --git a/out/renderer/assets/Switch-D3Z_Vg3u.js.gz b/out/renderer/assets/Switch-D3Z_Vg3u.js.gz deleted file mode 100644 index 3e65ca6cfa1cf8be2f01befb565bc7965e0560dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14724 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 { - const { - type, - size, - color: { - color, - textColor - } = {} - } = props; - const { - common: { - cubicBezierEaseInOut - }, - self: { - padding, - closeMargin, - borderRadius, - opacityDisabled, - textColorCheckable, - textColorHoverCheckable, - textColorPressedCheckable, - textColorChecked, - colorCheckable, - colorHoverCheckable, - colorPressedCheckable, - colorChecked, - colorCheckedHover, - colorCheckedPressed, - closeBorderRadius, - fontWeightStrong, - [createKey("colorBordered", type)]: colorBordered, - [createKey("closeSize", size)]: closeSize, - [createKey("closeIconSize", size)]: closeIconSize, - [createKey("fontSize", size)]: fontSize, - [createKey("height", size)]: height, - [createKey("color", type)]: typedColor, - [createKey("textColor", type)]: typeTextColor, - [createKey("border", type)]: border, - [createKey("closeIconColor", type)]: closeIconColor, - [createKey("closeIconColorHover", type)]: closeIconColorHover, - [createKey("closeIconColorPressed", type)]: closeIconColorPressed, - [createKey("closeColorHover", type)]: closeColorHover, - [createKey("closeColorPressed", type)]: closeColorPressed - } - } = themeRef.value; - const closeMarginDiscrete = getMargin(closeMargin); - return { - "--n-font-weight-strong": fontWeightStrong, - "--n-avatar-size-override": `calc(${height} - 8px)`, - "--n-bezier": cubicBezierEaseInOut, - "--n-border-radius": borderRadius, - "--n-border": border, - "--n-close-icon-size": closeIconSize, - "--n-close-color-pressed": closeColorPressed, - "--n-close-color-hover": closeColorHover, - "--n-close-border-radius": closeBorderRadius, - "--n-close-icon-color": closeIconColor, - "--n-close-icon-color-hover": closeIconColorHover, - "--n-close-icon-color-pressed": closeIconColorPressed, - "--n-close-icon-color-disabled": closeIconColor, - "--n-close-margin-top": closeMarginDiscrete.top, - "--n-close-margin-right": closeMarginDiscrete.right, - "--n-close-margin-bottom": closeMarginDiscrete.bottom, - "--n-close-margin-left": closeMarginDiscrete.left, - "--n-close-size": closeSize, - "--n-color": color || (mergedBorderedRef.value ? colorBordered : typedColor), - "--n-color-checkable": colorCheckable, - "--n-color-checked": colorChecked, - "--n-color-checked-hover": colorCheckedHover, - "--n-color-checked-pressed": colorCheckedPressed, - "--n-color-hover-checkable": colorHoverCheckable, - "--n-color-pressed-checkable": colorPressedCheckable, - "--n-font-size": fontSize, - "--n-height": height, - "--n-opacity-disabled": opacityDisabled, - "--n-padding": padding, - "--n-text-color": textColor || typeTextColor, - "--n-text-color-checkable": textColorCheckable, - "--n-text-color-checked": textColorChecked, - "--n-text-color-hover-checkable": textColorHoverCheckable, - "--n-text-color-pressed-checkable": textColorPressedCheckable - }; - }); - const themeClassHandle = inlineThemeDisabled ? useThemeClass("tag", computed(() => { - let hash = ""; - const { - type, - size, - color: { - color, - textColor - } = {} - } = props; - hash += type[0]; - hash += size[0]; - if (color) { - hash += `a${color2Class(color)}`; - } - if (textColor) { - hash += `b${color2Class(textColor)}`; - } - if (mergedBorderedRef.value) { - hash += "c"; - } - return hash; - }), cssVarsRef, props) : void 0; - return Object.assign(Object.assign({}, tagPublicMethods), { - rtlEnabled: rtlEnabledRef, - mergedClsPrefix: mergedClsPrefixRef, - contentRef, - mergedBordered: mergedBorderedRef, - handleClick, - handleCloseClick, - cssVars: inlineThemeDisabled ? void 0 : cssVarsRef, - themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, - onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender - }); - }, - render() { - var _a, _b; - const { - mergedClsPrefix, - rtlEnabled, - closable, - color: { - borderColor - } = {}, - round, - onRender, - $slots - } = this; - onRender === null || onRender === void 0 ? void 0 : onRender(); - const avatarNode = resolveWrappedSlot($slots.avatar, (children) => children && h("div", { - class: `${mergedClsPrefix}-tag__avatar` - }, children)); - const iconNode = resolveWrappedSlot($slots.icon, (children) => children && h("div", { - class: `${mergedClsPrefix}-tag__icon` - }, children)); - return h("div", { - class: [`${mergedClsPrefix}-tag`, this.themeClass, { - [`${mergedClsPrefix}-tag--rtl`]: rtlEnabled, - [`${mergedClsPrefix}-tag--strong`]: this.strong, - [`${mergedClsPrefix}-tag--disabled`]: this.disabled, - [`${mergedClsPrefix}-tag--checkable`]: this.checkable, - [`${mergedClsPrefix}-tag--checked`]: this.checkable && this.checked, - [`${mergedClsPrefix}-tag--round`]: round, - [`${mergedClsPrefix}-tag--avatar`]: avatarNode, - [`${mergedClsPrefix}-tag--icon`]: iconNode, - [`${mergedClsPrefix}-tag--closable`]: closable - }], - style: this.cssVars, - onClick: this.handleClick, - onMouseenter: this.onMouseenter, - onMouseleave: this.onMouseleave - }, iconNode || avatarNode, h("span", { - class: `${mergedClsPrefix}-tag__content`, - ref: "contentRef" - }, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a)), !this.checkable && closable ? h(NBaseClose, { - clsPrefix: mergedClsPrefix, - class: `${mergedClsPrefix}-tag__close`, - disabled: this.disabled, - onClick: this.handleCloseClick, - focusable: this.internalCloseFocusable, - round, - isButtonTag: this.internalCloseIsButtonTag, - absolute: true - }) : null, !this.checkable && this.mergedBordered ? h("div", { - class: `${mergedClsPrefix}-tag__border`, - style: { - borderColor - } - }) : null); - } -}); -export { - __unplugin_components_4 as _, - tagInjectionKey as t -}; diff --git a/out/renderer/assets/Tag-C0oC92WF.js.gz b/out/renderer/assets/Tag-C0oC92WF.js.gz deleted file mode 100644 index debcfbeba5a18b7fa20f95014fd2d5acc7e7714a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2912 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 K&ig<=E&u@0eZH9h diff --git a/out/renderer/assets/TitleBar-Bl1cFyS0.js b/out/renderer/assets/TitleBar-Bl1cFyS0.js deleted file mode 100644 index 93ebdd2..0000000 --- a/out/renderer/assets/TitleBar-Bl1cFyS0.js +++ /dev/null @@ -1,63 +0,0 @@ -import { as as inject, ce as dialogApiInjectionKey, bi as throwError, d as defineComponent, j as openBlock, c as createElementBlock, b as createBaseVNode, R as isElectron, _ as _export_sfc } from "./index-DKaFsuse.js"; -function useDialog() { - const dialog = inject(dialogApiInjectionKey, null); - if (dialog === null) { - throwError("use-dialog", "No outer founded."); - } - return dialog; -} -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "TitleBar", - setup(__props) { - const dialog = useDialog(); - const minimize = () => { - if (!isElectron) { - return; - } - window.api.minimize(); - }; - const close = () => { - if (!isElectron) { - return; - } - dialog.warning({ - title: "提示", - content: "确定要退出吗?", - positiveText: "最小化", - negativeText: "关闭", - onPositiveClick: () => { - window.api.minimize(); - }, - onNegativeClick: () => { - window.api.close(); - } - }); - }; - const drag = (event) => { - if (!isElectron) { - return; - } - window.api.dragStart(event); - }; - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", { - id: "title-bar", - onMousedown: drag - }, [ - _cache[2] || (_cache[2] = createBaseVNode("div", { id: "title" }, "Alger Music", -1)), - createBaseVNode("div", { id: "buttons" }, [ - createBaseVNode("button", { onClick: minimize }, _cache[0] || (_cache[0] = [ - createBaseVNode("i", { class: "iconfont icon-minisize" }, null, -1) - ])), - createBaseVNode("button", { onClick: close }, _cache[1] || (_cache[1] = [ - createBaseVNode("i", { class: "iconfont icon-close" }, null, -1) - ])) - ]) - ], 32); - }; - } -}); -const TitleBar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6ad4ce60"]]); -export { - TitleBar as default -}; diff --git a/out/renderer/assets/TitleBar-Bl1cFyS0.js.gz b/out/renderer/assets/TitleBar-Bl1cFyS0.js.gz deleted file mode 100644 index dc21eaaed92c0805954ad1b7854749945bba4267..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 824 zcmV-81IPRyiwFP!000026RlOvYZE~fzwcl1oYO`&X{+KPF-7|!l+q%8T|!unc3ZBQerJ=Sjf!0H^2A$y?OJ7_cN&s z90Jw$<6;k)iGZP!RgP;$7glvEKU&KrAN;HvCrQlKyq z?AcYBp;$>Jdl&(;bEc3QTu-r&!jy)csbPg`yuU3IjNrB-q}NkqMoAGtY!_nOw~S-m zV=#iAl6@eJ1uhcYudi*=n>yFn*wdsH^m5@iL#}bnDG6(E7yvLSv?;|wyVM;1L9EEr zwAKm$cn`vAPrF^LJ2>!C5t3YEy>KHDkZlPvH>lv6C|B#5k^`Qgf`w)1$y_9uG>D5Z z3IG(ET#1rgD;Na@St~d0Q!bzl3m4&f9N)Tkdp(Zf;=<{?hn7N(#87EzmGe>gKjb2j z!v@WGqXMl$jr@o#mHIz~D}*(MR0%G2!>PNmnP~#~_WZ^7_a`nt#g9p0P?#o=@9#d1 zKfV6(;qlMoy>|yhi+`lBu3H8CY%W&rba|xb7s!})aI1)u|d4xDXVg6eMSkya)DpTUl z1TODF7&EgULCh$7fHRRxhe?YGYtfwk5|V@uNaWGtNfU@W|N2gOHL3(|$y{S1hob2e zSIi^mOq>cLol9LfIxa=Kynu$x^Cy69{Kg^rSFg2Xz}j^MgXA?T}8K zhu8I$o|ARa2&R;mW+*THBV~tv7T;hxE{EL+E?@FXbrjeuQ{0oP;m&E)-qRIM8hQks z4vAyUWQH4weKQhjXnjz>N|P%LuP%~qx7G@Zt*(YA5sEjL=BWurt>8B~{~|BS2LJ#9 CNQ=+_ diff --git a/out/renderer/assets/TitleBar-DxNBjVsT.css b/out/renderer/assets/TitleBar-DxNBjVsT.css deleted file mode 100644 index 6f68512..0000000 --- a/out/renderer/assets/TitleBar-DxNBjVsT.css +++ /dev/null @@ -1,37 +0,0 @@ -#title-bar[data-v-6ad4ce60] { - -webkit-app-region: drag; - position: relative; - display: flex; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - justify-content: space-between; - padding-left: 1.5rem; - padding-right: 1.5rem; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - --tw-text-opacity: 1; - color: rgb(0 0 0 / var(--tw-text-opacity, 1)); -}#title-bar[data-v-6ad4ce60]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -}#title-bar[data-v-6ad4ce60] { - z-index: 9999999; -} -#buttons[data-v-6ad4ce60] { - display: flex; - gap: 1rem; - -webkit-app-region: no-drag; -} -button[data-v-6ad4ce60] { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity, 1)); -} -button[data-v-6ad4ce60]:hover { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity, 1)); -} -button[data-v-6ad4ce60]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} \ No newline at end of file diff --git a/out/renderer/assets/alipay-CcfmUela.png b/out/renderer/assets/alipay-CcfmUela.png deleted file mode 100644 index 1abda6ca81e26d290ae5ae0a06aa07518302540f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14917 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 diff --git a/out/renderer/assets/home-BXGE9AqN.js b/out/renderer/assets/home-BXGE9AqN.js deleted file mode 100644 index dfbcc25..0000000 --- a/out/renderer/assets/home-BXGE9AqN.js +++ /dev/null @@ -1,31 +0,0 @@ -import { ad as request } from "./index-DKaFsuse.js"; -const getHotSinger = (params) => { - return request.get("/top/artists", { params }); -}; -const getSearchKeyword = () => { - return request.get("/search/default"); -}; -const getHotSearch = () => { - return request.get("/search/hot/detail"); -}; -const getPlaylistCategory = () => { - return request.get("/playlist/catlist"); -}; -const getRecommendMusic = (params) => { - return request.get("/personalized/newsong", { params }); -}; -const getDayRecommend = () => { - return request.get("/recommend/songs"); -}; -const getNewAlbum = () => { - return request.get("/album/newest"); -}; -export { - getNewAlbum as a, - getHotSinger as b, - getDayRecommend as c, - getRecommendMusic as d, - getHotSearch as e, - getSearchKeyword as f, - getPlaylistCategory as g -}; diff --git a/out/renderer/assets/icon-mGmYaNg4.png b/out/renderer/assets/icon-mGmYaNg4.png deleted file mode 100644 index 160f629843e96aadccf474826e4b04fe7e660f65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20007 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 OZ-^6EoMkD-E$&~uJD4E= diff --git a/out/renderer/assets/iconfont-53c_NoX9.woff b/out/renderer/assets/iconfont-53c_NoX9.woff deleted file mode 100644 index 7323dcc119d75c8ca77f1140b083bb47d28a7a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10148 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 A=>Px# diff --git a/out/renderer/assets/iconfont-Cio8idH0.ttf b/out/renderer/assets/iconfont-Cio8idH0.ttf deleted file mode 100644 index cef8b1df8563991eb8770066a147aab93c73424b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16316 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 d@yM_D4MF4ti^!Sohtc+o4R?MP^{{>FsO1J<3 diff --git a/out/renderer/assets/iconfont-DzQUHqRQ.woff2 b/out/renderer/assets/iconfont-DzQUHqRQ.woff2 deleted file mode 100644 index 6ffb14060b36f42dc8ac8b7068bcf127991e5cac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8752 zcmV-0BG27-Pew8T0RR9103t8|3jhEB06)9{03qK10RR9100000000000000000000 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 :not([hidden]) ~ :not([hidden]) {--tw-space-y-reverse: 0;margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)) -} -.favorite-page .favorite-main .favorite-content .favorite-list[data-v-2d1a7423] {padding-left: 1rem;padding-right: 1rem;padding-bottom: 1rem -} -.favorite-page .favorite-main .favorite-content .favorite-list-more[data-v-2d1a7423] {margin-top: 1rem -} -.favorite-page .favorite-main .favorite-content .favorite-list-more .n-button[data-v-2d1a7423] {--tw-text-opacity: 1;color: rgb(34 197 94 / var(--tw-text-opacity, 1)) -} -.favorite-page .favorite-main .favorite-content .favorite-list-more .n-button[data-v-2d1a7423]:hover {--tw-text-opacity: 1;color: rgb(22 163 74 / var(--tw-text-opacity, 1)) -} -.loading-wrapper[data-v-2d1a7423] {display: flex;align-items: center;justify-content: center;padding-top: 5rem;padding-bottom: 5rem -} -.no-more-tip[data-v-2d1a7423] {padding-top: 1rem;padding-bottom: 1rem;text-align: center;font-size: 0.875rem;line-height: 1.25rem;--tw-text-opacity: 1;color: rgb(107 114 128 / var(--tw-text-opacity, 1)) -} -.no-more-tip[data-v-2d1a7423]:is(.dark *) {--tw-text-opacity: 1;color: rgb(156 163 175 / var(--tw-text-opacity, 1)) -} -.mobile .favorite-page[data-v-2d1a7423] {padding: 1rem -} -.mobile .favorite-page .favorite-header[data-v-2d1a7423] {margin-bottom: 1rem -} -.mobile .favorite-page .favorite-header h2[data-v-2d1a7423] {font-size: 1.25rem;line-height: 1.75rem -} \ No newline at end of file diff --git a/out/renderer/assets/index-B-m4kL_6.css.gz b/out/renderer/assets/index-B-m4kL_6.css.gz deleted file mode 100644 index f823f02b1c6726e7c80d306f09ffee56f9584685..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 659 zcmV;E0&M*siwFP!000026UA3ikD@RTe)m_*%O$e8aujvhEy?|n%{~+up|{YIQguDE z_uDTZ3YsdoId5ZpU_v|Jd^7XS;4b-EXZ)8ASzcJ-P)>pMI-JpAK z(;5TM+h^Y3yXmvvqnrld&tdl5XTAUWNZxJ1Sc>2ZkPDUf87!S4Rx4>NEcfX2+^4|C zr{6WsHTt{&D4hfKpYDzNHah9z5$NL#Xz+PD3ohhfLlr_ES@X)a!BVX@H6Xi04f#Bw zqUk{kifevvcK|LHrP&fA%G*SElz_DM|4~f0hxavgWy5&1Z)$>u;4lsaz7Gdp2yR@tir?oi2~_DIXmt+&f)k$lTUBBeDDq& z?8Z%>@O+F6jigasWjSKsxkaB&Hphjnj23NnrD`I-AeSfiTr9`1iLb$TMDQhZ`C2gd t6URbDBJUU6g%5z1x~{XV2gfYJXDW8vefDj2 { - if (lyricSetting.value.isLock) { - return isHovering.value; - } - return true; - }); - const handleMouseEnter = () => { - if (lyricSetting.value.isLock) { - isHovering.value = true; - windowData.electron.ipcRenderer.send("set-ignore-mouse", true); - } else { - windowData.electron.ipcRenderer.send("set-ignore-mouse", false); - } - }; - const handleMouseLeave = () => { - if (!lyricSetting.value.isLock) return; - isHovering.value = false; - windowData.electron.ipcRenderer.send("set-ignore-mouse", false); - }; - watch( - () => lyricSetting.value.isLock, - (newLock) => { - if (newLock) { - isHovering.value = false; - } - } - ); - onMounted(() => { - if (lyricSetting.value.isLock) { - isHovering.value = false; - } - }); - onUnmounted(() => { - }); - const wrapperStyle = computed(() => { - if (!containerHeight.value) { - return { - transform: "translateY(0)", - transition: "none" - }; - } - const containerCenter = containerHeight.value / 2; - const currentLineTop = currentIndex.value * lineHeight.value + containerHeight.value * 0.2 + lineHeight.value; - const targetOffset = containerCenter - currentLineTop; - const contentHeight = staticData.value.lrcArray.length * lineHeight.value + containerHeight.value * 0.4; - const minOffset = -(contentHeight - containerHeight.value); - const maxOffset = 0; - const finalOffset = Math.min(maxOffset, Math.max(minOffset, targetOffset)); - return { - transform: `translateY(${finalOffset}px)`, - transition: "transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)" - }; - }); - const lyricLineStyle = computed(() => ({ - height: `${lineHeight.value}px` - })); - const updateContainerHeight = () => { - if (!containerRef.value) return; - containerHeight.value = containerRef.value.clientHeight; - const baseLineHeight = fontSize.value * 2.5; - const maxAllowedHeight = containerHeight.value / 3; - lineHeight.value = Math.min(maxAllowedHeight, Math.max(40, baseLineHeight)); - }; - const handleFontSizeChange = async () => { - saveFontSize(); - updateContainerHeight(); - }; - const increaseFontSize = async () => { - if (fontSize.value < 48) { - fontSize.value += fontSizeStep; - await handleFontSizeChange(); - } - }; - const decreaseFontSize = async () => { - if (fontSize.value > 12) { - fontSize.value -= fontSizeStep; - await handleFontSizeChange(); - } - }; - const saveFontSize = () => { - localStorage.setItem("lyricFontSize", fontSize.value.toString()); - }; - onMounted(() => { - const resizeObserver = new ResizeObserver(() => { - updateContainerHeight(); - }); - if (containerRef.value) { - resizeObserver.observe(containerRef.value); - } - onUnmounted(() => { - resizeObserver.disconnect(); - }); - }); - const actualTime = ref(0); - const currentProgress = computed(() => { - const { startCurrentTime, nextTime } = dynamicData.value; - if (!startCurrentTime || !nextTime) return 0; - const duration = nextTime - startCurrentTime; - const elapsed = actualTime.value - startCurrentTime; - return Math.min(Math.max(elapsed / duration, 0), 1); - }); - const getLyricStyle = (index2) => { - if (index2 !== currentIndex.value) return {}; - const progress = currentProgress.value * 100; - return { - background: `linear-gradient(to right, var(--highlight-color) ${progress}%, var(--text-color) ${progress}%)`, - WebkitBackgroundClip: "text", - WebkitTextFillColor: "transparent", - transition: "all 0.1s linear" - }; - }; - const updateProgress = () => { - if (!dynamicData.value.isPlay) { - if (animationFrameId.value) { - cancelAnimationFrame(animationFrameId.value); - animationFrameId.value = null; - } - return; - } - const timeDiff = (performance.now() - lastUpdateTime.value) / 1e3; - actualTime.value = dynamicData.value.nowTime + timeDiff + TIME_OFFSET / 1e3; - animationFrameId.value = requestAnimationFrame(updateProgress); - }; - watch( - () => dynamicData.value, - (newData) => { - lastUpdateTime.value = performance.now(); - actualTime.value = newData.nowTime + TIME_OFFSET / 1e3; - if (newData.isPlay && !animationFrameId.value) { - updateProgress(); - } - }, - { deep: true } - ); - watch( - () => dynamicData.value.isPlay, - (isPlaying) => { - if (isPlaying) { - lastUpdateTime.value = performance.now(); - updateProgress(); - } else if (animationFrameId.value) { - cancelAnimationFrame(animationFrameId.value); - animationFrameId.value = null; - } - } - ); - const handleDataUpdate = (parsedData) => { - if (!parsedData) { - console.error("Invalid update data received:", parsedData); - return; - } - staticData.value = { - lrcArray: parsedData.lrcArray || [], - lrcTimeArray: parsedData.lrcTimeArray || [], - allTime: parsedData.allTime || 0, - playMusic: parsedData.playMusic || {} - }; - dynamicData.value = { - nowTime: parsedData.nowTime || 0, - startCurrentTime: parsedData.startCurrentTime || 0, - nextTime: parsedData.nextTime || 0, - isPlay: parsedData.isPlay - }; - if (typeof parsedData.nowIndex === "number") { - currentIndex.value = parsedData.nowIndex; - } - }; - onMounted(() => { - const savedFontSize = localStorage.getItem("lyricFontSize"); - if (savedFontSize) { - fontSize.value = Number(savedFontSize); - lineHeight.value = fontSize.value * 2.5; - } - updateContainerHeight(); - window.addEventListener("resize", updateContainerHeight); - windowData.electron.ipcRenderer.on("receive-lyric", (_, data) => { - try { - const parsedData = JSON.parse(data); - handleDataUpdate(parsedData); - } catch (error) { - console.error("Error parsing lyric data:", error); - } - }); - }); - onUnmounted(() => { - window.removeEventListener("resize", updateContainerHeight); - }); - const checkTheme = () => { - if (lyricSetting.value.theme === "light") { - lyricSetting.value.theme = "dark"; - } else { - lyricSetting.value.theme = "light"; - } - }; - const handleLock = () => { - lyricSetting.value.isLock = !lyricSetting.value.isLock; - windowData.electron.ipcRenderer.send("set-ignore-mouse", lyricSetting.value.isLock); - }; - const handleClose = () => { - windowData.electron.ipcRenderer.send("close-lyric"); - }; - watch( - () => lyricSetting.value, - (newValue) => { - localStorage.setItem("lyricData", JSON.stringify(newValue)); - }, - { deep: true } - ); - const isDragging = ref(false); - const startPosition = ref({ x: 0, y: 0 }); - const handleMouseDown = (e) => { - if (lyricSetting.value.isLock || e.target.closest(".control-buttons") || e.target.closest(".font-size-controls")) { - return; - } - if (e.button !== 0) return; - isDragging.value = true; - startPosition.value = { x: e.screenX, y: e.screenY }; - const handleMouseMove = (e2) => { - if (!isDragging.value) return; - const deltaX = e2.screenX - startPosition.value.x; - const deltaY = e2.screenY - startPosition.value.y; - windowData.electron.ipcRenderer.send("lyric-drag-move", { deltaX, deltaY }); - startPosition.value = { x: e2.screenX, y: e2.screenY }; - }; - const handleMouseUp = () => { - if (!isDragging.value) return; - isDragging.value = false; - document.removeEventListener("mousemove", handleMouseMove); - document.removeEventListener("mouseup", handleMouseUp); - }; - document.addEventListener("mousemove", handleMouseMove); - document.addEventListener("mouseup", handleMouseUp); - }; - onUnmounted(() => { - isDragging.value = false; - }); - onMounted(() => { - const lyricLock = document.getElementById("lyric-lock"); - if (lyricLock) { - lyricLock.onmouseenter = () => { - if (lyricSetting.value.isLock) { - windowData.electron.ipcRenderer.send("set-ignore-mouse", false); - } - }; - lyricLock.onmouseleave = () => { - if (lyricSetting.value.isLock) { - windowData.electron.ipcRenderer.send("set-ignore-mouse", true); - } - }; - } - }); - const handlePlayPause = () => { - windowData.electron.ipcRenderer.send("control-back", "playpause"); - }; - const handlePrev = () => { - windowData.electron.ipcRenderer.send("control-back", "prev"); - }; - const handleNext = () => { - windowData.electron.ipcRenderer.send("control-back", "next"); - }; - return (_ctx, _cache) => { - const _component_n_button = Button; - const _component_n_button_group = __unplugin_components_1; - return openBlock(), createElementBlock("div", { - class: normalizeClass(["lyric-window", [lyricSetting.value.theme, { lyric_lock: lyricSetting.value.isLock }]]), - onMousedown: handleMouseDown, - onMouseenter: handleMouseEnter, - onMouseleave: handleMouseLeave - }, [ - _cache[5] || (_cache[5] = createBaseVNode("div", { class: "drag-overlay" }, null, -1)), - createBaseVNode("div", { - class: normalizeClass(["control-bar", { "control-bar-show": showControls.value }]) - }, [ - createBaseVNode("div", _hoisted_1, [ - createVNode(_component_n_button_group, null, { - default: withCtx(() => [ - createVNode(_component_n_button, { - quaternary: "", - size: "small", - disabled: fontSize.value <= 12, - onClick: decreaseFontSize - }, { - default: withCtx(() => _cache[0] || (_cache[0] = [ - createBaseVNode("i", { class: "ri-subtract-line" }, null, -1) - ])), - _: 1 - }, 8, ["disabled"]), - createVNode(_component_n_button, { - quaternary: "", - size: "small", - disabled: fontSize.value >= 48, - onClick: increaseFontSize - }, { - default: withCtx(() => _cache[1] || (_cache[1] = [ - createBaseVNode("i", { class: "ri-add-line" }, null, -1) - ])), - _: 1 - }, 8, ["disabled"]) - ]), - _: 1 - }), - createBaseVNode("div", null, toDisplayString(staticData.value.playMusic.name), 1) - ]), - createBaseVNode("div", _hoisted_2, [ - createBaseVNode("div", { - class: "control-button", - onClick: handlePrev - }, _cache[2] || (_cache[2] = [ - createBaseVNode("i", { class: "ri-skip-back-fill" }, null, -1) - ])), - createBaseVNode("div", { - class: "control-button play-button", - onClick: handlePlayPause - }, [ - createBaseVNode("i", { - class: normalizeClass(dynamicData.value.isPlay ? "ri-pause-fill" : "ri-play-fill") - }, null, 2) - ]), - createBaseVNode("div", { - class: "control-button", - onClick: handleNext - }, _cache[3] || (_cache[3] = [ - createBaseVNode("i", { class: "ri-skip-forward-fill" }, null, -1) - ])) - ]), - createBaseVNode("div", _hoisted_3, [ - createBaseVNode("div", { - class: "control-button", - onClick: checkTheme - }, [ - lyricSetting.value.theme === "light" ? (openBlock(), createElementBlock("i", _hoisted_4)) : (openBlock(), createElementBlock("i", _hoisted_5)) - ]), - createBaseVNode("div", { - id: "lyric-lock", - class: "control-button", - onClick: handleLock - }, [ - lyricSetting.value.isLock ? (openBlock(), createElementBlock("i", _hoisted_6)) : (openBlock(), createElementBlock("i", _hoisted_7)) - ]), - createBaseVNode("div", { - class: "control-button", - onClick: handleClose - }, _cache[4] || (_cache[4] = [ - createBaseVNode("i", { class: "ri-close-line" }, null, -1) - ])) - ]) - ], 2), - createBaseVNode("div", { - ref_key: "containerRef", - ref: containerRef, - class: "lyric-container" - }, [ - createBaseVNode("div", _hoisted_8, [ - createBaseVNode("div", { - class: "lyric-wrapper", - style: normalizeStyle(wrapperStyle.value) - }, [ - staticData.value.lrcArray?.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(staticData.value.lrcArray, (line, index2) => { - return openBlock(), createElementBlock("div", { - key: index2, - class: normalizeClass(["lyric-line", { - "lyric-line-current": index2 === currentIndex.value, - "lyric-line-passed": index2 < currentIndex.value, - "lyric-line-next": index2 === currentIndex.value + 1 - }]), - style: normalizeStyle(lyricLineStyle.value) - }, [ - createBaseVNode("div", { - class: "lyric-text", - style: normalizeStyle({ fontSize: `${fontSize.value}px` }) - }, [ - createBaseVNode("span", { - class: "lyric-text-inner", - style: normalizeStyle(getLyricStyle(index2)) - }, toDisplayString(line.text || ""), 5) - ], 4), - line.trText ? (openBlock(), createElementBlock("div", { - key: 0, - class: "lyric-translation", - style: normalizeStyle({ fontSize: `${fontSize.value * 0.6}px` }) - }, toDisplayString(line.trText), 5)) : createCommentVNode("", true) - ], 6); - }), 128)) : (openBlock(), createElementBlock("div", _hoisted_9, "无歌词")) - ], 4) - ]) - ], 512) - ], 34); - }; - } -}); -const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4abaac34"]]); -export { - index as default -}; diff --git a/out/renderer/assets/index-BCv4VDKm.js.gz b/out/renderer/assets/index-BCv4VDKm.js.gz deleted file mode 100644 index 5ecef4a841f8fec41328226998f9ad92a15d2de0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4551 zcmV;&5jgH2iwFP!000026U{vBavL|2|M?W{DPL+B&x|Qq_Ijyha*-_W`qpw>vXg91 zrJ|r2keql3%wj-&M9Vk0`+a}!1+MO`w(c>m8iV-&2181+FSkxrL;~H7Mx(#b0GKXw zE+pJS4y1tiAb=m$hj&~a2e4G11Nce(Jr3Y!_2DRh1V1EnmNI(CmpNyY$pEggbyd(q z&SvR6fPdBBKggSm2Jjfa=7L|Q2@T-2?mUrM02zK+1VBdk;bJ8vXMYrYmA_%X&{(FN z{h8hbAh1`^Spa`jobYA7k~9h62)|wt87~6h_?fd~zGAA6?34{Zuw~U0D{MiDq(>QD zQYH^F9)AkpqUksw1^w|IM^uW*gOC?CMS5A~ARJ=_K8Ne@U4mo9-(T@#FhkS`xnzIA! zI8Xu%V2WR+^coj=TFhct!%Xlcc+u08CG54cFEQ1kQUO-_e!I{*+=t^|Yl*gt=Ki_Pm0 z|9>99Y3zGn!4nTZ9r#|U0$u>OYix1BANk&e8U&#R008Az9Q~&>k&CgK$^c+J3;@9k zNhA#|q>Rqw7}$=2JJbK|57zdiKJxra&FOyg`N;EoOh@wEIh%6*3gjIo(6AHE(agL6 z&Id5d=yiA{2vXqqcYgp$snlagS(Y*yBFz2(a$ck;oG}QR5t&}n{ehYVdJf;aq(Y`K z$uwJt^ePplC6B=q{K^}w8*m{rhmd^ltMM!qg$(0Gnk8e#r9aL{^?g_}y(D6uvQVV+ zg&f1LBetV# zn2apx7`%gqHxKFO$l$ocGIkYIu5w=i3^m*3z~yIvB^7g;9A?FPL1*dp37rK-&xy=V z=u9=OVbWx*n&!Uhsq$9e3#~|5lu2866pg7!(hK8AVZPFxqpzMK-+3G^bPDtTuRF<1eREhsV51 zS;DVg5lLX8zqH*Fst!pR6{S}abmp^FmJOXSf1((&HQ302!Idz&Uzq*zN(jp28)Vr@ zpc1O?+}$&J2}_p*z3Xd1mh?^1$13IqKjaAp%ye1N%Bh&)cAUjDV*JV<8YsBON@Fb` z1h0HmCgSgez>U#q?G!Q*BjHXv$uex$dago5MsAK*MH-Lcc3rv;W7y<|k)?B7#;+_| zg(N~AmJ+nO7`?We(&D|^&PlPNj)9d6dnZ zta?NE7XIbK_wS;dh=Tgt!Tkxnpe#9(uMzVqib*o%ZrPT=$pS++2{FcX` zG_-DY$ulkf#4o96CZ!O}m0s|xL+w;?hpcN$zCVP?H#L9h4E(l?qDzvkXjJksY)wPQ zxMtuIa^GOG2E*0ZcksO+EXn9GUlsI-Nh)9h59G&Y1Ou{Y_<@!yh-gM*DL9MLJU&sO zo{FfTEb+a9$}pWXE@-$!uDn2z8P@XxniaG)?t{s;SEydp9@)I5Yds>#7tu0hevJ|6HgfIPd<2I0hV@__ZENY;c}v$G-?m0w=hwsY zVBl1|8Xrc{vjXDPMH+_}^w*RMe-!NnFbZ(B1K1f>`nlfk3-q{@Jw{cB{RJ)SIOmUV z?G;<+*XNqFL3^cgtiw)XxXD~k=&Z6;(=WSqVgg;vD9+Ma4a_CIAO(HfPC~1MvR1L( z=y^v$zRNOxMUxt-&w8I#m>rci)yJUM(xSalU~xD!<3&5*z1Ex`E(n|B2&A}Su_fDr zT-Jbot&Glf@m)iu3=2y|O`~TRTtZ8de}KK0ZFg&RKbaUCq$U`VE0VgW=x<5_68ca^ zzk!|I4UC3gn9=r%bWFiWlnWzKu5d7sFgT1PFUxekr7V3BTvwVXRvW&*D5$tpA&Jo| zI58S6ye)duIF?e(E{kqQ-}XomFF&}D?2y`*DLAMmX%TbAXzXCp^nxUoE0VQ#gU)^F zd%@>|78|w&x&qeOiv{%-OqIY|+d4A>D_>|MBDgm0sTFYj5G;t+A zwJ>hi=FIZeN||d{JNli`s5dxYkoXgp^jI>6b9ClJgmXM6z}k!CAWFx5NrWGUi*&xo z)G0;GGcJbk__i8;{ZAE;q}R^=c6|SdUVKXBK|S_imgX4g>9zE1sE_nozD~335J^_) zKu&O`UQfnAvJ6JiP66eF?5v<0xLfM(h}az+j>?k4(At#PMVYQI0En^bl6_}D_95=K z@Z2D10;??RZg9X#Dav|@8S#lx z6*NiqO;OOlu4o}Gp_wbUb+_5!uD#2|R?ESfnvA^w zT157@cm{j>s?PxI(r-ht-rr)-ZYsZaP1r=JJ8Y!7VBCV&Z3sGQAX|mx7Hr*$(6{S> zRi)@CvN657!rUTQnXEZ@xANRVab+_t+@>_$9;V7*OxUVs-GVHe?1`bS;0ZRLS{ z#`JDwMp!Q+OxkA?iRlKQ0?%Q_i|#7ije{6*wV^!V$f2DD{#fPeQak45DI48&B)E@kPHaw_l3garUtj`sx8k5GJD7|{*G|-* z+o(VHpx)f~V6(i;kq9ym(WBz6B+Y414ZChR>`ijrH3hrdm2AI=f5)~CpzVdLT z3@$aNb1JLHCO2Q7^QGc}D#yr2%-Y3>Y9*;GfqiGIT2B$Sfxmu^s&oI03n{N~Qv0N>(`j(^$sdytKBR3vW#UfDv;m)u% zzdkDM-Bpk18_iRXprG9l;-xNcY~1bAUVVKwYz)6W)m~iPpQ3p@k#V!czwk$3mutW~#f*7gCT|mUo2>?Q~E)YpZPY zZ#sq@*UVl9aOzdk^UfT&|8PtC%>?#dZd_9PX26$O(j8+-cRpuHNs{~~t2wZ#*~B`8 z))q*QpDB5^o)i0>3srTEH^K|w>b!N($Idp7w(It28~t(1CtFVpIx1HyPm|CLEa~c% z-!=4L*QEz{FzQcft`d=Oma04beR|N*fX|w?s>R<`1XUhs%i(Ub?K%=?aO^v+R7y_GKsDIvUCVIS7Gdz)DGuhRJ&N#!ZO?OWh*$gXiS&HK8g{iyeFs4aC&^0kYIN{k;YF;voY3 z-SGd>L{;&+$42)I8{K=Djp_>b<^XRSXZ__29oW6L9fHoL>gku)zN2P{LD1RQxQ-fh zw=G%~Ybfubn~#^D={xjJwY*T@Sxxn{b!`1UiQm3{uZxe{jG*`a_qWvr@NZyb8icCM zIQ6^vVU%0_UJ!?Dejdf|9W4MKRV4t&EwlClKCBwh{8L<&W4Ln4&1D0n%x<~>EtpWB zQ+w4=$~$)tuY;|Ga#9pDY3TgnK~z+YXA3Xz#F0${?!KKH7pMA}SJhn#*rSB^Fb|iJ zSQqfNGkRNZr_^t)`>ewZ@mF!RmRFs^7;_cMo166@|p z1yv)$vGwD=0G>N{Ujghnb)du-c+v4r0dv!OHjj(93QIr5NF5>W!Aq`QuDsZ|@NVg; z*(=Fm{O|tElkZiP?14kBFO2%O-g&~#?#nx76IR6eeE{Cy|KmUZ{$Kz0KmYyjo}FCa zGWN#W=R5Uw;Vgh>d+ma7`*D1#AO70UpIbj&<=4-o12{ePrqd$kIen90u^DewgqPtS lxgaEdw&$JUPhOO$N-;|E9F diff --git a/out/renderer/assets/index-BE7j41Na.css b/out/renderer/assets/index-BE7j41Na.css deleted file mode 100644 index 9bce8ff..0000000 --- a/out/renderer/assets/index-BE7j41Na.css +++ /dev/null @@ -1,203 +0,0 @@ - -body { - background-color: transparent !important; -} -.lyric-window[data-v-4abaac34] { - width: 100vw; - height: 100vh; - position: relative; - overflow: hidden; - background: transparent; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - transition: background-color 0.2s ease; - cursor: default; -} -.lyric-window[data-v-4abaac34]:hover { - background: rgba(0, 0, 0, 0.5); -} -.lyric-window:hover .control-bar-show[data-v-4abaac34] { - opacity: 1; - visibility: visible; -} -.lyric-window[data-v-4abaac34]:active { - cursor: grabbing; -} -.lyric-window.dark[data-v-4abaac34] { - --text-color: #ffffff; - --text-secondary: rgba(255, 255, 255, 0.6); - --highlight-color: #1db954; - --control-bg: rgba(124, 124, 124, 0.3); -} -.lyric-window.light[data-v-4abaac34] { - --text-color: #333333; - --text-secondary: rgba(51, 51, 51, 0.6); - --highlight-color: #1db954; - --control-bg: rgba(255, 255, 255, 0.3); -} -.control-bar[data-v-4abaac34] { - position: absolute; - top: 10px; - left: 0; - right: 0; - height: 80px; - display: flex; - justify-content: space-between; - align-items: start; - padding: 0 20px; - opacity: 0; - visibility: hidden; - transition: opacity 0.2s ease, visibility 0.2s ease; - z-index: 100; -} -.control-bar .font-size-controls[data-v-4abaac34] { - -webkit-app-region: no-drag; - color: var(--text-color); - display: flex; - align-items: center; - gap: 16px; -} -.control-bar .play-controls[data-v-4abaac34] { - position: absolute; - top: 0px; - left: 50%; - transform: translateX(-50%); - display: flex; - align-items: center; - gap: 16px; - -webkit-app-region: no-drag; -} -.control-bar .play-controls .play-button[data-v-4abaac34] { - width: 36px; - height: 36px; -} -.control-bar .play-controls .play-button i[data-v-4abaac34] { - font-size: 24px; -} -.control-bar .control-buttons[data-v-4abaac34] { - -webkit-app-region: no-drag; -} -.control-buttons[data-v-4abaac34] { - display: flex; - gap: 16px; - -webkit-app-region: no-drag; -} -.control-button[data-v-4abaac34] { - width: 36px; - height: 36px; - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; - border-radius: 8px; - color: var(--text-color); - transition: all 0.2s ease; -} -.control-button[data-v-4abaac34]:hover { - background: var(--control-bg); -} -.control-button i[data-v-4abaac34] { - font-size: 20px; - text-shadow: 0 0 10px rgba(0, 0, 0, 0.3); -} -.control-button i.active[data-v-4abaac34] { - color: var(--highlight-color); -} -.lyric-container[data-v-4abaac34] { - position: absolute; - top: 80px; - left: 0; - right: 0; - bottom: 0; - overflow: hidden; - z-index: 100; -} -.lyric-scroll[data-v-4abaac34] { - height: 100%; - overflow: hidden; - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: center; - -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%); - mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%); -} -.lyric-wrapper[data-v-4abaac34] { - will-change: transform; - padding: 20vh 0; - transform-origin: center center; - transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} -.lyric-line[data-v-4abaac34] { - padding: 4px 20px; - text-align: center; - transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; -} -.lyric-line.lyric-line-current[data-v-4abaac34] { - transform: scale(1.05); - opacity: 1; -} -.lyric-line.lyric-line-passed[data-v-4abaac34] { - opacity: 0.6; -} -.lyric-text[data-v-4abaac34] { - font-weight: 600; - margin-bottom: 2px; - color: var(--text-color); - white-space: pre-wrap; - word-break: break-all; - text-shadow: 0 0 10px rgba(0, 0, 0, 0.3); - transition: all 0.2s ease; - line-height: 1.4; -} -.lyric-translation[data-v-4abaac34] { - color: var(--text-secondary); - white-space: pre-wrap; - word-break: break-all; - text-shadow: 0 0 10px rgba(0, 0, 0, 0.3); - transition: font-size 0.2s ease; - line-height: 1.4; -} -.lyric-empty[data-v-4abaac34] { - text-align: center; - color: var(--text-secondary); - font-size: 16px; - padding: 20px; -} -body[data-v-4abaac34] { - background-color: transparent !important; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; -} -.lyric-content[data-v-4abaac34] { - transition: font-size 0.2s ease; -} -.lyric-line-current[data-v-4abaac34] { - opacity: 1; -} -.lyric_lock .control-bar .control-buttons .control-button[data-v-4abaac34]:not(:has(.ri-lock-line)):not(:has(.ri-lock-unlock-line)) { - display: none; -} -.lyric_lock .control-bar .font-size-controls[data-v-4abaac34] { - display: none; -} -.lyric_lock .control-bar .play-controls[data-v-4abaac34] { - display: none; -} -.lyric_lock[data-v-4abaac34] { - background: transparent; -} -.lyric_lock[data-v-4abaac34]:hover { - background: transparent; -} -.lyric_lock #lyric-lock[data-v-4abaac34] { - position: absolute; - top: 0; - right: 72px; - background: var(--control-bg); -} \ No newline at end of file diff --git a/out/renderer/assets/index-BE7j41Na.css.gz b/out/renderer/assets/index-BE7j41Na.css.gz deleted file mode 100644 index 74e0ed9f8ef83f967a67f81c333f04ddfd9adb61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1280 zcmV+b1^@aViwFP!000026TMhli|aNJe&1g)-NQlxmT|JlcI$m>p|lU}fgTPNN-1M| zVyjUkBgx5TOaFV3>^M$hJ2_iglZ!3Mqi-(X%-DB{%J%Tr9YBKVI@hX_8B3K=ItHsz zni4fh3t#a~skB9DU+(_C3&mdZlw&@zl*(|+m5f1?K+Ct}M%9+|N~m271bRjlqGmROq zObpNUUSq`R5*~%<()zlh0|m9-=$KxoJ+f|zk%m)s!Y|O(VTd5|IrXAyKlbku)`hfx zvlGLd6^m}Yazc?y`ttPuJf8j&Wv$vY7k&NLMPjW1nN%ww`q6Z{y@w&O7t!bbS;jS` zwIZn!)kgLPpkLb7nSro9Fld8j&G-g$ia~Hms9El!lcb$k)#x9bw7bzm0ExhK4fEsa zvpemsa@tM1&E$W*)3JHcSe8Sfu;W6ov_R=#wE6#}AkU+1Q9HbyXG-&&%Yy+scI?u# zUGAdYKw2d{WeL4;(vv7$G(4CGFzdo~wipQ81ENLwdP+9$)OY|!oh7aU_;*2e+`2cw zPPFTsvb569Y5fX!>aj^t&}0@y%jwHm$37^#L}Mts((*^)Q%8ie=188~HB^0yd^~JW z=UlQwQkY-Q-n)WZV!kDeq15Dq(@!X!u|yNDWAJ|rh4`{$I$9gRbBwjQCR}v2ZkioF zR2wf|A}%%@cGC40De)4vMPX&ult;20H2de z+A4tWP+HU^L;&|6OOo&jrMVB_{s$6UvOGojnJT&uz@RkDkmjqiGCNM*F|VEQc03XE z(ftph(lw0sqj0q!lFClv0?j1UoH>CW%yil_QOVByX-`_e3K;`->l4)%h`izPXH43) q=sbIUG=A?uUpXuRJ~XZ$L^Ag1*6GT=Zj$b`cJ?1@sWaZZ6953)&5bJn diff --git a/out/renderer/assets/index-BPmJoRDi.js b/out/renderer/assets/index-BPmJoRDi.js deleted file mode 100644 index cb3acc0..0000000 --- a/out/renderer/assets/index-BPmJoRDi.js +++ /dev/null @@ -1,203 +0,0 @@ -import { ad as request, d as defineComponent, r as ref, G as computed, aq as onActivated, c as createElementBlock, n as normalizeClass, u as unref, a2 as normalizeStyle, b as createBaseVNode, t as toDisplayString, e as createVNode, f as withCtx, T as createCommentVNode, w as withDirectives, S as Scrollbar, ab as resolveDirective, g as useStore, h as useRouter, j as openBlock, s as setAnimationClass, a7 as getImgUrl, a3 as Fragment, a4 as renderList, U as PlayBottom, ac as isMobile, a5 as setAnimationDelay, _ as _export_sfc } from "./index-DKaFsuse.js"; -import { M as MusicList, a as getListDetail } from "./MusicList-s-QHu-iA.js"; -import { S as SongItem } from "./SongItem-CoswpGn6.js"; -import { _ as __unplugin_components_2 } from "./Avatar-rQ2og-6c.js"; -import { N as NImage } from "./Image-DXClIklC.js"; -import "./Drawer-BEJ8Ydua.js"; -import "./Ellipsis-D4R5dIX2.js"; -import "./Tag-C0oC92WF.js"; -import "./use-locale-DLWAOXez.js"; -function getUserDetail(uid) { - return request.get("/user/detail", { params: { uid } }); -} -function getUserPlaylist(uid) { - return request.get("/user/playlist", { params: { uid } }); -} -function getUserRecord(uid, type = 0) { - return request.get("/user/record", { params: { uid, type } }); -} -const _hoisted_1 = { class: "user-page" }; -const _hoisted_2 = { class: "page" }; -const _hoisted_3 = { class: "user-name" }; -const _hoisted_4 = { class: "user-info" }; -const _hoisted_5 = { class: "user-info-list" }; -const _hoisted_6 = { class: "user-info-item" }; -const _hoisted_7 = { class: "label" }; -const _hoisted_8 = { class: "user-info-item" }; -const _hoisted_9 = { class: "label" }; -const _hoisted_10 = { class: "user-info-item" }; -const _hoisted_11 = { class: "label" }; -const _hoisted_12 = { class: "uesr-signature" }; -const _hoisted_13 = ["onClick"]; -const _hoisted_14 = { class: "play-list-item-info" }; -const _hoisted_15 = { class: "play-list-item-name" }; -const _hoisted_16 = { class: "play-list-item-count" }; -const _hoisted_17 = { class: "record-list" }; -const _hoisted_18 = { class: "play-count" }; -const _sfc_main = /* @__PURE__ */ defineComponent({ - ...{ - name: "User" - }, - __name: "index", - setup(__props) { - const store = useStore(); - const router = useRouter(); - const userDetail = ref(); - const playList = ref([]); - const recordList = ref(); - const infoLoading = ref(false); - const user = computed(() => store.state.user); - const loadPage = async () => { - if (!user.value) { - router.push("/login"); - return; - } - infoLoading.value = true; - const { data: userData } = await getUserDetail(user.value.userId); - userDetail.value = userData; - const { data: playlistData } = await getUserPlaylist(user.value.userId); - playList.value = playlistData.playlist; - const { data: recordData } = await getUserRecord(user.value.userId); - recordList.value = recordData.allData.map((item) => ({ - ...item, - ...item.song, - picUrl: item.song.al.picUrl - })); - infoLoading.value = false; - }; - onActivated(() => { - if (!user.value) { - router.push("/login"); - } else { - loadPage(); - } - }); - const isShowList = ref(false); - const list = ref(); - const listLoading = ref(false); - const showPlaylist = async (id, name) => { - isShowList.value = true; - listLoading.value = true; - list.value = { - name - }; - const { data } = await getListDetail(id); - list.value = data.playlist; - listLoading.value = false; - }; - const handlePlay = () => { - const tracks = recordList.value || []; - store.commit("setPlayList", tracks); - }; - return (_ctx, _cache) => { - const _component_n_avatar = __unplugin_components_2; - const _component_n_image = NImage; - const _component_n_scrollbar = Scrollbar; - const _directive_loading = resolveDirective("loading"); - return openBlock(), createElementBlock("div", _hoisted_1, [ - userDetail.value ? (openBlock(), createElementBlock("div", { - key: 0, - class: normalizeClass(["left", unref(setAnimationClass)("animate__fadeInLeft")]), - style: normalizeStyle({ backgroundImage: `url(${unref(getImgUrl)(user.value.backgroundUrl)})` }) - }, [ - createBaseVNode("div", _hoisted_2, [ - createBaseVNode("div", _hoisted_3, toDisplayString(user.value.nickname), 1), - createBaseVNode("div", _hoisted_4, [ - createVNode(_component_n_avatar, { - round: "", - size: 50, - src: unref(getImgUrl)(user.value.avatarUrl, "50y50") - }, null, 8, ["src"]), - createBaseVNode("div", _hoisted_5, [ - createBaseVNode("div", _hoisted_6, [ - createBaseVNode("div", _hoisted_7, toDisplayString(userDetail.value.profile.followeds), 1), - _cache[1] || (_cache[1] = createBaseVNode("div", null, "粉丝", -1)) - ]), - createBaseVNode("div", _hoisted_8, [ - createBaseVNode("div", _hoisted_9, toDisplayString(userDetail.value.profile.follows), 1), - _cache[2] || (_cache[2] = createBaseVNode("div", null, "关注", -1)) - ]), - createBaseVNode("div", _hoisted_10, [ - createBaseVNode("div", _hoisted_11, toDisplayString(userDetail.value.level), 1), - _cache[3] || (_cache[3] = createBaseVNode("div", null, "等级", -1)) - ]) - ]) - ]), - createBaseVNode("div", _hoisted_12, toDisplayString(userDetail.value.profile.signature), 1), - createBaseVNode("div", { - class: normalizeClass(["play-list", unref(setAnimationClass)("animate__fadeInLeft")]) - }, [ - _cache[4] || (_cache[4] = createBaseVNode("div", { class: "title" }, "创建的歌单", -1)), - createVNode(_component_n_scrollbar, null, { - default: withCtx(() => [ - (openBlock(true), createElementBlock(Fragment, null, renderList(playList.value, (item, index2) => { - return openBlock(), createElementBlock("div", { - key: index2, - class: "play-list-item", - onClick: ($event) => showPlaylist(item.id, item.name) - }, [ - createVNode(_component_n_image, { - src: unref(getImgUrl)(item.coverImgUrl, "50y50"), - class: "play-list-item-img", - lazy: "", - "preview-disabled": "" - }, null, 8, ["src"]), - createBaseVNode("div", _hoisted_14, [ - createBaseVNode("div", _hoisted_15, toDisplayString(item.name), 1), - createBaseVNode("div", _hoisted_16, toDisplayString(item.trackCount) + "首,播放" + toDisplayString(item.playCount) + "次 ", 1) - ]) - ], 8, _hoisted_13); - }), 128)), - createVNode(PlayBottom) - ]), - _: 1 - }) - ], 2) - ]) - ], 6)) : createCommentVNode("", true), - !unref(isMobile) ? withDirectives((openBlock(), createElementBlock("div", { - key: 1, - class: normalizeClass(["right", unref(setAnimationClass)("animate__fadeInRight")]) - }, [ - _cache[5] || (_cache[5] = createBaseVNode("div", { class: "title" }, "听歌排行", -1)), - createBaseVNode("div", _hoisted_17, [ - createVNode(_component_n_scrollbar, null, { - default: withCtx(() => [ - (openBlock(true), createElementBlock(Fragment, null, renderList(recordList.value, (item, index2) => { - return openBlock(), createElementBlock("div", { - key: item.id, - class: normalizeClass(["record-item", unref(setAnimationClass)("animate__bounceInUp")]), - style: normalizeStyle(unref(setAnimationDelay)(index2, 25)) - }, [ - createVNode(SongItem, { - class: "song-item", - item, - onPlay: handlePlay - }, null, 8, ["item"]), - createBaseVNode("div", _hoisted_18, toDisplayString(item.playCount) + "次", 1) - ], 6); - }), 128)), - createVNode(PlayBottom) - ]), - _: 1 - }) - ]) - ], 2)), [ - [_directive_loading, infoLoading.value] - ]) : createCommentVNode("", true), - createVNode(MusicList, { - show: isShowList.value, - "onUpdate:show": _cache[0] || (_cache[0] = ($event) => isShowList.value = $event), - name: list.value?.name || "", - "song-list": list.value?.tracks || [], - "list-info": list.value, - loading: listLoading.value - }, null, 8, ["show", "name", "song-list", "list-info", "loading"]) - ]); - }; - } -}); -const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-be63ae6f"]]); -export { - index as default -}; diff --git a/out/renderer/assets/index-BPmJoRDi.js.gz b/out/renderer/assets/index-BPmJoRDi.js.gz deleted file mode 100644 index a2be49e965a715748dba8c850bfb126cca3a603d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2466 zcmV;T30?LdiwFP!000026RjFea~wzYzQ5vSDuu zanA1^7UU<7xla&CwJP}@6(PeH2Qs3;3<1e;6TGQfIj8buS3XDZQ4ZhbbG5ew?L0-> zqY+VOAp*gHT0HO~&e$=I5a45@2Eo}G$q*6D^ce&>kUSy?PLj{3JeDLv@Tpc&NP^CFMb)3VcfeW<>7KXNM6(fH%~_g9y*&+6s8n$PauHJ*3K7hic&o!x#6s zlzff=Ywc6JUpxl+anBLAaK>XOP(t)aK+Sv1xzD82dlS61D`za?)?Zq5V0V= zPldJ9p{ct(Qgn}EK|Qkroa|YB?GcG7D{#v2x}y8x58^JpTj6Fj%!Ap!B=Z7cy42m} z;ynBy*s9Q(-MeuRvUo-V*GpYhxPtQu;d-(C)A3q~649YYPJY_ni=R-jvqh~v&z5|yXfQZOA3er2=n-OVS zid(eiYfKBlC4@M_b1{NTh^Y??SU5YKMUA!cB}Ro@g?X6Z-hlm6;_=8=%n`_okiZz$ zmx+lqOQ37)!HBd`>sZir{Zg2hf1bx=ZW!`i4b4Dh@W zb+e92gDG!99X6wOwO$+Ww_5P2B=aWxTP1vkj|po++rA;&+pDqduiubwzrP~mvdv;5 zqOPE`0LwUPG)Z5X@5oZImU^ewq>fNFn(}RJ1ijT(^Yw?PlN3 zfCcIRxNfql^M|FD1d(xQyKWfqP?&oTU_=X*D`A|aP21TiKqH+x4cMg7GCaKw3=6frb4+D5(_}l-C)@Y44djN%Omxn#hZ)nq=Qy-&b&s`u?c9#NUQaEf>OxQO zV3x0j)H{sW2r^I)vz}Q@ZR})QYBIBSSA(!HzY5j4{dU}L0fY%sz)s!UcFLZ(DBmq{ zaKg_EH?MxRSj)9k>&vdCIN|511LgNj6$&aal@Ffnr15$bq_x5`K&}NPCOv+W1D2gG zub6F`ds&IK-{jIwo2wh$$UVV<&xleAj4L6>Ajk-Nry_IZf<`|79F8WbOcUEYKA%%* zTY|_Z$t|={!on#@PpUcF^;Fm8de}Q54btc)%82=q;zgVt10HMK@@2- z2jjf4tKj=-W9PDh!nHi(?lzn{vkZIq^k)}`${3WCF<7pQ*FXQ}>YKm3O=a}g-%K0*{tD_~37u;fCO3>Z{lN|Fp0&=a2e)c`YRfQLbNeP~rc;SSRf{Le-z=G8^BPm+{jj8x zspedH=P&;7`tRR<_xqn+y?Xijm%mLcgjS8%A|DVNOV>lUPo_9#a+D6DlQO)?feZOw zRh-Q^KOYGjiTOy_F1JSrbT5KH_vC|830BE2H!5G6c_fvGk%d}Nnx`IC8+tOa8G-#S zIU|8It#+Z(*9YvWDqsJhQ*RnxL4BDuEi^AE)tSSp+3IcNDwC;_)X}*nAlE&}%-v1aTE&l!c^r6T zKR67lt@E-by3Sm`-a2-YVqq|Jnj%VTsw+B0`o`Lx-cmPJW60~Xba}E_&EP5?jS91< z&hp%&rL`$*>1EhPD+cSfSgnIvJqBMBfme&a^%K=%@1i}<4jiX!*rWQe3e|_glbpxu zak_Y(!gGJoRa6x=s*O^M2ef!_82VU}k;1h`X{=l?#maRRD~sh_!*n)*7MYvZrhHy{ zN7n|5ak(Bc?yFmnGI}!m)Pv3vfvLXKlV6dbh>|FKR3FB6T52hEegu|&5=6y4p`twX zkqj0y(@%<{)kQ~*)YGRbpFD4Pxhwovhn>CfAvij+TvvEJB>U<$-BQEl?pgPkY;9n& gHMJ&6kRjD(HtfxR1F3w_S?qNF2MT&VWi})L00`gD!~g&Q diff --git a/out/renderer/assets/index-Bc5fdT5j.js b/out/renderer/assets/index-Bc5fdT5j.js deleted file mode 100644 index fe3f94f..0000000 --- a/out/renderer/assets/index-Bc5fdT5j.js +++ /dev/null @@ -1,233 +0,0 @@ -import { d as defineComponent, r as ref, G as computed, o as onMounted, E as watch, c as createElementBlock, b as createBaseVNode, e as createVNode, f as withCtx, u as unref, i as isRef, af as useRoute, S as Scrollbar, a5 as setAnimationDelay, ab as resolveDirective, j as openBlock, ah as withModifiers, a3 as Fragment, a4 as renderList, n as normalizeClass, s as setAnimationClass, a2 as normalizeStyle, t as toDisplayString, w as withDirectives, a7 as getImgUrl, ai as formatNumber, T as createCommentVNode, aj as __unplugin_components_0, _ as _export_sfc } from "./index-DKaFsuse.js"; -import { g as getPlaylistCategory } from "./home-BXGE9AqN.js"; -import { M as MusicList, b as getListByCat, a as getListDetail } from "./MusicList-s-QHu-iA.js"; -import { N as NImage } from "./Image-DXClIklC.js"; -import "./SongItem-CoswpGn6.js"; -import "./Ellipsis-D4R5dIX2.js"; -import "./Drawer-BEJ8Ydua.js"; -import "./Avatar-rQ2og-6c.js"; -import "./Tag-C0oC92WF.js"; -import "./use-locale-DLWAOXez.js"; -const _hoisted_1 = { class: "list-page" }; -const _hoisted_2 = { class: "play-list-type" }; -const _hoisted_3 = ["onClick"]; -const _hoisted_4 = { class: "recommend-list" }; -const _hoisted_5 = ["onClick"]; -const _hoisted_6 = { class: "recommend-item-img" }; -const _hoisted_7 = { class: "top" }; -const _hoisted_8 = { class: "play-count" }; -const _hoisted_9 = { class: "recommend-item-title" }; -const _hoisted_10 = { - key: 0, - class: "loading-more" -}; -const _hoisted_11 = { - key: 1, - class: "no-more" -}; -const TOTAL_ITEMS = 42; -const _sfc_main = /* @__PURE__ */ defineComponent({ - ...{ - name: "List" - }, - __name: "index", - setup(__props) { - const recommendList = ref([]); - const showMusic = ref(false); - const page = ref(0); - const hasMore = ref(true); - const isLoadingMore = ref(false); - const getItemAnimationDelay = (index2) => { - const currentPageIndex = index2 % TOTAL_ITEMS; - return setAnimationDelay(currentPageIndex, 30); - }; - const recommendItem = ref(); - const listDetail = ref(); - const listLoading = ref(true); - const selectRecommendItem = async (item) => { - listLoading.value = true; - recommendItem.value = null; - listDetail.value = null; - showMusic.value = true; - recommendItem.value = item; - const { data } = await getListDetail(item.id); - listDetail.value = data; - listLoading.value = false; - }; - const route = useRoute(); - const listTitle = ref(route.query.type || "歌单列表"); - const loading = ref(false); - const loadList = async (type, isLoadMore = false) => { - if (!hasMore.value && isLoadMore) return; - if (isLoadMore) { - isLoadingMore.value = true; - } else { - loading.value = true; - page.value = 0; - recommendList.value = []; - } - try { - const params = { - cat: type === "每日推荐" ? "" : type, - limit: TOTAL_ITEMS, - offset: page.value * TOTAL_ITEMS - }; - const { data } = await getListByCat(params); - if (isLoadMore) { - recommendList.value.push(...data.playlists); - } else { - recommendList.value = data.playlists; - } - hasMore.value = data.more; - page.value++; - } catch (error) { - console.error("加载歌单列表失败:", error); - } finally { - loading.value = false; - isLoadingMore.value = false; - } - }; - const handleScroll = (e) => { - const { scrollTop, scrollHeight, clientHeight } = e.target; - if (scrollTop + clientHeight >= scrollHeight - 100 && !isLoadingMore.value && hasMore.value) { - loadList(route.query.type, true); - } - }; - const playlistCategory = ref(); - const currentType = ref(route.query.type || "每日推荐"); - const getAnimationDelay = computed(() => { - return (index2) => setAnimationDelay(index2, 30); - }); - const loadPlaylistCategory = async () => { - const { data } = await getPlaylistCategory(); - playlistCategory.value = { - ...data, - sub: [ - { - name: "每日推荐", - category: 0 - }, - ...data.sub - ] - }; - }; - const handleClickPlaylistType = (type) => { - currentType.value = type; - listTitle.value = type; - loading.value = true; - loadList(type); - }; - const scrollbarRef = ref(); - const handleWheel = (e) => { - const scrollbar = scrollbarRef.value; - if (scrollbar) { - const delta = e.deltaY || e.detail; - scrollbar.scrollBy({ left: delta }); - } - }; - onMounted(() => { - loadPlaylistCategory(); - currentType.value = route.query.type || currentType.value; - loadList(currentType.value); - }); - watch( - () => route.query, - async (newParams) => { - if (newParams.type) { - recommendList.value = []; - listTitle.value = newParams.type || "歌单列表"; - currentType.value = newParams.type; - loading.value = true; - loadList(newParams.type); - } - } - ); - return (_ctx, _cache) => { - const _component_n_scrollbar = Scrollbar; - const _component_n_image = NImage; - const _component_n_spin = __unplugin_components_0; - const _directive_loading = resolveDirective("loading"); - return openBlock(), createElementBlock("div", _hoisted_1, [ - createBaseVNode("div", _hoisted_2, [ - createVNode(_component_n_scrollbar, { - ref_key: "scrollbarRef", - ref: scrollbarRef, - "x-scrollable": "" - }, { - default: withCtx(() => [ - createBaseVNode("div", { - class: "categories-wrapper", - onWheel: withModifiers(handleWheel, ["prevent"]) - }, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(playlistCategory)?.sub, (item, index2) => { - return openBlock(), createElementBlock("span", { - key: item.name, - class: normalizeClass(["play-list-type-item", [unref(setAnimationClass)("animate__bounceIn"), { active: unref(currentType) === item.name }]]), - style: normalizeStyle(unref(getAnimationDelay)(index2)), - onClick: ($event) => handleClickPlaylistType(item.name) - }, toDisplayString(item.name), 15, _hoisted_3); - }), 128)) - ], 32) - ]), - _: 1 - }, 512) - ]), - createVNode(_component_n_scrollbar, { - class: "recommend", - size: 100, - onScroll: handleScroll - }, { - default: withCtx(() => [ - withDirectives((openBlock(), createElementBlock("div", _hoisted_4, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(recommendList), (item, index2) => { - return openBlock(), createElementBlock("div", { - key: item.id, - class: normalizeClass(["recommend-item", unref(setAnimationClass)("animate__bounceIn")]), - style: normalizeStyle(getItemAnimationDelay(index2)), - onClick: withModifiers(($event) => selectRecommendItem(item), ["stop"]) - }, [ - createBaseVNode("div", _hoisted_6, [ - createVNode(_component_n_image, { - class: "recommend-item-img-img", - src: unref(getImgUrl)(item.picUrl || item.coverImgUrl, "200y200"), - width: "200", - height: "200", - lazy: "", - "preview-disabled": "" - }, null, 8, ["src"]), - createBaseVNode("div", _hoisted_7, [ - createBaseVNode("div", _hoisted_8, toDisplayString(unref(formatNumber)(item.playCount)), 1), - _cache[2] || (_cache[2] = createBaseVNode("i", { class: "iconfont icon-videofill" }, null, -1)) - ]) - ]), - createBaseVNode("div", _hoisted_9, toDisplayString(item.name), 1) - ], 14, _hoisted_5); - }), 128)) - ])), [ - [_directive_loading, unref(loading)] - ]), - unref(isLoadingMore) ? (openBlock(), createElementBlock("div", _hoisted_10, [ - createVNode(_component_n_spin, { size: "small" }), - _cache[3] || (_cache[3] = createBaseVNode("span", { class: "ml-2" }, "加载中...", -1)) - ])) : createCommentVNode("", true), - !unref(hasMore) && unref(recommendList).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_11, "没有更多了")) : createCommentVNode("", true) - ]), - _: 1 - }), - createVNode(MusicList, { - show: unref(showMusic), - "onUpdate:show": _cache[0] || (_cache[0] = ($event) => isRef(showMusic) ? showMusic.value = $event : null), - loading: unref(listLoading), - "onUpdate:loading": _cache[1] || (_cache[1] = ($event) => isRef(listLoading) ? listLoading.value = $event : null), - name: unref(recommendItem)?.name || "", - "song-list": unref(listDetail)?.playlist.tracks || [], - "list-info": unref(listDetail)?.playlist - }, null, 8, ["show", "loading", "name", "song-list", "list-info"]) - ]); - }; - } -}); -const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f9f1189c"]]); -export { - index as default -}; diff --git a/out/renderer/assets/index-Bc5fdT5j.js.gz b/out/renderer/assets/index-Bc5fdT5j.js.gz deleted file mode 100644 index 954327fcd4e03d68e2fa26ad57b9f960386fdca4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2786 zcmV<83LW(yiwFP!000026RjFeZ`{W9u3zy&v<4Xu*Sjl!QrM`nBqwTZ$Fb$c!D2y- z$l2YAxg^6GN?t2_E!v`Kdnp36Jv2Z9Fn2aX5z%FoTdxX-xK$MViDU<_Iz|n~^Dk_r+I`EYh5l5J4h_N&FzmV>vz) z<1@^IIf6ifW(0F`7?A~u`Q0c9o+CI}FWkk9{Q6-M5(H#DTh2@+G0Nxr`~`wsjPh7= zLB%&^kHt5ZU^yd?lbjO-PsH#^kR?%cf-?m8hL~W4@5OY1IZfgN65%BRd{Uf>CDAE4 zpcx4`JtYV}m1jyxT(XPj6(0|hkWMMd7y`U4Chui1LtjS9`kB1uc6TXZH0xl+bazI%c;pG#a(Rha7tYW9;SrE7-W@m&SEoM)% z2mzKdnhJ{iVZJya8G_@ri1(9)V7!zxmS^_;JWiv0Mq@vybkF=g0$;9@7s5t-HVt3} z(=1tl)w@RHki2jYeueL`oRQwA%-Y$al`+jqo*qSb8BxafF(J zMl$#A;V*B066UzMymyK@&fM&yVKQ@X2F>MTJahN^$^M<;$M>3RIU{bA1UMq@!Tpc- zK72-A79c?qGYMHF_Bdq#cHmsEOWxyLQ;hIDwS7O$l9V}6;1*lgA`&!UBvOk#o;W)S2%9Ho(t*q6DUKM?AcV=5i+ycj zj@g4GtJZjy>v)viFT|?=wW*6x%E>}c8ZZJ|9&qTu=)Lkt6-JO}8HxELJR?T}21Zc8 z!p~J5?373u;dvIf6O-MfgJ8Ql-)hGsM8Riy4($lhIw*FmmV)S#6eAG{_~XVtm@VS~ zY+>A*6cmEJQyk?&wu0pPzzUrjBF>{|N1;$KY+SBQ;w{JvE_XCFokNH@hLt$U8KzuM zAM#i|8af+z68JkC4lRwzq%cvSz^JZO+WI&av7*$5gzkNolWf@&(H1`c9IT7){_yIH zzr6bGm#@G2*3!{6RkrO}te4(aDo_wbr8ktWP@t(wrBkrqDIKaj;FT*1l2h98jsmZ) zR&+pjJEI0yKq5vIlxTxBf%N}+slT4rf=dlBp48ivzdTzidsQ(d!wXgh*Ln$a52Ol4 zqY+pa|NPU%m)~6c@!Qv5{MmwCuq-H+k%AM^1?8UV_v&ggoif5b^$72(ur=svr@>&C z^~!q4F4%Y0NZsl%%Bh#;Y;N~@J+VnIEz35QU`t0`^42LR1nMu{s!9xzyG$y+dUb6j zfw*6QO|mS>oQ4XMi1g%wZN2*aKVJXvgX%G_zW&$i@4xXZ1O@JzI9Nm2Rv0im-wM-W7m#Jm_u6Cgc~vl-#4_tn^N zRY!Plq>%#`2K~P9=66hoxpGBUkkgQjPzMpNP`H<%{=HU^D7mo3KJ|psb?o!THG=izbxdd!)aC)I$gLX0V9oE!BE>-PjD-aaR^Do zvGj5I^@*@~@hwV`bsVY*^op;$OZyxmGUZ-LU}g5kx@Xhy2a_$YP0^$llW(@*TGDSp zG(1c8kn9qxU{TqqGQ-lvVsiGV$b9Ni3JKS1y~4;Y&s^(D!E9+d#dcYyVw(h}<7<0u ztalXYH4fFzuElS;P{lYu5PdX1z`@*Pwd==?M&Li$sJ=N0n#~M)Q z$y|^AD=1;^S%%Y;WQ|i40Y`>RPj95!N;E|HwTk5=3zk6Aa1j{p`?`kS%+^?nW1|$spR@yc^AwpG8DUCk z>m6l#+~~>4o|A=OT%4`dYIbZ3%L(H9CrKU${80Dn#`$ct`1^l&(8zLyX1|5f}(=IZ3Jnx8#Sk6^d<2`fv;UV<06!M+C^lm zBVfEyxX|ArZ2N6v?)A1`|9`w%%k9padGp)l4U;Rc9hrtEv+if(SLlTej|cJr0d=6U zEU1EI{p{uxfhDEE(<~B|p&SOuDaopLIcwPOFNgiU<#Z7~qamMr60mdgxxB((0uNkyVa$>%TaH)<9H!|^_8?_YiW z*B}4;8|zX|x4JZ~l|ieHqDOh@S3|XU^{E1F{Q{&>x03j28e&d7v2J;l=K7lE`a*MR z(vtr_qL74L!wXXZ51w>tZP(JmE7p{UpbqA$YiiBkK;v&<=1-*yyT)Uk;zs7T1)5f&J|p!MS#Z{nr<5BxU+NHO2h3tpgp0xy^w;+}(h;gvA#Af)~u^gBcdM4-ZeX_nB?>z^BFBjxc|QKOdAg6Lfm3 z6*NC*)#eF)LkTSe5^woP1P?S4dmp@&lfOQ-5#@D|RD=dgAu32ZSkHp~YsH=&aFUoc zE5n0b&({El&pXb_EJEkqZfDm{-+AArc-`H_=@BsR{lsWEAphMQhZ}O~E(xHgn$y-} zuc|weh!#?V4>VK793(7!R&JHNkbdQiW`b}PJH{iz5yufN3vHEJQm4LKC4LpiO48ee zYOotQZwubS1#h9Jqc;1v6*-O~n(dHaxiq7(q8V=8>`M|7>w#$m!;lG%vw{lBGL&kBo-8cvu9$#(W!vFqGFFDcCad~G2^LvTM%vm zI*{O*3M7?AoaLwzd?_1$Bip71RM1o=MqFm0eD)zM0~(@${G^1>9eZhkV}WCPGAny? zqp~vG2Y2P9#dPG`vlnUMWXx0VUyl7Axa$RMmR}I@?h5|XuxGV`^$H%{v%oWS;UpR# zq4kKVDl9mmJDEb$}nvyI+I0?#Q z+}$YNL;)d&#a-L$wU36vw1PMxuRgfog3>bUs{x&;8MS?NsyWf659gi(J9+~ubIg%G zX5x<1NZKI(M}nkzf(4PaP^MYo11CAbV(wXx(k#WVbH@TV<`o*~b2vM+6BgzPxYM1d zI-sF~?nTZjc$I1sEa(f7S|kF-2|M_(r%^<*Q$*z=BM?n@WddK z6!+v5)04So3Zp4qnd?KKFg_ziF<&`99xg4JkY$2o;#~dWpkPTURQ*;QzUo<8SNn-* z7OD24F#TN7-FB|)GAGAgca8=ljp=M(x-0wxwAOtC$v2SvIv^P>@d5w2cSYXG%=XCC zt;;S!E@-wRT%%L*V}#wc8};avq`zHk@*Wj-X_nTjb!m;h+96j4r^ zq)@z0O8zYiLF2b3Dn1lB4haf~IFO1mO`uV3|2m~(?U>6b*qOb)wi!(71!Hz!a!58E z5DdB6nOwDoP)4#RX`O9OeVVvp(LQ9X{`InW-gNW1aAE1fnM>e{ch^8C)q2tP3(I>^r%|15&7|e9u?xOQrU7=CBDNIG=LrgTWi(mSAL@Cb{bV z{RDwDL@tmjl};fNnHcZv?67NZqbjS-k(46C-%?mX-bjS=V9pqQhW8DsY-2f4-+x%` zm9(4oz7$fbA|qCp9DFY{xLpxq_aw=PE=8*Bkpo>NB7Mz_-W8IhI@gAS$&yDFhR}U~ z!J9CTSC9S#`t&sW>kYEws(SRKFt70A3En3M_o4m_g`M@{f@hV@UE*{am{y}&gAU7a zeGMhrTD?81wbq3tmHLAmsK**8R|S%@rK%N#G4 z-;||8G#VeMvbc4SlBz0m zapbVh@vsuP%8F)b#UaJQqFKG{Dy!DVZbuGPDN-Z}+C5_N6&eE?)hswrpx{4zaqFFP z9WeWt!J-hBA;j?=+%+lb+w4!n1<*wRGz#xeP-2c2NA1@s%4#{= zj@{g+J5$v}ORbukO!8@qC)!9f#0aT&6^A&Eb9rxPzy$RFB`_EnlzR_=JZYV4ZVpuHeYq+wbZOOTjGuK>;reW@lC`&Z= znIT_^gT$(GpwBn^IEUwiKJRKcW#f_#CG&lz zt*g^J5CjY9vmgnc;e7@Ga5;uo4N|*vo$Eb^jgk_J6MEHK8)=(A94Fe-1MV~Rd { - return request.get("/cloudsearch", { - params - }); -}; -const _hoisted_1$1 = { class: "search-item-img" }; -const _hoisted_2$1 = { - key: 0, - class: "play" -}; -const _hoisted_3$1 = { class: "search-item-info" }; -const _hoisted_4$1 = { class: "search-item-name" }; -const _hoisted_5$1 = { class: "search-item-artist" }; -const _sfc_main$1 = /* @__PURE__ */ defineComponent({ - __name: "SearchItem", - props: { - item: {} - }, - setup(__props) { - const props = __props; - const songList = ref([]); - const showPop = ref(false); - const listInfo = ref(null); - const getCurrentMv = () => { - return { - id: props.item.id, - name: props.item.name - }; - }; - const store = useStore(); - const handleClick = async () => { - listInfo.value = null; - if (props.item.type === "专辑") { - showPop.value = true; - const res = await getAlbum(props.item.id); - songList.value = res.data.songs.map((song) => { - song.al.picUrl = song.al.picUrl || props.item.picUrl; - return song; - }); - listInfo.value = { - ...res.data.album, - creator: { - avatarUrl: res.data.album.artist.img1v1Url, - nickname: `${res.data.album.artist.name} - ${res.data.album.company}` - }, - description: res.data.album.description - }; - } - if (props.item.type === "playlist") { - showPop.value = true; - const res = await getListDetail(props.item.id); - songList.value = res.data.playlist.tracks; - listInfo.value = res.data.playlist; - } - if (props.item.type === "mv") { - store.commit("setIsPlay", false); - store.commit("setPlayMusic", false); - audioService.getCurrentSound()?.pause(); - showPop.value = true; - } - }; - return (_ctx, _cache) => { - const _component_n_image = NImage; - return openBlock(), createElementBlock("div", { - class: normalizeClass(["search-item", _ctx.item.type]), - onClick: handleClick - }, [ - createBaseVNode("div", _hoisted_1$1, [ - createVNode(_component_n_image, { - src: unref(getImgUrl)(_ctx.item.picUrl, _ctx.item.type === "mv" ? "320y180" : "100y100"), - lazy: "", - "preview-disabled": "" - }, null, 8, ["src"]), - _ctx.item.type === "mv" ? (openBlock(), createElementBlock("div", _hoisted_2$1, _cache[2] || (_cache[2] = [ - createBaseVNode("i", { class: "iconfont icon icon-play" }, null, -1) - ]))) : createCommentVNode("", true) - ]), - createBaseVNode("div", _hoisted_3$1, [ - createBaseVNode("p", _hoisted_4$1, toDisplayString(_ctx.item.name), 1), - createBaseVNode("p", _hoisted_5$1, toDisplayString(_ctx.item.desc), 1) - ]), - ["专辑", "playlist"].includes(_ctx.item.type) ? (openBlock(), createBlock(MusicList, { - key: 0, - show: unref(showPop), - "onUpdate:show": _cache[0] || (_cache[0] = ($event) => isRef(showPop) ? showPop.value = $event : null), - name: _ctx.item.name, - "song-list": unref(songList), - "list-info": unref(listInfo), - cover: false - }, null, 8, ["show", "name", "song-list", "list-info"])) : createCommentVNode("", true), - _ctx.item.type === "mv" ? (openBlock(), createBlock(MvPlayer, { - key: 1, - show: unref(showPop), - "onUpdate:show": _cache[1] || (_cache[1] = ($event) => isRef(showPop) ? showPop.value = $event : null), - "current-mv": getCurrentMv(), - "no-list": "" - }, null, 8, ["show", "current-mv"])) : createCommentVNode("", true) - ], 2); - }; - } -}); -const SearchItem = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-3449f610"]]); -const _hoisted_1 = { class: "search-page" }; -const _hoisted_2 = { class: "hot-search-list" }; -const _hoisted_3 = ["onClick"]; -const _hoisted_4 = { class: "title" }; -const _hoisted_5 = { class: "search-list-box" }; -const _sfc_main = /* @__PURE__ */ defineComponent({ - ...{ - name: "Search" - }, - __name: "index", - setup(__props) { - const route = useRoute(); - const store = useStore(); - const searchDetail = ref(); - const searchType = computed(() => store.state.searchType); - const searchDetailLoading = ref(false); - const hotSearchData = ref(); - const loadHotSearch = async () => { - const { data } = await getHotSearch(); - hotSearchData.value = data; - }; - onMounted(() => { - loadHotSearch(); - loadSearch(route.query.keyword); - }); - const hotKeyword = ref(route.query.keyword || "搜索列表"); - watch( - () => store.state.searchValue, - (value) => { - loadSearch(value); - } - ); - const dateFormat = (time) => useDateFormat(time, "YYYY.MM.DD").value; - const loadSearch = async (keywords, type = null) => { - hotKeyword.value = keywords; - searchDetail.value = void 0; - if (!keywords) return; - searchDetailLoading.value = true; - const { data } = await getSearch({ keywords, type: type || searchType.value }); - const songs = data.result.songs || []; - const albums = data.result.albums || []; - const mvs = (data.result.mvs || []).map((item) => ({ - ...item, - picUrl: item.cover, - playCount: item.playCount, - desc: item.artists.map((artist) => artist.name).join("/"), - type: "mv" - })); - const playlists = (data.result.playlists || []).map((item) => ({ - ...item, - picUrl: item.coverImgUrl, - playCount: item.playCount, - desc: item.creator.nickname, - type: "playlist" - })); - songs.forEach((item) => { - item.picUrl = item.al.picUrl; - item.artists = item.ar; - }); - albums.forEach((item) => { - item.desc = `${item.artist.name} ${item.company} ${dateFormat(item.publishTime)}`; - }); - searchDetail.value = { - songs, - albums, - mvs, - playlists - }; - searchDetailLoading.value = false; - }; - watch( - () => route.path, - async (path) => { - if (path === "/search") { - store.state.searchValue = route.query.keyword; - } - } - ); - const handlePlay = () => { - const tracks = searchDetail.value?.songs || []; - store.commit("setPlayList", tracks); - }; - return (_ctx, _cache) => { - const _component_n_layout = __unplugin_components_1; - const _directive_loading = resolveDirective("loading"); - return openBlock(), createElementBlock("div", _hoisted_1, [ - (unref(isMobile) ? !searchDetail.value : true) ? (openBlock(), createBlock(_component_n_layout, { - key: 0, - class: normalizeClass(["hot-search", unref(setAnimationClass)("animate__fadeInDown")]), - "native-scrollbar": false - }, { - default: withCtx(() => [ - _cache[0] || (_cache[0] = createBaseVNode("div", { class: "title" }, "热搜列表", -1)), - createBaseVNode("div", _hoisted_2, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(hotSearchData.value?.data, (item, index2) => { - return openBlock(), createElementBlock("div", { - key: index2, - class: normalizeClass([unref(setAnimationClass)("animate__bounceInLeft"), "hot-search-item"]), - style: normalizeStyle(unref(setAnimationDelay)(index2, 10)), - onClick: withModifiers(($event) => loadSearch(item.searchWord, 1), ["stop"]) - }, [ - createBaseVNode("span", { - class: normalizeClass(["hot-search-item-count", { "hot-search-item-count-3": index2 < 3 }]) - }, toDisplayString(index2 + 1), 3), - createTextVNode(" " + toDisplayString(item.searchWord), 1) - ], 14, _hoisted_3); - }), 128)) - ]) - ]), - _: 1 - }, 8, ["class"])) : createCommentVNode("", true), - (unref(isMobile) ? searchDetail.value : true) ? (openBlock(), createBlock(_component_n_layout, { - key: 1, - class: normalizeClass(["search-list", unref(setAnimationClass)("animate__fadeInUp")]), - "native-scrollbar": false - }, { - default: withCtx(() => [ - createBaseVNode("div", _hoisted_4, toDisplayString(hotKeyword.value), 1), - withDirectives((openBlock(), createElementBlock("div", _hoisted_5, [ - searchDetail.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(searchDetail.value?.songs, (item, index2) => { - return openBlock(), createElementBlock("div", { - key: item.id, - class: normalizeClass(unref(setAnimationClass)("animate__bounceInRight")), - style: normalizeStyle(unref(setAnimationDelay)(index2, 50)) - }, [ - createVNode(SongItem, { - item, - onPlay: handlePlay - }, null, 8, ["item"]) - ], 6); - }), 128)), - (openBlock(true), createElementBlock(Fragment, null, renderList(searchDetail.value, (list, key) => { - return openBlock(), createElementBlock(Fragment, null, [ - key.toString() !== "songs" ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(list, (item, index2) => { - return openBlock(), createElementBlock("div", { - key: item.id, - class: normalizeClass(unref(setAnimationClass)("animate__bounceInRight")), - style: normalizeStyle(unref(setAnimationDelay)(index2, 50)) - }, [ - createVNode(SearchItem, { item }, null, 8, ["item"]) - ], 6); - }), 128)) : createCommentVNode("", true) - ], 64); - }), 256)) - ], 64)) : createCommentVNode("", true) - ])), [ - [_directive_loading, searchDetailLoading.value] - ]) - ]), - _: 1 - }, 8, ["class"])) : createCommentVNode("", true) - ]); - }; - } -}); -const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-254ebbc1"]]); -export { - index as default -}; diff --git a/out/renderer/assets/index-C-VCusx9.js.gz b/out/renderer/assets/index-C-VCusx9.js.gz deleted file mode 100644 index 49050e53ef5044b45a4f4ea5b3a8fa4777b9c7cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3142 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 diff --git a/out/renderer/assets/index-COH3Oisr.css b/out/renderer/assets/index-COH3Oisr.css deleted file mode 100644 index d389a75..0000000 --- a/out/renderer/assets/index-COH3Oisr.css +++ /dev/null @@ -1,197 +0,0 @@ -.user-page[data-v-be63ae6f] { - display: flex; - height: 100%; -} -.user-page .left[data-v-be63ae6f] { - max-width: 600px; - position: relative; - height: 100%; - flex: 1 1 0%; - overflow: hidden; - border-radius: 1rem; - background-repeat: no-repeat; - --tw-bg-opacity: 1; - background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1)); -} -.user-page .left[data-v-be63ae6f]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)); -} -.user-page .left .page[data-v-be63ae6f] { - z-index: 10; - display: flex; - height: 100%; - width: 100%; - flex-direction: column; - padding: 1rem; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); - --tw-bg-opacity: 0.4; -} -.user-page .left .title[data-v-be63ae6f] { - font-size: 1.125rem; - line-height: 1.75rem; - font-weight: 700; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.user-page .left .title[data-v-be63ae6f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.user-page .left .user-name[data-v-be63ae6f] { - margin-bottom: 1rem; - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: 700; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); - --tw-text-opacity: 0.7; -} -.user-page .left .uesr-signature[data-v-be63ae6f] { - margin-top: 1rem; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); - --tw-text-opacity: 0.7; -} -.user-page .left .user-info[data-v-be63ae6f] { - display: flex; - align-items: center; -} -.user-page .left .user-info-list[data-v-be63ae6f] { - display: flex; - width: 40%; - justify-content: space-around; - text-align: center; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); - --tw-text-opacity: 0.7; -} -.user-page .left .user-info-list .label[data-v-be63ae6f] { - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: 700; - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.user-page .right[data-v-be63ae6f] { - margin-left: 1rem; - height: 100%; - flex: 1 1 0%; - overflow: hidden; -} -.user-page .right .record-list[data-v-be63ae6f] { - border-radius: 1rem; - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); -} -.user-page .right .record-list[data-v-be63ae6f]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} -.user-page .right .record-list[data-v-be63ae6f] { - height: calc(100% - 3.75rem); -} -.user-page .right .record-list .record-item[data-v-be63ae6f] { - display: flex; - align-items: center; - padding-left: 1rem; - padding-right: 1rem; -} -.user-page .right .record-list .song-item[data-v-be63ae6f] { - flex: 1 1 0%; -} -.user-page .right .record-list .play-count[data-v-be63ae6f] { - margin-left: 1rem; - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity, 1)); -} -.user-page .right .record-list .play-count[data-v-be63ae6f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} -.user-page .right .title[data-v-be63ae6f] { - margin: 1rem; - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: 700; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.user-page .right .title[data-v-be63ae6f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.play-list[data-v-be63ae6f] { - margin-top: 1rem; - flex: 1 1 0%; - overflow: hidden; - border-radius: 0.75rem; - padding-top: 1rem; - padding-bottom: 1rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); -} -.play-list[data-v-be63ae6f]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} -.play-list-title[data-v-be63ae6f] { - font-size: 1.125rem; - line-height: 1.75rem; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.play-list-title[data-v-be63ae6f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.play-list-item[data-v-be63ae6f] { - display: flex; - cursor: pointer; - align-items: center; - border-radius: 0.75rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - padding-top: 0.25rem; - padding-bottom: 0.25rem; - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 200ms; -} -.play-list-item[data-v-be63ae6f]:hover { - --tw-bg-opacity: 1; - background-color: rgb(233 236 239 / var(--tw-bg-opacity, 1)); -} -.play-list-item[data-v-be63ae6f]:hover:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(45 45 45 / var(--tw-bg-opacity, 1)); -} -.play-list-item-img[data-v-be63ae6f] { - width: 60px; - height: 60px; - border-radius: 0.75rem; -} -.play-list-item-info[data-v-be63ae6f] { - margin-left: 0.5rem; -} -.play-list-item-name[data-v-be63ae6f] { - font-size: 1rem; - line-height: 1.5rem; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.play-list-item-name[data-v-be63ae6f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.play-list-item-count[data-v-be63ae6f] { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity, 1)); -} -.play-list-item-count[data-v-be63ae6f]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} -.mobile .user-page[data-v-be63ae6f] { - padding-left: 1rem; - padding-right: 1rem; -} \ No newline at end of file diff --git a/out/renderer/assets/index-COH3Oisr.css.gz b/out/renderer/assets/index-COH3Oisr.css.gz deleted file mode 100644 index 32dffea0d81ed5a6584d8913caee86746d31a8a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 883 zcmV-(1C0D1iwFP!000026TMj5a+@#^ea~0yOJ|%;L?tkGLO!L_2LS@B5fUSWout!$ z?+A=9l&fQVY|oe#TAkfJyDP~l3#L&{Q}#2ahN3MB*~+7AmHdJ~4*)SQazQ@=NCbO- zeE`@no^DJ41mkb74}Tw=g92~_OH8+#jJ~5CkIg246~=j`DOUwIT*&}56V&i6`(Hm) z>jpr8K>e(?OeaF^0@(04X41++rDLX%rZF#z0ElK;C8p6^s#Pgtq*>0W2|%j-UptPF z*`Y8+DyI=Q9|4fotVju^1JG%>AZu`!;Jv^P*iyY{O??9L_&CWM0WTI#O!XUlf2=$+ z2ZTppNx=7Kf&iyKzMqK8xbiT59S=9aK8UB$K{3}Xsv{XGQD#+4avH~6rk&9^F$shH z4B6A+BJ3=??KIqo9zzo)4J!C23xGJp_4lX*mkb?@bk>c$dVRN-uQ5L0Fzns5f;B>u z(-{LX>c-y9mthdD??dyOkE0Sunz6o2)+v`LRK}?67~M1XUgX`24CwR+cGf+nu|lJQ zr;?gd58G!{el+eL(5!&VL`^KiRPaX4R*y?Y+SUYsU+SdeZRawFHGzq!h!!?FfWWJ1H9_a$!RGZ>3c;cM zws_M>^`1VJcpO!sWIBN9oPFc!tN|!erJO_g3E8*y;n|0mm-(qT9pEMXnD{FoD-X!p zzXaOArl$7PHM{Vw_BeyK+yZIftcDjQ*Y?{uE4*zvow^*C^& z`rGfN+t=E|+UR)Qa7Yn3x?-9?3HjTxR<1xYEJ^JW?H2!-sEGrhph@(J*h)ob0>nj4pz){|U}vto)* zgN@Dl*@SmJ4_t2r?)Y`VBmiH^zNHWKcNP-Fv$UIHhg+Qd?0%qm?xRu13cZJ&v;N=E z>VF0OXVlX=(On~MTq64M-MLH*ZL_A>j@LlQ5{UbJrIl~Kf67$I1p{Z~UUSa=_#a== JkXR%Y004k|vDg3r diff --git a/out/renderer/assets/index-ChDcb7c6.css b/out/renderer/assets/index-ChDcb7c6.css deleted file mode 100644 index 8006188..0000000 --- a/out/renderer/assets/index-ChDcb7c6.css +++ /dev/null @@ -1,7332 +0,0 @@ -@charset "UTF-8";@font-face { - font-family: 'iconfont'; /* Project id 2685283 */ - src: - url('./iconfont-DzQUHqRQ.woff2?t=1703643214551') format('woff2'), - url('./iconfont-53c_NoX9.woff?t=1703643214551') format('woff'), - url('./iconfont-Cio8idH0.ttf?t=1703643214551') format('truetype'); -} - -.iconfont { - font-family: 'iconfont' !important; - font-size: 16px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-list:before { - content: '\e603'; -} - -.icon-maxsize:before { - content: '\e692'; -} - -.icon-close:before { - content: '\e616'; -} - -.icon-minisize:before { - content: '\e602'; -} - -.icon-shuaxin:before { - content: '\e627'; -} - -.icon-icon_error:before { - content: '\e615'; -} - -.icon-a-3User:before { - content: '\e601'; -} - -.icon-Chat:before { - content: '\e605'; -} - -.icon-Category:before { - content: '\e606'; -} - -.icon-Document:before { - content: '\e607'; -} - -.icon-Heart:before { - content: '\e608'; -} - -.icon-Hide:before { - content: '\e609'; -} - -.icon-Home:before { - content: '\e60a'; -} - -.icon-a-Image2:before { - content: '\e60b'; -} - -.icon-Profile:before { - content: '\e60c'; -} - -.icon-Search:before { - content: '\e60d'; -} - -.icon-Paper:before { - content: '\e60e'; -} - -.icon-Play:before { - content: '\e60f'; -} - -.icon-Setting:before { - content: '\e610'; -} - -.icon-a-TicketStar:before { - content: '\e611'; -} - -.icon-a-VolumeOff:before { - content: '\e612'; -} - -.icon-a-VolumeUp:before { - content: '\e613'; -} - -.icon-a-VolumeDown:before { - content: '\e614'; -} - -.icon-stop:before { - content: '\e600'; -} - -.icon-next:before { - content: '\e6a9'; -} - -.icon-prev:before { - content: '\e6ac'; -} - -.icon-play:before { - content: '\e6aa'; -} - -.icon-xiasanjiaoxing:before { - content: '\e642'; -} - -.icon-videofill:before { - content: '\e7c7'; -} - -.icon-favorfill:before { - content: '\e64b'; -} - -.icon-favor:before { - content: '\e64c'; -} - -.icon-loading:before { - content: '\e64f'; -} - -.icon-search:before { - content: '\e65c'; -} - -.icon-likefill:before { - content: '\e668'; -} - -.icon-like:before { - content: '\e669'; -} - -.icon-notificationfill:before { - content: '\e66a'; -} - -.icon-notification:before { - content: '\e66b'; -} - -.icon-evaluate:before { - content: '\e672'; -} - -.icon-homefill:before { - content: '\e6bb'; -} - -.icon-link:before { - content: '\e6bf'; -} - -.icon-roundaddfill:before { - content: '\e6d8'; -} - -.icon-roundadd:before { - content: '\e6d9'; -} - -.icon-add:before { - content: '\e6da'; -} - -.icon-appreciatefill:before { - content: '\e6e3'; -} - -.icon-forwardfill:before { - content: '\e6ea'; -} - -.icon-voicefill:before { - content: '\e6f0'; -} - -.icon-wefill:before { - content: '\e6f4'; -} - -.icon-keyboard:before { - content: '\e71b'; -} - -.icon-picfill:before { - content: '\e72c'; -} - -.icon-markfill:before { - content: '\e730'; -} - -.icon-presentfill:before { - content: '\e732'; -} - -.icon-peoplefill:before { - content: '\e735'; -} - -.icon-read:before { - content: '\e742'; -} - -.icon-backwardfill:before { - content: '\e74d'; -} - -.icon-playfill:before { - content: '\e74f'; -} - -.icon-all:before { - content: '\e755'; -} - -.icon-hotfill:before { - content: '\e757'; -} - -.icon-recordfill:before { - content: '\e7a4'; -} - -.icon-full:before { - content: '\e7bc'; -} - -.icon-favor_fill_light:before { - content: '\e7ec'; -} - -.icon-round_favor_fill:before { - content: '\e80a'; -} - -.icon-round_location_fill:before { - content: '\e80b'; -} - -.icon-round_like_fill:before { - content: '\e80c'; -} - -.icon-round_people_fill:before { - content: '\e80d'; -} - -.icon-round_skin_fill:before { - content: '\e80e'; -} - -.icon-broadcast_fill:before { - content: '\e81d'; -} - -.icon-card_fill:before { - content: '\e81f'; -} - /*! - * animate.css - https://animate.style/ - * Version - 4.1.1 - * Licensed under the MIT license - http://opensource.org/licenses/MIT - * - * Copyright (c) 2020 Animate.css - */ -:root { - --animate-duration: 1s; - --animate-delay: 1s; - --animate-repeat: 1; -} -.animate__animated { - animation-duration: 1s; - animation-duration: var(--animate-duration); - animation-fill-mode: both; -} -.animate__animated.animate__infinite { - animation-iteration-count: infinite; -} -.animate__animated.animate__repeat-1 { - animation-iteration-count: 1; - animation-iteration-count: var(--animate-repeat); -} -.animate__animated.animate__repeat-2 { - animation-iteration-count: 2; - animation-iteration-count: calc(var(--animate-repeat) * 2); -} -.animate__animated.animate__repeat-3 { - animation-iteration-count: 3; - animation-iteration-count: calc(var(--animate-repeat) * 3); -} -.animate__animated.animate__delay-1s { - animation-delay: 1s; - animation-delay: var(--animate-delay); -} -.animate__animated.animate__delay-2s { - animation-delay: 2s; - animation-delay: calc(var(--animate-delay) * 2); -} -.animate__animated.animate__delay-3s { - animation-delay: 3s; - animation-delay: calc(var(--animate-delay) * 3); -} -.animate__animated.animate__delay-4s { - animation-delay: 4s; - animation-delay: calc(var(--animate-delay) * 4); -} -.animate__animated.animate__delay-5s { - animation-delay: 5s; - animation-delay: calc(var(--animate-delay) * 5); -} -.animate__animated.animate__faster { - animation-duration: 0.5s; - animation-duration: calc(var(--animate-duration) / 2); -} -.animate__animated.animate__fast { - animation-duration: 0.8s; - animation-duration: calc(var(--animate-duration) * 0.8); -} -.animate__animated.animate__slow { - animation-duration: 2s; - animation-duration: calc(var(--animate-duration) * 2); -} -.animate__animated.animate__slower { - animation-duration: 3s; - animation-duration: calc(var(--animate-duration) * 3); -} -@media (prefers-reduced-motion: reduce), print { - .animate__animated { - animation-duration: 1ms !important; - transition-duration: 1ms !important; - animation-iteration-count: 1 !important; - } - .animate__animated[class*='Out'] { - opacity: 0; - } -} -@keyframes bounce { - 0%, - 20%, - 53%, - to { - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - transform: translateZ(0); - } - 40%, - 43% { - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - transform: translate3d(0, -30px, 0) scaleY(1.1); - } - 70% { - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - transform: translate3d(0, -15px, 0) scaleY(1.05); - } - 80% { - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - transform: translateZ(0) scaleY(0.95); - } - 90% { - transform: translate3d(0, -4px, 0) scaleY(1.02); - } -} -.animate__bounce { - animation-name: bounce; - transform-origin: center bottom; -} -@keyframes flash { - 0%, - 50%, - to { - opacity: 1; - } - 25%, - 75% { - opacity: 0; - } -} -.animate__flash { - animation-name: flash; -} -@keyframes pulse { - 0% { - transform: scaleX(1); - } - 50% { - transform: scale3d(1.05, 1.05, 1.05); - } - to { - transform: scaleX(1); - } -} -.animate__pulse { - animation-name: pulse; - animation-timing-function: ease-in-out; -} -@keyframes rubberBand { - 0% { - transform: scaleX(1); - } - 30% { - transform: scale3d(1.25, 0.75, 1); - } - 40% { - transform: scale3d(0.75, 1.25, 1); - } - 50% { - transform: scale3d(1.15, 0.85, 1); - } - 65% { - transform: scale3d(0.95, 1.05, 1); - } - 75% { - transform: scale3d(1.05, 0.95, 1); - } - to { - transform: scaleX(1); - } -} -.animate__rubberBand { - animation-name: rubberBand; -} -@keyframes shakeX { - 0%, - to { - transform: translateZ(0); - } - 10%, - 30%, - 50%, - 70%, - 90% { - transform: translate3d(-10px, 0, 0); - } - 20%, - 40%, - 60%, - 80% { - transform: translate3d(10px, 0, 0); - } -} -.animate__shakeX { - animation-name: shakeX; -} -@keyframes shakeY { - 0%, - to { - transform: translateZ(0); - } - 10%, - 30%, - 50%, - 70%, - 90% { - transform: translate3d(0, -10px, 0); - } - 20%, - 40%, - 60%, - 80% { - transform: translate3d(0, 10px, 0); - } -} -.animate__shakeY { - animation-name: shakeY; -} -@keyframes headShake { - 0% { - transform: translateX(0); - } - 6.5% { - transform: translateX(-6px) rotateY(-9deg); - } - 18.5% { - transform: translateX(5px) rotateY(7deg); - } - 31.5% { - transform: translateX(-3px) rotateY(-5deg); - } - 43.5% { - transform: translateX(2px) rotateY(3deg); - } - 50% { - transform: translateX(0); - } -} -.animate__headShake { - animation-timing-function: ease-in-out; - animation-name: headShake; -} -@keyframes swing { - 20% { - transform: rotate(15deg); - } - 40% { - transform: rotate(-10deg); - } - 60% { - transform: rotate(5deg); - } - 80% { - transform: rotate(-5deg); - } - to { - transform: rotate(0deg); - } -} -.animate__swing { - transform-origin: top center; - animation-name: swing; -} -@keyframes tada { - 0% { - transform: scaleX(1); - } - 10%, - 20% { - transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg); - } - 30%, - 50%, - 70%, - 90% { - transform: scale3d(1.1, 1.1, 1.1) rotate(3deg); - } - 40%, - 60%, - 80% { - transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg); - } - to { - transform: scaleX(1); - } -} -.animate__tada { - animation-name: tada; -} -@keyframes wobble { - 0% { - transform: translateZ(0); - } - 15% { - transform: translate3d(-25%, 0, 0) rotate(-5deg); - } - 30% { - transform: translate3d(20%, 0, 0) rotate(3deg); - } - 45% { - transform: translate3d(-15%, 0, 0) rotate(-3deg); - } - 60% { - transform: translate3d(10%, 0, 0) rotate(2deg); - } - 75% { - transform: translate3d(-5%, 0, 0) rotate(-1deg); - } - to { - transform: translateZ(0); - } -} -.animate__wobble { - animation-name: wobble; -} -@keyframes jello { - 0%, - 11.1%, - to { - transform: translateZ(0); - } - 22.2% { - transform: skewX(-12.5deg) skewY(-12.5deg); - } - 33.3% { - transform: skewX(6.25deg) skewY(6.25deg); - } - 44.4% { - transform: skewX(-3.125deg) skewY(-3.125deg); - } - 55.5% { - transform: skewX(1.5625deg) skewY(1.5625deg); - } - 66.6% { - transform: skewX(-0.78125deg) skewY(-0.78125deg); - } - 77.7% { - transform: skewX(0.390625deg) skewY(0.390625deg); - } - 88.8% { - transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - } -} -.animate__jello { - animation-name: jello; - transform-origin: center; -} -@keyframes heartBeat { - 0% { - transform: scale(1); - } - 14% { - transform: scale(1.3); - } - 28% { - transform: scale(1); - } - 42% { - transform: scale(1.3); - } - 70% { - transform: scale(1); - } -} -.animate__heartBeat { - animation-name: heartBeat; - animation-duration: 1.3s; - animation-duration: calc(var(--animate-duration) * 1.3); - animation-timing-function: ease-in-out; -} -@keyframes backInDown { - 0% { - transform: translateY(-1200px) scale(0.7); - opacity: 0.7; - } - 80% { - transform: translateY(0) scale(0.7); - opacity: 0.7; - } - to { - transform: scale(1); - opacity: 1; - } -} -.animate__backInDown { - animation-name: backInDown; -} -@keyframes backInLeft { - 0% { - transform: translateX(-2000px) scale(0.7); - opacity: 0.7; - } - 80% { - transform: translateX(0) scale(0.7); - opacity: 0.7; - } - to { - transform: scale(1); - opacity: 1; - } -} -.animate__backInLeft { - animation-name: backInLeft; -} -@keyframes backInRight { - 0% { - transform: translateX(2000px) scale(0.7); - opacity: 0.7; - } - 80% { - transform: translateX(0) scale(0.7); - opacity: 0.7; - } - to { - transform: scale(1); - opacity: 1; - } -} -.animate__backInRight { - animation-name: backInRight; -} -@keyframes backInUp { - 0% { - transform: translateY(1200px) scale(0.7); - opacity: 0.7; - } - 80% { - transform: translateY(0) scale(0.7); - opacity: 0.7; - } - to { - transform: scale(1); - opacity: 1; - } -} -.animate__backInUp { - animation-name: backInUp; -} -@keyframes backOutDown { - 0% { - transform: scale(1); - opacity: 1; - } - 20% { - transform: translateY(0) scale(0.7); - opacity: 0.7; - } - to { - transform: translateY(700px) scale(0.7); - opacity: 0.7; - } -} -.animate__backOutDown { - animation-name: backOutDown; -} -@keyframes backOutLeft { - 0% { - transform: scale(1); - opacity: 1; - } - 20% { - transform: translateX(0) scale(0.7); - opacity: 0.7; - } - to { - transform: translateX(-2000px) scale(0.7); - opacity: 0.7; - } -} -.animate__backOutLeft { - animation-name: backOutLeft; -} -@keyframes backOutRight { - 0% { - transform: scale(1); - opacity: 1; - } - 20% { - transform: translateX(0) scale(0.7); - opacity: 0.7; - } - to { - transform: translateX(2000px) scale(0.7); - opacity: 0.7; - } -} -.animate__backOutRight { - animation-name: backOutRight; -} -@keyframes backOutUp { - 0% { - transform: scale(1); - opacity: 1; - } - 20% { - transform: translateY(0) scale(0.7); - opacity: 0.7; - } - to { - transform: translateY(-700px) scale(0.7); - opacity: 0.7; - } -} -.animate__backOutUp { - animation-name: backOutUp; -} -@keyframes bounceIn { - 0%, - 20%, - 40%, - 60%, - 80%, - to { - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - 0% { - opacity: 0; - transform: scale3d(0.3, 0.3, 0.3); - } - 20% { - transform: scale3d(1.1, 1.1, 1.1); - } - 40% { - transform: scale3d(0.9, 0.9, 0.9); - } - 60% { - opacity: 1; - transform: scale3d(1.03, 1.03, 1.03); - } - 80% { - transform: scale3d(0.97, 0.97, 0.97); - } - to { - opacity: 1; - transform: scaleX(1); - } -} -.animate__bounceIn { - animation-duration: 0.75s; - animation-duration: calc(var(--animate-duration) * 0.75); - animation-name: bounceIn; -} -@keyframes bounceInDown { - 0%, - 60%, - 75%, - 90%, - to { - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - 0% { - opacity: 0; - transform: translate3d(0, -3000px, 0) scaleY(3); - } - 60% { - opacity: 1; - transform: translate3d(0, 25px, 0) scaleY(0.9); - } - 75% { - transform: translate3d(0, -10px, 0) scaleY(0.95); - } - 90% { - transform: translate3d(0, 5px, 0) scaleY(0.985); - } - to { - transform: translateZ(0); - } -} -.animate__bounceInDown { - animation-name: bounceInDown; -} -@keyframes bounceInLeft { - 0%, - 60%, - 75%, - 90%, - to { - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - 0% { - opacity: 0; - transform: translate3d(-3000px, 0, 0) scaleX(3); - } - 60% { - opacity: 1; - transform: translate3d(25px, 0, 0) scaleX(1); - } - 75% { - transform: translate3d(-10px, 0, 0) scaleX(0.98); - } - 90% { - transform: translate3d(5px, 0, 0) scaleX(0.995); - } - to { - transform: translateZ(0); - } -} -.animate__bounceInLeft { - animation-name: bounceInLeft; -} -@keyframes bounceInRight { - 0%, - 60%, - 75%, - 90%, - to { - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - 0% { - opacity: 0; - transform: translate3d(3000px, 0, 0) scaleX(3); - } - 60% { - opacity: 1; - transform: translate3d(-25px, 0, 0) scaleX(1); - } - 75% { - transform: translate3d(10px, 0, 0) scaleX(0.98); - } - 90% { - transform: translate3d(-5px, 0, 0) scaleX(0.995); - } - to { - transform: translateZ(0); - } -} -.animate__bounceInRight { - animation-name: bounceInRight; -} -@keyframes bounceInUp { - 0%, - 60%, - 75%, - 90%, - to { - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - 0% { - opacity: 0; - transform: translate3d(0, 3000px, 0) scaleY(5); - } - 60% { - opacity: 1; - transform: translate3d(0, -20px, 0) scaleY(0.9); - } - 75% { - transform: translate3d(0, 10px, 0) scaleY(0.95); - } - 90% { - transform: translate3d(0, -5px, 0) scaleY(0.985); - } - to { - transform: translateZ(0); - } -} -.animate__bounceInUp { - animation-name: bounceInUp; -} -@keyframes bounceOut { - 20% { - transform: scale3d(0.9, 0.9, 0.9); - } - 50%, - 55% { - opacity: 1; - transform: scale3d(1.1, 1.1, 1.1); - } - to { - opacity: 0; - transform: scale3d(0.3, 0.3, 0.3); - } -} -.animate__bounceOut { - animation-duration: 0.75s; - animation-duration: calc(var(--animate-duration) * 0.75); - animation-name: bounceOut; -} -@keyframes bounceOutDown { - 20% { - transform: translate3d(0, 10px, 0) scaleY(0.985); - } - 40%, - 45% { - opacity: 1; - transform: translate3d(0, -20px, 0) scaleY(0.9); - } - to { - opacity: 0; - transform: translate3d(0, 2000px, 0) scaleY(3); - } -} -.animate__bounceOutDown { - animation-name: bounceOutDown; -} -@keyframes bounceOutLeft { - 20% { - opacity: 1; - transform: translate3d(20px, 0, 0) scaleX(0.9); - } - to { - opacity: 0; - transform: translate3d(-2000px, 0, 0) scaleX(2); - } -} -.animate__bounceOutLeft { - animation-name: bounceOutLeft; -} -@keyframes bounceOutRight { - 20% { - opacity: 1; - transform: translate3d(-20px, 0, 0) scaleX(0.9); - } - to { - opacity: 0; - transform: translate3d(2000px, 0, 0) scaleX(2); - } -} -.animate__bounceOutRight { - animation-name: bounceOutRight; -} -@keyframes bounceOutUp { - 20% { - transform: translate3d(0, -10px, 0) scaleY(0.985); - } - 40%, - 45% { - opacity: 1; - transform: translate3d(0, 20px, 0) scaleY(0.9); - } - to { - opacity: 0; - transform: translate3d(0, -2000px, 0) scaleY(3); - } -} -.animate__bounceOutUp { - animation-name: bounceOutUp; -} -@keyframes fadeIn { - 0% { - opacity: 0; - } - to { - opacity: 1; - } -} -.animate__fadeIn { - animation-name: fadeIn; -} -@keyframes fadeInDown { - 0% { - opacity: 0; - transform: translate3d(0, -100%, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInDown { - animation-name: fadeInDown; -} -@keyframes fadeInDownBig { - 0% { - opacity: 0; - transform: translate3d(0, -2000px, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInDownBig { - animation-name: fadeInDownBig; -} -@keyframes fadeInLeft { - 0% { - opacity: 0; - transform: translate3d(-100%, 0, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInLeft { - animation-name: fadeInLeft; -} -@keyframes fadeInLeftBig { - 0% { - opacity: 0; - transform: translate3d(-2000px, 0, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInLeftBig { - animation-name: fadeInLeftBig; -} -@keyframes fadeInRight { - 0% { - opacity: 0; - transform: translate3d(100%, 0, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInRight { - animation-name: fadeInRight; -} -@keyframes fadeInRightBig { - 0% { - opacity: 0; - transform: translate3d(2000px, 0, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInRightBig { - animation-name: fadeInRightBig; -} -@keyframes fadeInUp { - 0% { - opacity: 0; - transform: translate3d(0, 100%, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInUp { - animation-name: fadeInUp; -} -@keyframes fadeInUpBig { - 0% { - opacity: 0; - transform: translate3d(0, 2000px, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInUpBig { - animation-name: fadeInUpBig; -} -@keyframes fadeInTopLeft { - 0% { - opacity: 0; - transform: translate3d(-100%, -100%, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInTopLeft { - animation-name: fadeInTopLeft; -} -@keyframes fadeInTopRight { - 0% { - opacity: 0; - transform: translate3d(100%, -100%, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInTopRight { - animation-name: fadeInTopRight; -} -@keyframes fadeInBottomLeft { - 0% { - opacity: 0; - transform: translate3d(-100%, 100%, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInBottomLeft { - animation-name: fadeInBottomLeft; -} -@keyframes fadeInBottomRight { - 0% { - opacity: 0; - transform: translate3d(100%, 100%, 0); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__fadeInBottomRight { - animation-name: fadeInBottomRight; -} -@keyframes fadeOut { - 0% { - opacity: 1; - } - to { - opacity: 0; - } -} -.animate__fadeOut { - animation-name: fadeOut; -} -@keyframes fadeOutDown { - 0% { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(0, 100%, 0); - } -} -.animate__fadeOutDown { - animation-name: fadeOutDown; -} -@keyframes fadeOutDownBig { - 0% { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(0, 2000px, 0); - } -} -.animate__fadeOutDownBig { - animation-name: fadeOutDownBig; -} -@keyframes fadeOutLeft { - 0% { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(-100%, 0, 0); - } -} -.animate__fadeOutLeft { - animation-name: fadeOutLeft; -} -@keyframes fadeOutLeftBig { - 0% { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(-2000px, 0, 0); - } -} -.animate__fadeOutLeftBig { - animation-name: fadeOutLeftBig; -} -@keyframes fadeOutRight { - 0% { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(100%, 0, 0); - } -} -.animate__fadeOutRight { - animation-name: fadeOutRight; -} -@keyframes fadeOutRightBig { - 0% { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(2000px, 0, 0); - } -} -.animate__fadeOutRightBig { - animation-name: fadeOutRightBig; -} -@keyframes fadeOutUp { - 0% { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(0, -100%, 0); - } -} -.animate__fadeOutUp { - animation-name: fadeOutUp; -} -@keyframes fadeOutUpBig { - 0% { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(0, -2000px, 0); - } -} -.animate__fadeOutUpBig { - animation-name: fadeOutUpBig; -} -@keyframes fadeOutTopLeft { - 0% { - opacity: 1; - transform: translateZ(0); - } - to { - opacity: 0; - transform: translate3d(-100%, -100%, 0); - } -} -.animate__fadeOutTopLeft { - animation-name: fadeOutTopLeft; -} -@keyframes fadeOutTopRight { - 0% { - opacity: 1; - transform: translateZ(0); - } - to { - opacity: 0; - transform: translate3d(100%, -100%, 0); - } -} -.animate__fadeOutTopRight { - animation-name: fadeOutTopRight; -} -@keyframes fadeOutBottomRight { - 0% { - opacity: 1; - transform: translateZ(0); - } - to { - opacity: 0; - transform: translate3d(100%, 100%, 0); - } -} -.animate__fadeOutBottomRight { - animation-name: fadeOutBottomRight; -} -@keyframes fadeOutBottomLeft { - 0% { - opacity: 1; - transform: translateZ(0); - } - to { - opacity: 0; - transform: translate3d(-100%, 100%, 0); - } -} -.animate__fadeOutBottomLeft { - animation-name: fadeOutBottomLeft; -} -@keyframes flip { - 0% { - transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn); - animation-timing-function: ease-out; - } - 40% { - transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg); - animation-timing-function: ease-out; - } - 50% { - transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg); - animation-timing-function: ease-in; - } - 80% { - transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translateZ(0) rotateY(0deg); - animation-timing-function: ease-in; - } - to { - transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg); - animation-timing-function: ease-in; - } -} -.animate__animated.animate__flip { - backface-visibility: visible; - animation-name: flip; -} -@keyframes flipInX { - 0% { - transform: perspective(400px) rotateX(90deg); - animation-timing-function: ease-in; - opacity: 0; - } - 40% { - transform: perspective(400px) rotateX(-20deg); - animation-timing-function: ease-in; - } - 60% { - transform: perspective(400px) rotateX(10deg); - opacity: 1; - } - 80% { - transform: perspective(400px) rotateX(-5deg); - } - to { - transform: perspective(400px); - } -} -.animate__flipInX { - backface-visibility: visible !important; - animation-name: flipInX; -} -@keyframes flipInY { - 0% { - transform: perspective(400px) rotateY(90deg); - animation-timing-function: ease-in; - opacity: 0; - } - 40% { - transform: perspective(400px) rotateY(-20deg); - animation-timing-function: ease-in; - } - 60% { - transform: perspective(400px) rotateY(10deg); - opacity: 1; - } - 80% { - transform: perspective(400px) rotateY(-5deg); - } - to { - transform: perspective(400px); - } -} -.animate__flipInY { - backface-visibility: visible !important; - animation-name: flipInY; -} -@keyframes flipOutX { - 0% { - transform: perspective(400px); - } - 30% { - transform: perspective(400px) rotateX(-20deg); - opacity: 1; - } - to { - transform: perspective(400px) rotateX(90deg); - opacity: 0; - } -} -.animate__flipOutX { - animation-duration: 0.75s; - animation-duration: calc(var(--animate-duration) * 0.75); - animation-name: flipOutX; - backface-visibility: visible !important; -} -@keyframes flipOutY { - 0% { - transform: perspective(400px); - } - 30% { - transform: perspective(400px) rotateY(-15deg); - opacity: 1; - } - to { - transform: perspective(400px) rotateY(90deg); - opacity: 0; - } -} -.animate__flipOutY { - animation-duration: 0.75s; - animation-duration: calc(var(--animate-duration) * 0.75); - backface-visibility: visible !important; - animation-name: flipOutY; -} -@keyframes lightSpeedInRight { - 0% { - transform: translate3d(100%, 0, 0) skewX(-30deg); - opacity: 0; - } - 60% { - transform: skewX(20deg); - opacity: 1; - } - 80% { - transform: skewX(-5deg); - } - to { - transform: translateZ(0); - } -} -.animate__lightSpeedInRight { - animation-name: lightSpeedInRight; - animation-timing-function: ease-out; -} -@keyframes lightSpeedInLeft { - 0% { - transform: translate3d(-100%, 0, 0) skewX(30deg); - opacity: 0; - } - 60% { - transform: skewX(-20deg); - opacity: 1; - } - 80% { - transform: skewX(5deg); - } - to { - transform: translateZ(0); - } -} -.animate__lightSpeedInLeft { - animation-name: lightSpeedInLeft; - animation-timing-function: ease-out; -} -@keyframes lightSpeedOutRight { - 0% { - opacity: 1; - } - to { - transform: translate3d(100%, 0, 0) skewX(30deg); - opacity: 0; - } -} -.animate__lightSpeedOutRight { - animation-name: lightSpeedOutRight; - animation-timing-function: ease-in; -} -@keyframes lightSpeedOutLeft { - 0% { - opacity: 1; - } - to { - transform: translate3d(-100%, 0, 0) skewX(-30deg); - opacity: 0; - } -} -.animate__lightSpeedOutLeft { - animation-name: lightSpeedOutLeft; - animation-timing-function: ease-in; -} -@keyframes rotateIn { - 0% { - transform: rotate(-200deg); - opacity: 0; - } - to { - transform: translateZ(0); - opacity: 1; - } -} -.animate__rotateIn { - animation-name: rotateIn; - transform-origin: center; -} -@keyframes rotateInDownLeft { - 0% { - transform: rotate(-45deg); - opacity: 0; - } - to { - transform: translateZ(0); - opacity: 1; - } -} -.animate__rotateInDownLeft { - animation-name: rotateInDownLeft; - transform-origin: left bottom; -} -@keyframes rotateInDownRight { - 0% { - transform: rotate(45deg); - opacity: 0; - } - to { - transform: translateZ(0); - opacity: 1; - } -} -.animate__rotateInDownRight { - animation-name: rotateInDownRight; - transform-origin: right bottom; -} -@keyframes rotateInUpLeft { - 0% { - transform: rotate(45deg); - opacity: 0; - } - to { - transform: translateZ(0); - opacity: 1; - } -} -.animate__rotateInUpLeft { - animation-name: rotateInUpLeft; - transform-origin: left bottom; -} -@keyframes rotateInUpRight { - 0% { - transform: rotate(-90deg); - opacity: 0; - } - to { - transform: translateZ(0); - opacity: 1; - } -} -.animate__rotateInUpRight { - animation-name: rotateInUpRight; - transform-origin: right bottom; -} -@keyframes rotateOut { - 0% { - opacity: 1; - } - to { - transform: rotate(200deg); - opacity: 0; - } -} -.animate__rotateOut { - animation-name: rotateOut; - transform-origin: center; -} -@keyframes rotateOutDownLeft { - 0% { - opacity: 1; - } - to { - transform: rotate(45deg); - opacity: 0; - } -} -.animate__rotateOutDownLeft { - animation-name: rotateOutDownLeft; - transform-origin: left bottom; -} -@keyframes rotateOutDownRight { - 0% { - opacity: 1; - } - to { - transform: rotate(-45deg); - opacity: 0; - } -} -.animate__rotateOutDownRight { - animation-name: rotateOutDownRight; - transform-origin: right bottom; -} -@keyframes rotateOutUpLeft { - 0% { - opacity: 1; - } - to { - transform: rotate(-45deg); - opacity: 0; - } -} -.animate__rotateOutUpLeft { - animation-name: rotateOutUpLeft; - transform-origin: left bottom; -} -@keyframes rotateOutUpRight { - 0% { - opacity: 1; - } - to { - transform: rotate(90deg); - opacity: 0; - } -} -.animate__rotateOutUpRight { - animation-name: rotateOutUpRight; - transform-origin: right bottom; -} -@keyframes hinge { - 0% { - animation-timing-function: ease-in-out; - } - 20%, - 60% { - transform: rotate(80deg); - animation-timing-function: ease-in-out; - } - 40%, - 80% { - transform: rotate(60deg); - animation-timing-function: ease-in-out; - opacity: 1; - } - to { - transform: translate3d(0, 700px, 0); - opacity: 0; - } -} -.animate__hinge { - animation-duration: 2s; - animation-duration: calc(var(--animate-duration) * 2); - animation-name: hinge; - transform-origin: top left; -} -@keyframes jackInTheBox { - 0% { - opacity: 0; - transform: scale(0.1) rotate(30deg); - transform-origin: center bottom; - } - 50% { - transform: rotate(-10deg); - } - 70% { - transform: rotate(3deg); - } - to { - opacity: 1; - transform: scale(1); - } -} -.animate__jackInTheBox { - animation-name: jackInTheBox; -} -@keyframes rollIn { - 0% { - opacity: 0; - transform: translate3d(-100%, 0, 0) rotate(-120deg); - } - to { - opacity: 1; - transform: translateZ(0); - } -} -.animate__rollIn { - animation-name: rollIn; -} -@keyframes rollOut { - 0% { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(100%, 0, 0) rotate(120deg); - } -} -.animate__rollOut { - animation-name: rollOut; -} -@keyframes zoomIn { - 0% { - opacity: 0; - transform: scale3d(0.3, 0.3, 0.3); - } - 50% { - opacity: 1; - } -} -.animate__zoomIn { - animation-name: zoomIn; -} -@keyframes zoomInDown { - 0% { - opacity: 0; - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - 60% { - opacity: 1; - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} -.animate__zoomInDown { - animation-name: zoomInDown; -} -@keyframes zoomInLeft { - 0% { - opacity: 0; - transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - 60% { - opacity: 1; - transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} -.animate__zoomInLeft { - animation-name: zoomInLeft; -} -@keyframes zoomInRight { - 0% { - opacity: 0; - transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - 60% { - opacity: 1; - transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} -.animate__zoomInRight { - animation-name: zoomInRight; -} -@keyframes zoomInUp { - 0% { - opacity: 0; - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - 60% { - opacity: 1; - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} -.animate__zoomInUp { - animation-name: zoomInUp; -} -@keyframes zoomOut { - 0% { - opacity: 1; - } - 50% { - opacity: 0; - transform: scale3d(0.3, 0.3, 0.3); - } - to { - opacity: 0; - } -} -.animate__zoomOut { - animation-name: zoomOut; -} -@keyframes zoomOutDown { - 40% { - opacity: 1; - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - to { - opacity: 0; - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} -.animate__zoomOutDown { - animation-name: zoomOutDown; - transform-origin: center bottom; -} -@keyframes zoomOutLeft { - 40% { - opacity: 1; - transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); - } - to { - opacity: 0; - transform: scale(0.1) translate3d(-2000px, 0, 0); - } -} -.animate__zoomOutLeft { - animation-name: zoomOutLeft; - transform-origin: left center; -} -@keyframes zoomOutRight { - 40% { - opacity: 1; - transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); - } - to { - opacity: 0; - transform: scale(0.1) translate3d(2000px, 0, 0); - } -} -.animate__zoomOutRight { - animation-name: zoomOutRight; - transform-origin: right center; -} -@keyframes zoomOutUp { - 40% { - opacity: 1; - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - to { - opacity: 0; - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} -.animate__zoomOutUp { - animation-name: zoomOutUp; - transform-origin: center bottom; -} -@keyframes slideInDown { - 0% { - transform: translate3d(0, -100%, 0); - visibility: visible; - } - to { - transform: translateZ(0); - } -} -.animate__slideInDown { - animation-name: slideInDown; -} -@keyframes slideInLeft { - 0% { - transform: translate3d(-100%, 0, 0); - visibility: visible; - } - to { - transform: translateZ(0); - } -} -.animate__slideInLeft { - animation-name: slideInLeft; -} -@keyframes slideInRight { - 0% { - transform: translate3d(100%, 0, 0); - visibility: visible; - } - to { - transform: translateZ(0); - } -} -.animate__slideInRight { - animation-name: slideInRight; -} -@keyframes slideInUp { - 0% { - transform: translate3d(0, 100%, 0); - visibility: visible; - } - to { - transform: translateZ(0); - } -} -.animate__slideInUp { - animation-name: slideInUp; -} -@keyframes slideOutDown { - 0% { - transform: translateZ(0); - } - to { - visibility: hidden; - transform: translate3d(0, 100%, 0); - } -} -.animate__slideOutDown { - animation-name: slideOutDown; -} -@keyframes slideOutLeft { - 0% { - transform: translateZ(0); - } - to { - visibility: hidden; - transform: translate3d(-100%, 0, 0); - } -} -.animate__slideOutLeft { - animation-name: slideOutLeft; -} -@keyframes slideOutRight { - 0% { - transform: translateZ(0); - } - to { - visibility: hidden; - transform: translate3d(100%, 0, 0); - } -} -.animate__slideOutRight { - animation-name: slideOutRight; -} -@keyframes slideOutUp { - 0% { - transform: translateZ(0); - } - to { - visibility: hidden; - transform: translate3d(0, -100%, 0); - } -} -.animate__slideOutUp { - animation-name: slideOutUp; -} -body { - /* background-color: #000; */ -} - -.n-popover:has(.music-play) { - border-radius: 1.5rem !important; -} -@font-face { - font-family: "v-sans"; - font-weight: 400; - src: url("./LatoLatin-Regular-Dmlz1U0B.woff2"); -} - -@font-face { - font-family: "v-sans"; - font-weight: 600; - src: url("./LatoLatin-Semibold-Dbk81p2D.woff2"); -}@font-face { - font-family: "v-mono"; - font-weight: 400; - src: url("./FiraCode-Regular-CRwVj4V2.woff2"); -}/* ./src/index.css */ - -/*! @import */ - -*, ::before, ::after { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; - --tw-contain-size: ; - --tw-contain-layout: ; - --tw-contain-paint: ; - --tw-contain-style: ; -} - -::backdrop { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; - --tw-contain-size: ; - --tw-contain-layout: ; - --tw-contain-paint: ; - --tw-contain-style: ; -} - -/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */ - -/* -1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) -2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) -*/ - -*, -::before, -::after { - box-sizing: border-box; /* 1 */ - border-width: 0; /* 2 */ - border-style: solid; /* 2 */ - border-color: #e5e7eb; /* 2 */ -} - -::before, -::after { - --tw-content: ''; -} - -/* -1. Use a consistent sensible line-height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -3. Use a more readable tab size. -4. Use the user's configured `sans` font-family by default. -5. Use the user's configured `sans` font-feature-settings by default. -6. Use the user's configured `sans` font-variation-settings by default. -7. Disable tap highlights on iOS -*/ - -html, -:host { - line-height: 1.5; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ - -moz-tab-size: 4; /* 3 */ - -o-tab-size: 4; - tab-size: 4; /* 3 */ - font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */ - font-feature-settings: normal; /* 5 */ - font-variation-settings: normal; /* 6 */ - -webkit-tap-highlight-color: transparent; /* 7 */ -} - -/* -1. Remove the margin in all browsers. -2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. -*/ - -body { - margin: 0; /* 1 */ - line-height: inherit; /* 2 */ -} - -/* -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -3. Ensure horizontal rules are visible by default. -*/ - -hr { - height: 0; /* 1 */ - color: inherit; /* 2 */ - border-top-width: 1px; /* 3 */ -} - -/* -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr:where([title]) { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/* -Remove the default font size and weight for headings. -*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/* -Reset links to optimize for opt-in styling instead of opt-out. -*/ - -a { - color: inherit; - text-decoration: inherit; -} - -/* -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/* -1. Use the user's configured `mono` font-family by default. -2. Use the user's configured `mono` font-feature-settings by default. -3. Use the user's configured `mono` font-variation-settings by default. -4. Correct the odd `em` font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */ - font-feature-settings: normal; /* 2 */ - font-variation-settings: normal; /* 3 */ - font-size: 1em; /* 4 */ -} - -/* -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/* -Prevent `sub` and `sup` elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -3. Remove gaps between table borders by default. -*/ - -table { - text-indent: 0; /* 1 */ - border-color: inherit; /* 2 */ - border-collapse: collapse; /* 3 */ -} - -/* -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -3. Remove default padding in all browsers. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-feature-settings: inherit; /* 1 */ - font-variation-settings: inherit; /* 1 */ - font-size: 100%; /* 1 */ - font-weight: inherit; /* 1 */ - line-height: inherit; /* 1 */ - letter-spacing: inherit; /* 1 */ - color: inherit; /* 1 */ - margin: 0; /* 2 */ - padding: 0; /* 3 */ -} - -/* -Remove the inheritance of text transform in Edge and Firefox. -*/ - -button, -select { - text-transform: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Remove default button styles. -*/ - -button, -input:where([type='button']), -input:where([type='reset']), -input:where([type='submit']) { - -webkit-appearance: button; /* 1 */ - background-color: transparent; /* 2 */ - background-image: none; /* 2 */ -} - -/* -Use the modern Firefox focus style for all focusable elements. -*/ - -:-moz-focusring { - outline: auto; -} - -/* -Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/* -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/* -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/* -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/* -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to `inherit` in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/* -Removes the default spacing and border for appropriate elements. -*/ - -blockquote, -dl, -dd, -h1, -h2, -h3, -h4, -h5, -h6, -hr, -figure, -p, -pre { - margin: 0; -} - -fieldset { - margin: 0; - padding: 0; -} - -legend { - padding: 0; -} - -ol, -ul, -menu { - list-style: none; - margin: 0; - padding: 0; -} - -/* -Reset default styling for dialogs. -*/ - -dialog { - padding: 0; -} - -/* -Prevent resizing textareas horizontally by default. -*/ - -textarea { - resize: vertical; -} - -/* -1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) -2. Set the default placeholder color to the user's configured gray 400 color. -*/ - -input::-moz-placeholder, textarea::-moz-placeholder { - opacity: 1; /* 1 */ - color: #9ca3af; /* 2 */ -} - -input::placeholder, -textarea::placeholder { - opacity: 1; /* 1 */ - color: #9ca3af; /* 2 */ -} - -/* -Set the default cursor for buttons. -*/ - -button, -[role="button"] { - cursor: pointer; -} - -/* -Make sure disabled buttons don't get the pointer cursor. -*/ - -:disabled { - cursor: default; -} - -/* -1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) -2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) - This can trigger a poorly considered lint error in some tools but is included by design. -*/ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; /* 1 */ - vertical-align: middle; /* 2 */ -} - -/* -Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) -*/ - -img, -video { - max-width: 100%; - height: auto; -} - -/* Make elements with the HTML hidden attribute stay hidden by default */ - -[hidden]:where(:not([hidden="until-found"])) { - display: none; -} - -.container { - width: 100%; -} - -@media (min-width: 640px) { - - .container { - max-width: 640px; - } -} - -@media (min-width: 768px) { - - .container { - max-width: 768px; - } -} - -@media (min-width: 1024px) { - - .container { - max-width: 1024px; - } -} - -@media (min-width: 1280px) { - - .container { - max-width: 1280px; - } -} - -@media (min-width: 1536px) { - - .container { - max-width: 1536px; - } -} - -.visible { - visibility: visible; -} - -.invisible { - visibility: hidden; -} - -.fixed { - position: fixed; -} - -.absolute { - position: absolute; -} - -.relative { - position: relative; -} - -.inset-0 { - inset: 0px; -} - -.bottom-0 { - bottom: 0px; -} - -.bottom-\[30px\] { - bottom: 30px; -} - -.left-0 { - left: 0px; -} - -.left-1\/2 { - left: 50%; -} - -.left-2 { - left: 0.5rem; -} - -.right-0 { - right: 0px; -} - -.right-2 { - right: 0.5rem; -} - -.right-4 { - right: 1rem; -} - -.top-0 { - top: 0px; -} - -.top-1\/2 { - top: 50%; -} - -.top-2 { - top: 0.5rem; -} - -.top-4 { - top: 1rem; -} - -.z-10 { - z-index: 10; -} - -.mx-0 { - margin-left: 0px; - margin-right: 0px; -} - -.mx-2 { - margin-left: 0.5rem; - margin-right: 0.5rem; -} - -.mx-4 { - margin-left: 1rem; - margin-right: 1rem; -} - -.mx-6 { - margin-left: 1.5rem; - margin-right: 1.5rem; -} - -.my-2 { - margin-top: 0.5rem; - margin-bottom: 0.5rem; -} - -.my-4 { - margin-top: 1rem; - margin-bottom: 1rem; -} - -.mb-0 { - margin-bottom: 0px; -} - -.mb-2 { - margin-bottom: 0.5rem; -} - -.mb-3 { - margin-bottom: 0.75rem; -} - -.mb-4 { - margin-bottom: 1rem; -} - -.mb-6 { - margin-bottom: 1.5rem; -} - -.ml-1 { - margin-left: 0.25rem; -} - -.ml-2 { - margin-left: 0.5rem; -} - -.ml-3 { - margin-left: 0.75rem; -} - -.ml-4 { - margin-left: 1rem; -} - -.ml-auto { - margin-left: auto; -} - -.mr-0 { - margin-right: 0px; -} - -.mr-1 { - margin-right: 0.25rem; -} - -.mr-16 { - margin-right: 4rem; -} - -.mr-2 { - margin-right: 0.5rem; -} - -.mr-3 { - margin-right: 0.75rem; -} - -.mr-4 { - margin-right: 1rem; -} - -.mr-5 { - margin-right: 1.25rem; -} - -.mr-6 { - margin-right: 1.5rem; -} - -.mt-1 { - margin-top: 0.25rem; -} - -.mt-10 { - margin-top: 2.5rem; -} - -.mt-2 { - margin-top: 0.5rem; -} - -.mt-4 { - margin-top: 1rem; -} - -.mt-40 { - margin-top: 10rem; -} - -.mt-6 { - margin-top: 1.5rem; -} - -.box-border { - box-sizing: border-box; -} - -.block { - display: block; -} - -.inline-block { - display: inline-block; -} - -.flex { - display: flex; -} - -.inline-flex { - display: inline-flex; -} - -.table { - display: table; -} - -.grid { - display: grid; -} - -.hidden { - display: none; -} - -.aspect-square { - aspect-ratio: 1 / 1; -} - -.h-1 { - height: 0.25rem; -} - -.h-10 { - height: 2.5rem; -} - -.h-12 { - height: 3rem; -} - -.h-14 { - height: 3.5rem; -} - -.h-20 { - height: 5rem; -} - -.h-24 { - height: 6rem; -} - -.h-32 { - height: 8rem; -} - -.h-7 { - height: 1.75rem; -} - -.h-8 { - height: 2rem; -} - -.h-9 { - height: 2.25rem; -} - -.h-\[100px\] { - height: 100px; -} - -.h-\[180px\] { - height: 180px; -} - -.h-\[300px\] { - height: 300px; -} - -.h-\[calc\(100\%-60px\)\] { - height: calc(100% - 60px); -} - -.h-full { - height: 100%; -} - -.h-screen { - height: 100vh; -} - -.min-h-0 { - min-height: 0px; -} - -.min-h-\[250px\] { - min-height: 250px; -} - -.min-h-\[calc\(80vh-60px\)\] { - min-height: calc(80vh - 60px); -} - -.w-10 { - width: 2.5rem; -} - -.w-12 { - width: 3rem; -} - -.w-14 { - width: 3.5rem; -} - -.w-2\/5 { - width: 40%; -} - -.w-20 { - width: 5rem; -} - -.w-24 { - width: 6rem; -} - -.w-32 { - width: 8rem; -} - -.w-40 { - width: 10rem; -} - -.w-7 { - width: 1.75rem; -} - -.w-8 { - width: 2rem; -} - -.w-9 { - width: 2.25rem; -} - -.w-\[100px\] { - width: 100px; -} - -.w-\[160px\] { - width: 160px; -} - -.w-\[200px\] { - width: 200px; -} - -.w-\[25\%\] { - width: 25%; -} - -.w-full { - width: 100%; -} - -.w-screen { - width: 100vw; -} - -.min-w-0 { - min-width: 0px; -} - -.min-w-\[280px\] { - min-width: 280px; -} - -.min-w-\[60px\] { - min-width: 60px; -} - -.max-w-\[45\%\] { - max-width: 45%; -} - -.flex-1 { - flex: 1 1 0%; -} - -.flex-shrink-0 { - flex-shrink: 0; -} - -.flex-grow { - flex-grow: 1; -} - -.-translate-x-1\/2 { - --tw-translate-x: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.-translate-y-1\/2 { - --tw-translate-y: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.scale-105 { - --tw-scale-x: 1.05; - --tw-scale-y: 1.05; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.scale-150 { - --tw-scale-x: 1.5; - --tw-scale-y: 1.5; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.transform { - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.cursor-none { - cursor: none; -} - -.cursor-pointer { - cursor: pointer; -} - -.select-none { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.resize { - resize: both; -} - -.list-inside { - list-style-position: inside; -} - -.list-decimal { - list-style-type: decimal; -} - -.list-disc { - list-style-type: disc; -} - -.grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); -} - -.grid-rows-3 { - grid-template-rows: repeat(3, minmax(0, 1fr)); -} - -.flex-col { - flex-direction: column; -} - -.items-center { - align-items: center; -} - -.justify-center { - justify-content: center; -} - -.justify-between { - justify-content: space-between; -} - -.justify-around { - justify-content: space-around; -} - -.gap-10 { - gap: 2.5rem; -} - -.gap-2 { - gap: 0.5rem; -} - -.gap-3 { - gap: 0.75rem; -} - -.gap-4 { - gap: 1rem; -} - -.gap-x-8 { - -moz-column-gap: 2rem; - column-gap: 2rem; -} - -.gap-y-6 { - row-gap: 1.5rem; -} - -.space-y-2 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); -} - -.overflow-hidden { - overflow: hidden; -} - -.overflow-x-auto { - overflow-x: auto; -} - -.text-ellipsis { - text-overflow: ellipsis; -} - -.rounded { - border-radius: 0.25rem; -} - -.rounded-2xl { - border-radius: 1rem; -} - -.rounded-3xl { - border-radius: 1.5rem; -} - -.rounded-full { - border-radius: 9999px; -} - -.rounded-lg { - border-radius: 0.5rem; -} - -.rounded-xl { - border-radius: 0.75rem; -} - -.rounded-b-none { - border-bottom-right-radius: 0px; - border-bottom-left-radius: 0px; -} - -.border { - border-width: 1px; -} - -.border-2 { - border-width: 2px; -} - -.border-b { - border-bottom-width: 1px; -} - -.border-l-4 { - border-left-width: 4px; -} - -.border-t { - border-top-width: 1px; -} - -.border-gray-100 { - --tw-border-opacity: 1; - border-color: rgb(243 244 246 / var(--tw-border-opacity, 1)); -} - -.border-gray-200 { - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)); -} - -.border-gray-400 { - --tw-border-opacity: 1; - border-color: rgb(156 163 175 / var(--tw-border-opacity, 1)); -} - -.border-green-500 { - --tw-border-opacity: 1; - border-color: rgb(34 197 94 / var(--tw-border-opacity, 1)); -} - -.bg-black { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} - -.bg-gray-100 { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)); -} - -.bg-gray-300 { - --tw-bg-opacity: 1; - background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1)); -} - -.bg-gray-50 { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1)); -} - -.bg-gray-500 { - --tw-bg-opacity: 1; - background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1)); -} - -.bg-gray-800 { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)); -} - -.bg-gray-900 { - --tw-bg-opacity: 1; - background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1)); -} - -.bg-green-50 { - --tw-bg-opacity: 1; - background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1)); -} - -.bg-green-500 { - --tw-bg-opacity: 1; - background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1)); -} - -.bg-green-600 { - --tw-bg-opacity: 1; - background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1)); -} - -.bg-light { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); -} - -.bg-light-100 { - --tw-bg-opacity: 1; - background-color: rgb(248 249 250 / var(--tw-bg-opacity, 1)); -} - -.bg-transparent { - background-color: transparent; -} - -.bg-opacity-10 { - --tw-bg-opacity: 0.1; -} - -.bg-opacity-20 { - --tw-bg-opacity: 0.2; -} - -.bg-opacity-50 { - --tw-bg-opacity: 0.5; -} - -.bg-opacity-60 { - --tw-bg-opacity: 0.6; -} - -.bg-opacity-75 { - --tw-bg-opacity: 0.75; -} - -.bg-opacity-90 { - --tw-bg-opacity: 0.9; -} - -.bg-cover { - background-size: cover; -} - -.bg-center { - background-position: center; -} - -.bg-no-repeat { - background-repeat: no-repeat; -} - -.object-contain { - -o-object-fit: contain; - object-fit: contain; -} - -.object-cover { - -o-object-fit: cover; - object-fit: cover; -} - -.p-0 { - padding: 0px; -} - -.p-2 { - padding: 0.5rem; -} - -.p-20 { - padding: 5rem; -} - -.p-3 { - padding: 0.75rem; -} - -.p-4 { - padding: 1rem; -} - -.p-5 { - padding: 1.25rem; -} - -.p-6 { - padding: 1.5rem; -} - -.px-0 { - padding-left: 0px; - padding-right: 0px; -} - -.px-1\.5 { - padding-left: 0.375rem; - padding-right: 0.375rem; -} - -.px-2 { - padding-left: 0.5rem; - padding-right: 0.5rem; -} - -.px-24 { - padding-left: 6rem; - padding-right: 6rem; -} - -.px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; -} - -.px-4 { - padding-left: 1rem; - padding-right: 1rem; -} - -.px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; -} - -.px-8 { - padding-left: 2rem; - padding-right: 2rem; -} - -.py-0\.5 { - padding-top: 0.125rem; - padding-bottom: 0.125rem; -} - -.py-1 { - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} - -.py-2 { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.py-3 { - padding-top: 0.75rem; - padding-bottom: 0.75rem; -} - -.py-4 { - padding-top: 1rem; - padding-bottom: 1rem; -} - -.pb-1 { - padding-bottom: 0.25rem; -} - -.pb-2 { - padding-bottom: 0.5rem; -} - -.pb-20 { - padding-bottom: 5rem; -} - -.pb-28 { - padding-bottom: 7rem; -} - -.pb-4 { - padding-bottom: 1rem; -} - -.pl-4 { - padding-left: 1rem; -} - -.pr-0 { - padding-right: 0px; -} - -.pr-3 { - padding-right: 0.75rem; -} - -.pr-8 { - padding-right: 2rem; -} - -.pt-2 { - padding-top: 0.5rem; -} - -.pt-6 { - padding-top: 1.5rem; -} - -.pt-8 { - padding-top: 2rem; -} - -.text-center { - text-align: center; -} - -.text-2xl { - font-size: 1.5rem; - line-height: 2rem; -} - -.text-3xl { - font-size: 1.875rem; - line-height: 2.25rem; -} - -.text-4xl { - font-size: 2.25rem; - line-height: 2.5rem; -} - -.text-5xl { - font-size: 3rem; - line-height: 1; -} - -.text-base { - font-size: 1rem; - line-height: 1.5rem; -} - -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} - -.text-sm { - font-size: 0.875rem; - line-height: 1.25rem; -} - -.text-xl { - font-size: 1.25rem; - line-height: 1.75rem; -} - -.text-xs { - font-size: 0.75rem; - line-height: 1rem; -} - -.font-bold { - font-weight: 700; -} - -.font-medium { - font-weight: 500; -} - -.leading-relaxed { - line-height: 1.625; -} - -.text-dark { - --tw-text-opacity: 1; - color: rgb(0 0 0 / var(--tw-text-opacity, 1)); -} - -.text-gray-100 { - --tw-text-opacity: 1; - color: rgb(243 244 246 / var(--tw-text-opacity, 1)); -} - -.text-gray-200 { - --tw-text-opacity: 1; - color: rgb(229 231 235 / var(--tw-text-opacity, 1)); -} - -.text-gray-300 { - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity, 1)); -} - -.text-gray-400 { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} - -.text-gray-500 { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity, 1)); -} - -.text-gray-600 { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity, 1)); -} - -.text-gray-700 { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity, 1)); -} - -.text-gray-800 { - --tw-text-opacity: 1; - color: rgb(31 41 55 / var(--tw-text-opacity, 1)); -} - -.text-gray-900 { - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} - -.text-green-500 { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity, 1)); -} - -.text-red-500 { - --tw-text-opacity: 1; - color: rgb(239 68 68 / var(--tw-text-opacity, 1)); -} - -.text-white { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} - -.placeholder-gray-500::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1)); -} - -.placeholder-gray-500::placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1)); -} - -.opacity-0 { - opacity: 0; -} - -.opacity-100 { - opacity: 1; -} - -.shadow-2xl { - --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); - --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-lg { - --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.blur { - --tw-blur: blur(8px); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.filter { - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.backdrop-filter { - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.transition { - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-all { - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-colors { - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-opacity { - transition-property: opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.duration-200 { - transition-duration: 200ms; -} - -.duration-300 { - transition-duration: 300ms; -} - -.duration-500 { - transition-duration: 500ms; -} - -.ease-in-out { - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} - -.n-image img { - background-color: #111111; - width: 100%; -} - -.n-slider-handle-indicator--top { - margin-bottom: 0px !important; - background-color: transparent !important; - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - font-size: 1.5rem !important; - line-height: 2rem !important; - color: #000000dd !important; - --tw-shadow: 0 0 #0000 !important; - --tw-shadow-colored: 0 0 #0000 !important; - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; -} - -.n-slider-handle-indicator--top:is(.dark *) { - color: #ffffffdd !important; -} - -.text-el { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.theme-dark { - --bg-color: #000; - --text-color: #fff; - --bg-color-100: #161616; - --bg-color-200: #2d2d2d; - --bg-color-300: #3d3d3d; - --text-color: #f8f9fa; - --text-color-100: #e9ecef; - --text-color-200: #dee2e6; - --text-color-300: #dde0e3; - --primary-color: #22c55e; -} - -.theme-light { - --bg-color: #fff; - --bg-color-100: #f8f9fa; - --bg-color-200: #e9ecef; - --bg-color-300: #dee2e6; - --text-color: #000; - --text-color-100: #161616; - --text-color-200: #2d2d2d; - --text-color-300: #3d3d3d; - --primary-color: #22c55e; -} - -.theme-gray { - --bg-color: #f8f9fa; - --bg-color-100: #e9ecef; - --bg-color-200: #dee2e6; - --bg-color-300: #dde0e3; - --text-color: #000; - --text-color-100: #161616; - --text-color-200: #2d2d2d; - --text-color-300: #3d3d3d; - --primary-color: #22c55e; -} - -.hover\:-translate-y-0\.5:hover { - --tw-translate-y: -0.125rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.hover\:scale-110:hover { - --tw-scale-x: 1.1; - --tw-scale-y: 1.1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.hover\:border-gray-400:hover { - --tw-border-opacity: 1; - border-color: rgb(156 163 175 / var(--tw-border-opacity, 1)); -} - -.hover\:border-red-500:hover { - --tw-border-opacity: 1; - border-color: rgb(239 68 68 / var(--tw-border-opacity, 1)); -} - -.hover\:bg-gray-100:hover { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)); -} - -.hover\:bg-green-600:hover { - --tw-bg-opacity: 1; - background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1)); -} - -.hover\:bg-green-700:hover { - --tw-bg-opacity: 1; - background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1)); -} - -.hover\:bg-green-950:hover { - --tw-bg-opacity: 1; - background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1)); -} - -.hover\:bg-light-200:hover { - --tw-bg-opacity: 1; - background-color: rgb(233 236 239 / var(--tw-bg-opacity, 1)); -} - -.hover\:text-gray-600:hover { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity, 1)); -} - -.hover\:text-gray-800:hover { - --tw-text-opacity: 1; - color: rgb(31 41 55 / var(--tw-text-opacity, 1)); -} - -.hover\:text-green-500:hover { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity, 1)); -} - -.hover\:text-green-600:hover { - --tw-text-opacity: 1; - color: rgb(22 163 74 / var(--tw-text-opacity, 1)); -} - -.hover\:text-red-600:hover { - --tw-text-opacity: 1; - color: rgb(220 38 38 / var(--tw-text-opacity, 1)); -} - -.hover\:text-white:hover { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} - -.dark\:border-gray-600:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-opacity, 1)); -} - -.dark\:border-gray-700:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(55 65 81 / var(--tw-border-opacity, 1)); -} - -.dark\:border-gray-800:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(31 41 55 / var(--tw-border-opacity, 1)); -} - -.dark\:bg-black:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} - -.dark\:bg-dark:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} - -.dark\:bg-dark-100:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(22 22 22 / var(--tw-bg-opacity, 1)); -} - -.dark\:bg-dark-300:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(61 61 61 / var(--tw-bg-opacity, 1)); -} - -.dark\:bg-gray-700:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)); -} - -.dark\:bg-gray-800:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)); -} - -.dark\:bg-opacity-20:is(.dark *) { - --tw-bg-opacity: 0.2; -} - -.dark\:bg-opacity-60:is(.dark *) { - --tw-bg-opacity: 0.6; -} - -.dark\:bg-opacity-75:is(.dark *) { - --tw-bg-opacity: 0.75; -} - -.dark\:text-gray-100:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(243 244 246 / var(--tw-text-opacity, 1)); -} - -.dark\:text-gray-200:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(229 231 235 / var(--tw-text-opacity, 1)); -} - -.dark\:text-gray-400:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} - -.dark\:text-white:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} - -.dark\:hover\:bg-gray-800:hover:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)); -} - -.dark\:hover\:text-gray-400:hover:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} - -.hover\:dark\:text-white:is(.dark *):hover { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -/* -* Remix Icon v4.6.0 -* https://remixicon.com -* https://github.com/Remix-Design/RemixIcon -* -* Copyright RemixIcon.com -* Released under the Apache License Version 2.0 -* -* Date: 2024-12-17 -*/ -@font-face { - font-family: "remixicon"; - src: url('./remixicon-BVJ9S1ev.eot?t=1734404658139'); /* IE9*/ - src: url('./remixicon-BVJ9S1ev.eot?t=1734404658139#iefix') format('embedded-opentype'), - url("./remixicon-BVvFtaex.woff2?t=1734404658139") format("woff2"), - url("./remixicon-BBpe-Xu7.woff?t=1734404658139") format("woff"), - url('./remixicon-CfJD46dY.ttf?t=1734404658139') format('truetype'), - url('./remixicon-C2wQ2gtc.svg?t=1734404658139#remixicon') format('svg'); /* iOS 4.1- */ - font-display: swap; -} - -[class^="ri-"], [class*=" ri-"] { - font-family: 'remixicon' !important; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.ri-lg { font-size: 1.3333em; line-height: 0.75em; vertical-align: -.0667em; } -.ri-xl { font-size: 1.5em; line-height: 0.6666em; vertical-align: -.075em; } -.ri-xxs { font-size: .5em; } -.ri-xs { font-size: .75em; } -.ri-sm { font-size: .875em } -.ri-1x { font-size: 1em; } -.ri-2x { font-size: 2em; } -.ri-3x { font-size: 3em; } -.ri-4x { font-size: 4em; } -.ri-5x { font-size: 5em; } -.ri-6x { font-size: 6em; } -.ri-7x { font-size: 7em; } -.ri-8x { font-size: 8em; } -.ri-9x { font-size: 9em; } -.ri-10x { font-size: 10em; } -.ri-fw { text-align: center; width: 1.25em; } - -.ri-24-hours-fill:before { content: "\ea01"; } -.ri-24-hours-line:before { content: "\ea02"; } -.ri-4k-fill:before { content: "\ea03"; } -.ri-4k-line:before { content: "\ea04"; } -.ri-a-b:before { content: "\ea05"; } -.ri-account-box-fill:before { content: "\ea06"; } -.ri-account-box-line:before { content: "\ea07"; } -.ri-account-circle-fill:before { content: "\ea08"; } -.ri-account-circle-line:before { content: "\ea09"; } -.ri-account-pin-box-fill:before { content: "\ea0a"; } -.ri-account-pin-box-line:before { content: "\ea0b"; } -.ri-account-pin-circle-fill:before { content: "\ea0c"; } -.ri-account-pin-circle-line:before { content: "\ea0d"; } -.ri-add-box-fill:before { content: "\ea0e"; } -.ri-add-box-line:before { content: "\ea0f"; } -.ri-add-circle-fill:before { content: "\ea10"; } -.ri-add-circle-line:before { content: "\ea11"; } -.ri-add-fill:before { content: "\ea12"; } -.ri-add-line:before { content: "\ea13"; } -.ri-admin-fill:before { content: "\ea14"; } -.ri-admin-line:before { content: "\ea15"; } -.ri-advertisement-fill:before { content: "\ea16"; } -.ri-advertisement-line:before { content: "\ea17"; } -.ri-airplay-fill:before { content: "\ea18"; } -.ri-airplay-line:before { content: "\ea19"; } -.ri-alarm-fill:before { content: "\ea1a"; } -.ri-alarm-line:before { content: "\ea1b"; } -.ri-alarm-warning-fill:before { content: "\ea1c"; } -.ri-alarm-warning-line:before { content: "\ea1d"; } -.ri-album-fill:before { content: "\ea1e"; } -.ri-album-line:before { content: "\ea1f"; } -.ri-alert-fill:before { content: "\ea20"; } -.ri-alert-line:before { content: "\ea21"; } -.ri-aliens-fill:before { content: "\ea22"; } -.ri-aliens-line:before { content: "\ea23"; } -.ri-align-bottom:before { content: "\ea24"; } -.ri-align-center:before { content: "\ea25"; } -.ri-align-justify:before { content: "\ea26"; } -.ri-align-left:before { content: "\ea27"; } -.ri-align-right:before { content: "\ea28"; } -.ri-align-top:before { content: "\ea29"; } -.ri-align-vertically:before { content: "\ea2a"; } -.ri-alipay-fill:before { content: "\ea2b"; } -.ri-alipay-line:before { content: "\ea2c"; } -.ri-amazon-fill:before { content: "\ea2d"; } -.ri-amazon-line:before { content: "\ea2e"; } -.ri-anchor-fill:before { content: "\ea2f"; } -.ri-anchor-line:before { content: "\ea30"; } -.ri-ancient-gate-fill:before { content: "\ea31"; } -.ri-ancient-gate-line:before { content: "\ea32"; } -.ri-ancient-pavilion-fill:before { content: "\ea33"; } -.ri-ancient-pavilion-line:before { content: "\ea34"; } -.ri-android-fill:before { content: "\ea35"; } -.ri-android-line:before { content: "\ea36"; } -.ri-angularjs-fill:before { content: "\ea37"; } -.ri-angularjs-line:before { content: "\ea38"; } -.ri-anticlockwise-2-fill:before { content: "\ea39"; } -.ri-anticlockwise-2-line:before { content: "\ea3a"; } -.ri-anticlockwise-fill:before { content: "\ea3b"; } -.ri-anticlockwise-line:before { content: "\ea3c"; } -.ri-app-store-fill:before { content: "\ea3d"; } -.ri-app-store-line:before { content: "\ea3e"; } -.ri-apple-fill:before { content: "\ea3f"; } -.ri-apple-line:before { content: "\ea40"; } -.ri-apps-2-fill:before { content: "\ea41"; } -.ri-apps-2-line:before { content: "\ea42"; } -.ri-apps-fill:before { content: "\ea43"; } -.ri-apps-line:before { content: "\ea44"; } -.ri-archive-drawer-fill:before { content: "\ea45"; } -.ri-archive-drawer-line:before { content: "\ea46"; } -.ri-archive-fill:before { content: "\ea47"; } -.ri-archive-line:before { content: "\ea48"; } -.ri-arrow-down-circle-fill:before { content: "\ea49"; } -.ri-arrow-down-circle-line:before { content: "\ea4a"; } -.ri-arrow-down-fill:before { content: "\ea4b"; } -.ri-arrow-down-line:before { content: "\ea4c"; } -.ri-arrow-down-s-fill:before { content: "\ea4d"; } -.ri-arrow-down-s-line:before { content: "\ea4e"; } -.ri-arrow-drop-down-fill:before { content: "\ea4f"; } -.ri-arrow-drop-down-line:before { content: "\ea50"; } -.ri-arrow-drop-left-fill:before { content: "\ea51"; } -.ri-arrow-drop-left-line:before { content: "\ea52"; } -.ri-arrow-drop-right-fill:before { content: "\ea53"; } -.ri-arrow-drop-right-line:before { content: "\ea54"; } -.ri-arrow-drop-up-fill:before { content: "\ea55"; } -.ri-arrow-drop-up-line:before { content: "\ea56"; } -.ri-arrow-go-back-fill:before { content: "\ea57"; } -.ri-arrow-go-back-line:before { content: "\ea58"; } -.ri-arrow-go-forward-fill:before { content: "\ea59"; } -.ri-arrow-go-forward-line:before { content: "\ea5a"; } -.ri-arrow-left-circle-fill:before { content: "\ea5b"; } -.ri-arrow-left-circle-line:before { content: "\ea5c"; } -.ri-arrow-left-down-fill:before { content: "\ea5d"; } -.ri-arrow-left-down-line:before { content: "\ea5e"; } -.ri-arrow-left-fill:before { content: "\ea5f"; } -.ri-arrow-left-line:before { content: "\ea60"; } -.ri-arrow-left-right-fill:before { content: "\ea61"; } -.ri-arrow-left-right-line:before { content: "\ea62"; } -.ri-arrow-left-s-fill:before { content: "\ea63"; } -.ri-arrow-left-s-line:before { content: "\ea64"; } -.ri-arrow-left-up-fill:before { content: "\ea65"; } -.ri-arrow-left-up-line:before { content: "\ea66"; } -.ri-arrow-right-circle-fill:before { content: "\ea67"; } -.ri-arrow-right-circle-line:before { content: "\ea68"; } -.ri-arrow-right-down-fill:before { content: "\ea69"; } -.ri-arrow-right-down-line:before { content: "\ea6a"; } -.ri-arrow-right-fill:before { content: "\ea6b"; } -.ri-arrow-right-line:before { content: "\ea6c"; } -.ri-arrow-right-s-fill:before { content: "\ea6d"; } -.ri-arrow-right-s-line:before { content: "\ea6e"; } -.ri-arrow-right-up-fill:before { content: "\ea6f"; } -.ri-arrow-right-up-line:before { content: "\ea70"; } -.ri-arrow-up-circle-fill:before { content: "\ea71"; } -.ri-arrow-up-circle-line:before { content: "\ea72"; } -.ri-arrow-up-down-fill:before { content: "\ea73"; } -.ri-arrow-up-down-line:before { content: "\ea74"; } -.ri-arrow-up-fill:before { content: "\ea75"; } -.ri-arrow-up-line:before { content: "\ea76"; } -.ri-arrow-up-s-fill:before { content: "\ea77"; } -.ri-arrow-up-s-line:before { content: "\ea78"; } -.ri-artboard-2-fill:before { content: "\ea79"; } -.ri-artboard-2-line:before { content: "\ea7a"; } -.ri-artboard-fill:before { content: "\ea7b"; } -.ri-artboard-line:before { content: "\ea7c"; } -.ri-article-fill:before { content: "\ea7d"; } -.ri-article-line:before { content: "\ea7e"; } -.ri-aspect-ratio-fill:before { content: "\ea7f"; } -.ri-aspect-ratio-line:before { content: "\ea80"; } -.ri-asterisk:before { content: "\ea81"; } -.ri-at-fill:before { content: "\ea82"; } -.ri-at-line:before { content: "\ea83"; } -.ri-attachment-2:before { content: "\ea84"; } -.ri-attachment-fill:before { content: "\ea85"; } -.ri-attachment-line:before { content: "\ea86"; } -.ri-auction-fill:before { content: "\ea87"; } -.ri-auction-line:before { content: "\ea88"; } -.ri-award-fill:before { content: "\ea89"; } -.ri-award-line:before { content: "\ea8a"; } -.ri-baidu-fill:before { content: "\ea8b"; } -.ri-baidu-line:before { content: "\ea8c"; } -.ri-ball-pen-fill:before { content: "\ea8d"; } -.ri-ball-pen-line:before { content: "\ea8e"; } -.ri-bank-card-2-fill:before { content: "\ea8f"; } -.ri-bank-card-2-line:before { content: "\ea90"; } -.ri-bank-card-fill:before { content: "\ea91"; } -.ri-bank-card-line:before { content: "\ea92"; } -.ri-bank-fill:before { content: "\ea93"; } -.ri-bank-line:before { content: "\ea94"; } -.ri-bar-chart-2-fill:before { content: "\ea95"; } -.ri-bar-chart-2-line:before { content: "\ea96"; } -.ri-bar-chart-box-fill:before { content: "\ea97"; } -.ri-bar-chart-box-line:before { content: "\ea98"; } -.ri-bar-chart-fill:before { content: "\ea99"; } -.ri-bar-chart-grouped-fill:before { content: "\ea9a"; } -.ri-bar-chart-grouped-line:before { content: "\ea9b"; } -.ri-bar-chart-horizontal-fill:before { content: "\ea9c"; } -.ri-bar-chart-horizontal-line:before { content: "\ea9d"; } -.ri-bar-chart-line:before { content: "\ea9e"; } -.ri-barcode-box-fill:before { content: "\ea9f"; } -.ri-barcode-box-line:before { content: "\eaa0"; } -.ri-barcode-fill:before { content: "\eaa1"; } -.ri-barcode-line:before { content: "\eaa2"; } -.ri-barricade-fill:before { content: "\eaa3"; } -.ri-barricade-line:before { content: "\eaa4"; } -.ri-base-station-fill:before { content: "\eaa5"; } -.ri-base-station-line:before { content: "\eaa6"; } -.ri-basketball-fill:before { content: "\eaa7"; } -.ri-basketball-line:before { content: "\eaa8"; } -.ri-battery-2-charge-fill:before { content: "\eaa9"; } -.ri-battery-2-charge-line:before { content: "\eaaa"; } -.ri-battery-2-fill:before { content: "\eaab"; } -.ri-battery-2-line:before { content: "\eaac"; } -.ri-battery-charge-fill:before { content: "\eaad"; } -.ri-battery-charge-line:before { content: "\eaae"; } -.ri-battery-fill:before { content: "\eaaf"; } -.ri-battery-line:before { content: "\eab0"; } -.ri-battery-low-fill:before { content: "\eab1"; } -.ri-battery-low-line:before { content: "\eab2"; } -.ri-battery-saver-fill:before { content: "\eab3"; } -.ri-battery-saver-line:before { content: "\eab4"; } -.ri-battery-share-fill:before { content: "\eab5"; } -.ri-battery-share-line:before { content: "\eab6"; } -.ri-bear-smile-fill:before { content: "\eab7"; } -.ri-bear-smile-line:before { content: "\eab8"; } -.ri-behance-fill:before { content: "\eab9"; } -.ri-behance-line:before { content: "\eaba"; } -.ri-bell-fill:before { content: "\eabb"; } -.ri-bell-line:before { content: "\eabc"; } -.ri-bike-fill:before { content: "\eabd"; } -.ri-bike-line:before { content: "\eabe"; } -.ri-bilibili-fill:before { content: "\eabf"; } -.ri-bilibili-line:before { content: "\eac0"; } -.ri-bill-fill:before { content: "\eac1"; } -.ri-bill-line:before { content: "\eac2"; } -.ri-billiards-fill:before { content: "\eac3"; } -.ri-billiards-line:before { content: "\eac4"; } -.ri-bit-coin-fill:before { content: "\eac5"; } -.ri-bit-coin-line:before { content: "\eac6"; } -.ri-blaze-fill:before { content: "\eac7"; } -.ri-blaze-line:before { content: "\eac8"; } -.ri-bluetooth-connect-fill:before { content: "\eac9"; } -.ri-bluetooth-connect-line:before { content: "\eaca"; } -.ri-bluetooth-fill:before { content: "\eacb"; } -.ri-bluetooth-line:before { content: "\eacc"; } -.ri-blur-off-fill:before { content: "\eacd"; } -.ri-blur-off-line:before { content: "\eace"; } -.ri-body-scan-fill:before { content: "\eacf"; } -.ri-body-scan-line:before { content: "\ead0"; } -.ri-bold:before { content: "\ead1"; } -.ri-book-2-fill:before { content: "\ead2"; } -.ri-book-2-line:before { content: "\ead3"; } -.ri-book-3-fill:before { content: "\ead4"; } -.ri-book-3-line:before { content: "\ead5"; } -.ri-book-fill:before { content: "\ead6"; } -.ri-book-line:before { content: "\ead7"; } -.ri-book-marked-fill:before { content: "\ead8"; } -.ri-book-marked-line:before { content: "\ead9"; } -.ri-book-open-fill:before { content: "\eada"; } -.ri-book-open-line:before { content: "\eadb"; } -.ri-book-read-fill:before { content: "\eadc"; } -.ri-book-read-line:before { content: "\eadd"; } -.ri-booklet-fill:before { content: "\eade"; } -.ri-booklet-line:before { content: "\eadf"; } -.ri-bookmark-2-fill:before { content: "\eae0"; } -.ri-bookmark-2-line:before { content: "\eae1"; } -.ri-bookmark-3-fill:before { content: "\eae2"; } -.ri-bookmark-3-line:before { content: "\eae3"; } -.ri-bookmark-fill:before { content: "\eae4"; } -.ri-bookmark-line:before { content: "\eae5"; } -.ri-boxing-fill:before { content: "\eae6"; } -.ri-boxing-line:before { content: "\eae7"; } -.ri-braces-fill:before { content: "\eae8"; } -.ri-braces-line:before { content: "\eae9"; } -.ri-brackets-fill:before { content: "\eaea"; } -.ri-brackets-line:before { content: "\eaeb"; } -.ri-briefcase-2-fill:before { content: "\eaec"; } -.ri-briefcase-2-line:before { content: "\eaed"; } -.ri-briefcase-3-fill:before { content: "\eaee"; } -.ri-briefcase-3-line:before { content: "\eaef"; } -.ri-briefcase-4-fill:before { content: "\eaf0"; } -.ri-briefcase-4-line:before { content: "\eaf1"; } -.ri-briefcase-5-fill:before { content: "\eaf2"; } -.ri-briefcase-5-line:before { content: "\eaf3"; } -.ri-briefcase-fill:before { content: "\eaf4"; } -.ri-briefcase-line:before { content: "\eaf5"; } -.ri-bring-forward:before { content: "\eaf6"; } -.ri-bring-to-front:before { content: "\eaf7"; } -.ri-broadcast-fill:before { content: "\eaf8"; } -.ri-broadcast-line:before { content: "\eaf9"; } -.ri-brush-2-fill:before { content: "\eafa"; } -.ri-brush-2-line:before { content: "\eafb"; } -.ri-brush-3-fill:before { content: "\eafc"; } -.ri-brush-3-line:before { content: "\eafd"; } -.ri-brush-4-fill:before { content: "\eafe"; } -.ri-brush-4-line:before { content: "\eaff"; } -.ri-brush-fill:before { content: "\eb00"; } -.ri-brush-line:before { content: "\eb01"; } -.ri-bubble-chart-fill:before { content: "\eb02"; } -.ri-bubble-chart-line:before { content: "\eb03"; } -.ri-bug-2-fill:before { content: "\eb04"; } -.ri-bug-2-line:before { content: "\eb05"; } -.ri-bug-fill:before { content: "\eb06"; } -.ri-bug-line:before { content: "\eb07"; } -.ri-building-2-fill:before { content: "\eb08"; } -.ri-building-2-line:before { content: "\eb09"; } -.ri-building-3-fill:before { content: "\eb0a"; } -.ri-building-3-line:before { content: "\eb0b"; } -.ri-building-4-fill:before { content: "\eb0c"; } -.ri-building-4-line:before { content: "\eb0d"; } -.ri-building-fill:before { content: "\eb0e"; } -.ri-building-line:before { content: "\eb0f"; } -.ri-bus-2-fill:before { content: "\eb10"; } -.ri-bus-2-line:before { content: "\eb11"; } -.ri-bus-fill:before { content: "\eb12"; } -.ri-bus-line:before { content: "\eb13"; } -.ri-bus-wifi-fill:before { content: "\eb14"; } -.ri-bus-wifi-line:before { content: "\eb15"; } -.ri-cactus-fill:before { content: "\eb16"; } -.ri-cactus-line:before { content: "\eb17"; } -.ri-cake-2-fill:before { content: "\eb18"; } -.ri-cake-2-line:before { content: "\eb19"; } -.ri-cake-3-fill:before { content: "\eb1a"; } -.ri-cake-3-line:before { content: "\eb1b"; } -.ri-cake-fill:before { content: "\eb1c"; } -.ri-cake-line:before { content: "\eb1d"; } -.ri-calculator-fill:before { content: "\eb1e"; } -.ri-calculator-line:before { content: "\eb1f"; } -.ri-calendar-2-fill:before { content: "\eb20"; } -.ri-calendar-2-line:before { content: "\eb21"; } -.ri-calendar-check-fill:before { content: "\eb22"; } -.ri-calendar-check-line:before { content: "\eb23"; } -.ri-calendar-event-fill:before { content: "\eb24"; } -.ri-calendar-event-line:before { content: "\eb25"; } -.ri-calendar-fill:before { content: "\eb26"; } -.ri-calendar-line:before { content: "\eb27"; } -.ri-calendar-todo-fill:before { content: "\eb28"; } -.ri-calendar-todo-line:before { content: "\eb29"; } -.ri-camera-2-fill:before { content: "\eb2a"; } -.ri-camera-2-line:before { content: "\eb2b"; } -.ri-camera-3-fill:before { content: "\eb2c"; } -.ri-camera-3-line:before { content: "\eb2d"; } -.ri-camera-fill:before { content: "\eb2e"; } -.ri-camera-lens-fill:before { content: "\eb2f"; } -.ri-camera-lens-line:before { content: "\eb30"; } -.ri-camera-line:before { content: "\eb31"; } -.ri-camera-off-fill:before { content: "\eb32"; } -.ri-camera-off-line:before { content: "\eb33"; } -.ri-camera-switch-fill:before { content: "\eb34"; } -.ri-camera-switch-line:before { content: "\eb35"; } -.ri-capsule-fill:before { content: "\eb36"; } -.ri-capsule-line:before { content: "\eb37"; } -.ri-car-fill:before { content: "\eb38"; } -.ri-car-line:before { content: "\eb39"; } -.ri-car-washing-fill:before { content: "\eb3a"; } -.ri-car-washing-line:before { content: "\eb3b"; } -.ri-caravan-fill:before { content: "\eb3c"; } -.ri-caravan-line:before { content: "\eb3d"; } -.ri-cast-fill:before { content: "\eb3e"; } -.ri-cast-line:before { content: "\eb3f"; } -.ri-cellphone-fill:before { content: "\eb40"; } -.ri-cellphone-line:before { content: "\eb41"; } -.ri-celsius-fill:before { content: "\eb42"; } -.ri-celsius-line:before { content: "\eb43"; } -.ri-centos-fill:before { content: "\eb44"; } -.ri-centos-line:before { content: "\eb45"; } -.ri-character-recognition-fill:before { content: "\eb46"; } -.ri-character-recognition-line:before { content: "\eb47"; } -.ri-charging-pile-2-fill:before { content: "\eb48"; } -.ri-charging-pile-2-line:before { content: "\eb49"; } -.ri-charging-pile-fill:before { content: "\eb4a"; } -.ri-charging-pile-line:before { content: "\eb4b"; } -.ri-chat-1-fill:before { content: "\eb4c"; } -.ri-chat-1-line:before { content: "\eb4d"; } -.ri-chat-2-fill:before { content: "\eb4e"; } -.ri-chat-2-line:before { content: "\eb4f"; } -.ri-chat-3-fill:before { content: "\eb50"; } -.ri-chat-3-line:before { content: "\eb51"; } -.ri-chat-4-fill:before { content: "\eb52"; } -.ri-chat-4-line:before { content: "\eb53"; } -.ri-chat-check-fill:before { content: "\eb54"; } -.ri-chat-check-line:before { content: "\eb55"; } -.ri-chat-delete-fill:before { content: "\eb56"; } -.ri-chat-delete-line:before { content: "\eb57"; } -.ri-chat-download-fill:before { content: "\eb58"; } -.ri-chat-download-line:before { content: "\eb59"; } -.ri-chat-follow-up-fill:before { content: "\eb5a"; } -.ri-chat-follow-up-line:before { content: "\eb5b"; } -.ri-chat-forward-fill:before { content: "\eb5c"; } -.ri-chat-forward-line:before { content: "\eb5d"; } -.ri-chat-heart-fill:before { content: "\eb5e"; } -.ri-chat-heart-line:before { content: "\eb5f"; } -.ri-chat-history-fill:before { content: "\eb60"; } -.ri-chat-history-line:before { content: "\eb61"; } -.ri-chat-new-fill:before { content: "\eb62"; } -.ri-chat-new-line:before { content: "\eb63"; } -.ri-chat-off-fill:before { content: "\eb64"; } -.ri-chat-off-line:before { content: "\eb65"; } -.ri-chat-poll-fill:before { content: "\eb66"; } -.ri-chat-poll-line:before { content: "\eb67"; } -.ri-chat-private-fill:before { content: "\eb68"; } -.ri-chat-private-line:before { content: "\eb69"; } -.ri-chat-quote-fill:before { content: "\eb6a"; } -.ri-chat-quote-line:before { content: "\eb6b"; } -.ri-chat-settings-fill:before { content: "\eb6c"; } -.ri-chat-settings-line:before { content: "\eb6d"; } -.ri-chat-smile-2-fill:before { content: "\eb6e"; } -.ri-chat-smile-2-line:before { content: "\eb6f"; } -.ri-chat-smile-3-fill:before { content: "\eb70"; } -.ri-chat-smile-3-line:before { content: "\eb71"; } -.ri-chat-smile-fill:before { content: "\eb72"; } -.ri-chat-smile-line:before { content: "\eb73"; } -.ri-chat-upload-fill:before { content: "\eb74"; } -.ri-chat-upload-line:before { content: "\eb75"; } -.ri-chat-voice-fill:before { content: "\eb76"; } -.ri-chat-voice-line:before { content: "\eb77"; } -.ri-check-double-fill:before { content: "\eb78"; } -.ri-check-double-line:before { content: "\eb79"; } -.ri-check-fill:before { content: "\eb7a"; } -.ri-check-line:before { content: "\eb7b"; } -.ri-checkbox-blank-circle-fill:before { content: "\eb7c"; } -.ri-checkbox-blank-circle-line:before { content: "\eb7d"; } -.ri-checkbox-blank-fill:before { content: "\eb7e"; } -.ri-checkbox-blank-line:before { content: "\eb7f"; } -.ri-checkbox-circle-fill:before { content: "\eb80"; } -.ri-checkbox-circle-line:before { content: "\eb81"; } -.ri-checkbox-fill:before { content: "\eb82"; } -.ri-checkbox-indeterminate-fill:before { content: "\eb83"; } -.ri-checkbox-indeterminate-line:before { content: "\eb84"; } -.ri-checkbox-line:before { content: "\eb85"; } -.ri-checkbox-multiple-blank-fill:before { content: "\eb86"; } -.ri-checkbox-multiple-blank-line:before { content: "\eb87"; } -.ri-checkbox-multiple-fill:before { content: "\eb88"; } -.ri-checkbox-multiple-line:before { content: "\eb89"; } -.ri-china-railway-fill:before { content: "\eb8a"; } -.ri-china-railway-line:before { content: "\eb8b"; } -.ri-chrome-fill:before { content: "\eb8c"; } -.ri-chrome-line:before { content: "\eb8d"; } -.ri-clapperboard-fill:before { content: "\eb8e"; } -.ri-clapperboard-line:before { content: "\eb8f"; } -.ri-clipboard-fill:before { content: "\eb90"; } -.ri-clipboard-line:before { content: "\eb91"; } -.ri-clockwise-2-fill:before { content: "\eb92"; } -.ri-clockwise-2-line:before { content: "\eb93"; } -.ri-clockwise-fill:before { content: "\eb94"; } -.ri-clockwise-line:before { content: "\eb95"; } -.ri-close-circle-fill:before { content: "\eb96"; } -.ri-close-circle-line:before { content: "\eb97"; } -.ri-close-fill:before { content: "\eb98"; } -.ri-close-line:before { content: "\eb99"; } -.ri-closed-captioning-fill:before { content: "\eb9a"; } -.ri-closed-captioning-line:before { content: "\eb9b"; } -.ri-cloud-fill:before { content: "\eb9c"; } -.ri-cloud-line:before { content: "\eb9d"; } -.ri-cloud-off-fill:before { content: "\eb9e"; } -.ri-cloud-off-line:before { content: "\eb9f"; } -.ri-cloud-windy-fill:before { content: "\eba0"; } -.ri-cloud-windy-line:before { content: "\eba1"; } -.ri-cloudy-2-fill:before { content: "\eba2"; } -.ri-cloudy-2-line:before { content: "\eba3"; } -.ri-cloudy-fill:before { content: "\eba4"; } -.ri-cloudy-line:before { content: "\eba5"; } -.ri-code-box-fill:before { content: "\eba6"; } -.ri-code-box-line:before { content: "\eba7"; } -.ri-code-fill:before { content: "\eba8"; } -.ri-code-line:before { content: "\eba9"; } -.ri-code-s-fill:before { content: "\ebaa"; } -.ri-code-s-line:before { content: "\ebab"; } -.ri-code-s-slash-fill:before { content: "\ebac"; } -.ri-code-s-slash-line:before { content: "\ebad"; } -.ri-code-view:before { content: "\ebae"; } -.ri-codepen-fill:before { content: "\ebaf"; } -.ri-codepen-line:before { content: "\ebb0"; } -.ri-coin-fill:before { content: "\ebb1"; } -.ri-coin-line:before { content: "\ebb2"; } -.ri-coins-fill:before { content: "\ebb3"; } -.ri-coins-line:before { content: "\ebb4"; } -.ri-collage-fill:before { content: "\ebb5"; } -.ri-collage-line:before { content: "\ebb6"; } -.ri-command-fill:before { content: "\ebb7"; } -.ri-command-line:before { content: "\ebb8"; } -.ri-community-fill:before { content: "\ebb9"; } -.ri-community-line:before { content: "\ebba"; } -.ri-compass-2-fill:before { content: "\ebbb"; } -.ri-compass-2-line:before { content: "\ebbc"; } -.ri-compass-3-fill:before { content: "\ebbd"; } -.ri-compass-3-line:before { content: "\ebbe"; } -.ri-compass-4-fill:before { content: "\ebbf"; } -.ri-compass-4-line:before { content: "\ebc0"; } -.ri-compass-discover-fill:before { content: "\ebc1"; } -.ri-compass-discover-line:before { content: "\ebc2"; } -.ri-compass-fill:before { content: "\ebc3"; } -.ri-compass-line:before { content: "\ebc4"; } -.ri-compasses-2-fill:before { content: "\ebc5"; } -.ri-compasses-2-line:before { content: "\ebc6"; } -.ri-compasses-fill:before { content: "\ebc7"; } -.ri-compasses-line:before { content: "\ebc8"; } -.ri-computer-fill:before { content: "\ebc9"; } -.ri-computer-line:before { content: "\ebca"; } -.ri-contacts-book-2-fill:before { content: "\ebcb"; } -.ri-contacts-book-2-line:before { content: "\ebcc"; } -.ri-contacts-book-fill:before { content: "\ebcd"; } -.ri-contacts-book-line:before { content: "\ebce"; } -.ri-contacts-book-upload-fill:before { content: "\ebcf"; } -.ri-contacts-book-upload-line:before { content: "\ebd0"; } -.ri-contacts-fill:before { content: "\ebd1"; } -.ri-contacts-line:before { content: "\ebd2"; } -.ri-contrast-2-fill:before { content: "\ebd3"; } -.ri-contrast-2-line:before { content: "\ebd4"; } -.ri-contrast-drop-2-fill:before { content: "\ebd5"; } -.ri-contrast-drop-2-line:before { content: "\ebd6"; } -.ri-contrast-drop-fill:before { content: "\ebd7"; } -.ri-contrast-drop-line:before { content: "\ebd8"; } -.ri-contrast-fill:before { content: "\ebd9"; } -.ri-contrast-line:before { content: "\ebda"; } -.ri-copper-coin-fill:before { content: "\ebdb"; } -.ri-copper-coin-line:before { content: "\ebdc"; } -.ri-copper-diamond-fill:before { content: "\ebdd"; } -.ri-copper-diamond-line:before { content: "\ebde"; } -.ri-copyleft-fill:before { content: "\ebdf"; } -.ri-copyleft-line:before { content: "\ebe0"; } -.ri-copyright-fill:before { content: "\ebe1"; } -.ri-copyright-line:before { content: "\ebe2"; } -.ri-coreos-fill:before { content: "\ebe3"; } -.ri-coreos-line:before { content: "\ebe4"; } -.ri-coupon-2-fill:before { content: "\ebe5"; } -.ri-coupon-2-line:before { content: "\ebe6"; } -.ri-coupon-3-fill:before { content: "\ebe7"; } -.ri-coupon-3-line:before { content: "\ebe8"; } -.ri-coupon-4-fill:before { content: "\ebe9"; } -.ri-coupon-4-line:before { content: "\ebea"; } -.ri-coupon-5-fill:before { content: "\ebeb"; } -.ri-coupon-5-line:before { content: "\ebec"; } -.ri-coupon-fill:before { content: "\ebed"; } -.ri-coupon-line:before { content: "\ebee"; } -.ri-cpu-fill:before { content: "\ebef"; } -.ri-cpu-line:before { content: "\ebf0"; } -.ri-creative-commons-by-fill:before { content: "\ebf1"; } -.ri-creative-commons-by-line:before { content: "\ebf2"; } -.ri-creative-commons-fill:before { content: "\ebf3"; } -.ri-creative-commons-line:before { content: "\ebf4"; } -.ri-creative-commons-nc-fill:before { content: "\ebf5"; } -.ri-creative-commons-nc-line:before { content: "\ebf6"; } -.ri-creative-commons-nd-fill:before { content: "\ebf7"; } -.ri-creative-commons-nd-line:before { content: "\ebf8"; } -.ri-creative-commons-sa-fill:before { content: "\ebf9"; } -.ri-creative-commons-sa-line:before { content: "\ebfa"; } -.ri-creative-commons-zero-fill:before { content: "\ebfb"; } -.ri-creative-commons-zero-line:before { content: "\ebfc"; } -.ri-criminal-fill:before { content: "\ebfd"; } -.ri-criminal-line:before { content: "\ebfe"; } -.ri-crop-2-fill:before { content: "\ebff"; } -.ri-crop-2-line:before { content: "\ec00"; } -.ri-crop-fill:before { content: "\ec01"; } -.ri-crop-line:before { content: "\ec02"; } -.ri-css3-fill:before { content: "\ec03"; } -.ri-css3-line:before { content: "\ec04"; } -.ri-cup-fill:before { content: "\ec05"; } -.ri-cup-line:before { content: "\ec06"; } -.ri-currency-fill:before { content: "\ec07"; } -.ri-currency-line:before { content: "\ec08"; } -.ri-cursor-fill:before { content: "\ec09"; } -.ri-cursor-line:before { content: "\ec0a"; } -.ri-customer-service-2-fill:before { content: "\ec0b"; } -.ri-customer-service-2-line:before { content: "\ec0c"; } -.ri-customer-service-fill:before { content: "\ec0d"; } -.ri-customer-service-line:before { content: "\ec0e"; } -.ri-dashboard-2-fill:before { content: "\ec0f"; } -.ri-dashboard-2-line:before { content: "\ec10"; } -.ri-dashboard-3-fill:before { content: "\ec11"; } -.ri-dashboard-3-line:before { content: "\ec12"; } -.ri-dashboard-fill:before { content: "\ec13"; } -.ri-dashboard-line:before { content: "\ec14"; } -.ri-database-2-fill:before { content: "\ec15"; } -.ri-database-2-line:before { content: "\ec16"; } -.ri-database-fill:before { content: "\ec17"; } -.ri-database-line:before { content: "\ec18"; } -.ri-delete-back-2-fill:before { content: "\ec19"; } -.ri-delete-back-2-line:before { content: "\ec1a"; } -.ri-delete-back-fill:before { content: "\ec1b"; } -.ri-delete-back-line:before { content: "\ec1c"; } -.ri-delete-bin-2-fill:before { content: "\ec1d"; } -.ri-delete-bin-2-line:before { content: "\ec1e"; } -.ri-delete-bin-3-fill:before { content: "\ec1f"; } -.ri-delete-bin-3-line:before { content: "\ec20"; } -.ri-delete-bin-4-fill:before { content: "\ec21"; } -.ri-delete-bin-4-line:before { content: "\ec22"; } -.ri-delete-bin-5-fill:before { content: "\ec23"; } -.ri-delete-bin-5-line:before { content: "\ec24"; } -.ri-delete-bin-6-fill:before { content: "\ec25"; } -.ri-delete-bin-6-line:before { content: "\ec26"; } -.ri-delete-bin-7-fill:before { content: "\ec27"; } -.ri-delete-bin-7-line:before { content: "\ec28"; } -.ri-delete-bin-fill:before { content: "\ec29"; } -.ri-delete-bin-line:before { content: "\ec2a"; } -.ri-delete-column:before { content: "\ec2b"; } -.ri-delete-row:before { content: "\ec2c"; } -.ri-device-fill:before { content: "\ec2d"; } -.ri-device-line:before { content: "\ec2e"; } -.ri-device-recover-fill:before { content: "\ec2f"; } -.ri-device-recover-line:before { content: "\ec30"; } -.ri-dingding-fill:before { content: "\ec31"; } -.ri-dingding-line:before { content: "\ec32"; } -.ri-direction-fill:before { content: "\ec33"; } -.ri-direction-line:before { content: "\ec34"; } -.ri-disc-fill:before { content: "\ec35"; } -.ri-disc-line:before { content: "\ec36"; } -.ri-discord-fill:before { content: "\ec37"; } -.ri-discord-line:before { content: "\ec38"; } -.ri-discuss-fill:before { content: "\ec39"; } -.ri-discuss-line:before { content: "\ec3a"; } -.ri-dislike-fill:before { content: "\ec3b"; } -.ri-dislike-line:before { content: "\ec3c"; } -.ri-disqus-fill:before { content: "\ec3d"; } -.ri-disqus-line:before { content: "\ec3e"; } -.ri-divide-fill:before { content: "\ec3f"; } -.ri-divide-line:before { content: "\ec40"; } -.ri-donut-chart-fill:before { content: "\ec41"; } -.ri-donut-chart-line:before { content: "\ec42"; } -.ri-door-closed-fill:before { content: "\ec43"; } -.ri-door-closed-line:before { content: "\ec44"; } -.ri-door-fill:before { content: "\ec45"; } -.ri-door-line:before { content: "\ec46"; } -.ri-door-lock-box-fill:before { content: "\ec47"; } -.ri-door-lock-box-line:before { content: "\ec48"; } -.ri-door-lock-fill:before { content: "\ec49"; } -.ri-door-lock-line:before { content: "\ec4a"; } -.ri-door-open-fill:before { content: "\ec4b"; } -.ri-door-open-line:before { content: "\ec4c"; } -.ri-dossier-fill:before { content: "\ec4d"; } -.ri-dossier-line:before { content: "\ec4e"; } -.ri-douban-fill:before { content: "\ec4f"; } -.ri-douban-line:before { content: "\ec50"; } -.ri-double-quotes-l:before { content: "\ec51"; } -.ri-double-quotes-r:before { content: "\ec52"; } -.ri-download-2-fill:before { content: "\ec53"; } -.ri-download-2-line:before { content: "\ec54"; } -.ri-download-cloud-2-fill:before { content: "\ec55"; } -.ri-download-cloud-2-line:before { content: "\ec56"; } -.ri-download-cloud-fill:before { content: "\ec57"; } -.ri-download-cloud-line:before { content: "\ec58"; } -.ri-download-fill:before { content: "\ec59"; } -.ri-download-line:before { content: "\ec5a"; } -.ri-draft-fill:before { content: "\ec5b"; } -.ri-draft-line:before { content: "\ec5c"; } -.ri-drag-drop-fill:before { content: "\ec5d"; } -.ri-drag-drop-line:before { content: "\ec5e"; } -.ri-drag-move-2-fill:before { content: "\ec5f"; } -.ri-drag-move-2-line:before { content: "\ec60"; } -.ri-drag-move-fill:before { content: "\ec61"; } -.ri-drag-move-line:before { content: "\ec62"; } -.ri-dribbble-fill:before { content: "\ec63"; } -.ri-dribbble-line:before { content: "\ec64"; } -.ri-drive-fill:before { content: "\ec65"; } -.ri-drive-line:before { content: "\ec66"; } -.ri-drizzle-fill:before { content: "\ec67"; } -.ri-drizzle-line:before { content: "\ec68"; } -.ri-drop-fill:before { content: "\ec69"; } -.ri-drop-line:before { content: "\ec6a"; } -.ri-dropbox-fill:before { content: "\ec6b"; } -.ri-dropbox-line:before { content: "\ec6c"; } -.ri-dual-sim-1-fill:before { content: "\ec6d"; } -.ri-dual-sim-1-line:before { content: "\ec6e"; } -.ri-dual-sim-2-fill:before { content: "\ec6f"; } -.ri-dual-sim-2-line:before { content: "\ec70"; } -.ri-dv-fill:before { content: "\ec71"; } -.ri-dv-line:before { content: "\ec72"; } -.ri-dvd-fill:before { content: "\ec73"; } -.ri-dvd-line:before { content: "\ec74"; } -.ri-e-bike-2-fill:before { content: "\ec75"; } -.ri-e-bike-2-line:before { content: "\ec76"; } -.ri-e-bike-fill:before { content: "\ec77"; } -.ri-e-bike-line:before { content: "\ec78"; } -.ri-earth-fill:before { content: "\ec79"; } -.ri-earth-line:before { content: "\ec7a"; } -.ri-earthquake-fill:before { content: "\ec7b"; } -.ri-earthquake-line:before { content: "\ec7c"; } -.ri-edge-fill:before { content: "\ec7d"; } -.ri-edge-line:before { content: "\ec7e"; } -.ri-edit-2-fill:before { content: "\ec7f"; } -.ri-edit-2-line:before { content: "\ec80"; } -.ri-edit-box-fill:before { content: "\ec81"; } -.ri-edit-box-line:before { content: "\ec82"; } -.ri-edit-circle-fill:before { content: "\ec83"; } -.ri-edit-circle-line:before { content: "\ec84"; } -.ri-edit-fill:before { content: "\ec85"; } -.ri-edit-line:before { content: "\ec86"; } -.ri-eject-fill:before { content: "\ec87"; } -.ri-eject-line:before { content: "\ec88"; } -.ri-emotion-2-fill:before { content: "\ec89"; } -.ri-emotion-2-line:before { content: "\ec8a"; } -.ri-emotion-fill:before { content: "\ec8b"; } -.ri-emotion-happy-fill:before { content: "\ec8c"; } -.ri-emotion-happy-line:before { content: "\ec8d"; } -.ri-emotion-laugh-fill:before { content: "\ec8e"; } -.ri-emotion-laugh-line:before { content: "\ec8f"; } -.ri-emotion-line:before { content: "\ec90"; } -.ri-emotion-normal-fill:before { content: "\ec91"; } -.ri-emotion-normal-line:before { content: "\ec92"; } -.ri-emotion-sad-fill:before { content: "\ec93"; } -.ri-emotion-sad-line:before { content: "\ec94"; } -.ri-emotion-unhappy-fill:before { content: "\ec95"; } -.ri-emotion-unhappy-line:before { content: "\ec96"; } -.ri-empathize-fill:before { content: "\ec97"; } -.ri-empathize-line:before { content: "\ec98"; } -.ri-emphasis-cn:before { content: "\ec99"; } -.ri-emphasis:before { content: "\ec9a"; } -.ri-english-input:before { content: "\ec9b"; } -.ri-equalizer-fill:before { content: "\ec9c"; } -.ri-equalizer-line:before { content: "\ec9d"; } -.ri-eraser-fill:before { content: "\ec9e"; } -.ri-eraser-line:before { content: "\ec9f"; } -.ri-error-warning-fill:before { content: "\eca0"; } -.ri-error-warning-line:before { content: "\eca1"; } -.ri-evernote-fill:before { content: "\eca2"; } -.ri-evernote-line:before { content: "\eca3"; } -.ri-exchange-box-fill:before { content: "\eca4"; } -.ri-exchange-box-line:before { content: "\eca5"; } -.ri-exchange-cny-fill:before { content: "\eca6"; } -.ri-exchange-cny-line:before { content: "\eca7"; } -.ri-exchange-dollar-fill:before { content: "\eca8"; } -.ri-exchange-dollar-line:before { content: "\eca9"; } -.ri-exchange-fill:before { content: "\ecaa"; } -.ri-exchange-funds-fill:before { content: "\ecab"; } -.ri-exchange-funds-line:before { content: "\ecac"; } -.ri-exchange-line:before { content: "\ecad"; } -.ri-external-link-fill:before { content: "\ecae"; } -.ri-external-link-line:before { content: "\ecaf"; } -.ri-eye-2-fill:before { content: "\ecb0"; } -.ri-eye-2-line:before { content: "\ecb1"; } -.ri-eye-close-fill:before { content: "\ecb2"; } -.ri-eye-close-line:before { content: "\ecb3"; } -.ri-eye-fill:before { content: "\ecb4"; } -.ri-eye-line:before { content: "\ecb5"; } -.ri-eye-off-fill:before { content: "\ecb6"; } -.ri-eye-off-line:before { content: "\ecb7"; } -.ri-facebook-box-fill:before { content: "\ecb8"; } -.ri-facebook-box-line:before { content: "\ecb9"; } -.ri-facebook-circle-fill:before { content: "\ecba"; } -.ri-facebook-circle-line:before { content: "\ecbb"; } -.ri-facebook-fill:before { content: "\ecbc"; } -.ri-facebook-line:before { content: "\ecbd"; } -.ri-fahrenheit-fill:before { content: "\ecbe"; } -.ri-fahrenheit-line:before { content: "\ecbf"; } -.ri-feedback-fill:before { content: "\ecc0"; } -.ri-feedback-line:before { content: "\ecc1"; } -.ri-file-2-fill:before { content: "\ecc2"; } -.ri-file-2-line:before { content: "\ecc3"; } -.ri-file-3-fill:before { content: "\ecc4"; } -.ri-file-3-line:before { content: "\ecc5"; } -.ri-file-4-fill:before { content: "\ecc6"; } -.ri-file-4-line:before { content: "\ecc7"; } -.ri-file-add-fill:before { content: "\ecc8"; } -.ri-file-add-line:before { content: "\ecc9"; } -.ri-file-chart-2-fill:before { content: "\ecca"; } -.ri-file-chart-2-line:before { content: "\eccb"; } -.ri-file-chart-fill:before { content: "\eccc"; } -.ri-file-chart-line:before { content: "\eccd"; } -.ri-file-cloud-fill:before { content: "\ecce"; } -.ri-file-cloud-line:before { content: "\eccf"; } -.ri-file-code-fill:before { content: "\ecd0"; } -.ri-file-code-line:before { content: "\ecd1"; } -.ri-file-copy-2-fill:before { content: "\ecd2"; } -.ri-file-copy-2-line:before { content: "\ecd3"; } -.ri-file-copy-fill:before { content: "\ecd4"; } -.ri-file-copy-line:before { content: "\ecd5"; } -.ri-file-damage-fill:before { content: "\ecd6"; } -.ri-file-damage-line:before { content: "\ecd7"; } -.ri-file-download-fill:before { content: "\ecd8"; } -.ri-file-download-line:before { content: "\ecd9"; } -.ri-file-edit-fill:before { content: "\ecda"; } -.ri-file-edit-line:before { content: "\ecdb"; } -.ri-file-excel-2-fill:before { content: "\ecdc"; } -.ri-file-excel-2-line:before { content: "\ecdd"; } -.ri-file-excel-fill:before { content: "\ecde"; } -.ri-file-excel-line:before { content: "\ecdf"; } -.ri-file-fill:before { content: "\ece0"; } -.ri-file-forbid-fill:before { content: "\ece1"; } -.ri-file-forbid-line:before { content: "\ece2"; } -.ri-file-gif-fill:before { content: "\ece3"; } -.ri-file-gif-line:before { content: "\ece4"; } -.ri-file-history-fill:before { content: "\ece5"; } -.ri-file-history-line:before { content: "\ece6"; } -.ri-file-hwp-fill:before { content: "\ece7"; } -.ri-file-hwp-line:before { content: "\ece8"; } -.ri-file-info-fill:before { content: "\ece9"; } -.ri-file-info-line:before { content: "\ecea"; } -.ri-file-line:before { content: "\eceb"; } -.ri-file-list-2-fill:before { content: "\ecec"; } -.ri-file-list-2-line:before { content: "\eced"; } -.ri-file-list-3-fill:before { content: "\ecee"; } -.ri-file-list-3-line:before { content: "\ecef"; } -.ri-file-list-fill:before { content: "\ecf0"; } -.ri-file-list-line:before { content: "\ecf1"; } -.ri-file-lock-fill:before { content: "\ecf2"; } -.ri-file-lock-line:before { content: "\ecf3"; } -.ri-file-marked-fill:before { content: "\ecf4"; } -.ri-file-marked-line:before { content: "\ecf5"; } -.ri-file-music-fill:before { content: "\ecf6"; } -.ri-file-music-line:before { content: "\ecf7"; } -.ri-file-paper-2-fill:before { content: "\ecf8"; } -.ri-file-paper-2-line:before { content: "\ecf9"; } -.ri-file-paper-fill:before { content: "\ecfa"; } -.ri-file-paper-line:before { content: "\ecfb"; } -.ri-file-pdf-fill:before { content: "\ecfc"; } -.ri-file-pdf-line:before { content: "\ecfd"; } -.ri-file-ppt-2-fill:before { content: "\ecfe"; } -.ri-file-ppt-2-line:before { content: "\ecff"; } -.ri-file-ppt-fill:before { content: "\ed00"; } -.ri-file-ppt-line:before { content: "\ed01"; } -.ri-file-reduce-fill:before { content: "\ed02"; } -.ri-file-reduce-line:before { content: "\ed03"; } -.ri-file-search-fill:before { content: "\ed04"; } -.ri-file-search-line:before { content: "\ed05"; } -.ri-file-settings-fill:before { content: "\ed06"; } -.ri-file-settings-line:before { content: "\ed07"; } -.ri-file-shield-2-fill:before { content: "\ed08"; } -.ri-file-shield-2-line:before { content: "\ed09"; } -.ri-file-shield-fill:before { content: "\ed0a"; } -.ri-file-shield-line:before { content: "\ed0b"; } -.ri-file-shred-fill:before { content: "\ed0c"; } -.ri-file-shred-line:before { content: "\ed0d"; } -.ri-file-text-fill:before { content: "\ed0e"; } -.ri-file-text-line:before { content: "\ed0f"; } -.ri-file-transfer-fill:before { content: "\ed10"; } -.ri-file-transfer-line:before { content: "\ed11"; } -.ri-file-unknow-fill:before { content: "\ed12"; } -.ri-file-unknow-line:before { content: "\ed13"; } -.ri-file-upload-fill:before { content: "\ed14"; } -.ri-file-upload-line:before { content: "\ed15"; } -.ri-file-user-fill:before { content: "\ed16"; } -.ri-file-user-line:before { content: "\ed17"; } -.ri-file-warning-fill:before { content: "\ed18"; } -.ri-file-warning-line:before { content: "\ed19"; } -.ri-file-word-2-fill:before { content: "\ed1a"; } -.ri-file-word-2-line:before { content: "\ed1b"; } -.ri-file-word-fill:before { content: "\ed1c"; } -.ri-file-word-line:before { content: "\ed1d"; } -.ri-file-zip-fill:before { content: "\ed1e"; } -.ri-file-zip-line:before { content: "\ed1f"; } -.ri-film-fill:before { content: "\ed20"; } -.ri-film-line:before { content: "\ed21"; } -.ri-filter-2-fill:before { content: "\ed22"; } -.ri-filter-2-line:before { content: "\ed23"; } -.ri-filter-3-fill:before { content: "\ed24"; } -.ri-filter-3-line:before { content: "\ed25"; } -.ri-filter-fill:before { content: "\ed26"; } -.ri-filter-line:before { content: "\ed27"; } -.ri-filter-off-fill:before { content: "\ed28"; } -.ri-filter-off-line:before { content: "\ed29"; } -.ri-find-replace-fill:before { content: "\ed2a"; } -.ri-find-replace-line:before { content: "\ed2b"; } -.ri-finder-fill:before { content: "\ed2c"; } -.ri-finder-line:before { content: "\ed2d"; } -.ri-fingerprint-2-fill:before { content: "\ed2e"; } -.ri-fingerprint-2-line:before { content: "\ed2f"; } -.ri-fingerprint-fill:before { content: "\ed30"; } -.ri-fingerprint-line:before { content: "\ed31"; } -.ri-fire-fill:before { content: "\ed32"; } -.ri-fire-line:before { content: "\ed33"; } -.ri-firefox-fill:before { content: "\ed34"; } -.ri-firefox-line:before { content: "\ed35"; } -.ri-first-aid-kit-fill:before { content: "\ed36"; } -.ri-first-aid-kit-line:before { content: "\ed37"; } -.ri-flag-2-fill:before { content: "\ed38"; } -.ri-flag-2-line:before { content: "\ed39"; } -.ri-flag-fill:before { content: "\ed3a"; } -.ri-flag-line:before { content: "\ed3b"; } -.ri-flashlight-fill:before { content: "\ed3c"; } -.ri-flashlight-line:before { content: "\ed3d"; } -.ri-flask-fill:before { content: "\ed3e"; } -.ri-flask-line:before { content: "\ed3f"; } -.ri-flight-land-fill:before { content: "\ed40"; } -.ri-flight-land-line:before { content: "\ed41"; } -.ri-flight-takeoff-fill:before { content: "\ed42"; } -.ri-flight-takeoff-line:before { content: "\ed43"; } -.ri-flood-fill:before { content: "\ed44"; } -.ri-flood-line:before { content: "\ed45"; } -.ri-flow-chart:before { content: "\ed46"; } -.ri-flutter-fill:before { content: "\ed47"; } -.ri-flutter-line:before { content: "\ed48"; } -.ri-focus-2-fill:before { content: "\ed49"; } -.ri-focus-2-line:before { content: "\ed4a"; } -.ri-focus-3-fill:before { content: "\ed4b"; } -.ri-focus-3-line:before { content: "\ed4c"; } -.ri-focus-fill:before { content: "\ed4d"; } -.ri-focus-line:before { content: "\ed4e"; } -.ri-foggy-fill:before { content: "\ed4f"; } -.ri-foggy-line:before { content: "\ed50"; } -.ri-folder-2-fill:before { content: "\ed51"; } -.ri-folder-2-line:before { content: "\ed52"; } -.ri-folder-3-fill:before { content: "\ed53"; } -.ri-folder-3-line:before { content: "\ed54"; } -.ri-folder-4-fill:before { content: "\ed55"; } -.ri-folder-4-line:before { content: "\ed56"; } -.ri-folder-5-fill:before { content: "\ed57"; } -.ri-folder-5-line:before { content: "\ed58"; } -.ri-folder-add-fill:before { content: "\ed59"; } -.ri-folder-add-line:before { content: "\ed5a"; } -.ri-folder-chart-2-fill:before { content: "\ed5b"; } -.ri-folder-chart-2-line:before { content: "\ed5c"; } -.ri-folder-chart-fill:before { content: "\ed5d"; } -.ri-folder-chart-line:before { content: "\ed5e"; } -.ri-folder-download-fill:before { content: "\ed5f"; } -.ri-folder-download-line:before { content: "\ed60"; } -.ri-folder-fill:before { content: "\ed61"; } -.ri-folder-forbid-fill:before { content: "\ed62"; } -.ri-folder-forbid-line:before { content: "\ed63"; } -.ri-folder-history-fill:before { content: "\ed64"; } -.ri-folder-history-line:before { content: "\ed65"; } -.ri-folder-info-fill:before { content: "\ed66"; } -.ri-folder-info-line:before { content: "\ed67"; } -.ri-folder-keyhole-fill:before { content: "\ed68"; } -.ri-folder-keyhole-line:before { content: "\ed69"; } -.ri-folder-line:before { content: "\ed6a"; } -.ri-folder-lock-fill:before { content: "\ed6b"; } -.ri-folder-lock-line:before { content: "\ed6c"; } -.ri-folder-music-fill:before { content: "\ed6d"; } -.ri-folder-music-line:before { content: "\ed6e"; } -.ri-folder-open-fill:before { content: "\ed6f"; } -.ri-folder-open-line:before { content: "\ed70"; } -.ri-folder-received-fill:before { content: "\ed71"; } -.ri-folder-received-line:before { content: "\ed72"; } -.ri-folder-reduce-fill:before { content: "\ed73"; } -.ri-folder-reduce-line:before { content: "\ed74"; } -.ri-folder-settings-fill:before { content: "\ed75"; } -.ri-folder-settings-line:before { content: "\ed76"; } -.ri-folder-shared-fill:before { content: "\ed77"; } -.ri-folder-shared-line:before { content: "\ed78"; } -.ri-folder-shield-2-fill:before { content: "\ed79"; } -.ri-folder-shield-2-line:before { content: "\ed7a"; } -.ri-folder-shield-fill:before { content: "\ed7b"; } -.ri-folder-shield-line:before { content: "\ed7c"; } -.ri-folder-transfer-fill:before { content: "\ed7d"; } -.ri-folder-transfer-line:before { content: "\ed7e"; } -.ri-folder-unknow-fill:before { content: "\ed7f"; } -.ri-folder-unknow-line:before { content: "\ed80"; } -.ri-folder-upload-fill:before { content: "\ed81"; } -.ri-folder-upload-line:before { content: "\ed82"; } -.ri-folder-user-fill:before { content: "\ed83"; } -.ri-folder-user-line:before { content: "\ed84"; } -.ri-folder-warning-fill:before { content: "\ed85"; } -.ri-folder-warning-line:before { content: "\ed86"; } -.ri-folder-zip-fill:before { content: "\ed87"; } -.ri-folder-zip-line:before { content: "\ed88"; } -.ri-folders-fill:before { content: "\ed89"; } -.ri-folders-line:before { content: "\ed8a"; } -.ri-font-color:before { content: "\ed8b"; } -.ri-font-size-2:before { content: "\ed8c"; } -.ri-font-size:before { content: "\ed8d"; } -.ri-football-fill:before { content: "\ed8e"; } -.ri-football-line:before { content: "\ed8f"; } -.ri-footprint-fill:before { content: "\ed90"; } -.ri-footprint-line:before { content: "\ed91"; } -.ri-forbid-2-fill:before { content: "\ed92"; } -.ri-forbid-2-line:before { content: "\ed93"; } -.ri-forbid-fill:before { content: "\ed94"; } -.ri-forbid-line:before { content: "\ed95"; } -.ri-format-clear:before { content: "\ed96"; } -.ri-fridge-fill:before { content: "\ed97"; } -.ri-fridge-line:before { content: "\ed98"; } -.ri-fullscreen-exit-fill:before { content: "\ed99"; } -.ri-fullscreen-exit-line:before { content: "\ed9a"; } -.ri-fullscreen-fill:before { content: "\ed9b"; } -.ri-fullscreen-line:before { content: "\ed9c"; } -.ri-function-fill:before { content: "\ed9d"; } -.ri-function-line:before { content: "\ed9e"; } -.ri-functions:before { content: "\ed9f"; } -.ri-funds-box-fill:before { content: "\eda0"; } -.ri-funds-box-line:before { content: "\eda1"; } -.ri-funds-fill:before { content: "\eda2"; } -.ri-funds-line:before { content: "\eda3"; } -.ri-gallery-fill:before { content: "\eda4"; } -.ri-gallery-line:before { content: "\eda5"; } -.ri-gallery-upload-fill:before { content: "\eda6"; } -.ri-gallery-upload-line:before { content: "\eda7"; } -.ri-game-fill:before { content: "\eda8"; } -.ri-game-line:before { content: "\eda9"; } -.ri-gamepad-fill:before { content: "\edaa"; } -.ri-gamepad-line:before { content: "\edab"; } -.ri-gas-station-fill:before { content: "\edac"; } -.ri-gas-station-line:before { content: "\edad"; } -.ri-gatsby-fill:before { content: "\edae"; } -.ri-gatsby-line:before { content: "\edaf"; } -.ri-genderless-fill:before { content: "\edb0"; } -.ri-genderless-line:before { content: "\edb1"; } -.ri-ghost-2-fill:before { content: "\edb2"; } -.ri-ghost-2-line:before { content: "\edb3"; } -.ri-ghost-fill:before { content: "\edb4"; } -.ri-ghost-line:before { content: "\edb5"; } -.ri-ghost-smile-fill:before { content: "\edb6"; } -.ri-ghost-smile-line:before { content: "\edb7"; } -.ri-gift-2-fill:before { content: "\edb8"; } -.ri-gift-2-line:before { content: "\edb9"; } -.ri-gift-fill:before { content: "\edba"; } -.ri-gift-line:before { content: "\edbb"; } -.ri-git-branch-fill:before { content: "\edbc"; } -.ri-git-branch-line:before { content: "\edbd"; } -.ri-git-commit-fill:before { content: "\edbe"; } -.ri-git-commit-line:before { content: "\edbf"; } -.ri-git-merge-fill:before { content: "\edc0"; } -.ri-git-merge-line:before { content: "\edc1"; } -.ri-git-pull-request-fill:before { content: "\edc2"; } -.ri-git-pull-request-line:before { content: "\edc3"; } -.ri-git-repository-commits-fill:before { content: "\edc4"; } -.ri-git-repository-commits-line:before { content: "\edc5"; } -.ri-git-repository-fill:before { content: "\edc6"; } -.ri-git-repository-line:before { content: "\edc7"; } -.ri-git-repository-private-fill:before { content: "\edc8"; } -.ri-git-repository-private-line:before { content: "\edc9"; } -.ri-github-fill:before { content: "\edca"; } -.ri-github-line:before { content: "\edcb"; } -.ri-gitlab-fill:before { content: "\edcc"; } -.ri-gitlab-line:before { content: "\edcd"; } -.ri-global-fill:before { content: "\edce"; } -.ri-global-line:before { content: "\edcf"; } -.ri-globe-fill:before { content: "\edd0"; } -.ri-globe-line:before { content: "\edd1"; } -.ri-goblet-fill:before { content: "\edd2"; } -.ri-goblet-line:before { content: "\edd3"; } -.ri-google-fill:before { content: "\edd4"; } -.ri-google-line:before { content: "\edd5"; } -.ri-google-play-fill:before { content: "\edd6"; } -.ri-google-play-line:before { content: "\edd7"; } -.ri-government-fill:before { content: "\edd8"; } -.ri-government-line:before { content: "\edd9"; } -.ri-gps-fill:before { content: "\edda"; } -.ri-gps-line:before { content: "\eddb"; } -.ri-gradienter-fill:before { content: "\eddc"; } -.ri-gradienter-line:before { content: "\eddd"; } -.ri-grid-fill:before { content: "\edde"; } -.ri-grid-line:before { content: "\eddf"; } -.ri-group-2-fill:before { content: "\ede0"; } -.ri-group-2-line:before { content: "\ede1"; } -.ri-group-fill:before { content: "\ede2"; } -.ri-group-line:before { content: "\ede3"; } -.ri-guide-fill:before { content: "\ede4"; } -.ri-guide-line:before { content: "\ede5"; } -.ri-h-1:before { content: "\ede6"; } -.ri-h-2:before { content: "\ede7"; } -.ri-h-3:before { content: "\ede8"; } -.ri-h-4:before { content: "\ede9"; } -.ri-h-5:before { content: "\edea"; } -.ri-h-6:before { content: "\edeb"; } -.ri-hail-fill:before { content: "\edec"; } -.ri-hail-line:before { content: "\eded"; } -.ri-hammer-fill:before { content: "\edee"; } -.ri-hammer-line:before { content: "\edef"; } -.ri-hand-coin-fill:before { content: "\edf0"; } -.ri-hand-coin-line:before { content: "\edf1"; } -.ri-hand-heart-fill:before { content: "\edf2"; } -.ri-hand-heart-line:before { content: "\edf3"; } -.ri-hand-sanitizer-fill:before { content: "\edf4"; } -.ri-hand-sanitizer-line:before { content: "\edf5"; } -.ri-handbag-fill:before { content: "\edf6"; } -.ri-handbag-line:before { content: "\edf7"; } -.ri-hard-drive-2-fill:before { content: "\edf8"; } -.ri-hard-drive-2-line:before { content: "\edf9"; } -.ri-hard-drive-fill:before { content: "\edfa"; } -.ri-hard-drive-line:before { content: "\edfb"; } -.ri-hashtag:before { content: "\edfc"; } -.ri-haze-2-fill:before { content: "\edfd"; } -.ri-haze-2-line:before { content: "\edfe"; } -.ri-haze-fill:before { content: "\edff"; } -.ri-haze-line:before { content: "\ee00"; } -.ri-hd-fill:before { content: "\ee01"; } -.ri-hd-line:before { content: "\ee02"; } -.ri-heading:before { content: "\ee03"; } -.ri-headphone-fill:before { content: "\ee04"; } -.ri-headphone-line:before { content: "\ee05"; } -.ri-health-book-fill:before { content: "\ee06"; } -.ri-health-book-line:before { content: "\ee07"; } -.ri-heart-2-fill:before { content: "\ee08"; } -.ri-heart-2-line:before { content: "\ee09"; } -.ri-heart-3-fill:before { content: "\ee0a"; } -.ri-heart-3-line:before { content: "\ee0b"; } -.ri-heart-add-fill:before { content: "\ee0c"; } -.ri-heart-add-line:before { content: "\ee0d"; } -.ri-heart-fill:before { content: "\ee0e"; } -.ri-heart-line:before { content: "\ee0f"; } -.ri-heart-pulse-fill:before { content: "\ee10"; } -.ri-heart-pulse-line:before { content: "\ee11"; } -.ri-hearts-fill:before { content: "\ee12"; } -.ri-hearts-line:before { content: "\ee13"; } -.ri-heavy-showers-fill:before { content: "\ee14"; } -.ri-heavy-showers-line:before { content: "\ee15"; } -.ri-history-fill:before { content: "\ee16"; } -.ri-history-line:before { content: "\ee17"; } -.ri-home-2-fill:before { content: "\ee18"; } -.ri-home-2-line:before { content: "\ee19"; } -.ri-home-3-fill:before { content: "\ee1a"; } -.ri-home-3-line:before { content: "\ee1b"; } -.ri-home-4-fill:before { content: "\ee1c"; } -.ri-home-4-line:before { content: "\ee1d"; } -.ri-home-5-fill:before { content: "\ee1e"; } -.ri-home-5-line:before { content: "\ee1f"; } -.ri-home-6-fill:before { content: "\ee20"; } -.ri-home-6-line:before { content: "\ee21"; } -.ri-home-7-fill:before { content: "\ee22"; } -.ri-home-7-line:before { content: "\ee23"; } -.ri-home-8-fill:before { content: "\ee24"; } -.ri-home-8-line:before { content: "\ee25"; } -.ri-home-fill:before { content: "\ee26"; } -.ri-home-gear-fill:before { content: "\ee27"; } -.ri-home-gear-line:before { content: "\ee28"; } -.ri-home-heart-fill:before { content: "\ee29"; } -.ri-home-heart-line:before { content: "\ee2a"; } -.ri-home-line:before { content: "\ee2b"; } -.ri-home-smile-2-fill:before { content: "\ee2c"; } -.ri-home-smile-2-line:before { content: "\ee2d"; } -.ri-home-smile-fill:before { content: "\ee2e"; } -.ri-home-smile-line:before { content: "\ee2f"; } -.ri-home-wifi-fill:before { content: "\ee30"; } -.ri-home-wifi-line:before { content: "\ee31"; } -.ri-honor-of-kings-fill:before { content: "\ee32"; } -.ri-honor-of-kings-line:before { content: "\ee33"; } -.ri-honour-fill:before { content: "\ee34"; } -.ri-honour-line:before { content: "\ee35"; } -.ri-hospital-fill:before { content: "\ee36"; } -.ri-hospital-line:before { content: "\ee37"; } -.ri-hotel-bed-fill:before { content: "\ee38"; } -.ri-hotel-bed-line:before { content: "\ee39"; } -.ri-hotel-fill:before { content: "\ee3a"; } -.ri-hotel-line:before { content: "\ee3b"; } -.ri-hotspot-fill:before { content: "\ee3c"; } -.ri-hotspot-line:before { content: "\ee3d"; } -.ri-hq-fill:before { content: "\ee3e"; } -.ri-hq-line:before { content: "\ee3f"; } -.ri-html5-fill:before { content: "\ee40"; } -.ri-html5-line:before { content: "\ee41"; } -.ri-ie-fill:before { content: "\ee42"; } -.ri-ie-line:before { content: "\ee43"; } -.ri-image-2-fill:before { content: "\ee44"; } -.ri-image-2-line:before { content: "\ee45"; } -.ri-image-add-fill:before { content: "\ee46"; } -.ri-image-add-line:before { content: "\ee47"; } -.ri-image-edit-fill:before { content: "\ee48"; } -.ri-image-edit-line:before { content: "\ee49"; } -.ri-image-fill:before { content: "\ee4a"; } -.ri-image-line:before { content: "\ee4b"; } -.ri-inbox-archive-fill:before { content: "\ee4c"; } -.ri-inbox-archive-line:before { content: "\ee4d"; } -.ri-inbox-fill:before { content: "\ee4e"; } -.ri-inbox-line:before { content: "\ee4f"; } -.ri-inbox-unarchive-fill:before { content: "\ee50"; } -.ri-inbox-unarchive-line:before { content: "\ee51"; } -.ri-increase-decrease-fill:before { content: "\ee52"; } -.ri-increase-decrease-line:before { content: "\ee53"; } -.ri-indent-decrease:before { content: "\ee54"; } -.ri-indent-increase:before { content: "\ee55"; } -.ri-indeterminate-circle-fill:before { content: "\ee56"; } -.ri-indeterminate-circle-line:before { content: "\ee57"; } -.ri-information-fill:before { content: "\ee58"; } -.ri-information-line:before { content: "\ee59"; } -.ri-infrared-thermometer-fill:before { content: "\ee5a"; } -.ri-infrared-thermometer-line:before { content: "\ee5b"; } -.ri-ink-bottle-fill:before { content: "\ee5c"; } -.ri-ink-bottle-line:before { content: "\ee5d"; } -.ri-input-cursor-move:before { content: "\ee5e"; } -.ri-input-method-fill:before { content: "\ee5f"; } -.ri-input-method-line:before { content: "\ee60"; } -.ri-insert-column-left:before { content: "\ee61"; } -.ri-insert-column-right:before { content: "\ee62"; } -.ri-insert-row-bottom:before { content: "\ee63"; } -.ri-insert-row-top:before { content: "\ee64"; } -.ri-instagram-fill:before { content: "\ee65"; } -.ri-instagram-line:before { content: "\ee66"; } -.ri-install-fill:before { content: "\ee67"; } -.ri-install-line:before { content: "\ee68"; } -.ri-invision-fill:before { content: "\ee69"; } -.ri-invision-line:before { content: "\ee6a"; } -.ri-italic:before { content: "\ee6b"; } -.ri-kakao-talk-fill:before { content: "\ee6c"; } -.ri-kakao-talk-line:before { content: "\ee6d"; } -.ri-key-2-fill:before { content: "\ee6e"; } -.ri-key-2-line:before { content: "\ee6f"; } -.ri-key-fill:before { content: "\ee70"; } -.ri-key-line:before { content: "\ee71"; } -.ri-keyboard-box-fill:before { content: "\ee72"; } -.ri-keyboard-box-line:before { content: "\ee73"; } -.ri-keyboard-fill:before { content: "\ee74"; } -.ri-keyboard-line:before { content: "\ee75"; } -.ri-keynote-fill:before { content: "\ee76"; } -.ri-keynote-line:before { content: "\ee77"; } -.ri-knife-blood-fill:before { content: "\ee78"; } -.ri-knife-blood-line:before { content: "\ee79"; } -.ri-knife-fill:before { content: "\ee7a"; } -.ri-knife-line:before { content: "\ee7b"; } -.ri-landscape-fill:before { content: "\ee7c"; } -.ri-landscape-line:before { content: "\ee7d"; } -.ri-layout-2-fill:before { content: "\ee7e"; } -.ri-layout-2-line:before { content: "\ee7f"; } -.ri-layout-3-fill:before { content: "\ee80"; } -.ri-layout-3-line:before { content: "\ee81"; } -.ri-layout-4-fill:before { content: "\ee82"; } -.ri-layout-4-line:before { content: "\ee83"; } -.ri-layout-5-fill:before { content: "\ee84"; } -.ri-layout-5-line:before { content: "\ee85"; } -.ri-layout-6-fill:before { content: "\ee86"; } -.ri-layout-6-line:before { content: "\ee87"; } -.ri-layout-bottom-2-fill:before { content: "\ee88"; } -.ri-layout-bottom-2-line:before { content: "\ee89"; } -.ri-layout-bottom-fill:before { content: "\ee8a"; } -.ri-layout-bottom-line:before { content: "\ee8b"; } -.ri-layout-column-fill:before { content: "\ee8c"; } -.ri-layout-column-line:before { content: "\ee8d"; } -.ri-layout-fill:before { content: "\ee8e"; } -.ri-layout-grid-fill:before { content: "\ee8f"; } -.ri-layout-grid-line:before { content: "\ee90"; } -.ri-layout-left-2-fill:before { content: "\ee91"; } -.ri-layout-left-2-line:before { content: "\ee92"; } -.ri-layout-left-fill:before { content: "\ee93"; } -.ri-layout-left-line:before { content: "\ee94"; } -.ri-layout-line:before { content: "\ee95"; } -.ri-layout-masonry-fill:before { content: "\ee96"; } -.ri-layout-masonry-line:before { content: "\ee97"; } -.ri-layout-right-2-fill:before { content: "\ee98"; } -.ri-layout-right-2-line:before { content: "\ee99"; } -.ri-layout-right-fill:before { content: "\ee9a"; } -.ri-layout-right-line:before { content: "\ee9b"; } -.ri-layout-row-fill:before { content: "\ee9c"; } -.ri-layout-row-line:before { content: "\ee9d"; } -.ri-layout-top-2-fill:before { content: "\ee9e"; } -.ri-layout-top-2-line:before { content: "\ee9f"; } -.ri-layout-top-fill:before { content: "\eea0"; } -.ri-layout-top-line:before { content: "\eea1"; } -.ri-leaf-fill:before { content: "\eea2"; } -.ri-leaf-line:before { content: "\eea3"; } -.ri-lifebuoy-fill:before { content: "\eea4"; } -.ri-lifebuoy-line:before { content: "\eea5"; } -.ri-lightbulb-fill:before { content: "\eea6"; } -.ri-lightbulb-flash-fill:before { content: "\eea7"; } -.ri-lightbulb-flash-line:before { content: "\eea8"; } -.ri-lightbulb-line:before { content: "\eea9"; } -.ri-line-chart-fill:before { content: "\eeaa"; } -.ri-line-chart-line:before { content: "\eeab"; } -.ri-line-fill:before { content: "\eeac"; } -.ri-line-height:before { content: "\eead"; } -.ri-line-line:before { content: "\eeae"; } -.ri-link-m:before { content: "\eeaf"; } -.ri-link-unlink-m:before { content: "\eeb0"; } -.ri-link-unlink:before { content: "\eeb1"; } -.ri-link:before { content: "\eeb2"; } -.ri-linkedin-box-fill:before { content: "\eeb3"; } -.ri-linkedin-box-line:before { content: "\eeb4"; } -.ri-linkedin-fill:before { content: "\eeb5"; } -.ri-linkedin-line:before { content: "\eeb6"; } -.ri-links-fill:before { content: "\eeb7"; } -.ri-links-line:before { content: "\eeb8"; } -.ri-list-check-2:before { content: "\eeb9"; } -.ri-list-check:before { content: "\eeba"; } -.ri-list-ordered:before { content: "\eebb"; } -.ri-list-settings-fill:before { content: "\eebc"; } -.ri-list-settings-line:before { content: "\eebd"; } -.ri-list-unordered:before { content: "\eebe"; } -.ri-live-fill:before { content: "\eebf"; } -.ri-live-line:before { content: "\eec0"; } -.ri-loader-2-fill:before { content: "\eec1"; } -.ri-loader-2-line:before { content: "\eec2"; } -.ri-loader-3-fill:before { content: "\eec3"; } -.ri-loader-3-line:before { content: "\eec4"; } -.ri-loader-4-fill:before { content: "\eec5"; } -.ri-loader-4-line:before { content: "\eec6"; } -.ri-loader-5-fill:before { content: "\eec7"; } -.ri-loader-5-line:before { content: "\eec8"; } -.ri-loader-fill:before { content: "\eec9"; } -.ri-loader-line:before { content: "\eeca"; } -.ri-lock-2-fill:before { content: "\eecb"; } -.ri-lock-2-line:before { content: "\eecc"; } -.ri-lock-fill:before { content: "\eecd"; } -.ri-lock-line:before { content: "\eece"; } -.ri-lock-password-fill:before { content: "\eecf"; } -.ri-lock-password-line:before { content: "\eed0"; } -.ri-lock-unlock-fill:before { content: "\eed1"; } -.ri-lock-unlock-line:before { content: "\eed2"; } -.ri-login-box-fill:before { content: "\eed3"; } -.ri-login-box-line:before { content: "\eed4"; } -.ri-login-circle-fill:before { content: "\eed5"; } -.ri-login-circle-line:before { content: "\eed6"; } -.ri-logout-box-fill:before { content: "\eed7"; } -.ri-logout-box-line:before { content: "\eed8"; } -.ri-logout-box-r-fill:before { content: "\eed9"; } -.ri-logout-box-r-line:before { content: "\eeda"; } -.ri-logout-circle-fill:before { content: "\eedb"; } -.ri-logout-circle-line:before { content: "\eedc"; } -.ri-logout-circle-r-fill:before { content: "\eedd"; } -.ri-logout-circle-r-line:before { content: "\eede"; } -.ri-luggage-cart-fill:before { content: "\eedf"; } -.ri-luggage-cart-line:before { content: "\eee0"; } -.ri-luggage-deposit-fill:before { content: "\eee1"; } -.ri-luggage-deposit-line:before { content: "\eee2"; } -.ri-lungs-fill:before { content: "\eee3"; } -.ri-lungs-line:before { content: "\eee4"; } -.ri-mac-fill:before { content: "\eee5"; } -.ri-mac-line:before { content: "\eee6"; } -.ri-macbook-fill:before { content: "\eee7"; } -.ri-macbook-line:before { content: "\eee8"; } -.ri-magic-fill:before { content: "\eee9"; } -.ri-magic-line:before { content: "\eeea"; } -.ri-mail-add-fill:before { content: "\eeeb"; } -.ri-mail-add-line:before { content: "\eeec"; } -.ri-mail-check-fill:before { content: "\eeed"; } -.ri-mail-check-line:before { content: "\eeee"; } -.ri-mail-close-fill:before { content: "\eeef"; } -.ri-mail-close-line:before { content: "\eef0"; } -.ri-mail-download-fill:before { content: "\eef1"; } -.ri-mail-download-line:before { content: "\eef2"; } -.ri-mail-fill:before { content: "\eef3"; } -.ri-mail-forbid-fill:before { content: "\eef4"; } -.ri-mail-forbid-line:before { content: "\eef5"; } -.ri-mail-line:before { content: "\eef6"; } -.ri-mail-lock-fill:before { content: "\eef7"; } -.ri-mail-lock-line:before { content: "\eef8"; } -.ri-mail-open-fill:before { content: "\eef9"; } -.ri-mail-open-line:before { content: "\eefa"; } -.ri-mail-send-fill:before { content: "\eefb"; } -.ri-mail-send-line:before { content: "\eefc"; } -.ri-mail-settings-fill:before { content: "\eefd"; } -.ri-mail-settings-line:before { content: "\eefe"; } -.ri-mail-star-fill:before { content: "\eeff"; } -.ri-mail-star-line:before { content: "\ef00"; } -.ri-mail-unread-fill:before { content: "\ef01"; } -.ri-mail-unread-line:before { content: "\ef02"; } -.ri-mail-volume-fill:before { content: "\ef03"; } -.ri-mail-volume-line:before { content: "\ef04"; } -.ri-map-2-fill:before { content: "\ef05"; } -.ri-map-2-line:before { content: "\ef06"; } -.ri-map-fill:before { content: "\ef07"; } -.ri-map-line:before { content: "\ef08"; } -.ri-map-pin-2-fill:before { content: "\ef09"; } -.ri-map-pin-2-line:before { content: "\ef0a"; } -.ri-map-pin-3-fill:before { content: "\ef0b"; } -.ri-map-pin-3-line:before { content: "\ef0c"; } -.ri-map-pin-4-fill:before { content: "\ef0d"; } -.ri-map-pin-4-line:before { content: "\ef0e"; } -.ri-map-pin-5-fill:before { content: "\ef0f"; } -.ri-map-pin-5-line:before { content: "\ef10"; } -.ri-map-pin-add-fill:before { content: "\ef11"; } -.ri-map-pin-add-line:before { content: "\ef12"; } -.ri-map-pin-fill:before { content: "\ef13"; } -.ri-map-pin-line:before { content: "\ef14"; } -.ri-map-pin-range-fill:before { content: "\ef15"; } -.ri-map-pin-range-line:before { content: "\ef16"; } -.ri-map-pin-time-fill:before { content: "\ef17"; } -.ri-map-pin-time-line:before { content: "\ef18"; } -.ri-map-pin-user-fill:before { content: "\ef19"; } -.ri-map-pin-user-line:before { content: "\ef1a"; } -.ri-mark-pen-fill:before { content: "\ef1b"; } -.ri-mark-pen-line:before { content: "\ef1c"; } -.ri-markdown-fill:before { content: "\ef1d"; } -.ri-markdown-line:before { content: "\ef1e"; } -.ri-markup-fill:before { content: "\ef1f"; } -.ri-markup-line:before { content: "\ef20"; } -.ri-mastercard-fill:before { content: "\ef21"; } -.ri-mastercard-line:before { content: "\ef22"; } -.ri-mastodon-fill:before { content: "\ef23"; } -.ri-mastodon-line:before { content: "\ef24"; } -.ri-medal-2-fill:before { content: "\ef25"; } -.ri-medal-2-line:before { content: "\ef26"; } -.ri-medal-fill:before { content: "\ef27"; } -.ri-medal-line:before { content: "\ef28"; } -.ri-medicine-bottle-fill:before { content: "\ef29"; } -.ri-medicine-bottle-line:before { content: "\ef2a"; } -.ri-medium-fill:before { content: "\ef2b"; } -.ri-medium-line:before { content: "\ef2c"; } -.ri-men-fill:before { content: "\ef2d"; } -.ri-men-line:before { content: "\ef2e"; } -.ri-mental-health-fill:before { content: "\ef2f"; } -.ri-mental-health-line:before { content: "\ef30"; } -.ri-menu-2-fill:before { content: "\ef31"; } -.ri-menu-2-line:before { content: "\ef32"; } -.ri-menu-3-fill:before { content: "\ef33"; } -.ri-menu-3-line:before { content: "\ef34"; } -.ri-menu-4-fill:before { content: "\ef35"; } -.ri-menu-4-line:before { content: "\ef36"; } -.ri-menu-5-fill:before { content: "\ef37"; } -.ri-menu-5-line:before { content: "\ef38"; } -.ri-menu-add-fill:before { content: "\ef39"; } -.ri-menu-add-line:before { content: "\ef3a"; } -.ri-menu-fill:before { content: "\ef3b"; } -.ri-menu-fold-fill:before { content: "\ef3c"; } -.ri-menu-fold-line:before { content: "\ef3d"; } -.ri-menu-line:before { content: "\ef3e"; } -.ri-menu-unfold-fill:before { content: "\ef3f"; } -.ri-menu-unfold-line:before { content: "\ef40"; } -.ri-merge-cells-horizontal:before { content: "\ef41"; } -.ri-merge-cells-vertical:before { content: "\ef42"; } -.ri-message-2-fill:before { content: "\ef43"; } -.ri-message-2-line:before { content: "\ef44"; } -.ri-message-3-fill:before { content: "\ef45"; } -.ri-message-3-line:before { content: "\ef46"; } -.ri-message-fill:before { content: "\ef47"; } -.ri-message-line:before { content: "\ef48"; } -.ri-messenger-fill:before { content: "\ef49"; } -.ri-messenger-line:before { content: "\ef4a"; } -.ri-meteor-fill:before { content: "\ef4b"; } -.ri-meteor-line:before { content: "\ef4c"; } -.ri-mic-2-fill:before { content: "\ef4d"; } -.ri-mic-2-line:before { content: "\ef4e"; } -.ri-mic-fill:before { content: "\ef4f"; } -.ri-mic-line:before { content: "\ef50"; } -.ri-mic-off-fill:before { content: "\ef51"; } -.ri-mic-off-line:before { content: "\ef52"; } -.ri-mickey-fill:before { content: "\ef53"; } -.ri-mickey-line:before { content: "\ef54"; } -.ri-microscope-fill:before { content: "\ef55"; } -.ri-microscope-line:before { content: "\ef56"; } -.ri-microsoft-fill:before { content: "\ef57"; } -.ri-microsoft-line:before { content: "\ef58"; } -.ri-mind-map:before { content: "\ef59"; } -.ri-mini-program-fill:before { content: "\ef5a"; } -.ri-mini-program-line:before { content: "\ef5b"; } -.ri-mist-fill:before { content: "\ef5c"; } -.ri-mist-line:before { content: "\ef5d"; } -.ri-money-cny-box-fill:before { content: "\ef5e"; } -.ri-money-cny-box-line:before { content: "\ef5f"; } -.ri-money-cny-circle-fill:before { content: "\ef60"; } -.ri-money-cny-circle-line:before { content: "\ef61"; } -.ri-money-dollar-box-fill:before { content: "\ef62"; } -.ri-money-dollar-box-line:before { content: "\ef63"; } -.ri-money-dollar-circle-fill:before { content: "\ef64"; } -.ri-money-dollar-circle-line:before { content: "\ef65"; } -.ri-money-euro-box-fill:before { content: "\ef66"; } -.ri-money-euro-box-line:before { content: "\ef67"; } -.ri-money-euro-circle-fill:before { content: "\ef68"; } -.ri-money-euro-circle-line:before { content: "\ef69"; } -.ri-money-pound-box-fill:before { content: "\ef6a"; } -.ri-money-pound-box-line:before { content: "\ef6b"; } -.ri-money-pound-circle-fill:before { content: "\ef6c"; } -.ri-money-pound-circle-line:before { content: "\ef6d"; } -.ri-moon-clear-fill:before { content: "\ef6e"; } -.ri-moon-clear-line:before { content: "\ef6f"; } -.ri-moon-cloudy-fill:before { content: "\ef70"; } -.ri-moon-cloudy-line:before { content: "\ef71"; } -.ri-moon-fill:before { content: "\ef72"; } -.ri-moon-foggy-fill:before { content: "\ef73"; } -.ri-moon-foggy-line:before { content: "\ef74"; } -.ri-moon-line:before { content: "\ef75"; } -.ri-more-2-fill:before { content: "\ef76"; } -.ri-more-2-line:before { content: "\ef77"; } -.ri-more-fill:before { content: "\ef78"; } -.ri-more-line:before { content: "\ef79"; } -.ri-motorbike-fill:before { content: "\ef7a"; } -.ri-motorbike-line:before { content: "\ef7b"; } -.ri-mouse-fill:before { content: "\ef7c"; } -.ri-mouse-line:before { content: "\ef7d"; } -.ri-movie-2-fill:before { content: "\ef7e"; } -.ri-movie-2-line:before { content: "\ef7f"; } -.ri-movie-fill:before { content: "\ef80"; } -.ri-movie-line:before { content: "\ef81"; } -.ri-music-2-fill:before { content: "\ef82"; } -.ri-music-2-line:before { content: "\ef83"; } -.ri-music-fill:before { content: "\ef84"; } -.ri-music-line:before { content: "\ef85"; } -.ri-mv-fill:before { content: "\ef86"; } -.ri-mv-line:before { content: "\ef87"; } -.ri-navigation-fill:before { content: "\ef88"; } -.ri-navigation-line:before { content: "\ef89"; } -.ri-netease-cloud-music-fill:before { content: "\ef8a"; } -.ri-netease-cloud-music-line:before { content: "\ef8b"; } -.ri-netflix-fill:before { content: "\ef8c"; } -.ri-netflix-line:before { content: "\ef8d"; } -.ri-newspaper-fill:before { content: "\ef8e"; } -.ri-newspaper-line:before { content: "\ef8f"; } -.ri-node-tree:before { content: "\ef90"; } -.ri-notification-2-fill:before { content: "\ef91"; } -.ri-notification-2-line:before { content: "\ef92"; } -.ri-notification-3-fill:before { content: "\ef93"; } -.ri-notification-3-line:before { content: "\ef94"; } -.ri-notification-4-fill:before { content: "\ef95"; } -.ri-notification-4-line:before { content: "\ef96"; } -.ri-notification-badge-fill:before { content: "\ef97"; } -.ri-notification-badge-line:before { content: "\ef98"; } -.ri-notification-fill:before { content: "\ef99"; } -.ri-notification-line:before { content: "\ef9a"; } -.ri-notification-off-fill:before { content: "\ef9b"; } -.ri-notification-off-line:before { content: "\ef9c"; } -.ri-npmjs-fill:before { content: "\ef9d"; } -.ri-npmjs-line:before { content: "\ef9e"; } -.ri-number-0:before { content: "\ef9f"; } -.ri-number-1:before { content: "\efa0"; } -.ri-number-2:before { content: "\efa1"; } -.ri-number-3:before { content: "\efa2"; } -.ri-number-4:before { content: "\efa3"; } -.ri-number-5:before { content: "\efa4"; } -.ri-number-6:before { content: "\efa5"; } -.ri-number-7:before { content: "\efa6"; } -.ri-number-8:before { content: "\efa7"; } -.ri-number-9:before { content: "\efa8"; } -.ri-numbers-fill:before { content: "\efa9"; } -.ri-numbers-line:before { content: "\efaa"; } -.ri-nurse-fill:before { content: "\efab"; } -.ri-nurse-line:before { content: "\efac"; } -.ri-oil-fill:before { content: "\efad"; } -.ri-oil-line:before { content: "\efae"; } -.ri-omega:before { content: "\efaf"; } -.ri-open-arm-fill:before { content: "\efb0"; } -.ri-open-arm-line:before { content: "\efb1"; } -.ri-open-source-fill:before { content: "\efb2"; } -.ri-open-source-line:before { content: "\efb3"; } -.ri-opera-fill:before { content: "\efb4"; } -.ri-opera-line:before { content: "\efb5"; } -.ri-order-play-fill:before { content: "\efb6"; } -.ri-order-play-line:before { content: "\efb7"; } -.ri-organization-chart:before { content: "\efb8"; } -.ri-outlet-2-fill:before { content: "\efb9"; } -.ri-outlet-2-line:before { content: "\efba"; } -.ri-outlet-fill:before { content: "\efbb"; } -.ri-outlet-line:before { content: "\efbc"; } -.ri-page-separator:before { content: "\efbd"; } -.ri-pages-fill:before { content: "\efbe"; } -.ri-pages-line:before { content: "\efbf"; } -.ri-paint-brush-fill:before { content: "\efc0"; } -.ri-paint-brush-line:before { content: "\efc1"; } -.ri-paint-fill:before { content: "\efc2"; } -.ri-paint-line:before { content: "\efc3"; } -.ri-palette-fill:before { content: "\efc4"; } -.ri-palette-line:before { content: "\efc5"; } -.ri-pantone-fill:before { content: "\efc6"; } -.ri-pantone-line:before { content: "\efc7"; } -.ri-paragraph:before { content: "\efc8"; } -.ri-parent-fill:before { content: "\efc9"; } -.ri-parent-line:before { content: "\efca"; } -.ri-parentheses-fill:before { content: "\efcb"; } -.ri-parentheses-line:before { content: "\efcc"; } -.ri-parking-box-fill:before { content: "\efcd"; } -.ri-parking-box-line:before { content: "\efce"; } -.ri-parking-fill:before { content: "\efcf"; } -.ri-parking-line:before { content: "\efd0"; } -.ri-passport-fill:before { content: "\efd1"; } -.ri-passport-line:before { content: "\efd2"; } -.ri-patreon-fill:before { content: "\efd3"; } -.ri-patreon-line:before { content: "\efd4"; } -.ri-pause-circle-fill:before { content: "\efd5"; } -.ri-pause-circle-line:before { content: "\efd6"; } -.ri-pause-fill:before { content: "\efd7"; } -.ri-pause-line:before { content: "\efd8"; } -.ri-pause-mini-fill:before { content: "\efd9"; } -.ri-pause-mini-line:before { content: "\efda"; } -.ri-paypal-fill:before { content: "\efdb"; } -.ri-paypal-line:before { content: "\efdc"; } -.ri-pen-nib-fill:before { content: "\efdd"; } -.ri-pen-nib-line:before { content: "\efde"; } -.ri-pencil-fill:before { content: "\efdf"; } -.ri-pencil-line:before { content: "\efe0"; } -.ri-pencil-ruler-2-fill:before { content: "\efe1"; } -.ri-pencil-ruler-2-line:before { content: "\efe2"; } -.ri-pencil-ruler-fill:before { content: "\efe3"; } -.ri-pencil-ruler-line:before { content: "\efe4"; } -.ri-percent-fill:before { content: "\efe5"; } -.ri-percent-line:before { content: "\efe6"; } -.ri-phone-camera-fill:before { content: "\efe7"; } -.ri-phone-camera-line:before { content: "\efe8"; } -.ri-phone-fill:before { content: "\efe9"; } -.ri-phone-find-fill:before { content: "\efea"; } -.ri-phone-find-line:before { content: "\efeb"; } -.ri-phone-line:before { content: "\efec"; } -.ri-phone-lock-fill:before { content: "\efed"; } -.ri-phone-lock-line:before { content: "\efee"; } -.ri-picture-in-picture-2-fill:before { content: "\efef"; } -.ri-picture-in-picture-2-line:before { content: "\eff0"; } -.ri-picture-in-picture-exit-fill:before { content: "\eff1"; } -.ri-picture-in-picture-exit-line:before { content: "\eff2"; } -.ri-picture-in-picture-fill:before { content: "\eff3"; } -.ri-picture-in-picture-line:before { content: "\eff4"; } -.ri-pie-chart-2-fill:before { content: "\eff5"; } -.ri-pie-chart-2-line:before { content: "\eff6"; } -.ri-pie-chart-box-fill:before { content: "\eff7"; } -.ri-pie-chart-box-line:before { content: "\eff8"; } -.ri-pie-chart-fill:before { content: "\eff9"; } -.ri-pie-chart-line:before { content: "\effa"; } -.ri-pin-distance-fill:before { content: "\effb"; } -.ri-pin-distance-line:before { content: "\effc"; } -.ri-ping-pong-fill:before { content: "\effd"; } -.ri-ping-pong-line:before { content: "\effe"; } -.ri-pinterest-fill:before { content: "\efff"; } -.ri-pinterest-line:before { content: "\f000"; } -.ri-pinyin-input:before { content: "\f001"; } -.ri-pixelfed-fill:before { content: "\f002"; } -.ri-pixelfed-line:before { content: "\f003"; } -.ri-plane-fill:before { content: "\f004"; } -.ri-plane-line:before { content: "\f005"; } -.ri-plant-fill:before { content: "\f006"; } -.ri-plant-line:before { content: "\f007"; } -.ri-play-circle-fill:before { content: "\f008"; } -.ri-play-circle-line:before { content: "\f009"; } -.ri-play-fill:before { content: "\f00a"; } -.ri-play-line:before { content: "\f00b"; } -.ri-play-list-2-fill:before { content: "\f00c"; } -.ri-play-list-2-line:before { content: "\f00d"; } -.ri-play-list-add-fill:before { content: "\f00e"; } -.ri-play-list-add-line:before { content: "\f00f"; } -.ri-play-list-fill:before { content: "\f010"; } -.ri-play-list-line:before { content: "\f011"; } -.ri-play-mini-fill:before { content: "\f012"; } -.ri-play-mini-line:before { content: "\f013"; } -.ri-playstation-fill:before { content: "\f014"; } -.ri-playstation-line:before { content: "\f015"; } -.ri-plug-2-fill:before { content: "\f016"; } -.ri-plug-2-line:before { content: "\f017"; } -.ri-plug-fill:before { content: "\f018"; } -.ri-plug-line:before { content: "\f019"; } -.ri-polaroid-2-fill:before { content: "\f01a"; } -.ri-polaroid-2-line:before { content: "\f01b"; } -.ri-polaroid-fill:before { content: "\f01c"; } -.ri-polaroid-line:before { content: "\f01d"; } -.ri-police-car-fill:before { content: "\f01e"; } -.ri-police-car-line:before { content: "\f01f"; } -.ri-price-tag-2-fill:before { content: "\f020"; } -.ri-price-tag-2-line:before { content: "\f021"; } -.ri-price-tag-3-fill:before { content: "\f022"; } -.ri-price-tag-3-line:before { content: "\f023"; } -.ri-price-tag-fill:before { content: "\f024"; } -.ri-price-tag-line:before { content: "\f025"; } -.ri-printer-cloud-fill:before { content: "\f026"; } -.ri-printer-cloud-line:before { content: "\f027"; } -.ri-printer-fill:before { content: "\f028"; } -.ri-printer-line:before { content: "\f029"; } -.ri-product-hunt-fill:before { content: "\f02a"; } -.ri-product-hunt-line:before { content: "\f02b"; } -.ri-profile-fill:before { content: "\f02c"; } -.ri-profile-line:before { content: "\f02d"; } -.ri-projector-2-fill:before { content: "\f02e"; } -.ri-projector-2-line:before { content: "\f02f"; } -.ri-projector-fill:before { content: "\f030"; } -.ri-projector-line:before { content: "\f031"; } -.ri-psychotherapy-fill:before { content: "\f032"; } -.ri-psychotherapy-line:before { content: "\f033"; } -.ri-pulse-fill:before { content: "\f034"; } -.ri-pulse-line:before { content: "\f035"; } -.ri-pushpin-2-fill:before { content: "\f036"; } -.ri-pushpin-2-line:before { content: "\f037"; } -.ri-pushpin-fill:before { content: "\f038"; } -.ri-pushpin-line:before { content: "\f039"; } -.ri-qq-fill:before { content: "\f03a"; } -.ri-qq-line:before { content: "\f03b"; } -.ri-qr-code-fill:before { content: "\f03c"; } -.ri-qr-code-line:before { content: "\f03d"; } -.ri-qr-scan-2-fill:before { content: "\f03e"; } -.ri-qr-scan-2-line:before { content: "\f03f"; } -.ri-qr-scan-fill:before { content: "\f040"; } -.ri-qr-scan-line:before { content: "\f041"; } -.ri-question-answer-fill:before { content: "\f042"; } -.ri-question-answer-line:before { content: "\f043"; } -.ri-question-fill:before { content: "\f044"; } -.ri-question-line:before { content: "\f045"; } -.ri-question-mark:before { content: "\f046"; } -.ri-questionnaire-fill:before { content: "\f047"; } -.ri-questionnaire-line:before { content: "\f048"; } -.ri-quill-pen-fill:before { content: "\f049"; } -.ri-quill-pen-line:before { content: "\f04a"; } -.ri-radar-fill:before { content: "\f04b"; } -.ri-radar-line:before { content: "\f04c"; } -.ri-radio-2-fill:before { content: "\f04d"; } -.ri-radio-2-line:before { content: "\f04e"; } -.ri-radio-button-fill:before { content: "\f04f"; } -.ri-radio-button-line:before { content: "\f050"; } -.ri-radio-fill:before { content: "\f051"; } -.ri-radio-line:before { content: "\f052"; } -.ri-rainbow-fill:before { content: "\f053"; } -.ri-rainbow-line:before { content: "\f054"; } -.ri-rainy-fill:before { content: "\f055"; } -.ri-rainy-line:before { content: "\f056"; } -.ri-reactjs-fill:before { content: "\f057"; } -.ri-reactjs-line:before { content: "\f058"; } -.ri-record-circle-fill:before { content: "\f059"; } -.ri-record-circle-line:before { content: "\f05a"; } -.ri-record-mail-fill:before { content: "\f05b"; } -.ri-record-mail-line:before { content: "\f05c"; } -.ri-recycle-fill:before { content: "\f05d"; } -.ri-recycle-line:before { content: "\f05e"; } -.ri-red-packet-fill:before { content: "\f05f"; } -.ri-red-packet-line:before { content: "\f060"; } -.ri-reddit-fill:before { content: "\f061"; } -.ri-reddit-line:before { content: "\f062"; } -.ri-refresh-fill:before { content: "\f063"; } -.ri-refresh-line:before { content: "\f064"; } -.ri-refund-2-fill:before { content: "\f065"; } -.ri-refund-2-line:before { content: "\f066"; } -.ri-refund-fill:before { content: "\f067"; } -.ri-refund-line:before { content: "\f068"; } -.ri-registered-fill:before { content: "\f069"; } -.ri-registered-line:before { content: "\f06a"; } -.ri-remixicon-fill:before { content: "\f06b"; } -.ri-remixicon-line:before { content: "\f06c"; } -.ri-remote-control-2-fill:before { content: "\f06d"; } -.ri-remote-control-2-line:before { content: "\f06e"; } -.ri-remote-control-fill:before { content: "\f06f"; } -.ri-remote-control-line:before { content: "\f070"; } -.ri-repeat-2-fill:before { content: "\f071"; } -.ri-repeat-2-line:before { content: "\f072"; } -.ri-repeat-fill:before { content: "\f073"; } -.ri-repeat-line:before { content: "\f074"; } -.ri-repeat-one-fill:before { content: "\f075"; } -.ri-repeat-one-line:before { content: "\f076"; } -.ri-reply-all-fill:before { content: "\f077"; } -.ri-reply-all-line:before { content: "\f078"; } -.ri-reply-fill:before { content: "\f079"; } -.ri-reply-line:before { content: "\f07a"; } -.ri-reserved-fill:before { content: "\f07b"; } -.ri-reserved-line:before { content: "\f07c"; } -.ri-rest-time-fill:before { content: "\f07d"; } -.ri-rest-time-line:before { content: "\f07e"; } -.ri-restart-fill:before { content: "\f07f"; } -.ri-restart-line:before { content: "\f080"; } -.ri-restaurant-2-fill:before { content: "\f081"; } -.ri-restaurant-2-line:before { content: "\f082"; } -.ri-restaurant-fill:before { content: "\f083"; } -.ri-restaurant-line:before { content: "\f084"; } -.ri-rewind-fill:before { content: "\f085"; } -.ri-rewind-line:before { content: "\f086"; } -.ri-rewind-mini-fill:before { content: "\f087"; } -.ri-rewind-mini-line:before { content: "\f088"; } -.ri-rhythm-fill:before { content: "\f089"; } -.ri-rhythm-line:before { content: "\f08a"; } -.ri-riding-fill:before { content: "\f08b"; } -.ri-riding-line:before { content: "\f08c"; } -.ri-road-map-fill:before { content: "\f08d"; } -.ri-road-map-line:before { content: "\f08e"; } -.ri-roadster-fill:before { content: "\f08f"; } -.ri-roadster-line:before { content: "\f090"; } -.ri-robot-fill:before { content: "\f091"; } -.ri-robot-line:before { content: "\f092"; } -.ri-rocket-2-fill:before { content: "\f093"; } -.ri-rocket-2-line:before { content: "\f094"; } -.ri-rocket-fill:before { content: "\f095"; } -.ri-rocket-line:before { content: "\f096"; } -.ri-rotate-lock-fill:before { content: "\f097"; } -.ri-rotate-lock-line:before { content: "\f098"; } -.ri-rounded-corner:before { content: "\f099"; } -.ri-route-fill:before { content: "\f09a"; } -.ri-route-line:before { content: "\f09b"; } -.ri-router-fill:before { content: "\f09c"; } -.ri-router-line:before { content: "\f09d"; } -.ri-rss-fill:before { content: "\f09e"; } -.ri-rss-line:before { content: "\f09f"; } -.ri-ruler-2-fill:before { content: "\f0a0"; } -.ri-ruler-2-line:before { content: "\f0a1"; } -.ri-ruler-fill:before { content: "\f0a2"; } -.ri-ruler-line:before { content: "\f0a3"; } -.ri-run-fill:before { content: "\f0a4"; } -.ri-run-line:before { content: "\f0a5"; } -.ri-safari-fill:before { content: "\f0a6"; } -.ri-safari-line:before { content: "\f0a7"; } -.ri-safe-2-fill:before { content: "\f0a8"; } -.ri-safe-2-line:before { content: "\f0a9"; } -.ri-safe-fill:before { content: "\f0aa"; } -.ri-safe-line:before { content: "\f0ab"; } -.ri-sailboat-fill:before { content: "\f0ac"; } -.ri-sailboat-line:before { content: "\f0ad"; } -.ri-save-2-fill:before { content: "\f0ae"; } -.ri-save-2-line:before { content: "\f0af"; } -.ri-save-3-fill:before { content: "\f0b0"; } -.ri-save-3-line:before { content: "\f0b1"; } -.ri-save-fill:before { content: "\f0b2"; } -.ri-save-line:before { content: "\f0b3"; } -.ri-scales-2-fill:before { content: "\f0b4"; } -.ri-scales-2-line:before { content: "\f0b5"; } -.ri-scales-3-fill:before { content: "\f0b6"; } -.ri-scales-3-line:before { content: "\f0b7"; } -.ri-scales-fill:before { content: "\f0b8"; } -.ri-scales-line:before { content: "\f0b9"; } -.ri-scan-2-fill:before { content: "\f0ba"; } -.ri-scan-2-line:before { content: "\f0bb"; } -.ri-scan-fill:before { content: "\f0bc"; } -.ri-scan-line:before { content: "\f0bd"; } -.ri-scissors-2-fill:before { content: "\f0be"; } -.ri-scissors-2-line:before { content: "\f0bf"; } -.ri-scissors-cut-fill:before { content: "\f0c0"; } -.ri-scissors-cut-line:before { content: "\f0c1"; } -.ri-scissors-fill:before { content: "\f0c2"; } -.ri-scissors-line:before { content: "\f0c3"; } -.ri-screenshot-2-fill:before { content: "\f0c4"; } -.ri-screenshot-2-line:before { content: "\f0c5"; } -.ri-screenshot-fill:before { content: "\f0c6"; } -.ri-screenshot-line:before { content: "\f0c7"; } -.ri-sd-card-fill:before { content: "\f0c8"; } -.ri-sd-card-line:before { content: "\f0c9"; } -.ri-sd-card-mini-fill:before { content: "\f0ca"; } -.ri-sd-card-mini-line:before { content: "\f0cb"; } -.ri-search-2-fill:before { content: "\f0cc"; } -.ri-search-2-line:before { content: "\f0cd"; } -.ri-search-eye-fill:before { content: "\f0ce"; } -.ri-search-eye-line:before { content: "\f0cf"; } -.ri-search-fill:before { content: "\f0d0"; } -.ri-search-line:before { content: "\f0d1"; } -.ri-secure-payment-fill:before { content: "\f0d2"; } -.ri-secure-payment-line:before { content: "\f0d3"; } -.ri-seedling-fill:before { content: "\f0d4"; } -.ri-seedling-line:before { content: "\f0d5"; } -.ri-send-backward:before { content: "\f0d6"; } -.ri-send-plane-2-fill:before { content: "\f0d7"; } -.ri-send-plane-2-line:before { content: "\f0d8"; } -.ri-send-plane-fill:before { content: "\f0d9"; } -.ri-send-plane-line:before { content: "\f0da"; } -.ri-send-to-back:before { content: "\f0db"; } -.ri-sensor-fill:before { content: "\f0dc"; } -.ri-sensor-line:before { content: "\f0dd"; } -.ri-separator:before { content: "\f0de"; } -.ri-server-fill:before { content: "\f0df"; } -.ri-server-line:before { content: "\f0e0"; } -.ri-service-fill:before { content: "\f0e1"; } -.ri-service-line:before { content: "\f0e2"; } -.ri-settings-2-fill:before { content: "\f0e3"; } -.ri-settings-2-line:before { content: "\f0e4"; } -.ri-settings-3-fill:before { content: "\f0e5"; } -.ri-settings-3-line:before { content: "\f0e6"; } -.ri-settings-4-fill:before { content: "\f0e7"; } -.ri-settings-4-line:before { content: "\f0e8"; } -.ri-settings-5-fill:before { content: "\f0e9"; } -.ri-settings-5-line:before { content: "\f0ea"; } -.ri-settings-6-fill:before { content: "\f0eb"; } -.ri-settings-6-line:before { content: "\f0ec"; } -.ri-settings-fill:before { content: "\f0ed"; } -.ri-settings-line:before { content: "\f0ee"; } -.ri-shape-2-fill:before { content: "\f0ef"; } -.ri-shape-2-line:before { content: "\f0f0"; } -.ri-shape-fill:before { content: "\f0f1"; } -.ri-shape-line:before { content: "\f0f2"; } -.ri-share-box-fill:before { content: "\f0f3"; } -.ri-share-box-line:before { content: "\f0f4"; } -.ri-share-circle-fill:before { content: "\f0f5"; } -.ri-share-circle-line:before { content: "\f0f6"; } -.ri-share-fill:before { content: "\f0f7"; } -.ri-share-forward-2-fill:before { content: "\f0f8"; } -.ri-share-forward-2-line:before { content: "\f0f9"; } -.ri-share-forward-box-fill:before { content: "\f0fa"; } -.ri-share-forward-box-line:before { content: "\f0fb"; } -.ri-share-forward-fill:before { content: "\f0fc"; } -.ri-share-forward-line:before { content: "\f0fd"; } -.ri-share-line:before { content: "\f0fe"; } -.ri-shield-check-fill:before { content: "\f0ff"; } -.ri-shield-check-line:before { content: "\f100"; } -.ri-shield-cross-fill:before { content: "\f101"; } -.ri-shield-cross-line:before { content: "\f102"; } -.ri-shield-fill:before { content: "\f103"; } -.ri-shield-flash-fill:before { content: "\f104"; } -.ri-shield-flash-line:before { content: "\f105"; } -.ri-shield-keyhole-fill:before { content: "\f106"; } -.ri-shield-keyhole-line:before { content: "\f107"; } -.ri-shield-line:before { content: "\f108"; } -.ri-shield-star-fill:before { content: "\f109"; } -.ri-shield-star-line:before { content: "\f10a"; } -.ri-shield-user-fill:before { content: "\f10b"; } -.ri-shield-user-line:before { content: "\f10c"; } -.ri-ship-2-fill:before { content: "\f10d"; } -.ri-ship-2-line:before { content: "\f10e"; } -.ri-ship-fill:before { content: "\f10f"; } -.ri-ship-line:before { content: "\f110"; } -.ri-shirt-fill:before { content: "\f111"; } -.ri-shirt-line:before { content: "\f112"; } -.ri-shopping-bag-2-fill:before { content: "\f113"; } -.ri-shopping-bag-2-line:before { content: "\f114"; } -.ri-shopping-bag-3-fill:before { content: "\f115"; } -.ri-shopping-bag-3-line:before { content: "\f116"; } -.ri-shopping-bag-fill:before { content: "\f117"; } -.ri-shopping-bag-line:before { content: "\f118"; } -.ri-shopping-basket-2-fill:before { content: "\f119"; } -.ri-shopping-basket-2-line:before { content: "\f11a"; } -.ri-shopping-basket-fill:before { content: "\f11b"; } -.ri-shopping-basket-line:before { content: "\f11c"; } -.ri-shopping-cart-2-fill:before { content: "\f11d"; } -.ri-shopping-cart-2-line:before { content: "\f11e"; } -.ri-shopping-cart-fill:before { content: "\f11f"; } -.ri-shopping-cart-line:before { content: "\f120"; } -.ri-showers-fill:before { content: "\f121"; } -.ri-showers-line:before { content: "\f122"; } -.ri-shuffle-fill:before { content: "\f123"; } -.ri-shuffle-line:before { content: "\f124"; } -.ri-shut-down-fill:before { content: "\f125"; } -.ri-shut-down-line:before { content: "\f126"; } -.ri-side-bar-fill:before { content: "\f127"; } -.ri-side-bar-line:before { content: "\f128"; } -.ri-signal-tower-fill:before { content: "\f129"; } -.ri-signal-tower-line:before { content: "\f12a"; } -.ri-signal-wifi-1-fill:before { content: "\f12b"; } -.ri-signal-wifi-1-line:before { content: "\f12c"; } -.ri-signal-wifi-2-fill:before { content: "\f12d"; } -.ri-signal-wifi-2-line:before { content: "\f12e"; } -.ri-signal-wifi-3-fill:before { content: "\f12f"; } -.ri-signal-wifi-3-line:before { content: "\f130"; } -.ri-signal-wifi-error-fill:before { content: "\f131"; } -.ri-signal-wifi-error-line:before { content: "\f132"; } -.ri-signal-wifi-fill:before { content: "\f133"; } -.ri-signal-wifi-line:before { content: "\f134"; } -.ri-signal-wifi-off-fill:before { content: "\f135"; } -.ri-signal-wifi-off-line:before { content: "\f136"; } -.ri-sim-card-2-fill:before { content: "\f137"; } -.ri-sim-card-2-line:before { content: "\f138"; } -.ri-sim-card-fill:before { content: "\f139"; } -.ri-sim-card-line:before { content: "\f13a"; } -.ri-single-quotes-l:before { content: "\f13b"; } -.ri-single-quotes-r:before { content: "\f13c"; } -.ri-sip-fill:before { content: "\f13d"; } -.ri-sip-line:before { content: "\f13e"; } -.ri-skip-back-fill:before { content: "\f13f"; } -.ri-skip-back-line:before { content: "\f140"; } -.ri-skip-back-mini-fill:before { content: "\f141"; } -.ri-skip-back-mini-line:before { content: "\f142"; } -.ri-skip-forward-fill:before { content: "\f143"; } -.ri-skip-forward-line:before { content: "\f144"; } -.ri-skip-forward-mini-fill:before { content: "\f145"; } -.ri-skip-forward-mini-line:before { content: "\f146"; } -.ri-skull-2-fill:before { content: "\f147"; } -.ri-skull-2-line:before { content: "\f148"; } -.ri-skull-fill:before { content: "\f149"; } -.ri-skull-line:before { content: "\f14a"; } -.ri-skype-fill:before { content: "\f14b"; } -.ri-skype-line:before { content: "\f14c"; } -.ri-slack-fill:before { content: "\f14d"; } -.ri-slack-line:before { content: "\f14e"; } -.ri-slice-fill:before { content: "\f14f"; } -.ri-slice-line:before { content: "\f150"; } -.ri-slideshow-2-fill:before { content: "\f151"; } -.ri-slideshow-2-line:before { content: "\f152"; } -.ri-slideshow-3-fill:before { content: "\f153"; } -.ri-slideshow-3-line:before { content: "\f154"; } -.ri-slideshow-4-fill:before { content: "\f155"; } -.ri-slideshow-4-line:before { content: "\f156"; } -.ri-slideshow-fill:before { content: "\f157"; } -.ri-slideshow-line:before { content: "\f158"; } -.ri-smartphone-fill:before { content: "\f159"; } -.ri-smartphone-line:before { content: "\f15a"; } -.ri-snapchat-fill:before { content: "\f15b"; } -.ri-snapchat-line:before { content: "\f15c"; } -.ri-snowy-fill:before { content: "\f15d"; } -.ri-snowy-line:before { content: "\f15e"; } -.ri-sort-asc:before { content: "\f15f"; } -.ri-sort-desc:before { content: "\f160"; } -.ri-sound-module-fill:before { content: "\f161"; } -.ri-sound-module-line:before { content: "\f162"; } -.ri-soundcloud-fill:before { content: "\f163"; } -.ri-soundcloud-line:before { content: "\f164"; } -.ri-space-ship-fill:before { content: "\f165"; } -.ri-space-ship-line:before { content: "\f166"; } -.ri-space:before { content: "\f167"; } -.ri-spam-2-fill:before { content: "\f168"; } -.ri-spam-2-line:before { content: "\f169"; } -.ri-spam-3-fill:before { content: "\f16a"; } -.ri-spam-3-line:before { content: "\f16b"; } -.ri-spam-fill:before { content: "\f16c"; } -.ri-spam-line:before { content: "\f16d"; } -.ri-speaker-2-fill:before { content: "\f16e"; } -.ri-speaker-2-line:before { content: "\f16f"; } -.ri-speaker-3-fill:before { content: "\f170"; } -.ri-speaker-3-line:before { content: "\f171"; } -.ri-speaker-fill:before { content: "\f172"; } -.ri-speaker-line:before { content: "\f173"; } -.ri-spectrum-fill:before { content: "\f174"; } -.ri-spectrum-line:before { content: "\f175"; } -.ri-speed-fill:before { content: "\f176"; } -.ri-speed-line:before { content: "\f177"; } -.ri-speed-mini-fill:before { content: "\f178"; } -.ri-speed-mini-line:before { content: "\f179"; } -.ri-split-cells-horizontal:before { content: "\f17a"; } -.ri-split-cells-vertical:before { content: "\f17b"; } -.ri-spotify-fill:before { content: "\f17c"; } -.ri-spotify-line:before { content: "\f17d"; } -.ri-spy-fill:before { content: "\f17e"; } -.ri-spy-line:before { content: "\f17f"; } -.ri-stack-fill:before { content: "\f180"; } -.ri-stack-line:before { content: "\f181"; } -.ri-stack-overflow-fill:before { content: "\f182"; } -.ri-stack-overflow-line:before { content: "\f183"; } -.ri-stackshare-fill:before { content: "\f184"; } -.ri-stackshare-line:before { content: "\f185"; } -.ri-star-fill:before { content: "\f186"; } -.ri-star-half-fill:before { content: "\f187"; } -.ri-star-half-line:before { content: "\f188"; } -.ri-star-half-s-fill:before { content: "\f189"; } -.ri-star-half-s-line:before { content: "\f18a"; } -.ri-star-line:before { content: "\f18b"; } -.ri-star-s-fill:before { content: "\f18c"; } -.ri-star-s-line:before { content: "\f18d"; } -.ri-star-smile-fill:before { content: "\f18e"; } -.ri-star-smile-line:before { content: "\f18f"; } -.ri-steam-fill:before { content: "\f190"; } -.ri-steam-line:before { content: "\f191"; } -.ri-steering-2-fill:before { content: "\f192"; } -.ri-steering-2-line:before { content: "\f193"; } -.ri-steering-fill:before { content: "\f194"; } -.ri-steering-line:before { content: "\f195"; } -.ri-stethoscope-fill:before { content: "\f196"; } -.ri-stethoscope-line:before { content: "\f197"; } -.ri-sticky-note-2-fill:before { content: "\f198"; } -.ri-sticky-note-2-line:before { content: "\f199"; } -.ri-sticky-note-fill:before { content: "\f19a"; } -.ri-sticky-note-line:before { content: "\f19b"; } -.ri-stock-fill:before { content: "\f19c"; } -.ri-stock-line:before { content: "\f19d"; } -.ri-stop-circle-fill:before { content: "\f19e"; } -.ri-stop-circle-line:before { content: "\f19f"; } -.ri-stop-fill:before { content: "\f1a0"; } -.ri-stop-line:before { content: "\f1a1"; } -.ri-stop-mini-fill:before { content: "\f1a2"; } -.ri-stop-mini-line:before { content: "\f1a3"; } -.ri-store-2-fill:before { content: "\f1a4"; } -.ri-store-2-line:before { content: "\f1a5"; } -.ri-store-3-fill:before { content: "\f1a6"; } -.ri-store-3-line:before { content: "\f1a7"; } -.ri-store-fill:before { content: "\f1a8"; } -.ri-store-line:before { content: "\f1a9"; } -.ri-strikethrough-2:before { content: "\f1aa"; } -.ri-strikethrough:before { content: "\f1ab"; } -.ri-subscript-2:before { content: "\f1ac"; } -.ri-subscript:before { content: "\f1ad"; } -.ri-subtract-fill:before { content: "\f1ae"; } -.ri-subtract-line:before { content: "\f1af"; } -.ri-subway-fill:before { content: "\f1b0"; } -.ri-subway-line:before { content: "\f1b1"; } -.ri-subway-wifi-fill:before { content: "\f1b2"; } -.ri-subway-wifi-line:before { content: "\f1b3"; } -.ri-suitcase-2-fill:before { content: "\f1b4"; } -.ri-suitcase-2-line:before { content: "\f1b5"; } -.ri-suitcase-3-fill:before { content: "\f1b6"; } -.ri-suitcase-3-line:before { content: "\f1b7"; } -.ri-suitcase-fill:before { content: "\f1b8"; } -.ri-suitcase-line:before { content: "\f1b9"; } -.ri-sun-cloudy-fill:before { content: "\f1ba"; } -.ri-sun-cloudy-line:before { content: "\f1bb"; } -.ri-sun-fill:before { content: "\f1bc"; } -.ri-sun-foggy-fill:before { content: "\f1bd"; } -.ri-sun-foggy-line:before { content: "\f1be"; } -.ri-sun-line:before { content: "\f1bf"; } -.ri-superscript-2:before { content: "\f1c0"; } -.ri-superscript:before { content: "\f1c1"; } -.ri-surgical-mask-fill:before { content: "\f1c2"; } -.ri-surgical-mask-line:before { content: "\f1c3"; } -.ri-surround-sound-fill:before { content: "\f1c4"; } -.ri-surround-sound-line:before { content: "\f1c5"; } -.ri-survey-fill:before { content: "\f1c6"; } -.ri-survey-line:before { content: "\f1c7"; } -.ri-swap-box-fill:before { content: "\f1c8"; } -.ri-swap-box-line:before { content: "\f1c9"; } -.ri-swap-fill:before { content: "\f1ca"; } -.ri-swap-line:before { content: "\f1cb"; } -.ri-switch-fill:before { content: "\f1cc"; } -.ri-switch-line:before { content: "\f1cd"; } -.ri-sword-fill:before { content: "\f1ce"; } -.ri-sword-line:before { content: "\f1cf"; } -.ri-syringe-fill:before { content: "\f1d0"; } -.ri-syringe-line:before { content: "\f1d1"; } -.ri-t-box-fill:before { content: "\f1d2"; } -.ri-t-box-line:before { content: "\f1d3"; } -.ri-t-shirt-2-fill:before { content: "\f1d4"; } -.ri-t-shirt-2-line:before { content: "\f1d5"; } -.ri-t-shirt-air-fill:before { content: "\f1d6"; } -.ri-t-shirt-air-line:before { content: "\f1d7"; } -.ri-t-shirt-fill:before { content: "\f1d8"; } -.ri-t-shirt-line:before { content: "\f1d9"; } -.ri-table-2:before { content: "\f1da"; } -.ri-table-alt-fill:before { content: "\f1db"; } -.ri-table-alt-line:before { content: "\f1dc"; } -.ri-table-fill:before { content: "\f1dd"; } -.ri-table-line:before { content: "\f1de"; } -.ri-tablet-fill:before { content: "\f1df"; } -.ri-tablet-line:before { content: "\f1e0"; } -.ri-takeaway-fill:before { content: "\f1e1"; } -.ri-takeaway-line:before { content: "\f1e2"; } -.ri-taobao-fill:before { content: "\f1e3"; } -.ri-taobao-line:before { content: "\f1e4"; } -.ri-tape-fill:before { content: "\f1e5"; } -.ri-tape-line:before { content: "\f1e6"; } -.ri-task-fill:before { content: "\f1e7"; } -.ri-task-line:before { content: "\f1e8"; } -.ri-taxi-fill:before { content: "\f1e9"; } -.ri-taxi-line:before { content: "\f1ea"; } -.ri-taxi-wifi-fill:before { content: "\f1eb"; } -.ri-taxi-wifi-line:before { content: "\f1ec"; } -.ri-team-fill:before { content: "\f1ed"; } -.ri-team-line:before { content: "\f1ee"; } -.ri-telegram-fill:before { content: "\f1ef"; } -.ri-telegram-line:before { content: "\f1f0"; } -.ri-temp-cold-fill:before { content: "\f1f1"; } -.ri-temp-cold-line:before { content: "\f1f2"; } -.ri-temp-hot-fill:before { content: "\f1f3"; } -.ri-temp-hot-line:before { content: "\f1f4"; } -.ri-terminal-box-fill:before { content: "\f1f5"; } -.ri-terminal-box-line:before { content: "\f1f6"; } -.ri-terminal-fill:before { content: "\f1f7"; } -.ri-terminal-line:before { content: "\f1f8"; } -.ri-terminal-window-fill:before { content: "\f1f9"; } -.ri-terminal-window-line:before { content: "\f1fa"; } -.ri-test-tube-fill:before { content: "\f1fb"; } -.ri-test-tube-line:before { content: "\f1fc"; } -.ri-text-direction-l:before { content: "\f1fd"; } -.ri-text-direction-r:before { content: "\f1fe"; } -.ri-text-spacing:before { content: "\f1ff"; } -.ri-text-wrap:before { content: "\f200"; } -.ri-text:before { content: "\f201"; } -.ri-thermometer-fill:before { content: "\f202"; } -.ri-thermometer-line:before { content: "\f203"; } -.ri-thumb-down-fill:before { content: "\f204"; } -.ri-thumb-down-line:before { content: "\f205"; } -.ri-thumb-up-fill:before { content: "\f206"; } -.ri-thumb-up-line:before { content: "\f207"; } -.ri-thunderstorms-fill:before { content: "\f208"; } -.ri-thunderstorms-line:before { content: "\f209"; } -.ri-ticket-2-fill:before { content: "\f20a"; } -.ri-ticket-2-line:before { content: "\f20b"; } -.ri-ticket-fill:before { content: "\f20c"; } -.ri-ticket-line:before { content: "\f20d"; } -.ri-time-fill:before { content: "\f20e"; } -.ri-time-line:before { content: "\f20f"; } -.ri-timer-2-fill:before { content: "\f210"; } -.ri-timer-2-line:before { content: "\f211"; } -.ri-timer-fill:before { content: "\f212"; } -.ri-timer-flash-fill:before { content: "\f213"; } -.ri-timer-flash-line:before { content: "\f214"; } -.ri-timer-line:before { content: "\f215"; } -.ri-todo-fill:before { content: "\f216"; } -.ri-todo-line:before { content: "\f217"; } -.ri-toggle-fill:before { content: "\f218"; } -.ri-toggle-line:before { content: "\f219"; } -.ri-tools-fill:before { content: "\f21a"; } -.ri-tools-line:before { content: "\f21b"; } -.ri-tornado-fill:before { content: "\f21c"; } -.ri-tornado-line:before { content: "\f21d"; } -.ri-trademark-fill:before { content: "\f21e"; } -.ri-trademark-line:before { content: "\f21f"; } -.ri-traffic-light-fill:before { content: "\f220"; } -.ri-traffic-light-line:before { content: "\f221"; } -.ri-train-fill:before { content: "\f222"; } -.ri-train-line:before { content: "\f223"; } -.ri-train-wifi-fill:before { content: "\f224"; } -.ri-train-wifi-line:before { content: "\f225"; } -.ri-translate-2:before { content: "\f226"; } -.ri-translate:before { content: "\f227"; } -.ri-travesti-fill:before { content: "\f228"; } -.ri-travesti-line:before { content: "\f229"; } -.ri-treasure-map-fill:before { content: "\f22a"; } -.ri-treasure-map-line:before { content: "\f22b"; } -.ri-trello-fill:before { content: "\f22c"; } -.ri-trello-line:before { content: "\f22d"; } -.ri-trophy-fill:before { content: "\f22e"; } -.ri-trophy-line:before { content: "\f22f"; } -.ri-truck-fill:before { content: "\f230"; } -.ri-truck-line:before { content: "\f231"; } -.ri-tumblr-fill:before { content: "\f232"; } -.ri-tumblr-line:before { content: "\f233"; } -.ri-tv-2-fill:before { content: "\f234"; } -.ri-tv-2-line:before { content: "\f235"; } -.ri-tv-fill:before { content: "\f236"; } -.ri-tv-line:before { content: "\f237"; } -.ri-twitch-fill:before { content: "\f238"; } -.ri-twitch-line:before { content: "\f239"; } -.ri-twitter-fill:before { content: "\f23a"; } -.ri-twitter-line:before { content: "\f23b"; } -.ri-typhoon-fill:before { content: "\f23c"; } -.ri-typhoon-line:before { content: "\f23d"; } -.ri-u-disk-fill:before { content: "\f23e"; } -.ri-u-disk-line:before { content: "\f23f"; } -.ri-ubuntu-fill:before { content: "\f240"; } -.ri-ubuntu-line:before { content: "\f241"; } -.ri-umbrella-fill:before { content: "\f242"; } -.ri-umbrella-line:before { content: "\f243"; } -.ri-underline:before { content: "\f244"; } -.ri-uninstall-fill:before { content: "\f245"; } -.ri-uninstall-line:before { content: "\f246"; } -.ri-unsplash-fill:before { content: "\f247"; } -.ri-unsplash-line:before { content: "\f248"; } -.ri-upload-2-fill:before { content: "\f249"; } -.ri-upload-2-line:before { content: "\f24a"; } -.ri-upload-cloud-2-fill:before { content: "\f24b"; } -.ri-upload-cloud-2-line:before { content: "\f24c"; } -.ri-upload-cloud-fill:before { content: "\f24d"; } -.ri-upload-cloud-line:before { content: "\f24e"; } -.ri-upload-fill:before { content: "\f24f"; } -.ri-upload-line:before { content: "\f250"; } -.ri-usb-fill:before { content: "\f251"; } -.ri-usb-line:before { content: "\f252"; } -.ri-user-2-fill:before { content: "\f253"; } -.ri-user-2-line:before { content: "\f254"; } -.ri-user-3-fill:before { content: "\f255"; } -.ri-user-3-line:before { content: "\f256"; } -.ri-user-4-fill:before { content: "\f257"; } -.ri-user-4-line:before { content: "\f258"; } -.ri-user-5-fill:before { content: "\f259"; } -.ri-user-5-line:before { content: "\f25a"; } -.ri-user-6-fill:before { content: "\f25b"; } -.ri-user-6-line:before { content: "\f25c"; } -.ri-user-add-fill:before { content: "\f25d"; } -.ri-user-add-line:before { content: "\f25e"; } -.ri-user-fill:before { content: "\f25f"; } -.ri-user-follow-fill:before { content: "\f260"; } -.ri-user-follow-line:before { content: "\f261"; } -.ri-user-heart-fill:before { content: "\f262"; } -.ri-user-heart-line:before { content: "\f263"; } -.ri-user-line:before { content: "\f264"; } -.ri-user-location-fill:before { content: "\f265"; } -.ri-user-location-line:before { content: "\f266"; } -.ri-user-received-2-fill:before { content: "\f267"; } -.ri-user-received-2-line:before { content: "\f268"; } -.ri-user-received-fill:before { content: "\f269"; } -.ri-user-received-line:before { content: "\f26a"; } -.ri-user-search-fill:before { content: "\f26b"; } -.ri-user-search-line:before { content: "\f26c"; } -.ri-user-settings-fill:before { content: "\f26d"; } -.ri-user-settings-line:before { content: "\f26e"; } -.ri-user-shared-2-fill:before { content: "\f26f"; } -.ri-user-shared-2-line:before { content: "\f270"; } -.ri-user-shared-fill:before { content: "\f271"; } -.ri-user-shared-line:before { content: "\f272"; } -.ri-user-smile-fill:before { content: "\f273"; } -.ri-user-smile-line:before { content: "\f274"; } -.ri-user-star-fill:before { content: "\f275"; } -.ri-user-star-line:before { content: "\f276"; } -.ri-user-unfollow-fill:before { content: "\f277"; } -.ri-user-unfollow-line:before { content: "\f278"; } -.ri-user-voice-fill:before { content: "\f279"; } -.ri-user-voice-line:before { content: "\f27a"; } -.ri-video-add-fill:before { content: "\f27b"; } -.ri-video-add-line:before { content: "\f27c"; } -.ri-video-chat-fill:before { content: "\f27d"; } -.ri-video-chat-line:before { content: "\f27e"; } -.ri-video-download-fill:before { content: "\f27f"; } -.ri-video-download-line:before { content: "\f280"; } -.ri-video-fill:before { content: "\f281"; } -.ri-video-line:before { content: "\f282"; } -.ri-video-upload-fill:before { content: "\f283"; } -.ri-video-upload-line:before { content: "\f284"; } -.ri-vidicon-2-fill:before { content: "\f285"; } -.ri-vidicon-2-line:before { content: "\f286"; } -.ri-vidicon-fill:before { content: "\f287"; } -.ri-vidicon-line:before { content: "\f288"; } -.ri-vimeo-fill:before { content: "\f289"; } -.ri-vimeo-line:before { content: "\f28a"; } -.ri-vip-crown-2-fill:before { content: "\f28b"; } -.ri-vip-crown-2-line:before { content: "\f28c"; } -.ri-vip-crown-fill:before { content: "\f28d"; } -.ri-vip-crown-line:before { content: "\f28e"; } -.ri-vip-diamond-fill:before { content: "\f28f"; } -.ri-vip-diamond-line:before { content: "\f290"; } -.ri-vip-fill:before { content: "\f291"; } -.ri-vip-line:before { content: "\f292"; } -.ri-virus-fill:before { content: "\f293"; } -.ri-virus-line:before { content: "\f294"; } -.ri-visa-fill:before { content: "\f295"; } -.ri-visa-line:before { content: "\f296"; } -.ri-voice-recognition-fill:before { content: "\f297"; } -.ri-voice-recognition-line:before { content: "\f298"; } -.ri-voiceprint-fill:before { content: "\f299"; } -.ri-voiceprint-line:before { content: "\f29a"; } -.ri-volume-down-fill:before { content: "\f29b"; } -.ri-volume-down-line:before { content: "\f29c"; } -.ri-volume-mute-fill:before { content: "\f29d"; } -.ri-volume-mute-line:before { content: "\f29e"; } -.ri-volume-off-vibrate-fill:before { content: "\f29f"; } -.ri-volume-off-vibrate-line:before { content: "\f2a0"; } -.ri-volume-up-fill:before { content: "\f2a1"; } -.ri-volume-up-line:before { content: "\f2a2"; } -.ri-volume-vibrate-fill:before { content: "\f2a3"; } -.ri-volume-vibrate-line:before { content: "\f2a4"; } -.ri-vuejs-fill:before { content: "\f2a5"; } -.ri-vuejs-line:before { content: "\f2a6"; } -.ri-walk-fill:before { content: "\f2a7"; } -.ri-walk-line:before { content: "\f2a8"; } -.ri-wallet-2-fill:before { content: "\f2a9"; } -.ri-wallet-2-line:before { content: "\f2aa"; } -.ri-wallet-3-fill:before { content: "\f2ab"; } -.ri-wallet-3-line:before { content: "\f2ac"; } -.ri-wallet-fill:before { content: "\f2ad"; } -.ri-wallet-line:before { content: "\f2ae"; } -.ri-water-flash-fill:before { content: "\f2af"; } -.ri-water-flash-line:before { content: "\f2b0"; } -.ri-webcam-fill:before { content: "\f2b1"; } -.ri-webcam-line:before { content: "\f2b2"; } -.ri-wechat-2-fill:before { content: "\f2b3"; } -.ri-wechat-2-line:before { content: "\f2b4"; } -.ri-wechat-fill:before { content: "\f2b5"; } -.ri-wechat-line:before { content: "\f2b6"; } -.ri-wechat-pay-fill:before { content: "\f2b7"; } -.ri-wechat-pay-line:before { content: "\f2b8"; } -.ri-weibo-fill:before { content: "\f2b9"; } -.ri-weibo-line:before { content: "\f2ba"; } -.ri-whatsapp-fill:before { content: "\f2bb"; } -.ri-whatsapp-line:before { content: "\f2bc"; } -.ri-wheelchair-fill:before { content: "\f2bd"; } -.ri-wheelchair-line:before { content: "\f2be"; } -.ri-wifi-fill:before { content: "\f2bf"; } -.ri-wifi-line:before { content: "\f2c0"; } -.ri-wifi-off-fill:before { content: "\f2c1"; } -.ri-wifi-off-line:before { content: "\f2c2"; } -.ri-window-2-fill:before { content: "\f2c3"; } -.ri-window-2-line:before { content: "\f2c4"; } -.ri-window-fill:before { content: "\f2c5"; } -.ri-window-line:before { content: "\f2c6"; } -.ri-windows-fill:before { content: "\f2c7"; } -.ri-windows-line:before { content: "\f2c8"; } -.ri-windy-fill:before { content: "\f2c9"; } -.ri-windy-line:before { content: "\f2ca"; } -.ri-wireless-charging-fill:before { content: "\f2cb"; } -.ri-wireless-charging-line:before { content: "\f2cc"; } -.ri-women-fill:before { content: "\f2cd"; } -.ri-women-line:before { content: "\f2ce"; } -.ri-wubi-input:before { content: "\f2cf"; } -.ri-xbox-fill:before { content: "\f2d0"; } -.ri-xbox-line:before { content: "\f2d1"; } -.ri-xing-fill:before { content: "\f2d2"; } -.ri-xing-line:before { content: "\f2d3"; } -.ri-youtube-fill:before { content: "\f2d4"; } -.ri-youtube-line:before { content: "\f2d5"; } -.ri-zcool-fill:before { content: "\f2d6"; } -.ri-zcool-line:before { content: "\f2d7"; } -.ri-zhihu-fill:before { content: "\f2d8"; } -.ri-zhihu-line:before { content: "\f2d9"; } -.ri-zoom-in-fill:before { content: "\f2da"; } -.ri-zoom-in-line:before { content: "\f2db"; } -.ri-zoom-out-fill:before { content: "\f2dc"; } -.ri-zoom-out-line:before { content: "\f2dd"; } -.ri-zzz-fill:before { content: "\f2de"; } -.ri-zzz-line:before { content: "\f2df"; } -.ri-arrow-down-double-fill:before { content: "\f2e0"; } -.ri-arrow-down-double-line:before { content: "\f2e1"; } -.ri-arrow-left-double-fill:before { content: "\f2e2"; } -.ri-arrow-left-double-line:before { content: "\f2e3"; } -.ri-arrow-right-double-fill:before { content: "\f2e4"; } -.ri-arrow-right-double-line:before { content: "\f2e5"; } -.ri-arrow-turn-back-fill:before { content: "\f2e6"; } -.ri-arrow-turn-back-line:before { content: "\f2e7"; } -.ri-arrow-turn-forward-fill:before { content: "\f2e8"; } -.ri-arrow-turn-forward-line:before { content: "\f2e9"; } -.ri-arrow-up-double-fill:before { content: "\f2ea"; } -.ri-arrow-up-double-line:before { content: "\f2eb"; } -.ri-bard-fill:before { content: "\f2ec"; } -.ri-bard-line:before { content: "\f2ed"; } -.ri-bootstrap-fill:before { content: "\f2ee"; } -.ri-bootstrap-line:before { content: "\f2ef"; } -.ri-box-1-fill:before { content: "\f2f0"; } -.ri-box-1-line:before { content: "\f2f1"; } -.ri-box-2-fill:before { content: "\f2f2"; } -.ri-box-2-line:before { content: "\f2f3"; } -.ri-box-3-fill:before { content: "\f2f4"; } -.ri-box-3-line:before { content: "\f2f5"; } -.ri-brain-fill:before { content: "\f2f6"; } -.ri-brain-line:before { content: "\f2f7"; } -.ri-candle-fill:before { content: "\f2f8"; } -.ri-candle-line:before { content: "\f2f9"; } -.ri-cash-fill:before { content: "\f2fa"; } -.ri-cash-line:before { content: "\f2fb"; } -.ri-contract-left-fill:before { content: "\f2fc"; } -.ri-contract-left-line:before { content: "\f2fd"; } -.ri-contract-left-right-fill:before { content: "\f2fe"; } -.ri-contract-left-right-line:before { content: "\f2ff"; } -.ri-contract-right-fill:before { content: "\f300"; } -.ri-contract-right-line:before { content: "\f301"; } -.ri-contract-up-down-fill:before { content: "\f302"; } -.ri-contract-up-down-line:before { content: "\f303"; } -.ri-copilot-fill:before { content: "\f304"; } -.ri-copilot-line:before { content: "\f305"; } -.ri-corner-down-left-fill:before { content: "\f306"; } -.ri-corner-down-left-line:before { content: "\f307"; } -.ri-corner-down-right-fill:before { content: "\f308"; } -.ri-corner-down-right-line:before { content: "\f309"; } -.ri-corner-left-down-fill:before { content: "\f30a"; } -.ri-corner-left-down-line:before { content: "\f30b"; } -.ri-corner-left-up-fill:before { content: "\f30c"; } -.ri-corner-left-up-line:before { content: "\f30d"; } -.ri-corner-right-down-fill:before { content: "\f30e"; } -.ri-corner-right-down-line:before { content: "\f30f"; } -.ri-corner-right-up-fill:before { content: "\f310"; } -.ri-corner-right-up-line:before { content: "\f311"; } -.ri-corner-up-left-double-fill:before { content: "\f312"; } -.ri-corner-up-left-double-line:before { content: "\f313"; } -.ri-corner-up-left-fill:before { content: "\f314"; } -.ri-corner-up-left-line:before { content: "\f315"; } -.ri-corner-up-right-double-fill:before { content: "\f316"; } -.ri-corner-up-right-double-line:before { content: "\f317"; } -.ri-corner-up-right-fill:before { content: "\f318"; } -.ri-corner-up-right-line:before { content: "\f319"; } -.ri-cross-fill:before { content: "\f31a"; } -.ri-cross-line:before { content: "\f31b"; } -.ri-edge-new-fill:before { content: "\f31c"; } -.ri-edge-new-line:before { content: "\f31d"; } -.ri-equal-fill:before { content: "\f31e"; } -.ri-equal-line:before { content: "\f31f"; } -.ri-expand-left-fill:before { content: "\f320"; } -.ri-expand-left-line:before { content: "\f321"; } -.ri-expand-left-right-fill:before { content: "\f322"; } -.ri-expand-left-right-line:before { content: "\f323"; } -.ri-expand-right-fill:before { content: "\f324"; } -.ri-expand-right-line:before { content: "\f325"; } -.ri-expand-up-down-fill:before { content: "\f326"; } -.ri-expand-up-down-line:before { content: "\f327"; } -.ri-flickr-fill:before { content: "\f328"; } -.ri-flickr-line:before { content: "\f329"; } -.ri-forward-10-fill:before { content: "\f32a"; } -.ri-forward-10-line:before { content: "\f32b"; } -.ri-forward-15-fill:before { content: "\f32c"; } -.ri-forward-15-line:before { content: "\f32d"; } -.ri-forward-30-fill:before { content: "\f32e"; } -.ri-forward-30-line:before { content: "\f32f"; } -.ri-forward-5-fill:before { content: "\f330"; } -.ri-forward-5-line:before { content: "\f331"; } -.ri-graduation-cap-fill:before { content: "\f332"; } -.ri-graduation-cap-line:before { content: "\f333"; } -.ri-home-office-fill:before { content: "\f334"; } -.ri-home-office-line:before { content: "\f335"; } -.ri-hourglass-2-fill:before { content: "\f336"; } -.ri-hourglass-2-line:before { content: "\f337"; } -.ri-hourglass-fill:before { content: "\f338"; } -.ri-hourglass-line:before { content: "\f339"; } -.ri-javascript-fill:before { content: "\f33a"; } -.ri-javascript-line:before { content: "\f33b"; } -.ri-loop-left-fill:before { content: "\f33c"; } -.ri-loop-left-line:before { content: "\f33d"; } -.ri-loop-right-fill:before { content: "\f33e"; } -.ri-loop-right-line:before { content: "\f33f"; } -.ri-memories-fill:before { content: "\f340"; } -.ri-memories-line:before { content: "\f341"; } -.ri-meta-fill:before { content: "\f342"; } -.ri-meta-line:before { content: "\f343"; } -.ri-microsoft-loop-fill:before { content: "\f344"; } -.ri-microsoft-loop-line:before { content: "\f345"; } -.ri-nft-fill:before { content: "\f346"; } -.ri-nft-line:before { content: "\f347"; } -.ri-notion-fill:before { content: "\f348"; } -.ri-notion-line:before { content: "\f349"; } -.ri-openai-fill:before { content: "\f34a"; } -.ri-openai-line:before { content: "\f34b"; } -.ri-overline:before { content: "\f34c"; } -.ri-p2p-fill:before { content: "\f34d"; } -.ri-p2p-line:before { content: "\f34e"; } -.ri-presentation-fill:before { content: "\f34f"; } -.ri-presentation-line:before { content: "\f350"; } -.ri-replay-10-fill:before { content: "\f351"; } -.ri-replay-10-line:before { content: "\f352"; } -.ri-replay-15-fill:before { content: "\f353"; } -.ri-replay-15-line:before { content: "\f354"; } -.ri-replay-30-fill:before { content: "\f355"; } -.ri-replay-30-line:before { content: "\f356"; } -.ri-replay-5-fill:before { content: "\f357"; } -.ri-replay-5-line:before { content: "\f358"; } -.ri-school-fill:before { content: "\f359"; } -.ri-school-line:before { content: "\f35a"; } -.ri-shining-2-fill:before { content: "\f35b"; } -.ri-shining-2-line:before { content: "\f35c"; } -.ri-shining-fill:before { content: "\f35d"; } -.ri-shining-line:before { content: "\f35e"; } -.ri-sketching:before { content: "\f35f"; } -.ri-skip-down-fill:before { content: "\f360"; } -.ri-skip-down-line:before { content: "\f361"; } -.ri-skip-left-fill:before { content: "\f362"; } -.ri-skip-left-line:before { content: "\f363"; } -.ri-skip-right-fill:before { content: "\f364"; } -.ri-skip-right-line:before { content: "\f365"; } -.ri-skip-up-fill:before { content: "\f366"; } -.ri-skip-up-line:before { content: "\f367"; } -.ri-slow-down-fill:before { content: "\f368"; } -.ri-slow-down-line:before { content: "\f369"; } -.ri-sparkling-2-fill:before { content: "\f36a"; } -.ri-sparkling-2-line:before { content: "\f36b"; } -.ri-sparkling-fill:before { content: "\f36c"; } -.ri-sparkling-line:before { content: "\f36d"; } -.ri-speak-fill:before { content: "\f36e"; } -.ri-speak-line:before { content: "\f36f"; } -.ri-speed-up-fill:before { content: "\f370"; } -.ri-speed-up-line:before { content: "\f371"; } -.ri-tiktok-fill:before { content: "\f372"; } -.ri-tiktok-line:before { content: "\f373"; } -.ri-token-swap-fill:before { content: "\f374"; } -.ri-token-swap-line:before { content: "\f375"; } -.ri-unpin-fill:before { content: "\f376"; } -.ri-unpin-line:before { content: "\f377"; } -.ri-wechat-channels-fill:before { content: "\f378"; } -.ri-wechat-channels-line:before { content: "\f379"; } -.ri-wordpress-fill:before { content: "\f37a"; } -.ri-wordpress-line:before { content: "\f37b"; } -.ri-blender-fill:before { content: "\f37c"; } -.ri-blender-line:before { content: "\f37d"; } -.ri-emoji-sticker-fill:before { content: "\f37e"; } -.ri-emoji-sticker-line:before { content: "\f37f"; } -.ri-git-close-pull-request-fill:before { content: "\f380"; } -.ri-git-close-pull-request-line:before { content: "\f381"; } -.ri-instance-fill:before { content: "\f382"; } -.ri-instance-line:before { content: "\f383"; } -.ri-megaphone-fill:before { content: "\f384"; } -.ri-megaphone-line:before { content: "\f385"; } -.ri-pass-expired-fill:before { content: "\f386"; } -.ri-pass-expired-line:before { content: "\f387"; } -.ri-pass-pending-fill:before { content: "\f388"; } -.ri-pass-pending-line:before { content: "\f389"; } -.ri-pass-valid-fill:before { content: "\f38a"; } -.ri-pass-valid-line:before { content: "\f38b"; } -.ri-ai-generate:before { content: "\f38c"; } -.ri-calendar-close-fill:before { content: "\f38d"; } -.ri-calendar-close-line:before { content: "\f38e"; } -.ri-draggable:before { content: "\f38f"; } -.ri-font-family:before { content: "\f390"; } -.ri-font-mono:before { content: "\f391"; } -.ri-font-sans-serif:before { content: "\f392"; } -.ri-font-sans:before { content: "\f393"; } -.ri-hard-drive-3-fill:before { content: "\f394"; } -.ri-hard-drive-3-line:before { content: "\f395"; } -.ri-kick-fill:before { content: "\f396"; } -.ri-kick-line:before { content: "\f397"; } -.ri-list-check-3:before { content: "\f398"; } -.ri-list-indefinite:before { content: "\f399"; } -.ri-list-ordered-2:before { content: "\f39a"; } -.ri-list-radio:before { content: "\f39b"; } -.ri-openbase-fill:before { content: "\f39c"; } -.ri-openbase-line:before { content: "\f39d"; } -.ri-planet-fill:before { content: "\f39e"; } -.ri-planet-line:before { content: "\f39f"; } -.ri-prohibited-fill:before { content: "\f3a0"; } -.ri-prohibited-line:before { content: "\f3a1"; } -.ri-quote-text:before { content: "\f3a2"; } -.ri-seo-fill:before { content: "\f3a3"; } -.ri-seo-line:before { content: "\f3a4"; } -.ri-slash-commands:before { content: "\f3a5"; } -.ri-archive-2-fill:before { content: "\f3a6"; } -.ri-archive-2-line:before { content: "\f3a7"; } -.ri-inbox-2-fill:before { content: "\f3a8"; } -.ri-inbox-2-line:before { content: "\f3a9"; } -.ri-shake-hands-fill:before { content: "\f3aa"; } -.ri-shake-hands-line:before { content: "\f3ab"; } -.ri-supabase-fill:before { content: "\f3ac"; } -.ri-supabase-line:before { content: "\f3ad"; } -.ri-water-percent-fill:before { content: "\f3ae"; } -.ri-water-percent-line:before { content: "\f3af"; } -.ri-yuque-fill:before { content: "\f3b0"; } -.ri-yuque-line:before { content: "\f3b1"; } -.ri-crosshair-2-fill:before { content: "\f3b2"; } -.ri-crosshair-2-line:before { content: "\f3b3"; } -.ri-crosshair-fill:before { content: "\f3b4"; } -.ri-crosshair-line:before { content: "\f3b5"; } -.ri-file-close-fill:before { content: "\f3b6"; } -.ri-file-close-line:before { content: "\f3b7"; } -.ri-infinity-fill:before { content: "\f3b8"; } -.ri-infinity-line:before { content: "\f3b9"; } -.ri-rfid-fill:before { content: "\f3ba"; } -.ri-rfid-line:before { content: "\f3bb"; } -.ri-slash-commands-2:before { content: "\f3bc"; } -.ri-user-forbid-fill:before { content: "\f3bd"; } -.ri-user-forbid-line:before { content: "\f3be"; } -.ri-beer-fill:before { content: "\f3bf"; } -.ri-beer-line:before { content: "\f3c0"; } -.ri-circle-fill:before { content: "\f3c1"; } -.ri-circle-line:before { content: "\f3c2"; } -.ri-dropdown-list:before { content: "\f3c3"; } -.ri-file-image-fill:before { content: "\f3c4"; } -.ri-file-image-line:before { content: "\f3c5"; } -.ri-file-pdf-2-fill:before { content: "\f3c6"; } -.ri-file-pdf-2-line:before { content: "\f3c7"; } -.ri-file-video-fill:before { content: "\f3c8"; } -.ri-file-video-line:before { content: "\f3c9"; } -.ri-folder-image-fill:before { content: "\f3ca"; } -.ri-folder-image-line:before { content: "\f3cb"; } -.ri-folder-video-fill:before { content: "\f3cc"; } -.ri-folder-video-line:before { content: "\f3cd"; } -.ri-hexagon-fill:before { content: "\f3ce"; } -.ri-hexagon-line:before { content: "\f3cf"; } -.ri-menu-search-fill:before { content: "\f3d0"; } -.ri-menu-search-line:before { content: "\f3d1"; } -.ri-octagon-fill:before { content: "\f3d2"; } -.ri-octagon-line:before { content: "\f3d3"; } -.ri-pentagon-fill:before { content: "\f3d4"; } -.ri-pentagon-line:before { content: "\f3d5"; } -.ri-rectangle-fill:before { content: "\f3d6"; } -.ri-rectangle-line:before { content: "\f3d7"; } -.ri-robot-2-fill:before { content: "\f3d8"; } -.ri-robot-2-line:before { content: "\f3d9"; } -.ri-shapes-fill:before { content: "\f3da"; } -.ri-shapes-line:before { content: "\f3db"; } -.ri-square-fill:before { content: "\f3dc"; } -.ri-square-line:before { content: "\f3dd"; } -.ri-tent-fill:before { content: "\f3de"; } -.ri-tent-line:before { content: "\f3df"; } -.ri-threads-fill:before { content: "\f3e0"; } -.ri-threads-line:before { content: "\f3e1"; } -.ri-tree-fill:before { content: "\f3e2"; } -.ri-tree-line:before { content: "\f3e3"; } -.ri-triangle-fill:before { content: "\f3e4"; } -.ri-triangle-line:before { content: "\f3e5"; } -.ri-twitter-x-fill:before { content: "\f3e6"; } -.ri-twitter-x-line:before { content: "\f3e7"; } -.ri-verified-badge-fill:before { content: "\f3e8"; } -.ri-verified-badge-line:before { content: "\f3e9"; } -.ri-armchair-fill:before { content: "\f3ea"; } -.ri-armchair-line:before { content: "\f3eb"; } -.ri-bnb-fill:before { content: "\f3ec"; } -.ri-bnb-line:before { content: "\f3ed"; } -.ri-bread-fill:before { content: "\f3ee"; } -.ri-bread-line:before { content: "\f3ef"; } -.ri-btc-fill:before { content: "\f3f0"; } -.ri-btc-line:before { content: "\f3f1"; } -.ri-calendar-schedule-fill:before { content: "\f3f2"; } -.ri-calendar-schedule-line:before { content: "\f3f3"; } -.ri-dice-1-fill:before { content: "\f3f4"; } -.ri-dice-1-line:before { content: "\f3f5"; } -.ri-dice-2-fill:before { content: "\f3f6"; } -.ri-dice-2-line:before { content: "\f3f7"; } -.ri-dice-3-fill:before { content: "\f3f8"; } -.ri-dice-3-line:before { content: "\f3f9"; } -.ri-dice-4-fill:before { content: "\f3fa"; } -.ri-dice-4-line:before { content: "\f3fb"; } -.ri-dice-5-fill:before { content: "\f3fc"; } -.ri-dice-5-line:before { content: "\f3fd"; } -.ri-dice-6-fill:before { content: "\f3fe"; } -.ri-dice-6-line:before { content: "\f3ff"; } -.ri-dice-fill:before { content: "\f400"; } -.ri-dice-line:before { content: "\f401"; } -.ri-drinks-fill:before { content: "\f402"; } -.ri-drinks-line:before { content: "\f403"; } -.ri-equalizer-2-fill:before { content: "\f404"; } -.ri-equalizer-2-line:before { content: "\f405"; } -.ri-equalizer-3-fill:before { content: "\f406"; } -.ri-equalizer-3-line:before { content: "\f407"; } -.ri-eth-fill:before { content: "\f408"; } -.ri-eth-line:before { content: "\f409"; } -.ri-flower-fill:before { content: "\f40a"; } -.ri-flower-line:before { content: "\f40b"; } -.ri-glasses-2-fill:before { content: "\f40c"; } -.ri-glasses-2-line:before { content: "\f40d"; } -.ri-glasses-fill:before { content: "\f40e"; } -.ri-glasses-line:before { content: "\f40f"; } -.ri-goggles-fill:before { content: "\f410"; } -.ri-goggles-line:before { content: "\f411"; } -.ri-image-circle-fill:before { content: "\f412"; } -.ri-image-circle-line:before { content: "\f413"; } -.ri-info-i:before { content: "\f414"; } -.ri-money-rupee-circle-fill:before { content: "\f415"; } -.ri-money-rupee-circle-line:before { content: "\f416"; } -.ri-news-fill:before { content: "\f417"; } -.ri-news-line:before { content: "\f418"; } -.ri-robot-3-fill:before { content: "\f419"; } -.ri-robot-3-line:before { content: "\f41a"; } -.ri-share-2-fill:before { content: "\f41b"; } -.ri-share-2-line:before { content: "\f41c"; } -.ri-sofa-fill:before { content: "\f41d"; } -.ri-sofa-line:before { content: "\f41e"; } -.ri-svelte-fill:before { content: "\f41f"; } -.ri-svelte-line:before { content: "\f420"; } -.ri-vk-fill:before { content: "\f421"; } -.ri-vk-line:before { content: "\f422"; } -.ri-xrp-fill:before { content: "\f423"; } -.ri-xrp-line:before { content: "\f424"; } -.ri-xtz-fill:before { content: "\f425"; } -.ri-xtz-line:before { content: "\f426"; } -.ri-archive-stack-fill:before { content: "\f427"; } -.ri-archive-stack-line:before { content: "\f428"; } -.ri-bowl-fill:before { content: "\f429"; } -.ri-bowl-line:before { content: "\f42a"; } -.ri-calendar-view:before { content: "\f42b"; } -.ri-carousel-view:before { content: "\f42c"; } -.ri-code-block:before { content: "\f42d"; } -.ri-color-filter-fill:before { content: "\f42e"; } -.ri-color-filter-line:before { content: "\f42f"; } -.ri-contacts-book-3-fill:before { content: "\f430"; } -.ri-contacts-book-3-line:before { content: "\f431"; } -.ri-contract-fill:before { content: "\f432"; } -.ri-contract-line:before { content: "\f433"; } -.ri-drinks-2-fill:before { content: "\f434"; } -.ri-drinks-2-line:before { content: "\f435"; } -.ri-export-fill:before { content: "\f436"; } -.ri-export-line:before { content: "\f437"; } -.ri-file-check-fill:before { content: "\f438"; } -.ri-file-check-line:before { content: "\f439"; } -.ri-focus-mode:before { content: "\f43a"; } -.ri-folder-6-fill:before { content: "\f43b"; } -.ri-folder-6-line:before { content: "\f43c"; } -.ri-folder-check-fill:before { content: "\f43d"; } -.ri-folder-check-line:before { content: "\f43e"; } -.ri-folder-close-fill:before { content: "\f43f"; } -.ri-folder-close-line:before { content: "\f440"; } -.ri-folder-cloud-fill:before { content: "\f441"; } -.ri-folder-cloud-line:before { content: "\f442"; } -.ri-gallery-view-2:before { content: "\f443"; } -.ri-gallery-view:before { content: "\f444"; } -.ri-hand:before { content: "\f445"; } -.ri-import-fill:before { content: "\f446"; } -.ri-import-line:before { content: "\f447"; } -.ri-information-2-fill:before { content: "\f448"; } -.ri-information-2-line:before { content: "\f449"; } -.ri-kanban-view-2:before { content: "\f44a"; } -.ri-kanban-view:before { content: "\f44b"; } -.ri-list-view:before { content: "\f44c"; } -.ri-lock-star-fill:before { content: "\f44d"; } -.ri-lock-star-line:before { content: "\f44e"; } -.ri-puzzle-2-fill:before { content: "\f44f"; } -.ri-puzzle-2-line:before { content: "\f450"; } -.ri-puzzle-fill:before { content: "\f451"; } -.ri-puzzle-line:before { content: "\f452"; } -.ri-ram-2-fill:before { content: "\f453"; } -.ri-ram-2-line:before { content: "\f454"; } -.ri-ram-fill:before { content: "\f455"; } -.ri-ram-line:before { content: "\f456"; } -.ri-receipt-fill:before { content: "\f457"; } -.ri-receipt-line:before { content: "\f458"; } -.ri-shadow-fill:before { content: "\f459"; } -.ri-shadow-line:before { content: "\f45a"; } -.ri-sidebar-fold-fill:before { content: "\f45b"; } -.ri-sidebar-fold-line:before { content: "\f45c"; } -.ri-sidebar-unfold-fill:before { content: "\f45d"; } -.ri-sidebar-unfold-line:before { content: "\f45e"; } -.ri-slideshow-view:before { content: "\f45f"; } -.ri-sort-alphabet-asc:before { content: "\f460"; } -.ri-sort-alphabet-desc:before { content: "\f461"; } -.ri-sort-number-asc:before { content: "\f462"; } -.ri-sort-number-desc:before { content: "\f463"; } -.ri-stacked-view:before { content: "\f464"; } -.ri-sticky-note-add-fill:before { content: "\f465"; } -.ri-sticky-note-add-line:before { content: "\f466"; } -.ri-swap-2-fill:before { content: "\f467"; } -.ri-swap-2-line:before { content: "\f468"; } -.ri-swap-3-fill:before { content: "\f469"; } -.ri-swap-3-line:before { content: "\f46a"; } -.ri-table-3:before { content: "\f46b"; } -.ri-table-view:before { content: "\f46c"; } -.ri-text-block:before { content: "\f46d"; } -.ri-text-snippet:before { content: "\f46e"; } -.ri-timeline-view:before { content: "\f46f"; } -.ri-blogger-fill:before { content: "\f470"; } -.ri-blogger-line:before { content: "\f471"; } -.ri-chat-thread-fill:before { content: "\f472"; } -.ri-chat-thread-line:before { content: "\f473"; } -.ri-discount-percent-fill:before { content: "\f474"; } -.ri-discount-percent-line:before { content: "\f475"; } -.ri-exchange-2-fill:before { content: "\f476"; } -.ri-exchange-2-line:before { content: "\f477"; } -.ri-git-fork-fill:before { content: "\f478"; } -.ri-git-fork-line:before { content: "\f479"; } -.ri-input-field:before { content: "\f47a"; } -.ri-progress-1-fill:before { content: "\f47b"; } -.ri-progress-1-line:before { content: "\f47c"; } -.ri-progress-2-fill:before { content: "\f47d"; } -.ri-progress-2-line:before { content: "\f47e"; } -.ri-progress-3-fill:before { content: "\f47f"; } -.ri-progress-3-line:before { content: "\f480"; } -.ri-progress-4-fill:before { content: "\f481"; } -.ri-progress-4-line:before { content: "\f482"; } -.ri-progress-5-fill:before { content: "\f483"; } -.ri-progress-5-line:before { content: "\f484"; } -.ri-progress-6-fill:before { content: "\f485"; } -.ri-progress-6-line:before { content: "\f486"; } -.ri-progress-7-fill:before { content: "\f487"; } -.ri-progress-7-line:before { content: "\f488"; } -.ri-progress-8-fill:before { content: "\f489"; } -.ri-progress-8-line:before { content: "\f48a"; } -.ri-remix-run-fill:before { content: "\f48b"; } -.ri-remix-run-line:before { content: "\f48c"; } -.ri-signpost-fill:before { content: "\f48d"; } -.ri-signpost-line:before { content: "\f48e"; } -.ri-time-zone-fill:before { content: "\f48f"; } -.ri-time-zone-line:before { content: "\f490"; } -.ri-arrow-down-wide-fill:before { content: "\f491"; } -.ri-arrow-down-wide-line:before { content: "\f492"; } -.ri-arrow-left-wide-fill:before { content: "\f493"; } -.ri-arrow-left-wide-line:before { content: "\f494"; } -.ri-arrow-right-wide-fill:before { content: "\f495"; } -.ri-arrow-right-wide-line:before { content: "\f496"; } -.ri-arrow-up-wide-fill:before { content: "\f497"; } -.ri-arrow-up-wide-line:before { content: "\f498"; } -.ri-bluesky-fill:before { content: "\f499"; } -.ri-bluesky-line:before { content: "\f49a"; } -.ri-expand-height-fill:before { content: "\f49b"; } -.ri-expand-height-line:before { content: "\f49c"; } -.ri-expand-width-fill:before { content: "\f49d"; } -.ri-expand-width-line:before { content: "\f49e"; } -.ri-forward-end-fill:before { content: "\f49f"; } -.ri-forward-end-line:before { content: "\f4a0"; } -.ri-forward-end-mini-fill:before { content: "\f4a1"; } -.ri-forward-end-mini-line:before { content: "\f4a2"; } -.ri-friendica-fill:before { content: "\f4a3"; } -.ri-friendica-line:before { content: "\f4a4"; } -.ri-git-pr-draft-fill:before { content: "\f4a5"; } -.ri-git-pr-draft-line:before { content: "\f4a6"; } -.ri-play-reverse-fill:before { content: "\f4a7"; } -.ri-play-reverse-line:before { content: "\f4a8"; } -.ri-play-reverse-mini-fill:before { content: "\f4a9"; } -.ri-play-reverse-mini-line:before { content: "\f4aa"; } -.ri-rewind-start-fill:before { content: "\f4ab"; } -.ri-rewind-start-line:before { content: "\f4ac"; } -.ri-rewind-start-mini-fill:before { content: "\f4ad"; } -.ri-rewind-start-mini-line:before { content: "\f4ae"; } -.ri-scroll-to-bottom-fill:before { content: "\f4af"; } -.ri-scroll-to-bottom-line:before { content: "\f4b0"; } -.ri-add-large-fill:before { content: "\f4b1"; } -.ri-add-large-line:before { content: "\f4b2"; } -.ri-aed-electrodes-fill:before { content: "\f4b3"; } -.ri-aed-electrodes-line:before { content: "\f4b4"; } -.ri-aed-fill:before { content: "\f4b5"; } -.ri-aed-line:before { content: "\f4b6"; } -.ri-alibaba-cloud-fill:before { content: "\f4b7"; } -.ri-alibaba-cloud-line:before { content: "\f4b8"; } -.ri-align-item-bottom-fill:before { content: "\f4b9"; } -.ri-align-item-bottom-line:before { content: "\f4ba"; } -.ri-align-item-horizontal-center-fill:before { content: "\f4bb"; } -.ri-align-item-horizontal-center-line:before { content: "\f4bc"; } -.ri-align-item-left-fill:before { content: "\f4bd"; } -.ri-align-item-left-line:before { content: "\f4be"; } -.ri-align-item-right-fill:before { content: "\f4bf"; } -.ri-align-item-right-line:before { content: "\f4c0"; } -.ri-align-item-top-fill:before { content: "\f4c1"; } -.ri-align-item-top-line:before { content: "\f4c2"; } -.ri-align-item-vertical-center-fill:before { content: "\f4c3"; } -.ri-align-item-vertical-center-line:before { content: "\f4c4"; } -.ri-apps-2-add-fill:before { content: "\f4c5"; } -.ri-apps-2-add-line:before { content: "\f4c6"; } -.ri-close-large-fill:before { content: "\f4c7"; } -.ri-close-large-line:before { content: "\f4c8"; } -.ri-collapse-diagonal-2-fill:before { content: "\f4c9"; } -.ri-collapse-diagonal-2-line:before { content: "\f4ca"; } -.ri-collapse-diagonal-fill:before { content: "\f4cb"; } -.ri-collapse-diagonal-line:before { content: "\f4cc"; } -.ri-dashboard-horizontal-fill:before { content: "\f4cd"; } -.ri-dashboard-horizontal-line:before { content: "\f4ce"; } -.ri-expand-diagonal-2-fill:before { content: "\f4cf"; } -.ri-expand-diagonal-2-line:before { content: "\f4d0"; } -.ri-expand-diagonal-fill:before { content: "\f4d1"; } -.ri-expand-diagonal-line:before { content: "\f4d2"; } -.ri-firebase-fill:before { content: "\f4d3"; } -.ri-firebase-line:before { content: "\f4d4"; } -.ri-flip-horizontal-2-fill:before { content: "\f4d5"; } -.ri-flip-horizontal-2-line:before { content: "\f4d6"; } -.ri-flip-horizontal-fill:before { content: "\f4d7"; } -.ri-flip-horizontal-line:before { content: "\f4d8"; } -.ri-flip-vertical-2-fill:before { content: "\f4d9"; } -.ri-flip-vertical-2-line:before { content: "\f4da"; } -.ri-flip-vertical-fill:before { content: "\f4db"; } -.ri-flip-vertical-line:before { content: "\f4dc"; } -.ri-formula:before { content: "\f4dd"; } -.ri-function-add-fill:before { content: "\f4de"; } -.ri-function-add-line:before { content: "\f4df"; } -.ri-goblet-2-fill:before { content: "\f4e0"; } -.ri-goblet-2-line:before { content: "\f4e1"; } -.ri-golf-ball-fill:before { content: "\f4e2"; } -.ri-golf-ball-line:before { content: "\f4e3"; } -.ri-group-3-fill:before { content: "\f4e4"; } -.ri-group-3-line:before { content: "\f4e5"; } -.ri-heart-add-2-fill:before { content: "\f4e6"; } -.ri-heart-add-2-line:before { content: "\f4e7"; } -.ri-id-card-fill:before { content: "\f4e8"; } -.ri-id-card-line:before { content: "\f4e9"; } -.ri-information-off-fill:before { content: "\f4ea"; } -.ri-information-off-line:before { content: "\f4eb"; } -.ri-java-fill:before { content: "\f4ec"; } -.ri-java-line:before { content: "\f4ed"; } -.ri-layout-grid-2-fill:before { content: "\f4ee"; } -.ri-layout-grid-2-line:before { content: "\f4ef"; } -.ri-layout-horizontal-fill:before { content: "\f4f0"; } -.ri-layout-horizontal-line:before { content: "\f4f1"; } -.ri-layout-vertical-fill:before { content: "\f4f2"; } -.ri-layout-vertical-line:before { content: "\f4f3"; } -.ri-menu-fold-2-fill:before { content: "\f4f4"; } -.ri-menu-fold-2-line:before { content: "\f4f5"; } -.ri-menu-fold-3-fill:before { content: "\f4f6"; } -.ri-menu-fold-3-line:before { content: "\f4f7"; } -.ri-menu-fold-4-fill:before { content: "\f4f8"; } -.ri-menu-fold-4-line:before { content: "\f4f9"; } -.ri-menu-unfold-2-fill:before { content: "\f4fa"; } -.ri-menu-unfold-2-line:before { content: "\f4fb"; } -.ri-menu-unfold-3-fill:before { content: "\f4fc"; } -.ri-menu-unfold-3-line:before { content: "\f4fd"; } -.ri-menu-unfold-4-fill:before { content: "\f4fe"; } -.ri-menu-unfold-4-line:before { content: "\f4ff"; } -.ri-mobile-download-fill:before { content: "\f500"; } -.ri-mobile-download-line:before { content: "\f501"; } -.ri-nextjs-fill:before { content: "\f502"; } -.ri-nextjs-line:before { content: "\f503"; } -.ri-nodejs-fill:before { content: "\f504"; } -.ri-nodejs-line:before { content: "\f505"; } -.ri-pause-large-fill:before { content: "\f506"; } -.ri-pause-large-line:before { content: "\f507"; } -.ri-play-large-fill:before { content: "\f508"; } -.ri-play-large-line:before { content: "\f509"; } -.ri-play-reverse-large-fill:before { content: "\f50a"; } -.ri-play-reverse-large-line:before { content: "\f50b"; } -.ri-police-badge-fill:before { content: "\f50c"; } -.ri-police-badge-line:before { content: "\f50d"; } -.ri-prohibited-2-fill:before { content: "\f50e"; } -.ri-prohibited-2-line:before { content: "\f50f"; } -.ri-shopping-bag-4-fill:before { content: "\f510"; } -.ri-shopping-bag-4-line:before { content: "\f511"; } -.ri-snowflake-fill:before { content: "\f512"; } -.ri-snowflake-line:before { content: "\f513"; } -.ri-square-root:before { content: "\f514"; } -.ri-stop-large-fill:before { content: "\f515"; } -.ri-stop-large-line:before { content: "\f516"; } -.ri-tailwind-css-fill:before { content: "\f517"; } -.ri-tailwind-css-line:before { content: "\f518"; } -.ri-tooth-fill:before { content: "\f519"; } -.ri-tooth-line:before { content: "\f51a"; } -.ri-video-off-fill:before { content: "\f51b"; } -.ri-video-off-line:before { content: "\f51c"; } -.ri-video-on-fill:before { content: "\f51d"; } -.ri-video-on-line:before { content: "\f51e"; } -.ri-webhook-fill:before { content: "\f51f"; } -.ri-webhook-line:before { content: "\f520"; } -.ri-weight-fill:before { content: "\f521"; } -.ri-weight-line:before { content: "\f522"; } -.ri-book-shelf-fill:before { content: "\f523"; } -.ri-book-shelf-line:before { content: "\f524"; } -.ri-brain-2-fill:before { content: "\f525"; } -.ri-brain-2-line:before { content: "\f526"; } -.ri-chat-search-fill:before { content: "\f527"; } -.ri-chat-search-line:before { content: "\f528"; } -.ri-chat-unread-fill:before { content: "\f529"; } -.ri-chat-unread-line:before { content: "\f52a"; } -.ri-collapse-horizontal-fill:before { content: "\f52b"; } -.ri-collapse-horizontal-line:before { content: "\f52c"; } -.ri-collapse-vertical-fill:before { content: "\f52d"; } -.ri-collapse-vertical-line:before { content: "\f52e"; } -.ri-dna-fill:before { content: "\f52f"; } -.ri-dna-line:before { content: "\f530"; } -.ri-dropper-fill:before { content: "\f531"; } -.ri-dropper-line:before { content: "\f532"; } -.ri-expand-diagonal-s-2-fill:before { content: "\f533"; } -.ri-expand-diagonal-s-2-line:before { content: "\f534"; } -.ri-expand-diagonal-s-fill:before { content: "\f535"; } -.ri-expand-diagonal-s-line:before { content: "\f536"; } -.ri-expand-horizontal-fill:before { content: "\f537"; } -.ri-expand-horizontal-line:before { content: "\f538"; } -.ri-expand-horizontal-s-fill:before { content: "\f539"; } -.ri-expand-horizontal-s-line:before { content: "\f53a"; } -.ri-expand-vertical-fill:before { content: "\f53b"; } -.ri-expand-vertical-line:before { content: "\f53c"; } -.ri-expand-vertical-s-fill:before { content: "\f53d"; } -.ri-expand-vertical-s-line:before { content: "\f53e"; } -.ri-gemini-fill:before { content: "\f53f"; } -.ri-gemini-line:before { content: "\f540"; } -.ri-reset-left-fill:before { content: "\f541"; } -.ri-reset-left-line:before { content: "\f542"; } -.ri-reset-right-fill:before { content: "\f543"; } -.ri-reset-right-line:before { content: "\f544"; } -.ri-stairs-fill:before { content: "\f545"; } -.ri-stairs-line:before { content: "\f546"; } -.ri-telegram-2-fill:before { content: "\f547"; } -.ri-telegram-2-line:before { content: "\f548"; } -.ri-triangular-flag-fill:before { content: "\f549"; } -.ri-triangular-flag-line:before { content: "\f54a"; } -.ri-user-minus-fill:before { content: "\f54b"; } -.ri-user-minus-line:before { content: "\f54c"; } -.ri-account-box-2-fill:before { content: "\f54d"; } -.ri-account-box-2-line:before { content: "\f54e"; } -.ri-account-circle-2-fill:before { content: "\f54f"; } -.ri-account-circle-2-line:before { content: "\f550"; } -.ri-alarm-snooze-fill:before { content: "\f551"; } -.ri-alarm-snooze-line:before { content: "\f552"; } -.ri-arrow-down-box-fill:before { content: "\f553"; } -.ri-arrow-down-box-line:before { content: "\f554"; } -.ri-arrow-left-box-fill:before { content: "\f555"; } -.ri-arrow-left-box-line:before { content: "\f556"; } -.ri-arrow-left-down-box-fill:before { content: "\f557"; } -.ri-arrow-left-down-box-line:before { content: "\f558"; } -.ri-arrow-left-up-box-fill:before { content: "\f559"; } -.ri-arrow-left-up-box-line:before { content: "\f55a"; } -.ri-arrow-right-box-fill:before { content: "\f55b"; } -.ri-arrow-right-box-line:before { content: "\f55c"; } -.ri-arrow-right-down-box-fill:before { content: "\f55d"; } -.ri-arrow-right-down-box-line:before { content: "\f55e"; } -.ri-arrow-right-up-box-fill:before { content: "\f55f"; } -.ri-arrow-right-up-box-line:before { content: "\f560"; } -.ri-arrow-up-box-fill:before { content: "\f561"; } -.ri-arrow-up-box-line:before { content: "\f562"; } -.ri-bar-chart-box-ai-fill:before { content: "\f563"; } -.ri-bar-chart-box-ai-line:before { content: "\f564"; } -.ri-brush-ai-fill:before { content: "\f565"; } -.ri-brush-ai-line:before { content: "\f566"; } -.ri-camera-ai-fill:before { content: "\f567"; } -.ri-camera-ai-line:before { content: "\f568"; } -.ri-chat-ai-fill:before { content: "\f569"; } -.ri-chat-ai-line:before { content: "\f56a"; } -.ri-chat-smile-ai-fill:before { content: "\f56b"; } -.ri-chat-smile-ai-line:before { content: "\f56c"; } -.ri-chat-voice-ai-fill:before { content: "\f56d"; } -.ri-chat-voice-ai-line:before { content: "\f56e"; } -.ri-code-ai-fill:before { content: "\f56f"; } -.ri-code-ai-line:before { content: "\f570"; } -.ri-color-filter-ai-fill:before { content: "\f571"; } -.ri-color-filter-ai-line:before { content: "\f572"; } -.ri-custom-size:before { content: "\f573"; } -.ri-fediverse-fill:before { content: "\f574"; } -.ri-fediverse-line:before { content: "\f575"; } -.ri-flag-off-fill:before { content: "\f576"; } -.ri-flag-off-line:before { content: "\f577"; } -.ri-home-9-fill:before { content: "\f578"; } -.ri-home-9-line:before { content: "\f579"; } -.ri-image-ai-fill:before { content: "\f57a"; } -.ri-image-ai-line:before { content: "\f57b"; } -.ri-image-circle-ai-fill:before { content: "\f57c"; } -.ri-image-circle-ai-line:before { content: "\f57d"; } -.ri-info-card-fill:before { content: "\f57e"; } -.ri-info-card-line:before { content: "\f57f"; } -.ri-landscape-ai-fill:before { content: "\f580"; } -.ri-landscape-ai-line:before { content: "\f581"; } -.ri-letter-spacing-2:before { content: "\f582"; } -.ri-line-height-2:before { content: "\f583"; } -.ri-mail-ai-fill:before { content: "\f584"; } -.ri-mail-ai-line:before { content: "\f585"; } -.ri-mic-2-ai-fill:before { content: "\f586"; } -.ri-mic-2-ai-line:before { content: "\f587"; } -.ri-mic-ai-fill:before { content: "\f588"; } -.ri-mic-ai-line:before { content: "\f589"; } -.ri-movie-ai-fill:before { content: "\f58a"; } -.ri-movie-ai-line:before { content: "\f58b"; } -.ri-music-ai-fill:before { content: "\f58c"; } -.ri-music-ai-line:before { content: "\f58d"; } -.ri-notification-snooze-fill:before { content: "\f58e"; } -.ri-notification-snooze-line:before { content: "\f58f"; } -.ri-php-fill:before { content: "\f590"; } -.ri-php-line:before { content: "\f591"; } -.ri-pix-fill:before { content: "\f592"; } -.ri-pix-line:before { content: "\f593"; } -.ri-pulse-ai-fill:before { content: "\f594"; } -.ri-pulse-ai-line:before { content: "\f595"; } -.ri-quill-pen-ai-fill:before { content: "\f596"; } -.ri-quill-pen-ai-line:before { content: "\f597"; } -.ri-speak-ai-fill:before { content: "\f598"; } -.ri-speak-ai-line:before { content: "\f599"; } -.ri-star-off-fill:before { content: "\f59a"; } -.ri-star-off-line:before { content: "\f59b"; } -.ri-translate-ai-2:before { content: "\f59c"; } -.ri-translate-ai:before { content: "\f59d"; } -.ri-user-community-fill:before { content: "\f59e"; } -.ri-user-community-line:before { content: "\f59f"; } -.ri-vercel-fill:before { content: "\f5a0"; } -.ri-vercel-line:before { content: "\f5a1"; } -.ri-video-ai-fill:before { content: "\f5a2"; } -.ri-video-ai-line:before { content: "\f5a3"; } -.ri-video-on-ai-fill:before { content: "\f5a4"; } -.ri-video-on-ai-line:before { content: "\f5a5"; } -.ri-voice-ai-fill:before { content: "\f5a6"; } -.ri-voice-ai-line:before { content: "\f5a7"; } -.ri-ai-generate-2:before { content: "\f5a8"; } -.ri-ai-generate-text:before { content: "\f5a9"; } -.ri-anthropic-fill:before { content: "\f5aa"; } -.ri-anthropic-line:before { content: "\f5ab"; } -.ri-apps-2-ai-fill:before { content: "\f5ac"; } -.ri-apps-2-ai-line:before { content: "\f5ad"; } -.ri-camera-lens-ai-fill:before { content: "\f5ae"; } -.ri-camera-lens-ai-line:before { content: "\f5af"; } -.ri-clapperboard-ai-fill:before { content: "\f5b0"; } -.ri-clapperboard-ai-line:before { content: "\f5b1"; } -.ri-claude-fill:before { content: "\f5b2"; } -.ri-claude-line:before { content: "\f5b3"; } -.ri-closed-captioning-ai-fill:before { content: "\f5b4"; } -.ri-closed-captioning-ai-line:before { content: "\f5b5"; } -.ri-dvd-ai-fill:before { content: "\f5b6"; } -.ri-dvd-ai-line:before { content: "\f5b7"; } -.ri-film-ai-fill:before { content: "\f5b8"; } -.ri-film-ai-line:before { content: "\f5b9"; } -.ri-font-size-ai:before { content: "\f5ba"; } -.ri-mixtral-fill:before { content: "\f5bb"; } -.ri-mixtral-line:before { content: "\f5bc"; } -.ri-movie-2-ai-fill:before { content: "\f5bd"; } -.ri-movie-2-ai-line:before { content: "\f5be"; } -.ri-mv-ai-fill:before { content: "\f5bf"; } -.ri-mv-ai-line:before { content: "\f5c0"; } -.ri-perplexity-fill:before { content: "\f5c1"; } -.ri-perplexity-line:before { content: "\f5c2"; } -.ri-poker-clubs-fill:before { content: "\f5c3"; } -.ri-poker-clubs-line:before { content: "\f5c4"; } -.ri-poker-diamonds-fill:before { content: "\f5c5"; } -.ri-poker-diamonds-line:before { content: "\f5c6"; } -.ri-poker-hearts-fill:before { content: "\f5c7"; } -.ri-poker-hearts-line:before { content: "\f5c8"; } -.ri-poker-spades-fill:before { content: "\f5c9"; } -.ri-poker-spades-line:before { content: "\f5ca"; } -.ri-safe-3-fill:before { content: "\f5cb"; } -.ri-safe-3-line:before { content: "\f5cc"; } -.ri-accessibility-fill:before { content: "\f5cd"; } -.ri-accessibility-line:before { content: "\f5ce"; } -.ri-alarm-add-fill:before { content: "\f5cf"; } -.ri-alarm-add-line:before { content: "\f5d0"; } -.ri-arrow-down-long-fill:before { content: "\f5d1"; } -.ri-arrow-down-long-line:before { content: "\f5d2"; } -.ri-arrow-left-down-long-fill:before { content: "\f5d3"; } -.ri-arrow-left-down-long-line:before { content: "\f5d4"; } -.ri-arrow-left-long-fill:before { content: "\f5d5"; } -.ri-arrow-left-long-line:before { content: "\f5d6"; } -.ri-arrow-left-up-long-fill:before { content: "\f5d7"; } -.ri-arrow-left-up-long-line:before { content: "\f5d8"; } -.ri-arrow-right-down-long-fill:before { content: "\f5d9"; } -.ri-arrow-right-down-long-line:before { content: "\f5da"; } -.ri-arrow-right-long-fill:before { content: "\f5db"; } -.ri-arrow-right-long-line:before { content: "\f5dc"; } -.ri-arrow-right-up-long-fill:before { content: "\f5dd"; } -.ri-arrow-right-up-long-line:before { content: "\f5de"; } -.ri-arrow-up-long-fill:before { content: "\f5df"; } -.ri-arrow-up-long-line:before { content: "\f5e0"; } -.ri-chess-fill:before { content: "\f5e1"; } -.ri-chess-line:before { content: "\f5e2"; } -.ri-diamond-fill:before { content: "\f5e3"; } -.ri-diamond-line:before { content: "\f5e4"; } -.ri-diamond-ring-fill:before { content: "\f5e5"; } -.ri-diamond-ring-line:before { content: "\f5e6"; } -.ri-figma-fill:before { content: "\f5e7"; } -.ri-figma-line:before { content: "\f5e8"; } -.ri-firefox-browser-fill:before { content: "\f5e9"; } -.ri-firefox-browser-line:before { content: "\f5ea"; } -.ri-jewelry-fill:before { content: "\f5eb"; } -.ri-jewelry-line:before { content: "\f5ec"; } -.ri-multi-image-fill:before { content: "\f5ed"; } -.ri-multi-image-line:before { content: "\f5ee"; } -.ri-no-credit-card-fill:before { content: "\f5ef"; } -.ri-no-credit-card-line:before { content: "\f5f0"; } -.ri-service-bell-fill:before { content: "\f5f1"; } -.ri-service-bell-line:before { content: "\f5f2"; } - -.install-app-modal[data-v-40e226b5] .n-modal { - max-width: 24rem -} -.install-app-modal .modal-content[data-v-40e226b5] { - padding: 1rem; - padding-bottom: 0px -} -.install-app-modal .modal-content .modal-header[data-v-40e226b5] { - margin-bottom: 1.5rem; - display: flex; - align-items: center -} -.install-app-modal .modal-content .modal-header .app-icon[data-v-40e226b5] { - margin-right: 1rem; - height: 5rem; - width: 5rem; - overflow: hidden; - border-radius: 1rem -} -.install-app-modal .modal-content .modal-header .app-icon img[data-v-40e226b5] { - height: 100%; - width: 100%; - -o-object-fit: cover; - object-fit: cover -} -.install-app-modal .modal-content .modal-header .app-info[data-v-40e226b5] { - flex: 1 1 0% -} -.install-app-modal .modal-content .modal-header .app-info .app-name[data-v-40e226b5] { - margin-bottom: 0.25rem; - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: 700 -} -.install-app-modal .modal-content .modal-header .app-info .app-desc[data-v-40e226b5] { - font-size: 0.875rem; - line-height: 1.25rem; - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)) -} -.install-app-modal .modal-content .modal-actions[data-v-40e226b5] { - margin-top: 1rem; - display: flex; - gap: 0.75rem -} -.install-app-modal .modal-content .modal-actions .n-button[data-v-40e226b5] { - flex: 1 1 0% -} -.install-app-modal .modal-content .modal-actions .cancel-btn[data-v-40e226b5] { - border-style: none; - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity, 1)) -} -.install-app-modal .modal-content .modal-actions .cancel-btn[data-v-40e226b5]:hover { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)) -} -.install-app-modal .modal-content .modal-actions .install-btn[data-v-40e226b5] { - border-style: none; - --tw-bg-opacity: 1; - background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1)) -} -.install-app-modal .modal-content .modal-actions .install-btn[data-v-40e226b5]:hover { - --tw-bg-opacity: 1; - background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1)) -}.bottom[data-v-7497922f] { - height: 7rem -}.update-app-modal[data-v-f3abdbb7] .n-modal { - max-width: 56rem -} -.update-app-modal .modal-content[data-v-f3abdbb7] { - padding: 1.5rem; - padding-bottom: 1rem -} -.update-app-modal .modal-content .modal-header[data-v-f3abdbb7] { - margin-bottom: 1.5rem; - display: flex; - align-items: center -} -.update-app-modal .modal-content .modal-header .app-icon[data-v-f3abdbb7] { - margin-right: 1.5rem; - height: 6rem; - width: 6rem; - overflow: hidden; - border-radius: 1rem -} -.update-app-modal .modal-content .modal-header .app-icon img[data-v-f3abdbb7] { - height: 100%; - width: 100%; - -o-object-fit: cover; - object-fit: cover -} -.update-app-modal .modal-content .modal-header .app-info[data-v-f3abdbb7] { - flex: 1 1 0% -} -.update-app-modal .modal-content .modal-header .app-info .app-name[data-v-f3abdbb7] { - margin-bottom: 0.5rem; - font-size: 1.5rem; - line-height: 2rem; - font-weight: 700 -} -.update-app-modal .modal-content .modal-header .app-info .app-desc[data-v-f3abdbb7] { - font-size: 1rem; - line-height: 1.5rem; - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)) -} -.update-app-modal .modal-content .update-info[data-v-f3abdbb7] { - margin-bottom: 1.5rem; - border-radius: 0.5rem; - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1)) -} -.update-app-modal .modal-content .update-info[data-v-f3abdbb7]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-title[data-v-f3abdbb7] { - padding: 1rem; - padding-bottom: 0.5rem; - font-size: 1rem; - line-height: 1.5rem; - font-weight: 500 -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] { - padding: 1rem; - padding-top: 0.5rem; - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] h1 { - margin-bottom: 0.75rem; - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: 700 -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] h2 { - margin-bottom: 0.75rem; - font-size: 1.125rem; - line-height: 1.75rem; - font-weight: 700 -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] h3 { - margin-bottom: 0.5rem; - font-size: 1rem; - line-height: 1.5rem; - font-weight: 700 -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] p { - margin-bottom: 0.75rem; - line-height: 1.625 -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] ul { - margin-bottom: 0.75rem; - list-style-position: inside; - list-style-type: disc -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] ol { - margin-bottom: 0.75rem; - list-style-position: inside; - list-style-type: decimal -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] li { - margin-bottom: 0.5rem; - line-height: 1.625 -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] code { - border-radius: 0.25rem; - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)); - padding-left: 0.375rem; - padding-right: 0.375rem; - padding-top: 0.125rem; - padding-bottom: 0.125rem; - --tw-text-opacity: 1; - color: rgb(31 41 55 / var(--tw-text-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] code:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(229 231 235 / var(--tw-text-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] pre { - margin-bottom: 0.75rem; - overflow-x: auto; - border-radius: 0.25rem; - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)); - padding: 0.75rem -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] pre:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] pre code { - background-color: transparent; - padding: 0px -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] blockquote { - margin-bottom: 0.75rem; - border-left-width: 4px; - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)); - padding-left: 1rem -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] blockquote:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] a { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] a:hover { - --tw-text-opacity: 1; - color: rgb(22 163 74 / var(--tw-text-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] a:hover:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(74 222 128 / var(--tw-text-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] hr { - margin-top: 1rem; - margin-bottom: 1rem; - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] hr:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] table { - margin-bottom: 0.75rem; - width: 100% -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] table th, .update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] table td { - border-width: 1px; - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)); - padding-left: 0.75rem; - padding-right: 0.75rem; - padding-top: 0.5rem; - padding-bottom: 0.5rem -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] table th:is(.dark *), .update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] table td:is(.dark *) { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] table th { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)) -} -.update-app-modal .modal-content .update-info .update-body[data-v-f3abdbb7] table th:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)) -} -.update-app-modal .modal-content .modal-actions[data-v-f3abdbb7] { - margin-top: 1.5rem; - display: flex; - gap: 1rem -} -.update-app-modal .modal-content .modal-actions .n-button[data-v-f3abdbb7] { - flex: 1 1 0%; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - font-size: 1rem; - line-height: 1.5rem -} -.update-app-modal .modal-content .modal-actions .cancel-btn[data-v-f3abdbb7] { - border-style: none; - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity, 1)) -} -.update-app-modal .modal-content .modal-actions .cancel-btn[data-v-f3abdbb7]:hover { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)) -} -.update-app-modal .modal-content .modal-actions .update-btn[data-v-f3abdbb7] { - border-style: none; - --tw-bg-opacity: 1; - background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1)) -} -.update-app-modal .modal-content .modal-actions .update-btn[data-v-f3abdbb7]:hover { - --tw-bg-opacity: 1; - background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1)) -}.layout-page[data-v-f03a9852] { - height: 100vh; - width: 100vw; - overflow: hidden; - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); -} -.layout-page[data-v-f03a9852]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); -} -.layout-main[data-v-f03a9852] { - position: relative; - height: 100%; - width: 100%; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.layout-main[data-v-f03a9852]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.layout-main-page[data-v-f03a9852] { - display: flex; - height: 100%; -} -.menu[data-v-f03a9852] { - height: 100%; -} -.main[data-v-f03a9852] { - display: flex; - flex: 1 1 0%; - flex-direction: column; - overflow: hidden; -} -.main-content[data-v-f03a9852] { - flex: 1 1 0%; - overflow: hidden; -} -.main-page[data-v-f03a9852] { - height: 100%; -} -.mobile .main-content[data-v-f03a9852] { - height: calc(100vh - 146px); - overflow: auto; - display: block; - flex: none; -}.app-container[data-v-49a312c0] { - height: 100%; - width: 100%; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} -.mobile .text-base[data-v-49a312c0] { - font-size: 14px !important; -} -.html[data-v-49a312c0]:has(.mobile) { - font-size: 14px; -}.loading-box[data-v-d776f97a] { - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - width: 100%; - height: 100%; - overflow: hidden; - z-index: 9999; -} -.loading-box .mask[data-v-d776f97a] { - width: 100%; - height: 100%; - background-color: rgb(248 249 250 / var(--tw-bg-opacity, 1)); - --tw-bg-opacity: 0.5; -} -.loading-box .mask[data-v-d776f97a]:is(.dark *) { - background-color: rgb(22 22 22 / var(--tw-bg-opacity, 1)); - --tw-bg-opacity: 0.5; -} -.loading-box .loading-content-box[data-v-d776f97a] { - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - width: 100%; - height: 100%; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; -} -.loading-box .tip[data-v-d776f97a] { - font-size: 14px; - margin-top: 8px; -} \ No newline at end of file diff --git a/out/renderer/assets/index-ChDcb7c6.css.gz b/out/renderer/assets/index-ChDcb7c6.css.gz deleted file mode 100644 index 9f35491cad713971daa868218bda92901f9fb9a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32233 zcmX6@bwE?^*H`$0QX=i>MnbwP1K#_eH-iAN;O*CvXAE;f2`}bF}~c*u58`&n$72>CHTwE#mmVpXbSo_(7pT8jLop7 zuLmfd06%I>TAB=UcN9Gv7whceD3>yY9l%SwS8kawsCi@9B7HQ>;pZD3WQm6vco#Ww zPje^JH7`Ey?m`f?C4RUjX{`GksQl4SqH$0t;NbpbXYNVk&hSd81UFRyQt>#F^qB7& zJ}YVD`Ix`DAy9dYu1#3Er-v;xf3e=?KkL*UCeqBv{9vfn%(8mUy5+rrsl!!O5v#M2 z4L$PoI}6RlJq!}LX>7=Ael1;Mv9Stz(N||JM^f-jbZZv_mE_mu|M-(l zL!){g3nn@ex#&9n;3NVpe#&E2ee<#=+{}f9w{udE{XXMucR9rw%?MC_r>f%YIA?x8 zQf$RPUOv{{?*0cElhGqho0QU3Z%J@tB`nY62Cq$>xeSjYG8zNOVt>z{5~e>zevG=c zR3X*B22wW|&#S|TBE2v=CDD{rS}Q(q)-5BT#`uyxm*+C{u(}HFEw@(v?+No2S29Y+BHgfW?~EIJ z#@&p4fh-GZ`bc!jlXc0BWb_Y-Wyw4%NC8fq2WM7rw>`i8+H(HdSa7lZNy}8%N$lCi zTJv1Z^W2m{&?BZHvx6`Sfs=Dm;C0X0{Yfrd_=WCdFFX+6y=XL3fm|0VQ}d@0 zlW3`5WFFA%n%K6M88h9DuVt($J)ClkPew7n(I6U8A+VKt9j4v>l9&S*U`<;SEHwsN z3+r-{vwTq1OYh=X?0J|#W37^D(TutDFUMikF1S-%a@0~SI4^&$y#I9%k&p};{9?ju zZoO`Dmd{GA6h@e|HLh&Dn#~+Fx-hO>&B_hXQ<7oh1ANMu&|8BH2?}^OC%F4?0&@00 z9-N^NX)U9s^3~KorT=DKbr^@ud=v7j+WSl0{=2(>NuT`bAs1Vi`4@D5`7(>IYVGng z`D#LB{>RAW#R-Q=;6L z+j)Oj2`J+xp-B49@4yQgQlkU+o6d!Xk$Iia-josZRdwb@8G%jiRq=1(N8hTdjGRA~ zXJ_V?yPe)?s24i)feAXicQ#N1+;+U0ZGle!nVFa!U{b*Q%mL4SpyDC~ei!2@(rCr= z%Q#dl5H!Po9OLtxn+c(?HQ}4s^x}&p@fj{58E*H0iTrg0-#5Rs3WDzD7W(7neY|E` zsWV-re=_*rkF&4bIyBdxRoSf>KBj0t{PnqNT#=8cm?YB&Np`d1Ne8<$Z7(W=n5Eji z==Q;d=WVdd*3(Y!(Nz)W&5@+e+f&%fd=BL?j`Owa$sy(3g`RPh6EI(M--~I@hW5yR z@otjO(ef^`vXuR#1|Gu&_qNQ=v`j1h^y{Rs={H+KiTY#_ziq35ri1@+auaU}?ball zUW(D?-}ij{htE8sLdX0x%ZxNF494qKFZ`U07G$59*B%rmTqPU4ATrywHCeO$$9tJk zDa>={D*X@TqUBw(ymvQKZlSyDvsgk2EQY#fs5oBLn~eib{_LQ*P001+tc{g|(aLRa!qXbd)&a;C zQa^K7`|SoZ%ck8!;fm&7kx^_W0y&U4pj+x-q|vK$JdYu{z*!f2mTcd%#!@^C6{G)` zOu@D&Uh}=%O&P0GxrVt_`#6OxGTHVKnQc5{UD+SL7`S53^VR`5>0%Q)?6}zy;Isx@ zcmac_;G)32OWuaMrRLXks&HZ8*23ACgFwd(-R)EVL+X2gBLgzHJ7y6#@MY_i;$*FH zqsx=TF_}0%cS;l&Jfw|v!MpC`^660Z;KH?+~&sYA?HOXm^?h zgm$!>kkjX7gqRKjPL z`CW7U{JGsm997A(44kl7Dz35Tyz+5@K0NcRd6Qf>W4aFKANX54fWv;!&w~5X(2P9W zzo(q3neC|4Y=I>HP-CMX48PD!&Pmw^pX@Oi?)-=Fewo2$r6X! zrnxqdx;Acp%XhhXK@Qn$etT!OL1V`}=L(v^3h+HXWrJRp+xs=*OS9>Bq^Cy1h)*p} zG&_ZgEuRON>%cjJ25h;GTS0eBY&0sI(xuWA%W$?<%;UuIwh%7kq)_*03$d?ELSR@h zQO%p^`uhr!bJXHY&F}hMPHRned`cEjDTG>t8O5X$C>_9cbo zU%$W3J6%qHdqy`JAo2Bfn;y0Q0fOI4Grl;b&LX{kq%N@W2i~A`?)W|%921EYvaQpn z=%*We{pG(O3?yvV;j`{qrzn!wSU9bMS%A2BmB4$QZtqBIW@K%W+?%qZs;a!tED{-R z;$~_6(q%$GreS0U7@0R5Y)Sr>412e?9k&Yp>lk!eSPkPIW%JJ$<5m%IyeE3+tt|Dqfkdaj#p^#Uv2 z&195lPOtX>{>!-UO1q@tb3UTRP0mZ0!)x7pK&dRaAwE*Qa}~Lky@cr0Qr>{g=-52l z@`{~CZ34FG=x*hg;goS_wX4>}*;M;uKOnH+|BOuG&lYnA{N!VhC`a`2MeRFmU)^FuFq9bop*rj^X)7oLbs;L?=N?8T$wFI zN(^2ryssy2hA{Zxbq$+3Q#|8KUv2hyB`d28NZTm7yxFWbw(n6Zn!!13dySK__S;`E z*!0#%*ypF+#GrW`Wponaei>#y2eFiJOv~o0d@e|ARq%H8V0sfP0@A9tqckWke zzo{V7cmJVdG=76Ic|Q=@m9yN@FdNmHDY)Wh+2>dFr$}dti^IDY@i!US``f+P%d@~J z8o$Rm{=R04d7Q52--sjO&LNIiv6pKacZrOzEhCKuQ+vyw_nKJWEizX=X--xY4>S5({#<+mCOj;)(8 zMCS5(pykPk-sGBGS@&q%;hv{!P4d~MO=)FO{;~ojF?c=>@BnViP}JpC#R)MT`ujc% zk~k5y`*>|7o0LU$Zb7HkEuxTo$AJw?zO5InHQ!(;X-^#(Pmy8RTsLXAS-nS^Aw54N z52%NSf&|pH8Vb^f`iOQrRq;VJ*ay*N5fz6F-|{qR3=|pSTL+7Nlf*d|`1z?4uRSO6 zu8Ah{B)4w$r;pX{0V&v8*TwYeyG2=zPio>WT#LFzjoq?0s_v2+y&gCN{rz&Io)VX8 zd{lc{l^o;Go=;n^2a{&+n;?yR85qLL%aIuSWWhe!La|6S#v+EC00WZdT@Uw-`A zfgDeCBDyU>#~b_{{(BK@;B^qi(|g-~HPOE1gT;aqh3CmB?B|CM-C!tiQI$xRLU|Or z`ua-DJh_a`$uZ_i2a7NXA;rj74H0=P-Ibd{zkJTW_xRfM6XrzA zW8JJs;sf-rVJ%frInE_eYUFXX=mzv+!ILfHi(}Yj@c8#>v7eQb#VNG(3xe;YhnTuP zN`9@j%+(Wka<-2oO(-rJ$KxxZ=?}l2Y=OtY$7qN<))pw);j$ISu#}tYH=~oqaMceJ zXvHuBP}t_=;1Dx3Uw00pdcsfdWxpmG4)f{S9n&SUas@%gI#{G`gB787t`_ULhqKE% zzY5pAoQ>ljoL1a!@3=Bs#RlChBVd{6SWCOXnV#1#e4|m@O*ZaIpV+}8Hc!{bj{Eta zyq3miS7u(lH5PfrddG~PuQCRF(Th&-%Q+T1y)i%`D*WDikeW7NU11M$o9_zd@9c7{;k z2b2r`)Rs=2E*fn_U%DffmT7QR?s-fBqFYRlNdEVOJvwd~_i_F6>-{D}myW8Orke!f zuK?)-bq&1KcZGvEI}LzG>T$0d*eOqy;E=~J=u&b1IO=G)HTo3h+_9N$lzlQw&I9Z- ziL06cVORv+**B(k^WT1yM6PN6m@&z&q8jQ}(;}y5R{kcd)$shf%techbpbJ`@P#WR z#sosJJ0`L?3=87(^j+*~70FtqKI`uA7a0gzR30K}Hq~?fHn?)D){p&--4wAG!W<0t z8N08MR1*aYS+@<$kVlPza zY}bKgW1cTdn{190C&JjGN8N881YK>-&zS>0Cbmti1L^Ka;2)kMmknw?N-JRbL(c{? zwQR@HxofwB7v%8E{$uRdpc}-7%dP!dp<@)&j_NZ*v6!!~`^{~Apv#N*A>;*|yTR|d zb5K4A))nT10rFUiT5B;aEz%2DDvym*&{WTJvjq1?pmuaO3F|H!-V!y|9sH)0v-MS1dJWGJTwPrgY;XV^ zs|#?WmrP2p_Rw|LR?W$#P_Zw`H#AA%R)IZ2G*cb@1O5GZDo1Ljn6H@Is8x>{obzA+ z8}8J3)!e89PM}*djn?P&S5j(}1Ti`#RpZoL_^Mp*S*POlpR-oi zZ{AQF=5K=Q=$r?>ko7wee^IP=4(d7`{iQ$3gw}+^!nc!14w7o_tM{jtfW!e0#}D!IMfXQy$JMDn{k60kn8w`O zUCY}9YU|#}{8tJjMr+d+OeWia?xhduch3sdh3ObgM+`%FG4sI?$!B){(I6h7taR` zN=Q3~>z?FAlXwm;tDVeai5uj{Tix#UzH8?v!(t328}@C?FFFa&ePExHk8Om|fo|=y zvaP8uhe*$Da&5uMvfZkF;()2v!ksD#mHtz{MxEmbNZU7mryTQk7{Bt&3&e)}jU+>v z2(3(B5~P6~>5Ft`_cGs25SSmHadxj9Nb?lASIHRG2BNh&C%^01a(r1PFdBt(pLWUj z`w(`xs%Q<7I6r4qo(ty0n7Mzb9sirRI-oY3lMi)I5r``=SX72b*m7tObzM7F-}X)} zh<3ED);Lt(&P*-@h&aY$K?movkI$DM?#hV!I>+JxIOHwmKm-!pO)xlA%haLpR<#kT&`lJ2rQ;599drac44YuYE6o95Zj%(R$}Bf;~| z&J!*8GBM)G4^rXv!l|U#a=&OWj?!G?>#Hy%4e~niKWN#se-G)`<^6SjYzAb1 zW(BJcb}-!zmC%`kXRCp-F&L{JId(@QDGoem_Drt^kN$wIVjW8YRaEf-M2h~-(<=_m zo0bS(J~dV6-7G+w#zvS%H_6kAl6B;R#~m*oQInMZkMEk&bXLGJIbN}7(;FRT!;A7> zcO%|(THOl{<&sCh;xdmG-myuo02L6}Y_5%E1+?cmbiIi7xRGR$>&8gZ3Ah^>Z5R?PK;}0L7lu_jjDDmvwL5GAcqA~>d{`2e@^)@0e0^alhE6VM zDLfWp1X;jB1-=t#d9rck*6Ku#!e+1b4Zm0nIsGT|l}jWY79}4Y*V#I`i*SbKgPn&X zt*a7oXh|MnK|OKDVaKhn=oQdU5FfE$X=`Rfld9O%cbiO#uEz9_uz9rU4%g+f3M^*bEy=HjwX+W|)urURdgkDyqtAhd@pq{MX2WY_su#9=JJ^m% zbt;>v52^LsYnG->8!|_{(MekGA6O#u`PXDtzO^efquqhu`8qiI+B%YKb`j((L=v@# zJ-U$DIm!L-X9NwKSNhBh7gJpOy=N>*^mKTT z1#yL!hDH$d~uc7VhMVV}hMN$Rm8GP6$(^26z^T5{(u0Qr#r{GfGE=`m1#hRu!qkS^s3P+(wqKJR8Y* zqN`hT7y07~uLae35fwLaK5w-p$;Bu5Z9Q|N)lhrXWhw-fn(gPy@;n`UkfC2p3}Cqv z#Ach!UE+ZT6(wSWztL5E?IaDm}Ahp~e#f3=}dwlwJlfexFn zm`&}8ZX=_#suoris`F1a-eUvqxHooDMm(@bQ%~0g(Nl+N^2q2VJ{`sia$R57K@~kU zupxoJ(*7iY7_D%7Yk3ky@j{0mpwuAaQQch?lsnI(w0=F1(R5~Y*M)n=Z62O-dFfEc zCK}1(#kD?zF*94uSl%Q@wwSARc-?%UX=?H=(dYCjbMUi=Jk_1^tYlfu zUF^7@kU{U__>J68ZWkS(%-~=>G=OVufh6y)M}jl2c?2tF2FSg40?A5QOAO!+_-qWj zI8V<}9SCimARaX3DjcPN+XE;G!WyjUh~zuO2~#4?H#6`<>l(2b zBa3izV~aZ56AZ)^niSRwQv>g0!I?{FR`wUd7T57Huj>*h^FGrhYYhM_z!A}n7Xh0T zC6^nG!57#Zc+3{VXLyx03=RRr;I~PzXFn#pxiF~0r-0?So$}K4XKu#GZdZ4O)7Ri< zj-UIeUrgZbm}JCt5b|3Wp^sILQQt@Gy|WDM4a?P4eY1q^Sukuy6_^rqdp#X#^xHCE z`_3-CAaQE>U|V%ug_Py^#1sax+4y{2ro5a7exLn$6ZP5@U+UkqD{KcPrAPYLKO19p z6@Q8^y)}=agq0V{z&Ea9a|vxO4n%-lHVB%Q{ATX;Hi_VaK7rp4GzjM@Fe1I&+ez18jh?#7M({^5=aYX0#s`E96eaTwWzGJv`l%9>x41;k%i{#c*-6-J4tbOP+ z`~!M;RiS8XY!`;Yv4bHDlkEo9X|tzHG%86lhDNnx<7`qi_WnX<@Fb`!zAuWm(IkpD zTj!p-DW5Di4;JY8`B!Fr>)mOYm>acY@%UW56z%N2Ib+4o z;Cd1=DYN|*-ew31$;d{F|h~!CZ$^11o;aBX=K*`nF{^1%2>D12&Vj8Cp zC5*!ZA-UV*(IKMNuE8V1i*J5Yu73aU7)@4!auCZH*O1ThD@wTNW1%$2uqk8Quk5dl z;pxpg5w}vI59EBIF!&4x{R{N|{rY^IB!@o|c?JV-#S2CF`2_rE^`ZM18yYQ~IB>F9 zoPG7>NYbNQokIV@k5}{u|GBU-Bl^{@6G_v>;Il@K>~{bU-> z&PWnRP_R5EPyL9pLHL}Q^j>jeH`3Y1FY>3q`60%}q$Bxs(c`kEqgz$fU_RYYm0JB6 zwC)2CW&L2@*QK`3zdX0WRd^v?cp)=UXH~|g({YQj-S5c60`f$rnE8A{d!6>~*OphR zS-F~BlM-WmeUaTtGX6-AhXQI;5LPM?W~~aLU|XJehiVUymkJ{W?va}1-3$oEI)A8v~X^h zV@};73Dq2O?)(X{T&!_E{GIE(9W{}Bu+wF1P92$b1ZU&98k0BKQKC6OlBE6c_++8& z+j2WVTvR+*qb+u^xKtZNKw`Z-5*fpNx*BO@yUbr_YG&kROR$*(D${*cPR1w9cq`52 z6!4vD;qs+b^B4IpPw*nWQrh^3D?8HB=avNck`~n__sJlrP7aUvaT>FD#`X zzm>H9PJqP}rsj|0ho4#3oDktfGBl?cnBvb$Oov1R9!qUyM)tNZu4d%mCT?8PtF9X@ zcPxe_H}gX5l(nj-hkCFkCLTWD-=F#%6A**>9)rGl#`<2CfraBTpU^4(Sa_IxT^q&a z<90R^5=dQU&OS3J-Q}cH@SQwUNcI4b#DDC6icaJpp`kDSm4YMj%?PRF^mPnpUt{n3 z$4>j}XBmj(#*Uy{uk668ld1WDjO+w2Y~!s<(h*!Fta#Q}5&qb)CJw!yI%lvrWJHy~ zbH>Xoo9FYnRj_&k{iQa7&Nthd7jcLeJ0dY#ZcAIXIF`Ms1UA$-vOjeaANx$_+a!9` zD9Y)6SrnG5zfn7Qp1%BJa1;sVjSM=#iGKS*gv?EoJ8x_Y^Nr4b`YLK!3ZYA%rOGow zVZzebYc{h;L?Xf({CYFDVkg*tbl0!eJFKa_g3zG!WBC!6DD)Gmdr|b-X_>WllPnoO zjZONV*t@L1`nN{#yYME|`|Gg{rk%(p)W>GUz^R`n_h7~TA=1xh7_3327_U!kiNm2+AlzGs1)?PQ##`#9sb6&;3Fjxy`X7+$n)@V@x;dLF0d_FMuOk~8ErqXZAaks zv}eE3k<40qSAy~FM(IJLve<#N-X{O{e4}r`PS%AUG|Qdqjmbu|rJ`0!rAYsC9El>e!idlZ%Y51FonNKX0W^Vp{= zhqf}_cey-HKXaewXz4MQrw}ln91js>#-`3o92JOQ)Zh?Q9`S^uPodQw(NpW|h4N}eUm0CL02ZQmF5j*#@tiZCW_c<#FMY8r3nHWyb_AAMV&pSSpZ zpvsfiXOr`6QLD(i`A?JAJ;u?67w3iZ#E`Go4r1MpOL%sNinD<~8$v)NLw0yzjZ9S+ z6(x#sK){piF&bTf##vk({vaa>1)m?#W~~L@ZteZ9V}2sw{!;OqTeQA!)k2inl4d64 z#2)rseX$w{nzX;x&rGP-7y5jO6eWpibP3ZA%fkz?WoV(yaA{!bjGLvO#lF#2;A-+N z0}*vdB*w%z`WRcEp1gm8>*gV8T5?D=4yEmnxPnyB77Ccig_tu-=tZ($-G9d(y!w&=L`7iO_@8 zs4pkK`Ar-Cf9A!3Bi|_(tS=P`*wAs*W2%jD_i>y#*$Y)+b;uRb4Wt#k=swjQC)mAHv`jc1#-?<`5c@KoP~;o%qOeQhH5WYdy}DqtJw3dpIONj*C5Aoau-Lw(Pmzb+-ZU zom=$1E8H6({bwah&p|c7my;$jyxTn_F=j7gVSk@b?^r}@&nHWsaT=(-5mc>U4h!`0 z-!T-J^V}>u?(cSw7Q>?O(s36PU=H96c=a;$@oJpLvs+-Wb0m0(g{tv9>M0QZt#PWW z^Q_JABFDA8ZGRwTe}uDlClIBbwbP!$L!TkrRI1j0Ii`~>HVL=^V|{ov`oLX(>%9K< z#SE_34!*~FgeeqM+s99sc@(h5BW-qVEK98``^s!?OzWKd-LANoq?JBbxG;m(kY&@L5Thp2K zHbZ^W{zJp!$<1m$?=QfhR3(R2dr{~&fJNk?b(s^5!mtEfzHDa#BRSuM6+I>2iB+Fb zx}x=?dZZlLlERD+Yh()bY%fWXH5ZY6O8%MQuJ5GB?MM zX-Sg6Ai;`h7}fo#=lXq2sh4^~s#mnG_!ybtd%!oupn@I(iyJm#BC$#Kbmuxizqwm6un; z9v?_9<#JmB76{7tn_wX8Rz$ySz>Kl-m5{J5S(kt09e`-KV9mq*hrKzf@azG8oDP#| zwMo$VSiv$OFgT?qIKhSTM}osg$pj|IBmD*u_WC68?Z}oLDAJDB+@>laK0;TL#-0<2 z*xAxpTgo8Jh`GPoFQ&8-rb0QWf{-D}P zccp~dq0lcn{UYNeT(ucl9g`9w%PSk{`|PoZZl!a_asNlf4iRvYY{a|kG`4@0IaU#) zG6Yj$QSHJW1^->fcg_zOTs?fOuZ#cW@Rf?IHR2UZr3jws%-m8}c333}J#kjbVqSW1 zWu+3naL!^v=#SIV9UE(S-AR?1loTPK%yuHQs@a3MZYY}D{38cve9Zhv4{L%RA}V|? zgjv+h3Ezu!$<#`AP*`yuwF&D84lC)beoA7zS*HJPt z;T1!svUt!4FXX=3?5GP&fMs`>f);a(lm50;bO5aCUrv-9hp1!voUVqyt9FR0%YGIz zmG%g3iwKr(W9&^W^4)FW;v|cm7YNe1b7ky}-tCxgVD#nZ#I3 zU6CFXdFfWkjd+MMXq!R;=s|^YqyDk#3X@rN%i>l}s6)B=^IaC^HqfwcFVw{CUO%Gr zS^Myp&4u@ps_Tf19W^C}TZ0>!W6s9!yI8XG>MBHDIFPZ@cH zjYw7J1$k^A9l~&q7`hPa`;WN50^6&A7wr?NxmA(tE#^fR!@mT^C-mv}B%3osFB+$C*7o?J?F*fzNiUlQV*SAg0r;*I06)^~4?%Vf7|8PtJc z)C=Olgq5RzX)K6|5!mqZrkZteK9wataw=5uYd6368>(c666F>lo5rvi@k`2C`wLIj zxqUMTMc6zJ;5DN1wTI?8d7H!;9VvO*jbEK10BAK$9YqM-UH|?D27o-ZP1t?hzIOMI zbIjHI9h~s|1vUJOcM$?ev_BHg^%0lX4I|fejng?@85$AiZQ?92_M)8p^*Zhv4*+%w zGl)klN-XJ;E__FD2Z7`RTzxnCTbc9pw>?OA?nu`P~mnqXce8swF?SeWLf7Koesxjp#m!{*=BzqTlw3l5v}DW4SBO8S3W>W%61 z_wJD(lWXO^3)5&HuFl{>5G5W8mJzq=KdQy&_E4_QOYo@veKrEaJBa&Jw7D#b(9+oT9oDzF0Kvkg(!hVU@)NiatM*qCPAtY!e0nT z(F&TPd@7_zs*6ARuW;HO5$Vl2n>al3|Ic#oM{|g3YSeJ6*I~jI$6?67kWds%`-!>?zS_GDo&+h-5UIVFy zbMfyBJ>#2@S1j=zKe(tiTtDcf#y=s4hOmSRMu`1gsz;NT{USG_UYHag)A&yI81(Mq zxH62Mm+)Pkq-=i>pWW6N7XpKL1n*=G;*XsQbIP0wC$*d+puj{*K2Gsa301RKwKc(z zMNM2(#3kRChune=)msEHbpAI(A4sHEhY8{dNWDXFU6f0?@yWC<T!A7 zse)h;Spc4-;hPS{%2tFT?9!umm<{~9!a!F2XgPuIG zj8ZK=MK_P~AqJrz27t_n7;aErZEcivBAy$0UD}sTG+&K!lLUui6C%Pb0|x{h81{-0 zYM~xr>;wMMzXfWnk*eBq6nJvly>Dg4BG4Ta!}>qSX$MJt*5*vV`f@2tlC1cJ)bv-pQZO1;`Dacv!mo*V zi4wK%2tHy!^Gc62SUJr1kJyE;Pt+o zzikhV|1mh6#+C>PCvgCwM`dB*s&(>~h{M%eTkotBNiN03Zn*ul8*F0c^b+Tr=i(d1 z3#e%F5R)(yOcGVQ69WJvL#sXFgkO=#j}!~Gyp9R0`?L|ICP-KwTV&Ku`Zl*P0%2E* z{@JE~2BFz0)zfU2R3m6%Vy>)5egDL%kX+6Qa%1BcQTGQ?$J&BvU7XK30l~a%Z??3d~a>}ID(4+ww#uXcCBQLW3!$m!p*wPljaglNhs7Ah9kS5 z%U>4NJK&!Gb8xY7VLMC9!kWEu>9J9BYJTS*zR4o!y+(`Qkm*u4oaQD5Jsbn2>)-5U zmv74%5a&vmNNueCc}P{UoZoh=R6+EkvT`I-g3h%0y3vbTC-hD?3Rk#FO6FX(TnWAZ zETp!Feu~5o9CPYS+nx{&N_h)*j)cjW?3F%#fy7Oduhf|nQ+~rFAKK(_DJBff)1pB# zeiURmX$kSdKe+8W&%=~1H($?k(xO3& z;2v$^=fSF(wfabk2wPX)C1IFS3GIRDe>4``2PI7v*d5LWo5DZu5?(hXQc~CbT8$Vn zwk)Bttsl0k++d>!O-&4WJNAlKPJdwH`;+%2M>HnARZp zeSB!6iZ~2}plj$`KmiD*Vc?9{gy7r$Xi{^!e|AsP41YmFgA+kPTlDB2YwJp{wdFie z@_zF;DqJxm;D!6^BTfTu2II)sn3SF*bHYC>shs>lKVlN!+`=rMlEeT(Gk;_h{%zV@ z{IKmWETgd36%R%AKT+GmXy$Wf%m~mu;3o&!y~nOOu|!7_=aoQ|neHei zE&1q|!Zz*S?mpd@V}f)5e9kv3Dm~_8RXypQ+E8Hr>_~42EtEY zGvQ7Le4is2b$c&YDDcRIczG(MQ+$?W3Q>*PTXI6$y>i~SHVKQ3;e7@OCzu}n3>hH& zmW?o8eWz=}Yo=#Ph`Lt!E#2%y@V~%YN?;p*IHaZ9!jwG@!USUKs>qWgSx}NNrw0wt z{8MR1_;+j^WqFm}@6v4p_1Nz4Yb-YUQHp;7u<)J$XGgb`&I0!k6=S5Y62WBEOo$*a;! z!37&1w_LY8>3vpoTuCgS*#z?X8a3lvL?KcY?0K6;D9ye{W%)zr{T8V`Sve)qJOojV zl4xTSQA>DnWDRjk(LR=kIjU=SBbU7GWz_j+6J?8RV6|=#6OS*T*Ml zA_y_M=MJmpmbAuE-UA6y2lWRBSyqaUE%F|HfOqrq+7exEE}s=#aIT8DFw_$xYoaC%4rPKdBWI=Rvk#cbK|3=_FG4Ad4p{OD_hK@@u9?JpILyfh(S~UdVdT-F8 zbU3Xe45fPu=SL3|!-&f-|Ll-B3k7P*)xXv&`7lO7VWgMa-1$%h_^a{xjeb;5dQGhxE)e-pYm(Fw(9llGYrtnp>2 zcWa)Io%JIy^X*75=et;?UA51iV|@ zC93gGVd)1)PVGMXjAnUTD`=?q7RDy#lq6$b)&jPF<@?f`IS~{rXTg$#n&xeb@HuKS z((Py=O!r-I6YKZ@Az^oJmX@%&g|&Y>d&{eLHysL}pM#}*;$%mrrN{X)=xi_eda8TO$X zrG=&=M$@9A*8OX`fB?WnBu(-GLOK<9w!bGMtA-&hh!dl1^nIhmKtkM}Bmud^O$tIz z63}H=Z4sv0j3Bz%w%)`H5ruhh#f1Gm$o!t3j2)pT^0Z?T*hL5+X#i_HIs|y77e4W0 zH#@~=uaCUemY5!S#Va9*`d25so;^NKjwkuIzw$8JDF(_?7SKGK>;+z03_wU99*2#qGvpOm-LUU&OqugsuDr1C3P%<*T# zP8FiAhm?fM?`Sa%>A_*mN{Kk^h;FX@cY;eXVy_Hx?bGZV*47$~(ngC%Su<{D<1TUa z3PG9VrB2HWv~T_*$d8$zEBH785g}Uw^3ON_Z%c+R=Ig9&5g}5dW9ilz&mWMHNLA-T zTN$0eHxI2y#@K8#S97pOzd7Z+^(}OA)d~@kmYpR z>f~QnVZF1LBX(hXe?@QLh}eUYClPpC8Iuv}e{Prk0Rbvrc%H=@AMDK(&!NJ}Y=AR(!A zgMf5NcQ<#>cklhfV&H8g3&oONpgxCNL?vtJ!>FIi!AZQ8Ox|=oLVIKOzCQ$)xJpx%u$s1$Zruu1cvLPs%QfKp(5UFY1HvGqTxM+D}*2kb#(<7TEeuAAwg0~ zbm+Q6EZHK;)QCY$X`dn9BOM4^J8 zek`3+h<`f6~xctdXaK@p`$SnLWavkG8MrcI+Mk1>XwHPy* z9%pQEY0&`To^28LLXE0aYUz;etXBl0BRu z{A3yphk4n<+<5TBL%VlzQbnxF%{C>zE4ZwjCKlyfr%~nEJioYKL)lmt1 ztR~N}TgMa-fFw(bTEA!Y09F<|jt|y9~D({BD6?)hoRPpSp#T<}oQ1UYAgY z{)ng$;EF^LZKDM8n3RH&>yh^76#b$3y9@3&d6Rp$coUPScXh>s>DPco>mUH?U>jp= z)(W@hb-E+q>30uGPY2it*odSK@t9jolY;LMvAtEELJ^f%Fxz;Rqah5J3PI8sS$fK& z_drj;Ld^^VlSgj>!?Hqcb5F)#J-!58<@^MR2ySl-FPiAB#{cMb=*F+jLRlH0wr158 zR?gutEd0bVqw6Dst!&uZk5sSh4b_gRy!k#qbah2$&4mCg(zs}L;<;bM1B!;F;eFZh z1S;VP&sR@FRs|$fi}O8*+T05BePLrdxOpO1>f)>`cR;B)vlVPJ2{%i);hl%9{dCn} zyp7kh{+PhxL2WwCb@tj33=eN=n%_z~kt4S;UB@mY6G$xQ~Ii8*Y%u_y>2(T9-F~(VtR1R$Zg)^5ZT2e69b>W*Uwa4RXv`RusJy@Ds0qSW4FF z8)VY$4IHuTJX8EfVvi7{}V`D{qphF1&rcVXd=8d(q!@0Y$Mxc{Ir(^$k#YdQXus>GcHf zd51E>J)E!Z-C;ygSwfs2z?99yiqd=zv49`Ku%f75LzLl%)mU_{7FVmu!fyfKyKr$@ z#{i!~Bj2;TS)?ZAm2hu@5MvUei#TUE(~-KXbugC8cWs6#@hctIK+qnTa7ir4pM>l3 zfxb#e5${_$N6T%SDR8rrh0Jc4S7qtov(~|hg+Xi(6mwnmc)K@itGYUhwG0*WLTAt7 zb?PU!-WRU<2vmatgu$ppk>;MMa{JP7{m&bl#ac{x!x_^l1riYovQFR$XGmXv$K**k z4gNOMFY7Z$Ziu1TEvL$;uu=K5|%SRuTi9ofgnl?XKO8mE~ zdmwZ+6oPa;+xui(#v@N<CFuC+*AjO{)P|u(*%V}?J{tHh^ zHV-3vl;-2$>4p#s5;gMQDX`$_FB)^3iNK9g;i8_;g=d|;_9FYftM?X7RfSBJmqe(B z4Aqy!%v9s=k{F1>DnTN~Z>xcQX+#t+WdS=7e~HH#Q3eZ_&vc44iN$AzT@zC}xM93A zSf+FXk&+FH@ds6&5tXe6a9z3-lHX>Npm1t$!oV5e@;=1^3cl4qSujZR$MP1Z2IGwl zUJY?CHH40R^h?(hzgB*JEg!~=kX$F!Cil%jD^SL6)_0wjYT`@(k!obFN_RUJkVI+f z-<=4^WrM0r0C^uCI>$yMqTBR{gbgICEV9cZ$seBkJS|w3ai;LHXMz`_DEU#V(SZVh zqYB{m$1_95=aqY{w7DkVz(q~bid;z!IS5Ps9C4K70PU3HbcM0Ai6%aJDS?~l25US7 zB1cPz@1=})%g>M1n_ zc-F_|*A57O;HG{fN>ph@W6oELT(vGs9u!_QIS{2tk1%)3zrGdl4*YOMaM2f zFrMOZ%zpGm8iO~PfuqzPgH*0+k}?^rq~B*P9_mT)u8fo;1!Q*Ju{RCEMy&sA{x;n< zu`T|29XI3G3cGCoRH3}jxpV5$`~fqmQWlx^yX}{im8w??;9i+K`4!TFG~y?0)Fglg zrOXXD?V3H(Jx-k2@HZbR4dXT$1KGGKwK>02(Cd(QXFa#Pc!35qR6{L1R zgE+8UcZA97lhkHjDGYKnMIEctLU}K z%bYXdCA3{+D3#(Ul>KVnjg@M4IBz+62VrHn16DyFZr1NT}-U)dL#jYAyT)di zt2&MxIpWeTnz9EMS^v*_iGrZP`A%5!v9)vtdwDZl%yJtLY&Z$~Tg$47G5>eiqIlP$eOAuS#fRQv|8)YGS4L=RGo$W-G7usmFflHQNF z6lJ}=ktU_R-*G8QduJj|zV^oBQhe<#$8FS3I@(Dwe89x5kiuNA)W9_>OCo;&`JY`- zxh0OO2IG|zxmj`w!oyAbn?bZsG~e;BEO6%q=#OvhgiBCjmJe540v(sp>pY2u;M7o= z0yk_2u43(;AB6R$CA=6`A&>$igO6d)P``!B_W2R!WS0Edbg>3C1lR2wr0@|(>Dg=G zg|h;}Ho^@hF>d0Ls)_We$H)H%Nj6_zp=Z&)Lni&h#A zj;4c8!a0tMS-(!BCOo17c?1hjC}Th)i7v?MaR)%O2W26;mOjCs%3CfkAn&lAom@YZ zZCS#t+88Db?UxoRNqN4SRr7_bKu`bxS_J?jc+jnA`qL%x8BXZ1fI0AQc6Lm=ju{28 zL55m1%q@hL+AvZBH*==2Q2Tno%Da*{x6vj3YJi7PKOe87t+;CBLGH48+T!_@F=RXg zD9WsS-4;PchHEDBrzsY9g!5Vb5%T3(zg9VbSmRAe`aB9=F8cA5#WY=5#r*+X#IN03 ze+UE0d6HJFc zBNB-TIXjIdktu7=_M&Flei;R|=3XP%-ojr;L{NbO?nyll*ex)H;bGCM9i2ieNA%Zk@_e&|`>6b(MwwZSN<0E&(GV;KH)uS7D1Gysej6eFtTy@DVPHyaVS>>c;VBlCeg3nmCg zO(q#V!hy~~E|uBgqw3e@+eP;?U(rkDd3c|5#FCD!x|cB^J^-)8{HuE*4S;;Ld#FKl zoqdZ${bD9YFVgvy+_7GvU$O}+7@Eb4P=eyN_p3$RWEIlzz-nGmt{$HK#BK`Gcv$48pES_Bt3bCp9zjG`tjdPMw>cs9a1fUCPxA?69drlkedgqkj-uN z!cf@BD^wnrZP(YJTIiu|K?fJ;PuoDOpWz3Eb@XP=Gp*bKPlLFU3_Y_WEWtA|{4@s` z{HjO3mQisi;8^-I%Gq-t9XSJt2Y|_KBB{#Tf27nZ5O;v9fDb3s!6`{h;`HaMRx;>P zjz2^w2O!<*8e?gqo$IUTPu!fZxPHHJS7gq+f}<>~dbF}0o@M{~ZG06jA9{caHh}b) z#cuRT5c#!{cc=J6uAmH1)=TB9d)Z};0~o^H28uxz1i_phwy`(NHDH9yYC#kx1$t4f zBOovAIao?J8{Tmnev(oalvf{A;ti4@c<}c|5hBHTj%ENzR9eT;5J5~IT*S+-Us@DW z^=cK0`g?q;NpASTqf8EGy-ZIMZmr5es{IY5+Hlv23zcV2FJ<)hpNk{WyS6$db)>^I zp%RtBz)z$u#?Mu!VgGA#j}ud;K<>=)LD4=usL7DRed5x}=UE2(t!9SJg&crl#(EqQh4D5%^77o<5yRu~YNmY=imTM&ie0#mCIIn*6hq2>~9s3XXv^>{2KeD(rPxVn!`6RGl z`6I%ry!A+022)$DVg7Gji)PBNvWvAdDP7sFv)zE@8}dTtCJ(JUhkG#4&88@qU4i{S zvsn07fSU`5*Q;O1F2`eao9p!kx;X&_re?E@Jmj^c`X9(AAVH7lFMq0m(aH_P8@F6Y z8BaX&)#AWqAYdD%o6|j#-&u^Jqc849fo1s8RtJMi0UmM+f%!TET2F}OMe|u%*JVR+ z)E*xPzL6@({yF{_ZOitX9NcCAQSO0_ZPd?2ZNZw$R00iG>RE>_!#DgWjj@d!bJBzZ zi)+HeYsciyBYYm85rA&Wn2t4A4R4Lr^AWhhP^tcExb6EaA?93VvK8#2NPqE`^Q7}U zF9YsQ>oB1wU=ellcqP%euD6#ahaV46TSSGQ=;FCi{uo(KNrHZk+Cx>OtswykPF>+oj?=teb8@p(_Krr&WfdV2c3w5%R&>bw zJisPOrmVf^$$FrdIP7q>#TxP`0JV&oWBrd`Vp)%$Sbf%f{RqZZ4ZkkwClW;38YRWw z_ocsNk|g_3(*ceb<|+Wo0w?%^hijm5Xz_+AjOO@Ryt7;wrtS2rQg7CQUb z8a0y<;XbRGd9_tj6d{SE3Ni@rM33*wpaGHN8GtDKy8K`QDyER3nkBk;OcF^j zVH|ta#}4-$`n*Q~q^!UaECN_Wv?S^2+eXm5k#hAwk$C2Xi{BhBe?9^Rb>|JMxDGy; zM|f= z;cx9h_lg8v-1t|rKk0To!FGz6o;TQE*@>p5EJC<3x9Fx?FsWokVAvE!MC==`+*l@f+#K++Lex?HU&kd6t zA?Bd1q%1=L43%tp1-zeqhef*OTDs}A7)_(^mood`J~q(pZD1el=XYX<7pghP1NZy0 z;BJ)6k!|1C3fF@jcoYBa{8GfL>HM$95VKa6-E{x6E=v*zED;}4;ToM=AXxa+`l*&p zD~@T?m)iFKR1}#c?uT3FFCc*`%w4%jWI>Gs!V>7}7Hv=<@80UppSmth7B4KGM1;>5 zXCQvC2qVUqVs@D&=^3v0ykkKnSTI^)$rfN+lz~W0ef~mYCGlukG-m@1$0AqF3mNTb zd{IoDkREQ$UzKj@93#?fZ3r4zu+U?}G=hgUPEl=vz~2Rz2h4!ae)kU76Aq1<0_Yk8 z<{ATmnGy(I2?3en?yv4#UmZ-~gifs5O?c+85VU8py%Sw%dil+TI4f=Lbg+pV~|?Q-n7dzKc`I*961v)M2(A zMQO*FBH=>@4iLdhbno%H|K19!S|9-8f0+0T$|W~}{0?-@;sYmXy?bb0DIyby2;yi_G|3=t-jur87q0=-r{N@ezb5^4DrE1n6J8Q-iv3eOermwV4;G433rIB5TDl0#Z zzeLB}JoM{3j;iy@`SpJc1AO|`dxBDlI3*X}Eyxs!#OQ%U(?RePPPB-SFcR3VaLaby zz(Hk-tylIN2;&u_-q$J}adTsC!$FJ!@g7mA7)1jGk_5LFM3J&ZpL0-V8*-0R6>cW|naVy?ZQ!SQmr-e6d4rBO`&iDQ(uUm8U1+C? zPT>b;mn#CnAXEVx=Sv?i=$C#SbZ~f#YPmu}G}*hM)&L z+;4n>zaz-GI8%sc+wa9eJD#_LUW5~}XTYl+iEy!!T$aFIQr{LSaNfw3Xr+yYi}*^< zbfn?sIfGhYx4=F5k?9(xs!YI*SXSxCzQ6s8?`=%`KL`pQ@a%SEqcjoo=9#|3(sgZF z_;TjeEV*@xdG8DGSo#TiCB4~FA`pBdtTRV9#HKG1etk3VP!ll;MJ}V>wkV?J>0r>; z@aENBZXI?u}%ibzNuaY?!IC0gjYcx5&kzS z7L2^;<38qps~G{*`WsI6*ym3Ddjgm9k?^rYe-g!dpiC zioiA{rJ4`;9*5EvcsfiaB6id17>p~=h&)1*u43eI=poQfepBI_?Cl;7ab3-q_C-I@&wgv4qJ!e9K7a1mRbXdOUZ{w6+KYp;kwkT*X3l-| zmVw*nH`T~kFFkG4eyB_xelu#a!|ShZ=r`TsD3qz&uf-0xdaf8=$!4(E9UNzr;dzVd zM>uh!bsRd;p3d>SU90{)xdp#K`&%ColR_^a{Lm#>hdBRdj}@xpTLO$koDBw_$l1Wv zQf1?nDp7t$kMON44p`+Y+334CyPMX8wlzn34KpS_)-8^(!l;^S0!}H*jDvaOYz39# zV|oo}IR76BS=DKN4*CAJu8gM96>lNL)%B$nHHnE8HL>XqH6x@SZFU*Nq5ohq;`FZ{ zjEX4Y?~WN>KVaGRO9uDk(f%wZV0#25mWO9I3j=jqjpu5A_Zk2A7%c4QtPO0O4?ny| z)36A8|BmxUL-1?`)#Lcky$BCHw8{AVR=f;b|G=XAo`Gi zn;3u**M_Dv_7aZ|{!6qw?nN~4nslJk|iX-NWUEbuRbffoALH?Q6$@(c$K& z(RAUzG+T6NZ~gBAI<24~-A+BcxnekSiq;7*#l5I{PnWw5InJNMugzj&{w-z>MbY~s z!$fEWS4Zb{GdlZUn|ZmtFr7}}%2V?>P;fB4G+jDLXNvB~IaYhbxFTz+F2*OkB2L|s zJ^R@?-hl%GJHsL>&Z;wHoYx1eoD-jKWp=QN!=BzwKG8sDxX38+Ts)$0hu=|jgwqib zjG__hB@Y56DOxLWTm7$5WGN${V^fTU%Q*~*@^{qLHr|>DnEE3AnstIS>muY`9u^)m z$QF+vMYoxcr5hvE6+Lx=%B%ozW|IC|AXxcjMV&F2_wGr2BeP=WEz3S;;x&!;;<>{9 z56w;uE7ww(Vli5ni!Bphu?g!!H*x}YN_fv*f-P-Z-NIBqqgnIkVV$eyZkvwbH|`m3 z7Hj-nql&LJU?JX{%Dgkbx%s^`zFFHgHq@k(ok{fcF(E?mewQe+kdI3ZK|RHUuvdtc#I#e7KV!(p%K!%_PZ*Y` z>D5s-+)W6#n5Anv;#hBz+}#}&B-I!^DDIcB=#Qnr1vc7c?K&92qV`deqJnWY2obI9 zHNR|Ku>~ToGt-B?1sk`#W&m&m9gwxXXZ2Y48A*Ww&~xxU|C`e#HqH1GTk(mJG`~$^ zf@IR*cIpi?4_I0g*OvAmVj*`+SBxlx$Hbbaq^1otb>qD`*12M(KG&4@KqJC9nIMr@ zroYVZLr!ZRy}NALRat$pPBA29;~$|JC-aNDiZAnX`(@Du{xyF7YN|)!>ADg>;-=gx z%|Fzr{k(k7`VY3WP?IqH@RuGcFzu(n9ADz(u(7ynKI;Z?dO~O1cLx{GN@pjL70f8~P zZbHw*YR1p0JthCwtPFdFf$1I`LdB$iUzfd?gU^u7qN8opd5y7jo|ZDJ5~@f0~HOn+0_*lFu0AFL2S{5jsgm9bY` z*w}FyHVsD{IkQ|T|Gt$Kg!LuMZpR_C5RGLNjW;~Y|RuwJCC#PR(k zQO3ny9*1GKU6y4yDU!G7>gAmn2|wZDiW&{t%?ZQ=9n?W6Si6ULDavy$HuKC-J0{em zh$=8|tW_MWKZ?@?$`1rSG8S-cVtUjdHK`PUDXyb3{=gX`+_0_&P@hT z?X5qlWIB?3`4vOPB1mW$ zQrEq>uC!=gJ0ov_*O$E9{|Aqr7!jP5%v<#wwq3z$S;U*BSNx+ABA}Z-FpoNXqL6jf zA^~BZA626wt1RpIiKvw17LT)vsDkA))!dK&77L7>Y=60e)Tbt^E0n{N9-&gZ3csHp z;+)I`+uiVXnHN7B`G!sJvJz=K`#waoi;USTFD!#!{Nj=PY8#3O;WFt^qiFEkV4|M? zzQkA6A#poWP7-hx_36TVOrGj;&yBepbH37CCWHL|@s;o=nuF<}FoARX@1K^jKPH03 z!^b?|!EQ~uW_cnKbR!!Z0)RQ)%-w^TAMJfh=zETMzV`4?_Ai}(k@^G~K1)C2E@OYj zIS~O<%i+^kW84xb!em1^^inbPO--06KvrfoJWXGk-|>24TwB1B2Rd|&NR6&G$SQSFN)Gx%W_5w(sDxD3xGlnDjJ(o~;ghqYzb!w8QvFfQ>MP-RS4ohL~x1fx9(AE~GPFKy!`NlH1Lm~)EJCa^y}m-X zmr88w05G4+H|^?OjcS6~TpJ}nw3*yb2TsC1wbouND>=8E^qG0~-Ile=N_yJI0rgi? ze+zKmZyVZ3w7OrV?&k3fk@)@`I8%h3f9^+wu8%}mIN1E=I``WX45Vsm6yaZ2VaMV zNH!P^NP5PV$f?1=AacbeX=3&#KNuw0K+0fr9I3eQ322=m<&eclR%*eGXF%3>l~dsT z=J`D^I=U_N?;kGGq@4@?2&ahzssk?2#FxQJ+F$ZL_40W;T$a5l%-VC)(UT>bF7WZX z=7a6hFd2}$=8U(=LoDm=a5W|wbRMu+X9-x~YAqT@MrLLomq=Hw_T0oG!x6q{zr7pR zOBGfasiCq0`x1CD*9pd!-lL!iA~zJcb@>hqHR)cG6C{#sB$q#3^PQY$ZGfc{Aq+tXYcYuGQkzfy(rK`CM!4Sq9`;7}g%jlClLU0bfC6FTdS% z{MZS5?wS5SVwE1(d4|YACr(dIUT-snrxUK!te_^HSU*ivI|P8!8%aHiR3V;+ItvWhJK?VnAKO9=v|C7qfIN}jw3~3nHjk8UNy%jUZ$a?bH_s@m1^_gZ^}?vCbJ`>kes~6xZJFn#5XgEE?2&En1^wO}Y(4kXYG^$kUWP)B#^)tC%4+Am6E6Vw5 zTloh2)B@aMh6A%1i@=G@u(*h4iPyhh(t3f|VB@=a%_5!fT|XYs`b4CpUN1mv*Upq5 z^MB|>3x9T%*WZ2qvPX_shlZ5oB{dF890j<=A2pAIb5 z3$jllI$_S3Hf2>rJd-hepLC6X9E89roA&1XrB)b9%(KKRnWkSK-;8vjB{PHHz)Dr| zTchMD@36AB=1uHv&y^tLXHDu5CqfRZz>>y8eL717tS^;#YBQ@0;8b`r zMNMad*TpZ4oGOh?XkMGyz^LKzPF>&#m5+PTdUlpRfI-Ap0W@s;MNXsl(H+_lXdZ{hXYq|9!6F5Y8L&f7!BO2F>)Qtjm7y-;8 z3Ak-GIZWc|mI{vzlgk`LDl%#$b&lzupH}OMrSK9j0S*w7T|77CsK#06p@2_ecUWuf{;L zuGvT@deKE-Bq$&H#N|4z69`xM+Wx#{y!c zL-x_t6WXUKZ!1<&4;=o`8=A$_cdcWw^fS1=SW?+^c&GhC zfG|C*lF&p|RhyigVh~x$B;S5p9fJv2mX?Lgs&74QaOIQikx(|Ort4WLUhrkx2jvT) z11%8q&(|_7pVH6t3k#B0@W%mXtY{w>BXXIOzT~ce^;j=;?~RvAV(~u|emJttzQ3_A zS=vgMoXubx{QX>^`gpCX;As`G;p}5Ay+lCT<`p}nguCQniD|<>@-s$6P@@NVg-^;7 zXWXmt3+R=8PFA)h?L3iUeglWXMeQ$2ijah3Uz+%>qu4jLSYF4+g;vjE-HOGe6YFE> z1#A_pT(2Soz3tLe>wx^aQY0e#i-LK7(lm)!my~{WjzgZY|rM+E=Er_Fk zYujDhxxD&QxY0H~*$?!5-w8@H@}EVZjsr$7Vm;>Bs)0#4*+LxO1p(M@&^q7QUF}OH zGdl;)8AQ z()DpMec}uudxN1&Ougya%K4Z^{OU4MI!P1-NovH&zaneA77Ucb-bM+WV@%jkCz|l1!+~YHkOtCZ(jiYVZd~+_2Kt7f{2#Ex!_HS>UG#zgHRiDoD5_*% z3`kh%E8B(WzWIiWp<_hgDpkM~3L(`#->e7UtD9<0ezb=)u0JVQnKKBwxbY!RufNPI zLzyZ@q$5h2ZL;$>iN;_#y|#iKA&>Z*d=lg#+_|PP-&N*57q+r!rW`uTElNT#T)oyb?Pw2J4diWs4Cb4O)|5T}xqCDklldWf?2mZv< z&!GTSlK(B+WK{`Q)tli_CQVE|NaM?aTkD4b0=%{729`R%H zjyD^FNKp`!^s{mDhJipLfr!SvXD_BPvgb)*TIN${0qswhjEn{c8Z`cj;Ua_C)BPK#*wPww_DqfZ za-AwUOypp{_CjMKENmcP=sl&zz$Bmz87`mO9ny7KPCx9PBNflV9pfa)bDHL!UH zU_**kXeI`hQGXj%6En#(h8EgGn85p7?o%$t#wAUTiL`0DRS^1H4gFi_azB4u#n4ML zW;Ez@z}hxoXH>T8~o?7=Fqs!$J8%3-MVw5u_tX_WABG1Sms|WB~EMwwb1=J zqdE)41H<> z`}46tYmJz~>2;=5(9s6J+1J1anR|$_Pku+(8}1X6mlK*3$0$?BCV%oikpvaZn|X-* z?T2!#xi;VTIs2@8TH#+n$lp+j~9wp7h+qtR?k&C+fJ~c`JG{-b2LPU?E|+~?@|}zQjU_S z1Hhjn4oa>@ek9KfFex2F7ufOpC$3H`lpeFXD<@4>9cN>!9>|GYfE6fM+dR@Go;gO- zW-WM{m;4P~AeDasO+c$~t~~a9MeVL}Wsns+p@8D&(Gq{=wVH?}Z$X-NP(gqWR3g=* zu3{g5K&zWy>u8&IqxeO9LAw6A^q4bKx*K)7aOEzR#hY|*r*aPGbJfO28$w!fso8hX z^>-`xlTRc_7AmDY$0Xl9Ue9fs5gl0eDPdnfq_u9TZbLKY+SIrtIv4gxB^aA(mD0Hx z%1@^?O*({m7ol}@5LiQEOV^637-AcV@$Gg0@g~{JySH}!zAWbVG*=(LTu8mzS$KT^ z8lBExJFvs7RoL7x{TL-j zDzd4q*uj))Y##yXT!K!BXC|7Zy=|&kM5&pI`h{Ozqg^Il(w%Q^F5&#@7XXV%stgw<}@$@3t%j-X6qLU3H!W1x>d5Q0*yZZ9K_#p~t)J&2hv}eU~%b z?@rq^~ylP1yqktbi%zmXD9Z9CI_j3v+Awlx_wu1 z6P%pZ#SNV{qacw7t1D)`es9I^TZN6@!qym{$PT4qRdpMFYE8HXJ)Eq~oA*CCUg2yq zuS9Fh(9;_#x&Kq_(LbP0ubF)1ryTx3PvBsXCMRV!c`l}S??HJ}BDK(J(QP;3GH+F) z`m;=3bD=?9``->JEnZaDB=cr+nb4#}=D_YzP5kf6MJ~}$eEXN0tNV#t!>i@Auci!6 z&khYp)-TeW-rO3y)gJTNLY?m=y#qZ07FvpV)bgBm3?ifJ&uuOhtXc>4@eQFSdp#P* OK`zC8tos4T2>$~JqD>?K diff --git a/out/renderer/assets/index-CzpNk4J5.css b/out/renderer/assets/index-CzpNk4J5.css deleted file mode 100644 index d9e01e1..0000000 --- a/out/renderer/assets/index-CzpNk4J5.css +++ /dev/null @@ -1,172 +0,0 @@ -.search-item[data-v-3449f610] { - display: flex; - cursor: pointer; - align-items: center; - border-radius: 1.5rem; - padding: 0.75rem; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -}.search-item[data-v-3449f610]:hover { - --tw-bg-opacity: 1; - background-color: rgb(233 236 239 / var(--tw-bg-opacity, 1)); -}.search-item[data-v-3449f610]:hover:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1)); -}.search-item[data-v-3449f610] { - margin: 0 10px; -} -.search-item .search-item-img[data-v-3449f610] { - margin-right: 1rem; - height: 3rem; - width: 3rem; - overflow: hidden; - border-radius: 1rem; -} -.search-item .search-item-info[data-v-3449f610] { - flex: 1 1 0%; - overflow: hidden; -} -.search-item .search-item-info-name[data-v-3449f610] { - text-align: center; - font-size: 0.875rem; - line-height: 1.25rem; - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.search-item .search-item-info-artist[data-v-3449f610] { - text-align: center; - font-size: 0.75rem; - line-height: 1rem; - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity, 1)); -} -.mv:hover .play[data-v-3449f610] { - opacity: 0.6; -} -.mv .search-item-img[data-v-3449f610] { - width: 160px; - height: 90px; - position: relative; - border-radius: 0.5rem; -} -.mv .play[data-v-3449f610] { - position: absolute; - top: 50%; - left: 50%; - --tw-translate-x: -50%; - --tw-translate-y: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - opacity: 0; - transition-property: opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.mv .play .icon[data-v-3449f610] { - font-size: 3rem; - line-height: 1; - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -}.search-page[data-v-254ebbc1] { - display: flex; - height: 100%; -} -.hot-search[data-v-254ebbc1] { - margin-right: 1rem; - flex: 1 1 0%; - overflow: hidden; - border-radius: 0.75rem; - --tw-bg-opacity: 1; - background-color: rgb(248 249 250 / var(--tw-bg-opacity, 1)); -} -.hot-search[data-v-254ebbc1]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(22 22 22 / var(--tw-bg-opacity, 1)); -} -.hot-search[data-v-254ebbc1] { - animation-duration: 0.2s; - min-width: 400px; - height: 100%; -} -.hot-search-list[data-v-254ebbc1] { - padding-bottom: 7rem; -} -.hot-search-item[data-v-254ebbc1] { - cursor: pointer; - border-radius: 0.75rem; - padding-left: 1rem; - padding-right: 1rem; - padding-top: 0.75rem; - padding-bottom: 0.75rem; - font-size: 1.125rem; - line-height: 1.75rem; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.hot-search-item[data-v-254ebbc1]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.hot-search-item[data-v-254ebbc1] { - transition: all 0.3s ease; -} -.hot-search-item[data-v-254ebbc1]:hover { - --tw-bg-opacity: 1; - background-color: rgb(248 249 250 / var(--tw-bg-opacity, 1)); -} -.hot-search-item[data-v-254ebbc1]:hover:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(45 45 45 / var(--tw-bg-opacity, 1)); -} -.hot-search-item-count[data-v-254ebbc1] { - margin-left: 0.75rem; - display: inline-block; - width: 2rem; - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity, 1)); -} -.hot-search-item-count-3[data-v-254ebbc1] { - margin-left: 0.75rem; - display: inline-block; - width: 2rem; - font-weight: 700; - --tw-text-opacity: 1; - color: rgb(239 68 68 / var(--tw-text-opacity, 1)); -} -.search-list[data-v-254ebbc1] { - flex: 1 1 0%; - border-radius: 0.75rem; - --tw-bg-opacity: 1; - background-color: rgb(248 249 250 / var(--tw-bg-opacity, 1)); -} -.search-list[data-v-254ebbc1]:is(.dark *) { - --tw-bg-opacity: 1; - background-color: rgb(22 22 22 / var(--tw-bg-opacity, 1)); -} -.search-list[data-v-254ebbc1] { - height: 100%; -} -.search-list-box[data-v-254ebbc1] { - padding-bottom: 7rem; -} -.title[data-v-254ebbc1] { - margin-top: 0.5rem; - margin-bottom: 0.5rem; - margin-left: 1rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: 700; - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity, 1)); -} -.title[data-v-254ebbc1]:is(.dark *) { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} -.mobile .hot-search[data-v-254ebbc1] { - margin-right: 0px; - width: 100%; -} \ No newline at end of file diff --git a/out/renderer/assets/index-CzpNk4J5.css.gz b/out/renderer/assets/index-CzpNk4J5.css.gz deleted file mode 100644 index b428f7d25b16676bd3e6661d62019b7ea6686a3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 zcmV+b1poUViwFP!000026V+GSj-xmbea~0a%Sy>AW-*tfFLp~l$N^6sf){}PF0+eQ5|m)H!S}vp@yOZ@`GTLuCV(z{4)bccv%Q~ zCXfntdY=KrdtE9`pio>IrYjW{Jd?GLl0eK_b)@Wk$et z)~(KHDobv-lBm$CVA`As#7Zc=gowtwOsl<2P^)QNTgkAKK?#eMrnLjBPPq_ED2-M- zwggqsn45EDdqU-wChE9sqNYmc^|uYvOF%~!?YKcz&_t^OH3$Ex9REkTO)aS5IhPqq z_cE?z0`WfLF^brC&h*@Mf+e_1a2;<6crma|_D$jhaOmdc`|QKHhikG`2c~OuBV>*! z%8Hi{_s1gXgcn^EdDZ9H^cTtgFlx(}ELT&Ygtn9sIs{IuRd3fFTS& zkwqOdr#j=3fD70yPVcjiS>Fcw0^)gg&k52z+ZqDccJr1svTx-hPt3Lxs}iI_9SLlC zk}x^O7WG%}rX*7}o>N6t1TbK5e;W_?$S;yKXXDQ6W~mvk&vmJi29^9ft4Qtb!fJv` zhT39a$7}WVo7JAKAG{B@FogE6_t1T#_NgCThHAr0^YV3W+-CY!aJT}z@&T_WTqQr) z{&cFjGoJJ%lIyIj(L}gfAmUYx_ztKWD;KKa6atzFYWRVTVAHje%m%)lXXlMZr4oBn zdo!va5H`>hEHxLQsY=Cbf*OWS1km`&xjVTqFoDbYyeo0%Y_Wt9^?9)Xt<05CBQF+E z?%46qPG5=WWcA+$`pQumQ^EQMmE2fV|9u;toEJ5dcdvPKklC+%>CEUJ6C55Zd4pTJ z&hSUu;^((_i|m4C7f$lRfJIS^Z!Bq-Y}^VZA2VmG3~Jnrdl;wj$3!~P8|y2Qn>t*B zH}HZDc%gfLtlhoJr^c%1LGyV%ejSrap3?!wT*oV`$T^qDQc&OyC}`xZkm&LDbricp zqevN}asum?k$Tqs(SL0{vc%th$2L^MRd}EsK&DmKBsb!u&9`^dYboqt@5bz0KQTM; z8oU6m_q6e8^Qcd(v}tyhVTt0j}ehz-Y;)-QmT3_m!5sm%*pHGYFyiJeLZJ z)n1yroY%m*hsO(>a#>?A5-Q&HwpedE5d8q~W(}L*X&^L-BmZksuUqbDdu#2wQ-_wn zfz?~}nYxkQCa~db`Q>xuUWUJ9kUT8W50jy1fg*K!axxfh1iOnTOWJMWt+u1=!NK)F uxUoX?$^9X>zlh7}d_P`;FK78&MO-j=at*T!Li?MgLBYQ{8xnW36953a00jsD diff --git a/out/renderer/assets/index-DKaFsuse.js b/out/renderer/assets/index-DKaFsuse.js deleted file mode 100644 index 8a78114..0000000 --- a/out/renderer/assets/index-DKaFsuse.js +++ /dev/null @@ -1,34584 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-DSilVM87.js","./home-BXGE9AqN.js","./MusicList-s-QHu-iA.js","./SongItem-CoswpGn6.js","./Image-DXClIklC.js","./use-locale-DLWAOXez.js","./Ellipsis-D4R5dIX2.js","./SongItem-Bw5Qa7XV.css","./Drawer-BEJ8Ydua.js","./Avatar-rQ2og-6c.js","./Tag-C0oC92WF.js","./MusicList-NCsRWE81.css","./index-JJypdZPY.js","./index-B-m4kL_6.css","./index-BlaUC8oz.css","./index-C-VCusx9.js","./MvPlayer-I4IDK1xL.js","./Icon-DucaliTK.js","./Slider-BA6NituQ.js","./MvPlayer-BPFZslTY.css","./Layout-CvYBg1vI.js","./index-CzpNk4J5.css","./index-Bc5fdT5j.js","./index-s6QFASec.css","./index-SvIREzLs.js","./index-b8HibJP6.css","./index-DhLgZEXT.js","./index-BmgzcEyo.css","./index-BPmJoRDi.js","./index-COH3Oisr.css","./index-RCxsGzpS.js","./Switch-D3Z_Vg3u.js","./index-DVDStqOk.css","./AppMenu-CbDXL_JE.js","./AppMenu-iZYnVe2B.css","./PlayBar-BNzUvTGp.js","./PlayBar-Ct36doNR.css","./SearchBar-Cx7zzS9t.js","./login-BsPxQYi6.js","./SearchBar-CIYxJjXH.css","./TitleBar-Bl1cFyS0.js","./TitleBar-DxNBjVsT.css","./index-Dn0J0Jmw.js","./index-DcmHQdN6.css","./index-BCv4VDKm.js","./index-BE7j41Na.css"])))=>i.map(i=>d[i]); -/** -* @vue/shared v3.5.13 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -/*! #__NO_SIDE_EFFECTS__ */ -// @__NO_SIDE_EFFECTS__ -function makeMap(str) { - const map = /* @__PURE__ */ Object.create(null); - for (const key of str.split(",")) map[key] = 1; - return (val) => val in map; -} -const EMPTY_OBJ = {}; -const EMPTY_ARR = []; -const NOOP = () => { -}; -const NO = () => false; -const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter -(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); -const isModelListener = (key) => key.startsWith("onUpdate:"); -const extend$1 = Object.assign; -const remove = (arr, el) => { - const i = arr.indexOf(el); - if (i > -1) { - arr.splice(i, 1); - } -}; -const hasOwnProperty$b = Object.prototype.hasOwnProperty; -const hasOwn = (val, key) => hasOwnProperty$b.call(val, key); -const isArray$3 = Array.isArray; -const isMap = (val) => toTypeString(val) === "[object Map]"; -const isSet = (val) => toTypeString(val) === "[object Set]"; -const isRegExp$1 = (val) => toTypeString(val) === "[object RegExp]"; -const isFunction$2 = (val) => typeof val === "function"; -const isString$1 = (val) => typeof val === "string"; -const isSymbol$1 = (val) => typeof val === "symbol"; -const isObject$4 = (val) => val !== null && typeof val === "object"; -const isPromise$1 = (val) => { - return (isObject$4(val) || isFunction$2(val)) && isFunction$2(val.then) && isFunction$2(val.catch); -}; -const objectToString$1 = Object.prototype.toString; -const toTypeString = (value) => objectToString$1.call(value); -const toRawType = (value) => { - return toTypeString(value).slice(8, -1); -}; -const isPlainObject$2 = (val) => toTypeString(val) === "[object Object]"; -const isIntegerKey = (key) => isString$1(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; -const isReservedProp = /* @__PURE__ */ makeMap( - // the leading comma is intentional so empty string "" is also included - ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" -); -const cacheStringFunction = (fn) => { - const cache2 = /* @__PURE__ */ Object.create(null); - return (str) => { - const hit = cache2[str]; - return hit || (cache2[str] = fn(str)); - }; -}; -const camelizeRE = /-(\w)/g; -const camelize = cacheStringFunction( - (str) => { - return str.replace(camelizeRE, (_, c2) => c2 ? c2.toUpperCase() : ""); - } -); -const hyphenateRE = /\B([A-Z])/g; -const hyphenate = cacheStringFunction( - (str) => str.replace(hyphenateRE, "-$1").toLowerCase() -); -const capitalize = cacheStringFunction((str) => { - return str.charAt(0).toUpperCase() + str.slice(1); -}); -const toHandlerKey = cacheStringFunction( - (str) => { - const s = str ? `on${capitalize(str)}` : ``; - return s; - } -); -const hasChanged = (value, oldValue) => !Object.is(value, oldValue); -const invokeArrayFns = (fns, ...arg) => { - for (let i = 0; i < fns.length; i++) { - fns[i](...arg); - } -}; -const def$1 = (obj, key, value, writable = false) => { - Object.defineProperty(obj, key, { - configurable: true, - enumerable: false, - writable, - value - }); -}; -const looseToNumber = (val) => { - const n = parseFloat(val); - return isNaN(n) ? val : n; -}; -const toNumber = (val) => { - const n = isString$1(val) ? Number(val) : NaN; - return isNaN(n) ? val : n; -}; -let _globalThis; -const getGlobalThis = () => { - return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); -}; -function normalizeStyle(value) { - if (isArray$3(value)) { - const res = {}; - for (let i = 0; i < value.length; i++) { - const item = value[i]; - const normalized = isString$1(item) ? parseStringStyle(item) : normalizeStyle(item); - if (normalized) { - for (const key in normalized) { - res[key] = normalized[key]; - } - } - } - return res; - } else if (isString$1(value) || isObject$4(value)) { - return value; - } -} -const listDelimiterRE = /;(?![^(]*\))/g; -const propertyDelimiterRE = /:([^]+)/; -const styleCommentRE = /\/\*[^]*?\*\//g; -function parseStringStyle(cssText) { - const ret = {}; - cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { - if (item) { - const tmp = item.split(propertyDelimiterRE); - tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); - } - }); - return ret; -} -function normalizeClass(value) { - let res = ""; - if (isString$1(value)) { - res = value; - } else if (isArray$3(value)) { - for (let i = 0; i < value.length; i++) { - const normalized = normalizeClass(value[i]); - if (normalized) { - res += normalized + " "; - } - } - } else if (isObject$4(value)) { - for (const name2 in value) { - if (value[name2]) { - res += name2 + " "; - } - } - } - return res.trim(); -} -const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; -const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); -function includeBooleanAttr(value) { - return !!value || value === ""; -} -const isRef$1 = (val) => { - return !!(val && val["__v_isRef"] === true); -}; -const toDisplayString = (val) => { - return isString$1(val) ? val : val == null ? "" : isArray$3(val) || isObject$4(val) && (val.toString === objectToString$1 || !isFunction$2(val.toString)) ? isRef$1(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val); -}; -const replacer = (_key, val) => { - if (isRef$1(val)) { - return replacer(_key, val.value); - } else if (isMap(val)) { - return { - [`Map(${val.size})`]: [...val.entries()].reduce( - (entries, [key, val2], i) => { - entries[stringifySymbol(key, i) + " =>"] = val2; - return entries; - }, - {} - ) - }; - } else if (isSet(val)) { - return { - [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) - }; - } else if (isSymbol$1(val)) { - return stringifySymbol(val); - } else if (isObject$4(val) && !isArray$3(val) && !isPlainObject$2(val)) { - return String(val); - } - return val; -}; -const stringifySymbol = (v, i = "") => { - var _a; - return ( - // Symbol.description in es2019+ so we need to cast here to pass - // the lib: es2016 check - isSymbol$1(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v - ); -}; -/** -* @vue/reactivity v3.5.13 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -let activeEffectScope; -class EffectScope { - constructor(detached = false) { - this.detached = detached; - this._active = true; - this.effects = []; - this.cleanups = []; - this._isPaused = false; - this.parent = activeEffectScope; - if (!detached && activeEffectScope) { - this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( - this - ) - 1; - } - } - get active() { - return this._active; - } - pause() { - if (this._active) { - this._isPaused = true; - let i, l; - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) { - this.scopes[i].pause(); - } - } - for (i = 0, l = this.effects.length; i < l; i++) { - this.effects[i].pause(); - } - } - } - /** - * Resumes the effect scope, including all child scopes and effects. - */ - resume() { - if (this._active) { - if (this._isPaused) { - this._isPaused = false; - let i, l; - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) { - this.scopes[i].resume(); - } - } - for (i = 0, l = this.effects.length; i < l; i++) { - this.effects[i].resume(); - } - } - } - } - run(fn) { - if (this._active) { - const currentEffectScope = activeEffectScope; - try { - activeEffectScope = this; - return fn(); - } finally { - activeEffectScope = currentEffectScope; - } - } - } - /** - * This should only be called on non-detached scopes - * @internal - */ - on() { - activeEffectScope = this; - } - /** - * This should only be called on non-detached scopes - * @internal - */ - off() { - activeEffectScope = this.parent; - } - stop(fromParent) { - if (this._active) { - this._active = false; - let i, l; - for (i = 0, l = this.effects.length; i < l; i++) { - this.effects[i].stop(); - } - this.effects.length = 0; - for (i = 0, l = this.cleanups.length; i < l; i++) { - this.cleanups[i](); - } - this.cleanups.length = 0; - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) { - this.scopes[i].stop(true); - } - this.scopes.length = 0; - } - if (!this.detached && this.parent && !fromParent) { - const last = this.parent.scopes.pop(); - if (last && last !== this) { - this.parent.scopes[this.index] = last; - last.index = this.index; - } - } - this.parent = void 0; - } - } -} -function effectScope(detached) { - return new EffectScope(detached); -} -function getCurrentScope() { - return activeEffectScope; -} -function onScopeDispose(fn, failSilently = false) { - if (activeEffectScope) { - activeEffectScope.cleanups.push(fn); - } -} -let activeSub; -const pausedQueueEffects = /* @__PURE__ */ new WeakSet(); -class ReactiveEffect { - constructor(fn) { - this.fn = fn; - this.deps = void 0; - this.depsTail = void 0; - this.flags = 1 | 4; - this.next = void 0; - this.cleanup = void 0; - this.scheduler = void 0; - if (activeEffectScope && activeEffectScope.active) { - activeEffectScope.effects.push(this); - } - } - pause() { - this.flags |= 64; - } - resume() { - if (this.flags & 64) { - this.flags &= ~64; - if (pausedQueueEffects.has(this)) { - pausedQueueEffects.delete(this); - this.trigger(); - } - } - } - /** - * @internal - */ - notify() { - if (this.flags & 2 && !(this.flags & 32)) { - return; - } - if (!(this.flags & 8)) { - batch(this); - } - } - run() { - if (!(this.flags & 1)) { - return this.fn(); - } - this.flags |= 2; - cleanupEffect(this); - prepareDeps(this); - const prevEffect = activeSub; - const prevShouldTrack = shouldTrack; - activeSub = this; - shouldTrack = true; - try { - return this.fn(); - } finally { - cleanupDeps(this); - activeSub = prevEffect; - shouldTrack = prevShouldTrack; - this.flags &= ~2; - } - } - stop() { - if (this.flags & 1) { - for (let link2 = this.deps; link2; link2 = link2.nextDep) { - removeSub(link2); - } - this.deps = this.depsTail = void 0; - cleanupEffect(this); - this.onStop && this.onStop(); - this.flags &= ~1; - } - } - trigger() { - if (this.flags & 64) { - pausedQueueEffects.add(this); - } else if (this.scheduler) { - this.scheduler(); - } else { - this.runIfDirty(); - } - } - /** - * @internal - */ - runIfDirty() { - if (isDirty(this)) { - this.run(); - } - } - get dirty() { - return isDirty(this); - } -} -let batchDepth = 0; -let batchedSub; -let batchedComputed; -function batch(sub, isComputed = false) { - sub.flags |= 8; - if (isComputed) { - sub.next = batchedComputed; - batchedComputed = sub; - return; - } - sub.next = batchedSub; - batchedSub = sub; -} -function startBatch() { - batchDepth++; -} -function endBatch() { - if (--batchDepth > 0) { - return; - } - if (batchedComputed) { - let e = batchedComputed; - batchedComputed = void 0; - while (e) { - const next = e.next; - e.next = void 0; - e.flags &= ~8; - e = next; - } - } - let error; - while (batchedSub) { - let e = batchedSub; - batchedSub = void 0; - while (e) { - const next = e.next; - e.next = void 0; - e.flags &= ~8; - if (e.flags & 1) { - try { - ; - e.trigger(); - } catch (err) { - if (!error) error = err; - } - } - e = next; - } - } - if (error) throw error; -} -function prepareDeps(sub) { - for (let link2 = sub.deps; link2; link2 = link2.nextDep) { - link2.version = -1; - link2.prevActiveLink = link2.dep.activeLink; - link2.dep.activeLink = link2; - } -} -function cleanupDeps(sub) { - let head; - let tail = sub.depsTail; - let link2 = tail; - while (link2) { - const prev = link2.prevDep; - if (link2.version === -1) { - if (link2 === tail) tail = prev; - removeSub(link2); - removeDep(link2); - } else { - head = link2; - } - link2.dep.activeLink = link2.prevActiveLink; - link2.prevActiveLink = void 0; - link2 = prev; - } - sub.deps = head; - sub.depsTail = tail; -} -function isDirty(sub) { - for (let link2 = sub.deps; link2; link2 = link2.nextDep) { - if (link2.dep.version !== link2.version || link2.dep.computed && (refreshComputed(link2.dep.computed) || link2.dep.version !== link2.version)) { - return true; - } - } - if (sub._dirty) { - return true; - } - return false; -} -function refreshComputed(computed2) { - if (computed2.flags & 4 && !(computed2.flags & 16)) { - return; - } - computed2.flags &= ~16; - if (computed2.globalVersion === globalVersion) { - return; - } - computed2.globalVersion = globalVersion; - const dep = computed2.dep; - computed2.flags |= 2; - if (dep.version > 0 && !computed2.isSSR && computed2.deps && !isDirty(computed2)) { - computed2.flags &= ~2; - return; - } - const prevSub = activeSub; - const prevShouldTrack = shouldTrack; - activeSub = computed2; - shouldTrack = true; - try { - prepareDeps(computed2); - const value = computed2.fn(computed2._value); - if (dep.version === 0 || hasChanged(value, computed2._value)) { - computed2._value = value; - dep.version++; - } - } catch (err) { - dep.version++; - throw err; - } finally { - activeSub = prevSub; - shouldTrack = prevShouldTrack; - cleanupDeps(computed2); - computed2.flags &= ~2; - } -} -function removeSub(link2, soft = false) { - const { dep, prevSub, nextSub } = link2; - if (prevSub) { - prevSub.nextSub = nextSub; - link2.prevSub = void 0; - } - if (nextSub) { - nextSub.prevSub = prevSub; - link2.nextSub = void 0; - } - if (dep.subs === link2) { - dep.subs = prevSub; - if (!prevSub && dep.computed) { - dep.computed.flags &= ~4; - for (let l = dep.computed.deps; l; l = l.nextDep) { - removeSub(l, true); - } - } - } - if (!soft && !--dep.sc && dep.map) { - dep.map.delete(dep.key); - } -} -function removeDep(link2) { - const { prevDep, nextDep } = link2; - if (prevDep) { - prevDep.nextDep = nextDep; - link2.prevDep = void 0; - } - if (nextDep) { - nextDep.prevDep = prevDep; - link2.nextDep = void 0; - } -} -let shouldTrack = true; -const trackStack = []; -function pauseTracking() { - trackStack.push(shouldTrack); - shouldTrack = false; -} -function resetTracking() { - const last = trackStack.pop(); - shouldTrack = last === void 0 ? true : last; -} -function cleanupEffect(e) { - const { cleanup } = e; - e.cleanup = void 0; - if (cleanup) { - const prevSub = activeSub; - activeSub = void 0; - try { - cleanup(); - } finally { - activeSub = prevSub; - } - } -} -let globalVersion = 0; -class Link { - constructor(sub, dep) { - this.sub = sub; - this.dep = dep; - this.version = dep.version; - this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; - } -} -class Dep { - constructor(computed2) { - this.computed = computed2; - this.version = 0; - this.activeLink = void 0; - this.subs = void 0; - this.map = void 0; - this.key = void 0; - this.sc = 0; - } - track(debugInfo) { - if (!activeSub || !shouldTrack || activeSub === this.computed) { - return; - } - let link2 = this.activeLink; - if (link2 === void 0 || link2.sub !== activeSub) { - link2 = this.activeLink = new Link(activeSub, this); - if (!activeSub.deps) { - activeSub.deps = activeSub.depsTail = link2; - } else { - link2.prevDep = activeSub.depsTail; - activeSub.depsTail.nextDep = link2; - activeSub.depsTail = link2; - } - addSub(link2); - } else if (link2.version === -1) { - link2.version = this.version; - if (link2.nextDep) { - const next = link2.nextDep; - next.prevDep = link2.prevDep; - if (link2.prevDep) { - link2.prevDep.nextDep = next; - } - link2.prevDep = activeSub.depsTail; - link2.nextDep = void 0; - activeSub.depsTail.nextDep = link2; - activeSub.depsTail = link2; - if (activeSub.deps === link2) { - activeSub.deps = next; - } - } - } - return link2; - } - trigger(debugInfo) { - this.version++; - globalVersion++; - this.notify(debugInfo); - } - notify(debugInfo) { - startBatch(); - try { - if (false) ; - for (let link2 = this.subs; link2; link2 = link2.prevSub) { - if (link2.sub.notify()) { - ; - link2.sub.dep.notify(); - } - } - } finally { - endBatch(); - } - } -} -function addSub(link2) { - link2.dep.sc++; - if (link2.sub.flags & 4) { - const computed2 = link2.dep.computed; - if (computed2 && !link2.dep.subs) { - computed2.flags |= 4 | 16; - for (let l = computed2.deps; l; l = l.nextDep) { - addSub(l); - } - } - const currentTail = link2.dep.subs; - if (currentTail !== link2) { - link2.prevSub = currentTail; - if (currentTail) currentTail.nextSub = link2; - } - link2.dep.subs = link2; - } -} -const targetMap = /* @__PURE__ */ new WeakMap(); -const ITERATE_KEY = Symbol( - "" -); -const MAP_KEY_ITERATE_KEY = Symbol( - "" -); -const ARRAY_ITERATE_KEY = Symbol( - "" -); -function track(target, type, key) { - if (shouldTrack && activeSub) { - let depsMap = targetMap.get(target); - if (!depsMap) { - targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); - } - let dep = depsMap.get(key); - if (!dep) { - depsMap.set(key, dep = new Dep()); - dep.map = depsMap; - dep.key = key; - } - { - dep.track(); - } - } -} -function trigger$1(target, type, key, newValue, oldValue, oldTarget) { - const depsMap = targetMap.get(target); - if (!depsMap) { - globalVersion++; - return; - } - const run = (dep) => { - if (dep) { - { - dep.trigger(); - } - } - }; - startBatch(); - if (type === "clear") { - depsMap.forEach(run); - } else { - const targetIsArray = isArray$3(target); - const isArrayIndex = targetIsArray && isIntegerKey(key); - if (targetIsArray && key === "length") { - const newLength = Number(newValue); - depsMap.forEach((dep, key2) => { - if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !isSymbol$1(key2) && key2 >= newLength) { - run(dep); - } - }); - } else { - if (key !== void 0 || depsMap.has(void 0)) { - run(depsMap.get(key)); - } - if (isArrayIndex) { - run(depsMap.get(ARRAY_ITERATE_KEY)); - } - switch (type) { - case "add": - if (!targetIsArray) { - run(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - run(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } else if (isArrayIndex) { - run(depsMap.get("length")); - } - break; - case "delete": - if (!targetIsArray) { - run(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - run(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } - break; - case "set": - if (isMap(target)) { - run(depsMap.get(ITERATE_KEY)); - } - break; - } - } - } - endBatch(); -} -function getDepFromReactive(object, key) { - const depMap = targetMap.get(object); - return depMap && depMap.get(key); -} -function reactiveReadArray(array) { - const raw = toRaw(array); - if (raw === array) return raw; - track(raw, "iterate", ARRAY_ITERATE_KEY); - return isShallow(array) ? raw : raw.map(toReactive); -} -function shallowReadArray(arr) { - track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY); - return arr; -} -const arrayInstrumentations = { - __proto__: null, - [Symbol.iterator]() { - return iterator(this, Symbol.iterator, toReactive); - }, - concat(...args) { - return reactiveReadArray(this).concat( - ...args.map((x) => isArray$3(x) ? reactiveReadArray(x) : x) - ); - }, - entries() { - return iterator(this, "entries", (value) => { - value[1] = toReactive(value[1]); - return value; - }); - }, - every(fn, thisArg) { - return apply$1(this, "every", fn, thisArg, void 0, arguments); - }, - filter(fn, thisArg) { - return apply$1(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments); - }, - find(fn, thisArg) { - return apply$1(this, "find", fn, thisArg, toReactive, arguments); - }, - findIndex(fn, thisArg) { - return apply$1(this, "findIndex", fn, thisArg, void 0, arguments); - }, - findLast(fn, thisArg) { - return apply$1(this, "findLast", fn, thisArg, toReactive, arguments); - }, - findLastIndex(fn, thisArg) { - return apply$1(this, "findLastIndex", fn, thisArg, void 0, arguments); - }, - // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement - forEach(fn, thisArg) { - return apply$1(this, "forEach", fn, thisArg, void 0, arguments); - }, - includes(...args) { - return searchProxy(this, "includes", args); - }, - indexOf(...args) { - return searchProxy(this, "indexOf", args); - }, - join(separator) { - return reactiveReadArray(this).join(separator); - }, - // keys() iterator only reads `length`, no optimisation required - lastIndexOf(...args) { - return searchProxy(this, "lastIndexOf", args); - }, - map(fn, thisArg) { - return apply$1(this, "map", fn, thisArg, void 0, arguments); - }, - pop() { - return noTracking(this, "pop"); - }, - push(...args) { - return noTracking(this, "push", args); - }, - reduce(fn, ...args) { - return reduce(this, "reduce", fn, args); - }, - reduceRight(fn, ...args) { - return reduce(this, "reduceRight", fn, args); - }, - shift() { - return noTracking(this, "shift"); - }, - // slice could use ARRAY_ITERATE but also seems to beg for range tracking - some(fn, thisArg) { - return apply$1(this, "some", fn, thisArg, void 0, arguments); - }, - splice(...args) { - return noTracking(this, "splice", args); - }, - toReversed() { - return reactiveReadArray(this).toReversed(); - }, - toSorted(comparer) { - return reactiveReadArray(this).toSorted(comparer); - }, - toSpliced(...args) { - return reactiveReadArray(this).toSpliced(...args); - }, - unshift(...args) { - return noTracking(this, "unshift", args); - }, - values() { - return iterator(this, "values", toReactive); - } -}; -function iterator(self2, method, wrapValue) { - const arr = shallowReadArray(self2); - const iter = arr[method](); - if (arr !== self2 && !isShallow(self2)) { - iter._next = iter.next; - iter.next = () => { - const result = iter._next(); - if (result.value) { - result.value = wrapValue(result.value); - } - return result; - }; - } - return iter; -} -const arrayProto$1 = Array.prototype; -function apply$1(self2, method, fn, thisArg, wrappedRetFn, args) { - const arr = shallowReadArray(self2); - const needsWrap = arr !== self2 && !isShallow(self2); - const methodFn = arr[method]; - if (methodFn !== arrayProto$1[method]) { - const result2 = methodFn.apply(self2, args); - return needsWrap ? toReactive(result2) : result2; - } - let wrappedFn = fn; - if (arr !== self2) { - if (needsWrap) { - wrappedFn = function(item, index) { - return fn.call(this, toReactive(item), index, self2); - }; - } else if (fn.length > 2) { - wrappedFn = function(item, index) { - return fn.call(this, item, index, self2); - }; - } - } - const result = methodFn.call(arr, wrappedFn, thisArg); - return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result; -} -function reduce(self2, method, fn, args) { - const arr = shallowReadArray(self2); - let wrappedFn = fn; - if (arr !== self2) { - if (!isShallow(self2)) { - wrappedFn = function(acc, item, index) { - return fn.call(this, acc, toReactive(item), index, self2); - }; - } else if (fn.length > 3) { - wrappedFn = function(acc, item, index) { - return fn.call(this, acc, item, index, self2); - }; - } - } - return arr[method](wrappedFn, ...args); -} -function searchProxy(self2, method, args) { - const arr = toRaw(self2); - track(arr, "iterate", ARRAY_ITERATE_KEY); - const res = arr[method](...args); - if ((res === -1 || res === false) && isProxy(args[0])) { - args[0] = toRaw(args[0]); - return arr[method](...args); - } - return res; -} -function noTracking(self2, method, args = []) { - pauseTracking(); - startBatch(); - const res = toRaw(self2)[method].apply(self2, args); - endBatch(); - resetTracking(); - return res; -} -const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); -const builtInSymbols = new Set( - /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol$1) -); -function hasOwnProperty$a(key) { - if (!isSymbol$1(key)) key = String(key); - const obj = toRaw(this); - track(obj, "has", key); - return obj.hasOwnProperty(key); -} -class BaseReactiveHandler { - constructor(_isReadonly = false, _isShallow = false) { - this._isReadonly = _isReadonly; - this._isShallow = _isShallow; - } - get(target, key, receiver) { - if (key === "__v_skip") return target["__v_skip"]; - const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_isShallow") { - return isShallow2; - } else if (key === "__v_raw") { - if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype - // this means the receiver is a user proxy of the reactive proxy - Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { - return target; - } - return; - } - const targetIsArray = isArray$3(target); - if (!isReadonly2) { - let fn; - if (targetIsArray && (fn = arrayInstrumentations[key])) { - return fn; - } - if (key === "hasOwnProperty") { - return hasOwnProperty$a; - } - } - const res = Reflect.get( - target, - key, - // if this is a proxy wrapping a ref, return methods using the raw ref - // as receiver so that we don't have to call `toRaw` on the ref in all - // its class methods - isRef(target) ? target : receiver - ); - if (isSymbol$1(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { - return res; - } - if (!isReadonly2) { - track(target, "get", key); - } - if (isShallow2) { - return res; - } - if (isRef(res)) { - return targetIsArray && isIntegerKey(key) ? res : res.value; - } - if (isObject$4(res)) { - return isReadonly2 ? readonly(res) : reactive(res); - } - return res; - } -} -class MutableReactiveHandler extends BaseReactiveHandler { - constructor(isShallow2 = false) { - super(false, isShallow2); - } - set(target, key, value, receiver) { - let oldValue = target[key]; - if (!this._isShallow) { - const isOldValueReadonly = isReadonly(oldValue); - if (!isShallow(value) && !isReadonly(value)) { - oldValue = toRaw(oldValue); - value = toRaw(value); - } - if (!isArray$3(target) && isRef(oldValue) && !isRef(value)) { - if (isOldValueReadonly) { - return false; - } else { - oldValue.value = value; - return true; - } - } - } - const hadKey = isArray$3(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); - const result = Reflect.set( - target, - key, - value, - isRef(target) ? target : receiver - ); - if (target === toRaw(receiver)) { - if (!hadKey) { - trigger$1(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger$1(target, "set", key, value); - } - } - return result; - } - deleteProperty(target, key) { - const hadKey = hasOwn(target, key); - target[key]; - const result = Reflect.deleteProperty(target, key); - if (result && hadKey) { - trigger$1(target, "delete", key, void 0); - } - return result; - } - has(target, key) { - const result = Reflect.has(target, key); - if (!isSymbol$1(key) || !builtInSymbols.has(key)) { - track(target, "has", key); - } - return result; - } - ownKeys(target) { - track( - target, - "iterate", - isArray$3(target) ? "length" : ITERATE_KEY - ); - return Reflect.ownKeys(target); - } -} -class ReadonlyReactiveHandler extends BaseReactiveHandler { - constructor(isShallow2 = false) { - super(true, isShallow2); - } - set(target, key) { - return true; - } - deleteProperty(target, key) { - return true; - } -} -const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); -const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); -const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true); -const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); -const toShallow = (value) => value; -const getProto = (v) => Reflect.getPrototypeOf(v); -function createIterableMethod(method, isReadonly2, isShallow2) { - return function(...args) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const targetIsMap = isMap(rawTarget); - const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; - const isKeyOnly = method === "keys" && targetIsMap; - const innerIterator = target[method](...args); - const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; - !isReadonly2 && track( - rawTarget, - "iterate", - isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY - ); - return { - // iterator protocol - next() { - const { value, done } = innerIterator.next(); - return done ? { value, done } : { - value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), - done - }; - }, - // iterable protocol - [Symbol.iterator]() { - return this; - } - }; - }; -} -function createReadonlyMethod(type) { - return function(...args) { - return type === "delete" ? false : type === "clear" ? void 0 : this; - }; -} -function createInstrumentations(readonly2, shallow) { - const instrumentations = { - get(key) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!readonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "get", key); - } - track(rawTarget, "get", rawKey); - } - const { has } = getProto(rawTarget); - const wrap = shallow ? toShallow : readonly2 ? toReadonly : toReactive; - if (has.call(rawTarget, key)) { - return wrap(target.get(key)); - } else if (has.call(rawTarget, rawKey)) { - return wrap(target.get(rawKey)); - } else if (target !== rawTarget) { - target.get(key); - } - }, - get size() { - const target = this["__v_raw"]; - !readonly2 && track(toRaw(target), "iterate", ITERATE_KEY); - return Reflect.get(target, "size", target); - }, - has(key) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!readonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "has", key); - } - track(rawTarget, "has", rawKey); - } - return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); - }, - forEach(callback, thisArg) { - const observed = this; - const target = observed["__v_raw"]; - const rawTarget = toRaw(target); - const wrap = shallow ? toShallow : readonly2 ? toReadonly : toReactive; - !readonly2 && track(rawTarget, "iterate", ITERATE_KEY); - return target.forEach((value, key) => { - return callback.call(thisArg, wrap(value), wrap(key), observed); - }); - } - }; - extend$1( - instrumentations, - readonly2 ? { - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear") - } : { - add(value) { - if (!shallow && !isShallow(value) && !isReadonly(value)) { - value = toRaw(value); - } - const target = toRaw(this); - const proto = getProto(target); - const hadKey = proto.has.call(target, value); - if (!hadKey) { - target.add(value); - trigger$1(target, "add", value, value); - } - return this; - }, - set(key, value) { - if (!shallow && !isShallow(value) && !isReadonly(value)) { - value = toRaw(value); - } - const target = toRaw(this); - const { has, get: get2 } = getProto(target); - let hadKey = has.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has.call(target, key); - } - const oldValue = get2.call(target, key); - target.set(key, value); - if (!hadKey) { - trigger$1(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger$1(target, "set", key, value); - } - return this; - }, - delete(key) { - const target = toRaw(this); - const { has, get: get2 } = getProto(target); - let hadKey = has.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has.call(target, key); - } - get2 ? get2.call(target, key) : void 0; - const result = target.delete(key); - if (hadKey) { - trigger$1(target, "delete", key, void 0); - } - return result; - }, - clear() { - const target = toRaw(this); - const hadItems = target.size !== 0; - const result = target.clear(); - if (hadItems) { - trigger$1( - target, - "clear", - void 0, - void 0 - ); - } - return result; - } - } - ); - const iteratorMethods = [ - "keys", - "values", - "entries", - Symbol.iterator - ]; - iteratorMethods.forEach((method) => { - instrumentations[method] = createIterableMethod(method, readonly2, shallow); - }); - return instrumentations; -} -function createInstrumentationGetter(isReadonly2, shallow) { - const instrumentations = createInstrumentations(isReadonly2, shallow); - return (target, key, receiver) => { - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_raw") { - return target; - } - return Reflect.get( - hasOwn(instrumentations, key) && key in target ? instrumentations : target, - key, - receiver - ); - }; -} -const mutableCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(false, false) -}; -const shallowCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(false, true) -}; -const readonlyCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(true, false) -}; -const shallowReadonlyCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(true, true) -}; -const reactiveMap = /* @__PURE__ */ new WeakMap(); -const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); -const readonlyMap = /* @__PURE__ */ new WeakMap(); -const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); -function targetTypeMap(rawType) { - switch (rawType) { - case "Object": - case "Array": - return 1; - case "Map": - case "Set": - case "WeakMap": - case "WeakSet": - return 2; - default: - return 0; - } -} -function getTargetType(value) { - return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); -} -function reactive(target) { - if (isReadonly(target)) { - return target; - } - return createReactiveObject( - target, - false, - mutableHandlers, - mutableCollectionHandlers, - reactiveMap - ); -} -function shallowReactive(target) { - return createReactiveObject( - target, - false, - shallowReactiveHandlers, - shallowCollectionHandlers, - shallowReactiveMap - ); -} -function readonly(target) { - return createReactiveObject( - target, - true, - readonlyHandlers, - readonlyCollectionHandlers, - readonlyMap - ); -} -function shallowReadonly(target) { - return createReactiveObject( - target, - true, - shallowReadonlyHandlers, - shallowReadonlyCollectionHandlers, - shallowReadonlyMap - ); -} -function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { - if (!isObject$4(target)) { - return target; - } - if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { - return target; - } - const existingProxy = proxyMap.get(target); - if (existingProxy) { - return existingProxy; - } - const targetType = getTargetType(target); - if (targetType === 0) { - return target; - } - const proxy = new Proxy( - target, - targetType === 2 ? collectionHandlers : baseHandlers - ); - proxyMap.set(target, proxy); - return proxy; -} -function isReactive(value) { - if (isReadonly(value)) { - return isReactive(value["__v_raw"]); - } - return !!(value && value["__v_isReactive"]); -} -function isReadonly(value) { - return !!(value && value["__v_isReadonly"]); -} -function isShallow(value) { - return !!(value && value["__v_isShallow"]); -} -function isProxy(value) { - return value ? !!value["__v_raw"] : false; -} -function toRaw(observed) { - const raw = observed && observed["__v_raw"]; - return raw ? toRaw(raw) : observed; -} -function markRaw(value) { - if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) { - def$1(value, "__v_skip", true); - } - return value; -} -const toReactive = (value) => isObject$4(value) ? reactive(value) : value; -const toReadonly = (value) => isObject$4(value) ? readonly(value) : value; -function isRef(r) { - return r ? r["__v_isRef"] === true : false; -} -function ref(value) { - return createRef(value, false); -} -function shallowRef(value) { - return createRef(value, true); -} -function createRef(rawValue, shallow) { - if (isRef(rawValue)) { - return rawValue; - } - return new RefImpl(rawValue, shallow); -} -class RefImpl { - constructor(value, isShallow2) { - this.dep = new Dep(); - this["__v_isRef"] = true; - this["__v_isShallow"] = false; - this._rawValue = isShallow2 ? value : toRaw(value); - this._value = isShallow2 ? value : toReactive(value); - this["__v_isShallow"] = isShallow2; - } - get value() { - { - this.dep.track(); - } - return this._value; - } - set value(newValue) { - const oldValue = this._rawValue; - const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue); - newValue = useDirectValue ? newValue : toRaw(newValue); - if (hasChanged(newValue, oldValue)) { - this._rawValue = newValue; - this._value = useDirectValue ? newValue : toReactive(newValue); - { - this.dep.trigger(); - } - } - } -} -function unref(ref2) { - return isRef(ref2) ? ref2.value : ref2; -} -const shallowUnwrapHandlers = { - get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)), - set: (target, key, value, receiver) => { - const oldValue = target[key]; - if (isRef(oldValue) && !isRef(value)) { - oldValue.value = value; - return true; - } else { - return Reflect.set(target, key, value, receiver); - } - } -}; -function proxyRefs(objectWithRefs) { - return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); -} -class ObjectRefImpl { - constructor(_object, _key, _defaultValue) { - this._object = _object; - this._key = _key; - this._defaultValue = _defaultValue; - this["__v_isRef"] = true; - this._value = void 0; - } - get value() { - const val = this._object[this._key]; - return this._value = val === void 0 ? this._defaultValue : val; - } - set value(newVal) { - this._object[this._key] = newVal; - } - get dep() { - return getDepFromReactive(toRaw(this._object), this._key); - } -} -class GetterRefImpl { - constructor(_getter) { - this._getter = _getter; - this["__v_isRef"] = true; - this["__v_isReadonly"] = true; - this._value = void 0; - } - get value() { - return this._value = this._getter(); - } -} -function toRef(source, key, defaultValue) { - if (isRef(source)) { - return source; - } else if (isFunction$2(source)) { - return new GetterRefImpl(source); - } else if (isObject$4(source) && arguments.length > 1) { - return propertyToRef(source, key, defaultValue); - } else { - return ref(source); - } -} -function propertyToRef(source, key, defaultValue) { - const val = source[key]; - return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue); -} -class ComputedRefImpl { - constructor(fn, setter, isSSR) { - this.fn = fn; - this.setter = setter; - this._value = void 0; - this.dep = new Dep(this); - this.__v_isRef = true; - this.deps = void 0; - this.depsTail = void 0; - this.flags = 16; - this.globalVersion = globalVersion - 1; - this.next = void 0; - this.effect = this; - this["__v_isReadonly"] = !setter; - this.isSSR = isSSR; - } - /** - * @internal - */ - notify() { - this.flags |= 16; - if (!(this.flags & 8) && // avoid infinite self recursion - activeSub !== this) { - batch(this, true); - return true; - } - } - get value() { - const link2 = this.dep.track(); - refreshComputed(this); - if (link2) { - link2.version = this.dep.version; - } - return this._value; - } - set value(newValue) { - if (this.setter) { - this.setter(newValue); - } - } -} -function computed$1(getterOrOptions, debugOptions, isSSR = false) { - let getter; - let setter; - if (isFunction$2(getterOrOptions)) { - getter = getterOrOptions; - } else { - getter = getterOrOptions.get; - setter = getterOrOptions.set; - } - const cRef = new ComputedRefImpl(getter, setter, isSSR); - return cRef; -} -const INITIAL_WATCHER_VALUE = {}; -const cleanupMap = /* @__PURE__ */ new WeakMap(); -let activeWatcher = void 0; -function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) { - if (owner) { - let cleanups = cleanupMap.get(owner); - if (!cleanups) cleanupMap.set(owner, cleanups = []); - cleanups.push(cleanupFn); - } -} -function watch$1(source, cb, options = EMPTY_OBJ) { - const { immediate, deep, once, scheduler: scheduler2, augmentJob, call: call2 } = options; - const reactiveGetter = (source2) => { - if (deep) return source2; - if (isShallow(source2) || deep === false || deep === 0) - return traverse(source2, 1); - return traverse(source2); - }; - let effect2; - let getter; - let cleanup; - let boundCleanup; - let forceTrigger = false; - let isMultiSource = false; - if (isRef(source)) { - getter = () => source.value; - forceTrigger = isShallow(source); - } else if (isReactive(source)) { - getter = () => reactiveGetter(source); - forceTrigger = true; - } else if (isArray$3(source)) { - isMultiSource = true; - forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); - getter = () => source.map((s) => { - if (isRef(s)) { - return s.value; - } else if (isReactive(s)) { - return reactiveGetter(s); - } else if (isFunction$2(s)) { - return call2 ? call2(s, 2) : s(); - } else ; - }); - } else if (isFunction$2(source)) { - if (cb) { - getter = call2 ? () => call2(source, 2) : source; - } else { - getter = () => { - if (cleanup) { - pauseTracking(); - try { - cleanup(); - } finally { - resetTracking(); - } - } - const currentEffect = activeWatcher; - activeWatcher = effect2; - try { - return call2 ? call2(source, 3, [boundCleanup]) : source(boundCleanup); - } finally { - activeWatcher = currentEffect; - } - }; - } - } else { - getter = NOOP; - } - if (cb && deep) { - const baseGetter = getter; - const depth = deep === true ? Infinity : deep; - getter = () => traverse(baseGetter(), depth); - } - const scope = getCurrentScope(); - const watchHandle = () => { - effect2.stop(); - if (scope && scope.active) { - remove(scope.effects, effect2); - } - }; - if (once && cb) { - const _cb = cb; - cb = (...args) => { - _cb(...args); - watchHandle(); - }; - } - let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; - const job = (immediateFirstRun) => { - if (!(effect2.flags & 1) || !effect2.dirty && !immediateFirstRun) { - return; - } - if (cb) { - const newValue = effect2.run(); - if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) { - if (cleanup) { - cleanup(); - } - const currentWatcher = activeWatcher; - activeWatcher = effect2; - try { - const args = [ - newValue, - // pass undefined as the old value when it's changed for the first time - oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, - boundCleanup - ]; - call2 ? call2(cb, 3, args) : ( - // @ts-expect-error - cb(...args) - ); - oldValue = newValue; - } finally { - activeWatcher = currentWatcher; - } - } - } else { - effect2.run(); - } - }; - if (augmentJob) { - augmentJob(job); - } - effect2 = new ReactiveEffect(getter); - effect2.scheduler = scheduler2 ? () => scheduler2(job, false) : job; - boundCleanup = (fn) => onWatcherCleanup(fn, false, effect2); - cleanup = effect2.onStop = () => { - const cleanups = cleanupMap.get(effect2); - if (cleanups) { - if (call2) { - call2(cleanups, 4); - } else { - for (const cleanup2 of cleanups) cleanup2(); - } - cleanupMap.delete(effect2); - } - }; - if (cb) { - if (immediate) { - job(true); - } else { - oldValue = effect2.run(); - } - } else if (scheduler2) { - scheduler2(job.bind(null, true), true); - } else { - effect2.run(); - } - watchHandle.pause = effect2.pause.bind(effect2); - watchHandle.resume = effect2.resume.bind(effect2); - watchHandle.stop = watchHandle; - return watchHandle; -} -function traverse(value, depth = Infinity, seen2) { - if (depth <= 0 || !isObject$4(value) || value["__v_skip"]) { - return value; - } - seen2 = seen2 || /* @__PURE__ */ new Set(); - if (seen2.has(value)) { - return value; - } - seen2.add(value); - depth--; - if (isRef(value)) { - traverse(value.value, depth, seen2); - } else if (isArray$3(value)) { - for (let i = 0; i < value.length; i++) { - traverse(value[i], depth, seen2); - } - } else if (isSet(value) || isMap(value)) { - value.forEach((v) => { - traverse(v, depth, seen2); - }); - } else if (isPlainObject$2(value)) { - for (const key in value) { - traverse(value[key], depth, seen2); - } - for (const key of Object.getOwnPropertySymbols(value)) { - if (Object.prototype.propertyIsEnumerable.call(value, key)) { - traverse(value[key], depth, seen2); - } - } - } - return value; -} -/** -* @vue/runtime-core v3.5.13 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -const stack$1 = []; -let isWarning = false; -function warn$1$1(msg2, ...args) { - if (isWarning) return; - isWarning = true; - pauseTracking(); - const instance = stack$1.length ? stack$1[stack$1.length - 1].component : null; - const appWarnHandler = instance && instance.appContext.config.warnHandler; - const trace = getComponentTrace(); - if (appWarnHandler) { - callWithErrorHandling( - appWarnHandler, - instance, - 11, - [ - // eslint-disable-next-line no-restricted-syntax - msg2 + args.map((a) => { - var _a, _b; - return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); - }).join(""), - instance && instance.proxy, - trace.map( - ({ vnode: vnode2 }) => `at <${formatComponentName(instance, vnode2.type)}>` - ).join("\n"), - trace - ] - ); - } else { - const warnArgs = [`[Vue warn]: ${msg2}`, ...args]; - if (trace.length && // avoid spamming console during tests - true) { - warnArgs.push(` -`, ...formatTrace(trace)); - } - console.warn(...warnArgs); - } - resetTracking(); - isWarning = false; -} -function getComponentTrace() { - let currentVNode = stack$1[stack$1.length - 1]; - if (!currentVNode) { - return []; - } - const normalizedStack = []; - while (currentVNode) { - const last = normalizedStack[0]; - if (last && last.vnode === currentVNode) { - last.recurseCount++; - } else { - normalizedStack.push({ - vnode: currentVNode, - recurseCount: 0 - }); - } - const parentInstance = currentVNode.component && currentVNode.component.parent; - currentVNode = parentInstance && parentInstance.vnode; - } - return normalizedStack; -} -function formatTrace(trace) { - const logs = []; - trace.forEach((entry, i) => { - logs.push(...i === 0 ? [] : [` -`], ...formatTraceEntry(entry)); - }); - return logs; -} -function formatTraceEntry({ vnode: vnode2, recurseCount }) { - const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; - const isRoot = vnode2.component ? vnode2.component.parent == null : false; - const open = ` at <${formatComponentName( - vnode2.component, - vnode2.type, - isRoot - )}`; - const close = `>` + postfix; - return vnode2.props ? [open, ...formatProps(vnode2.props), close] : [open + close]; -} -function formatProps(props) { - const res = []; - const keys = Object.keys(props); - keys.slice(0, 3).forEach((key) => { - res.push(...formatProp(key, props[key])); - }); - if (keys.length > 3) { - res.push(` ...`); - } - return res; -} -function formatProp(key, value, raw) { - if (isString$1(value)) { - value = JSON.stringify(value); - return raw ? value : [`${key}=${value}`]; - } else if (typeof value === "number" || typeof value === "boolean" || value == null) { - return raw ? value : [`${key}=${value}`]; - } else if (isRef(value)) { - value = formatProp(key, toRaw(value.value), true); - return raw ? value : [`${key}=Ref<`, value, `>`]; - } else if (isFunction$2(value)) { - return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; - } else { - value = toRaw(value); - return raw ? value : [`${key}=`, value]; - } -} -function callWithErrorHandling(fn, instance, type, args) { - try { - return args ? fn(...args) : fn(); - } catch (err) { - handleError(err, instance, type); - } -} -function callWithAsyncErrorHandling(fn, instance, type, args) { - if (isFunction$2(fn)) { - const res = callWithErrorHandling(fn, instance, type, args); - if (res && isPromise$1(res)) { - res.catch((err) => { - handleError(err, instance, type); - }); - } - return res; - } - if (isArray$3(fn)) { - const values = []; - for (let i = 0; i < fn.length; i++) { - values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); - } - return values; - } -} -function handleError(err, instance, type, throwInDev = true) { - const contextVNode = instance ? instance.vnode : null; - const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ; - if (instance) { - let cur = instance.parent; - const exposedInstance = instance.proxy; - const errorInfo = `https://vuejs.org/error-reference/#runtime-${type}`; - while (cur) { - const errorCapturedHooks = cur.ec; - if (errorCapturedHooks) { - for (let i = 0; i < errorCapturedHooks.length; i++) { - if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { - return; - } - } - } - cur = cur.parent; - } - if (errorHandler) { - pauseTracking(); - callWithErrorHandling(errorHandler, null, 10, [ - err, - exposedInstance, - errorInfo - ]); - resetTracking(); - return; - } - } - logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction); -} -function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) { - if (throwInProd) { - throw err; - } else { - console.error(err); - } -} -const queue = []; -let flushIndex = -1; -const pendingPostFlushCbs = []; -let activePostFlushCbs = null; -let postFlushIndex = 0; -const resolvedPromise = /* @__PURE__ */ Promise.resolve(); -let currentFlushPromise = null; -function nextTick(fn) { - const p2 = currentFlushPromise || resolvedPromise; - return fn ? p2.then(this ? fn.bind(this) : fn) : p2; -} -function findInsertionIndex$1(id) { - let start = flushIndex + 1; - let end = queue.length; - while (start < end) { - const middle = start + end >>> 1; - const middleJob = queue[middle]; - const middleJobId = getId(middleJob); - if (middleJobId < id || middleJobId === id && middleJob.flags & 2) { - start = middle + 1; - } else { - end = middle; - } - } - return start; -} -function queueJob(job) { - if (!(job.flags & 1)) { - const jobId = getId(job); - const lastJob = queue[queue.length - 1]; - if (!lastJob || // fast path when the job id is larger than the tail - !(job.flags & 2) && jobId >= getId(lastJob)) { - queue.push(job); - } else { - queue.splice(findInsertionIndex$1(jobId), 0, job); - } - job.flags |= 1; - queueFlush(); - } -} -function queueFlush() { - if (!currentFlushPromise) { - currentFlushPromise = resolvedPromise.then(flushJobs); - } -} -function queuePostFlushCb(cb) { - if (!isArray$3(cb)) { - if (activePostFlushCbs && cb.id === -1) { - activePostFlushCbs.splice(postFlushIndex + 1, 0, cb); - } else if (!(cb.flags & 1)) { - pendingPostFlushCbs.push(cb); - cb.flags |= 1; - } - } else { - pendingPostFlushCbs.push(...cb); - } - queueFlush(); -} -function flushPreFlushCbs(instance, seen2, i = flushIndex + 1) { - for (; i < queue.length; i++) { - const cb = queue[i]; - if (cb && cb.flags & 2) { - if (instance && cb.id !== instance.uid) { - continue; - } - queue.splice(i, 1); - i--; - if (cb.flags & 4) { - cb.flags &= ~1; - } - cb(); - if (!(cb.flags & 4)) { - cb.flags &= ~1; - } - } - } -} -function flushPostFlushCbs(seen2) { - if (pendingPostFlushCbs.length) { - const deduped = [...new Set(pendingPostFlushCbs)].sort( - (a, b) => getId(a) - getId(b) - ); - pendingPostFlushCbs.length = 0; - if (activePostFlushCbs) { - activePostFlushCbs.push(...deduped); - return; - } - activePostFlushCbs = deduped; - for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { - const cb = activePostFlushCbs[postFlushIndex]; - if (cb.flags & 4) { - cb.flags &= ~1; - } - if (!(cb.flags & 8)) cb(); - cb.flags &= ~1; - } - activePostFlushCbs = null; - postFlushIndex = 0; - } -} -const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id; -function flushJobs(seen2) { - try { - for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { - const job = queue[flushIndex]; - if (job && !(job.flags & 8)) { - if (false) ; - if (job.flags & 4) { - job.flags &= ~1; - } - callWithErrorHandling( - job, - job.i, - job.i ? 15 : 14 - ); - if (!(job.flags & 4)) { - job.flags &= ~1; - } - } - } - } finally { - for (; flushIndex < queue.length; flushIndex++) { - const job = queue[flushIndex]; - if (job) { - job.flags &= ~1; - } - } - flushIndex = -1; - queue.length = 0; - flushPostFlushCbs(); - currentFlushPromise = null; - if (queue.length || pendingPostFlushCbs.length) { - flushJobs(); - } - } -} -let currentRenderingInstance = null; -let currentScopeId = null; -function setCurrentRenderingInstance(instance) { - const prev = currentRenderingInstance; - currentRenderingInstance = instance; - currentScopeId = instance && instance.type.__scopeId || null; - return prev; -} -function withCtx(fn, ctx2 = currentRenderingInstance, isNonScopedSlot) { - if (!ctx2) return fn; - if (fn._n) { - return fn; - } - const renderFnWithContext = (...args) => { - if (renderFnWithContext._d) { - setBlockTracking(-1); - } - const prevInstance = setCurrentRenderingInstance(ctx2); - let res; - try { - res = fn(...args); - } finally { - setCurrentRenderingInstance(prevInstance); - if (renderFnWithContext._d) { - setBlockTracking(1); - } - } - return res; - }; - renderFnWithContext._n = true; - renderFnWithContext._c = true; - renderFnWithContext._d = true; - return renderFnWithContext; -} -function withDirectives(vnode2, directives2) { - if (currentRenderingInstance === null) { - return vnode2; - } - const instance = getComponentPublicInstance(currentRenderingInstance); - const bindings = vnode2.dirs || (vnode2.dirs = []); - for (let i = 0; i < directives2.length; i++) { - let [dir, value, arg, modifiers = EMPTY_OBJ] = directives2[i]; - if (dir) { - if (isFunction$2(dir)) { - dir = { - mounted: dir, - updated: dir - }; - } - if (dir.deep) { - traverse(value); - } - bindings.push({ - dir, - instance, - value, - oldValue: void 0, - arg, - modifiers - }); - } - } - return vnode2; -} -function invokeDirectiveHook(vnode2, prevVNode, instance, name2) { - const bindings = vnode2.dirs; - const oldBindings = prevVNode && prevVNode.dirs; - for (let i = 0; i < bindings.length; i++) { - const binding = bindings[i]; - if (oldBindings) { - binding.oldValue = oldBindings[i].value; - } - let hook = binding.dir[name2]; - if (hook) { - pauseTracking(); - callWithAsyncErrorHandling(hook, instance, 8, [ - vnode2.el, - binding, - vnode2, - prevVNode - ]); - resetTracking(); - } - } -} -const TeleportEndKey = Symbol("_vte"); -const isTeleport = (type) => type.__isTeleport; -const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === ""); -const isTeleportDeferred = (props) => props && (props.defer || props.defer === ""); -const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement; -const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement; -const resolveTarget = (props, select) => { - const targetSelector = props && props.to; - if (isString$1(targetSelector)) { - if (!select) { - return null; - } else { - const target = select(targetSelector); - return target; - } - } else { - return targetSelector; - } -}; -const TeleportImpl = { - name: "Teleport", - __isTeleport: true, - process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized, internals) { - const { - mc: mountChildren, - pc: patchChildren, - pbc: patchBlockChildren, - o: { insert, querySelector, createText, createComment } - } = internals; - const disabled = isTeleportDisabled(n2.props); - let { shapeFlag, children, dynamicChildren } = n2; - if (n1 == null) { - const placeholder = n2.el = createText(""); - const mainAnchor = n2.anchor = createText(""); - insert(placeholder, container, anchor); - insert(mainAnchor, container, anchor); - const mount2 = (container2, anchor2) => { - if (shapeFlag & 16) { - if (parentComponent && parentComponent.isCE) { - parentComponent.ce._teleportTarget = container2; - } - mountChildren( - children, - container2, - anchor2, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - optimized - ); - } - }; - const mountToTarget = () => { - const target = n2.target = resolveTarget(n2.props, querySelector); - const targetAnchor = prepareAnchor(target, n2, createText, insert); - if (target) { - if (namespace2 !== "svg" && isTargetSVG(target)) { - namespace2 = "svg"; - } else if (namespace2 !== "mathml" && isTargetMathML(target)) { - namespace2 = "mathml"; - } - if (!disabled) { - mount2(target, targetAnchor); - updateCssVars(n2, false); - } - } - }; - if (disabled) { - mount2(container, mainAnchor); - updateCssVars(n2, true); - } - if (isTeleportDeferred(n2.props)) { - queuePostRenderEffect(() => { - mountToTarget(); - n2.el.__isMounted = true; - }, parentSuspense); - } else { - mountToTarget(); - } - } else { - if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) { - queuePostRenderEffect(() => { - TeleportImpl.process( - n1, - n2, - container, - anchor, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - optimized, - internals - ); - delete n1.el.__isMounted; - }, parentSuspense); - return; - } - n2.el = n1.el; - n2.targetStart = n1.targetStart; - const mainAnchor = n2.anchor = n1.anchor; - const target = n2.target = n1.target; - const targetAnchor = n2.targetAnchor = n1.targetAnchor; - const wasDisabled = isTeleportDisabled(n1.props); - const currentContainer = wasDisabled ? container : target; - const currentAnchor = wasDisabled ? mainAnchor : targetAnchor; - if (namespace2 === "svg" || isTargetSVG(target)) { - namespace2 = "svg"; - } else if (namespace2 === "mathml" || isTargetMathML(target)) { - namespace2 = "mathml"; - } - if (dynamicChildren) { - patchBlockChildren( - n1.dynamicChildren, - dynamicChildren, - currentContainer, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds - ); - traverseStaticChildren(n1, n2, true); - } else if (!optimized) { - patchChildren( - n1, - n2, - currentContainer, - currentAnchor, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - false - ); - } - if (disabled) { - if (!wasDisabled) { - moveTeleport( - n2, - container, - mainAnchor, - internals, - 1 - ); - } else { - if (n2.props && n1.props && n2.props.to !== n1.props.to) { - n2.props.to = n1.props.to; - } - } - } else { - if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) { - const nextTarget = n2.target = resolveTarget( - n2.props, - querySelector - ); - if (nextTarget) { - moveTeleport( - n2, - nextTarget, - null, - internals, - 0 - ); - } - } else if (wasDisabled) { - moveTeleport( - n2, - target, - targetAnchor, - internals, - 1 - ); - } - } - updateCssVars(n2, disabled); - } - }, - remove(vnode2, parentComponent, parentSuspense, { um: unmount2, o: { remove: hostRemove } }, doRemove) { - const { - shapeFlag, - children, - anchor, - targetStart, - targetAnchor, - target, - props - } = vnode2; - if (target) { - hostRemove(targetStart); - hostRemove(targetAnchor); - } - doRemove && hostRemove(anchor); - if (shapeFlag & 16) { - const shouldRemove = doRemove || !isTeleportDisabled(props); - for (let i = 0; i < children.length; i++) { - const child = children[i]; - unmount2( - child, - parentComponent, - parentSuspense, - shouldRemove, - !!child.dynamicChildren - ); - } - } - }, - move: moveTeleport, - hydrate: hydrateTeleport -}; -function moveTeleport(vnode2, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) { - if (moveType === 0) { - insert(vnode2.targetAnchor, container, parentAnchor); - } - const { el, anchor, shapeFlag, children, props } = vnode2; - const isReorder = moveType === 2; - if (isReorder) { - insert(el, container, parentAnchor); - } - if (!isReorder || isTeleportDisabled(props)) { - if (shapeFlag & 16) { - for (let i = 0; i < children.length; i++) { - move( - children[i], - container, - parentAnchor, - 2 - ); - } - } - } - if (isReorder) { - insert(anchor, container, parentAnchor); - } -} -function hydrateTeleport(node, vnode2, parentComponent, parentSuspense, slotScopeIds, optimized, { - o: { nextSibling, parentNode, querySelector, insert, createText } -}, hydrateChildren) { - const target = vnode2.target = resolveTarget( - vnode2.props, - querySelector - ); - if (target) { - const disabled = isTeleportDisabled(vnode2.props); - const targetNode = target._lpa || target.firstChild; - if (vnode2.shapeFlag & 16) { - if (disabled) { - vnode2.anchor = hydrateChildren( - nextSibling(node), - vnode2, - parentNode(node), - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - vnode2.targetStart = targetNode; - vnode2.targetAnchor = targetNode && nextSibling(targetNode); - } else { - vnode2.anchor = nextSibling(node); - let targetAnchor = targetNode; - while (targetAnchor) { - if (targetAnchor && targetAnchor.nodeType === 8) { - if (targetAnchor.data === "teleport start anchor") { - vnode2.targetStart = targetAnchor; - } else if (targetAnchor.data === "teleport anchor") { - vnode2.targetAnchor = targetAnchor; - target._lpa = vnode2.targetAnchor && nextSibling(vnode2.targetAnchor); - break; - } - } - targetAnchor = nextSibling(targetAnchor); - } - if (!vnode2.targetAnchor) { - prepareAnchor(target, vnode2, createText, insert); - } - hydrateChildren( - targetNode && nextSibling(targetNode), - vnode2, - target, - parentComponent, - parentSuspense, - slotScopeIds, - optimized - ); - } - } - updateCssVars(vnode2, disabled); - } - return vnode2.anchor && nextSibling(vnode2.anchor); -} -const Teleport = TeleportImpl; -function updateCssVars(vnode2, isDisabled) { - const ctx2 = vnode2.ctx; - if (ctx2 && ctx2.ut) { - let node, anchor; - if (isDisabled) { - node = vnode2.el; - anchor = vnode2.anchor; - } else { - node = vnode2.targetStart; - anchor = vnode2.targetAnchor; - } - while (node && node !== anchor) { - if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx2.uid); - node = node.nextSibling; - } - ctx2.ut(); - } -} -function prepareAnchor(target, vnode2, createText, insert) { - const targetStart = vnode2.targetStart = createText(""); - const targetAnchor = vnode2.targetAnchor = createText(""); - targetStart[TeleportEndKey] = targetAnchor; - if (target) { - insert(targetStart, target); - insert(targetAnchor, target); - } - return targetAnchor; -} -const leaveCbKey = Symbol("_leaveCb"); -const enterCbKey$1 = Symbol("_enterCb"); -function useTransitionState() { - const state2 = { - isMounted: false, - isLeaving: false, - isUnmounting: false, - leavingVNodes: /* @__PURE__ */ new Map() - }; - onMounted(() => { - state2.isMounted = true; - }); - onBeforeUnmount(() => { - state2.isUnmounting = true; - }); - return state2; -} -const TransitionHookValidator = [Function, Array]; -const BaseTransitionPropsValidators = { - mode: String, - appear: Boolean, - persisted: Boolean, - // enter - onBeforeEnter: TransitionHookValidator, - onEnter: TransitionHookValidator, - onAfterEnter: TransitionHookValidator, - onEnterCancelled: TransitionHookValidator, - // leave - onBeforeLeave: TransitionHookValidator, - onLeave: TransitionHookValidator, - onAfterLeave: TransitionHookValidator, - onLeaveCancelled: TransitionHookValidator, - // appear - onBeforeAppear: TransitionHookValidator, - onAppear: TransitionHookValidator, - onAfterAppear: TransitionHookValidator, - onAppearCancelled: TransitionHookValidator -}; -const recursiveGetSubtree = (instance) => { - const subTree = instance.subTree; - return subTree.component ? recursiveGetSubtree(subTree.component) : subTree; -}; -const BaseTransitionImpl = { - name: `BaseTransition`, - props: BaseTransitionPropsValidators, - setup(props, { slots }) { - const instance = getCurrentInstance(); - const state2 = useTransitionState(); - return () => { - const children = slots.default && getTransitionRawChildren(slots.default(), true); - if (!children || !children.length) { - return; - } - const child = findNonCommentChild(children); - const rawProps = toRaw(props); - const { mode } = rawProps; - if (state2.isLeaving) { - return emptyPlaceholder(child); - } - const innerChild = getInnerChild$1(child); - if (!innerChild) { - return emptyPlaceholder(child); - } - let enterHooks = resolveTransitionHooks( - innerChild, - rawProps, - state2, - instance, - // #11061, ensure enterHooks is fresh after clone - (hooks) => enterHooks = hooks - ); - if (innerChild.type !== Comment) { - setTransitionHooks(innerChild, enterHooks); - } - let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree); - if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) { - let leavingHooks = resolveTransitionHooks( - oldInnerChild, - rawProps, - state2, - instance - ); - setTransitionHooks(oldInnerChild, leavingHooks); - if (mode === "out-in" && innerChild.type !== Comment) { - state2.isLeaving = true; - leavingHooks.afterLeave = () => { - state2.isLeaving = false; - if (!(instance.job.flags & 8)) { - instance.update(); - } - delete leavingHooks.afterLeave; - oldInnerChild = void 0; - }; - return emptyPlaceholder(child); - } else if (mode === "in-out" && innerChild.type !== Comment) { - leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { - const leavingVNodesCache = getLeavingNodesForType( - state2, - oldInnerChild - ); - leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; - el[leaveCbKey] = () => { - earlyRemove(); - el[leaveCbKey] = void 0; - delete enterHooks.delayedLeave; - oldInnerChild = void 0; - }; - enterHooks.delayedLeave = () => { - delayedLeave(); - delete enterHooks.delayedLeave; - oldInnerChild = void 0; - }; - }; - } else { - oldInnerChild = void 0; - } - } else if (oldInnerChild) { - oldInnerChild = void 0; - } - return child; - }; - } -}; -function findNonCommentChild(children) { - let child = children[0]; - if (children.length > 1) { - for (const c2 of children) { - if (c2.type !== Comment) { - child = c2; - break; - } - } - } - return child; -} -const BaseTransition = BaseTransitionImpl; -function getLeavingNodesForType(state2, vnode2) { - const { leavingVNodes } = state2; - let leavingVNodesCache = leavingVNodes.get(vnode2.type); - if (!leavingVNodesCache) { - leavingVNodesCache = /* @__PURE__ */ Object.create(null); - leavingVNodes.set(vnode2.type, leavingVNodesCache); - } - return leavingVNodesCache; -} -function resolveTransitionHooks(vnode2, props, state2, instance, postClone) { - const { - appear, - mode, - persisted = false, - onBeforeEnter, - onEnter, - onAfterEnter, - onEnterCancelled, - onBeforeLeave, - onLeave, - onAfterLeave, - onLeaveCancelled, - onBeforeAppear, - onAppear, - onAfterAppear, - onAppearCancelled - } = props; - const key = String(vnode2.key); - const leavingVNodesCache = getLeavingNodesForType(state2, vnode2); - const callHook2 = (hook, args) => { - hook && callWithAsyncErrorHandling( - hook, - instance, - 9, - args - ); - }; - const callAsyncHook = (hook, args) => { - const done = args[1]; - callHook2(hook, args); - if (isArray$3(hook)) { - if (hook.every((hook2) => hook2.length <= 1)) done(); - } else if (hook.length <= 1) { - done(); - } - }; - const hooks = { - mode, - persisted, - beforeEnter(el) { - let hook = onBeforeEnter; - if (!state2.isMounted) { - if (appear) { - hook = onBeforeAppear || onBeforeEnter; - } else { - return; - } - } - if (el[leaveCbKey]) { - el[leaveCbKey]( - true - /* cancelled */ - ); - } - const leavingVNode = leavingVNodesCache[key]; - if (leavingVNode && isSameVNodeType(vnode2, leavingVNode) && leavingVNode.el[leaveCbKey]) { - leavingVNode.el[leaveCbKey](); - } - callHook2(hook, [el]); - }, - enter(el) { - let hook = onEnter; - let afterHook = onAfterEnter; - let cancelHook = onEnterCancelled; - if (!state2.isMounted) { - if (appear) { - hook = onAppear || onEnter; - afterHook = onAfterAppear || onAfterEnter; - cancelHook = onAppearCancelled || onEnterCancelled; - } else { - return; - } - } - let called = false; - const done = el[enterCbKey$1] = (cancelled) => { - if (called) return; - called = true; - if (cancelled) { - callHook2(cancelHook, [el]); - } else { - callHook2(afterHook, [el]); - } - if (hooks.delayedLeave) { - hooks.delayedLeave(); - } - el[enterCbKey$1] = void 0; - }; - if (hook) { - callAsyncHook(hook, [el, done]); - } else { - done(); - } - }, - leave(el, remove2) { - const key2 = String(vnode2.key); - if (el[enterCbKey$1]) { - el[enterCbKey$1]( - true - /* cancelled */ - ); - } - if (state2.isUnmounting) { - return remove2(); - } - callHook2(onBeforeLeave, [el]); - let called = false; - const done = el[leaveCbKey] = (cancelled) => { - if (called) return; - called = true; - remove2(); - if (cancelled) { - callHook2(onLeaveCancelled, [el]); - } else { - callHook2(onAfterLeave, [el]); - } - el[leaveCbKey] = void 0; - if (leavingVNodesCache[key2] === vnode2) { - delete leavingVNodesCache[key2]; - } - }; - leavingVNodesCache[key2] = vnode2; - if (onLeave) { - callAsyncHook(onLeave, [el, done]); - } else { - done(); - } - }, - clone(vnode22) { - const hooks2 = resolveTransitionHooks( - vnode22, - props, - state2, - instance, - postClone - ); - if (postClone) postClone(hooks2); - return hooks2; - } - }; - return hooks; -} -function emptyPlaceholder(vnode2) { - if (isKeepAlive(vnode2)) { - vnode2 = cloneVNode(vnode2); - vnode2.children = null; - return vnode2; - } -} -function getInnerChild$1(vnode2) { - if (!isKeepAlive(vnode2)) { - if (isTeleport(vnode2.type) && vnode2.children) { - return findNonCommentChild(vnode2.children); - } - return vnode2; - } - const { shapeFlag, children } = vnode2; - if (children) { - if (shapeFlag & 16) { - return children[0]; - } - if (shapeFlag & 32 && isFunction$2(children.default)) { - return children.default(); - } - } -} -function setTransitionHooks(vnode2, hooks) { - if (vnode2.shapeFlag & 6 && vnode2.component) { - vnode2.transition = hooks; - setTransitionHooks(vnode2.component.subTree, hooks); - } else if (vnode2.shapeFlag & 128) { - vnode2.ssContent.transition = hooks.clone(vnode2.ssContent); - vnode2.ssFallback.transition = hooks.clone(vnode2.ssFallback); - } else { - vnode2.transition = hooks; - } -} -function getTransitionRawChildren(children, keepComment = false, parentKey) { - let ret = []; - let keyedFragmentCount = 0; - for (let i = 0; i < children.length; i++) { - let child = children[i]; - const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); - if (child.type === Fragment) { - if (child.patchFlag & 128) keyedFragmentCount++; - ret = ret.concat( - getTransitionRawChildren(child.children, keepComment, key) - ); - } else if (keepComment || child.type !== Comment) { - ret.push(key != null ? cloneVNode(child, { key }) : child); - } - } - if (keyedFragmentCount > 1) { - for (let i = 0; i < ret.length; i++) { - ret[i].patchFlag = -2; - } - } - return ret; -} -/*! #__NO_SIDE_EFFECTS__ */ -// @__NO_SIDE_EFFECTS__ -function defineComponent(options, extraOptions) { - return isFunction$2(options) ? ( - // #8236: extend call and options.name access are considered side-effects - // by Rollup, so we have to wrap it in a pure-annotated IIFE. - /* @__PURE__ */ (() => extend$1({ name: options.name }, extraOptions, { setup: options }))() - ) : options; -} -function markAsyncBoundary(instance) { - instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0]; -} -function useTemplateRef(key) { - const i = getCurrentInstance(); - const r = shallowRef(null); - if (i) { - const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs; - { - Object.defineProperty(refs, key, { - enumerable: true, - get: () => r.value, - set: (val) => r.value = val - }); - } - } - const ret = r; - return ret; -} -function setRef(rawRef, oldRawRef, parentSuspense, vnode2, isUnmount = false) { - if (isArray$3(rawRef)) { - rawRef.forEach( - (r, i) => setRef( - r, - oldRawRef && (isArray$3(oldRawRef) ? oldRawRef[i] : oldRawRef), - parentSuspense, - vnode2, - isUnmount - ) - ); - return; - } - if (isAsyncWrapper(vnode2) && !isUnmount) { - if (vnode2.shapeFlag & 512 && vnode2.type.__asyncResolved && vnode2.component.subTree.component) { - setRef(rawRef, oldRawRef, parentSuspense, vnode2.component.subTree); - } - return; - } - const refValue = vnode2.shapeFlag & 4 ? getComponentPublicInstance(vnode2.component) : vnode2.el; - const value = isUnmount ? null : refValue; - const { i: owner, r: ref3 } = rawRef; - const oldRef = oldRawRef && oldRawRef.r; - const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs; - const setupState = owner.setupState; - const rawSetupState = toRaw(setupState); - const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => { - return hasOwn(rawSetupState, key); - }; - if (oldRef != null && oldRef !== ref3) { - if (isString$1(oldRef)) { - refs[oldRef] = null; - if (canSetSetupRef(oldRef)) { - setupState[oldRef] = null; - } - } else if (isRef(oldRef)) { - oldRef.value = null; - } - } - if (isFunction$2(ref3)) { - callWithErrorHandling(ref3, owner, 12, [value, refs]); - } else { - const _isString = isString$1(ref3); - const _isRef = isRef(ref3); - if (_isString || _isRef) { - const doSet = () => { - if (rawRef.f) { - const existing = _isString ? canSetSetupRef(ref3) ? setupState[ref3] : refs[ref3] : ref3.value; - if (isUnmount) { - isArray$3(existing) && remove(existing, refValue); - } else { - if (!isArray$3(existing)) { - if (_isString) { - refs[ref3] = [refValue]; - if (canSetSetupRef(ref3)) { - setupState[ref3] = refs[ref3]; - } - } else { - ref3.value = [refValue]; - if (rawRef.k) refs[rawRef.k] = ref3.value; - } - } else if (!existing.includes(refValue)) { - existing.push(refValue); - } - } - } else if (_isString) { - refs[ref3] = value; - if (canSetSetupRef(ref3)) { - setupState[ref3] = value; - } - } else if (_isRef) { - ref3.value = value; - if (rawRef.k) refs[rawRef.k] = value; - } else ; - }; - if (value) { - doSet.id = -1; - queuePostRenderEffect(doSet, parentSuspense); - } else { - doSet(); - } - } - } -} -const isComment = (node) => node.nodeType === 8; -getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1)); -getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id)); -function forEachElement(node, cb) { - if (isComment(node) && node.data === "[") { - let depth = 1; - let next = node.nextSibling; - while (next) { - if (next.nodeType === 1) { - const result = cb(next); - if (result === false) { - break; - } - } else if (isComment(next)) { - if (next.data === "]") { - if (--depth === 0) break; - } else if (next.data === "[") { - depth++; - } - } - next = next.nextSibling; - } - } else { - cb(node); - } -} -const isAsyncWrapper = (i) => !!i.type.__asyncLoader; -/*! #__NO_SIDE_EFFECTS__ */ -// @__NO_SIDE_EFFECTS__ -function defineAsyncComponent(source) { - if (isFunction$2(source)) { - source = { loader: source }; - } - const { - loader, - loadingComponent, - errorComponent, - delay = 200, - hydrate: hydrateStrategy, - timeout, - // undefined = never times out - suspensible = true, - onError: userOnError - } = source; - let pendingRequest = null; - let resolvedComp; - let retries = 0; - const retry = () => { - retries++; - pendingRequest = null; - return load(); - }; - const load = () => { - let thisRequest; - return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { - err = err instanceof Error ? err : new Error(String(err)); - if (userOnError) { - return new Promise((resolve2, reject) => { - const userRetry = () => resolve2(retry()); - const userFail = () => reject(err); - userOnError(err, userRetry, userFail, retries + 1); - }); - } else { - throw err; - } - }).then((comp) => { - if (thisRequest !== pendingRequest && pendingRequest) { - return pendingRequest; - } - if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { - comp = comp.default; - } - resolvedComp = comp; - return comp; - })); - }; - return /* @__PURE__ */ defineComponent({ - name: "AsyncComponentWrapper", - __asyncLoader: load, - __asyncHydrate(el, instance, hydrate) { - const doHydrate = hydrateStrategy ? () => { - const teardown = hydrateStrategy( - hydrate, - (cb) => forEachElement(el, cb) - ); - if (teardown) { - (instance.bum || (instance.bum = [])).push(teardown); - } - } : hydrate; - if (resolvedComp) { - doHydrate(); - } else { - load().then(() => !instance.isUnmounted && doHydrate()); - } - }, - get __asyncResolved() { - return resolvedComp; - }, - setup() { - const instance = currentInstance; - markAsyncBoundary(instance); - if (resolvedComp) { - return () => createInnerComp(resolvedComp, instance); - } - const onError = (err) => { - pendingRequest = null; - handleError( - err, - instance, - 13, - !errorComponent - ); - }; - if (suspensible && instance.suspense || isInSSRComponentSetup) { - return load().then((comp) => { - return () => createInnerComp(comp, instance); - }).catch((err) => { - onError(err); - return () => errorComponent ? createVNode(errorComponent, { - error: err - }) : null; - }); - } - const loaded = ref(false); - const error = ref(); - const delayed = ref(!!delay); - if (delay) { - setTimeout(() => { - delayed.value = false; - }, delay); - } - if (timeout != null) { - setTimeout(() => { - if (!loaded.value && !error.value) { - const err = new Error( - `Async component timed out after ${timeout}ms.` - ); - onError(err); - error.value = err; - } - }, timeout); - } - load().then(() => { - loaded.value = true; - if (instance.parent && isKeepAlive(instance.parent.vnode)) { - instance.parent.update(); - } - }).catch((err) => { - onError(err); - error.value = err; - }); - return () => { - if (loaded.value && resolvedComp) { - return createInnerComp(resolvedComp, instance); - } else if (error.value && errorComponent) { - return createVNode(errorComponent, { - error: error.value - }); - } else if (loadingComponent && !delayed.value) { - return createVNode(loadingComponent); - } - }; - } - }); -} -function createInnerComp(comp, parent) { - const { ref: ref22, props, children, ce } = parent.vnode; - const vnode2 = createVNode(comp, props, children); - vnode2.ref = ref22; - vnode2.ce = ce; - delete parent.vnode.ce; - return vnode2; -} -const isKeepAlive = (vnode2) => vnode2.type.__isKeepAlive; -const KeepAliveImpl = { - name: `KeepAlive`, - // Marker for special handling inside the renderer. We are not using a === - // check directly on KeepAlive in the renderer, because importing it directly - // would prevent it from being tree-shaken. - __isKeepAlive: true, - props: { - include: [String, RegExp, Array], - exclude: [String, RegExp, Array], - max: [String, Number] - }, - setup(props, { slots }) { - const instance = getCurrentInstance(); - const sharedContext = instance.ctx; - if (!sharedContext.renderer) { - return () => { - const children = slots.default && slots.default(); - return children && children.length === 1 ? children[0] : children; - }; - } - const cache2 = /* @__PURE__ */ new Map(); - const keys = /* @__PURE__ */ new Set(); - let current = null; - const parentSuspense = instance.suspense; - const { - renderer: { - p: patch, - m: move, - um: _unmount, - o: { createElement: createElement2 } - } - } = sharedContext; - const storageContainer = createElement2("div"); - sharedContext.activate = (vnode2, container, anchor, namespace2, optimized) => { - const instance2 = vnode2.component; - move(vnode2, container, anchor, 0, parentSuspense); - patch( - instance2.vnode, - vnode2, - container, - anchor, - instance2, - parentSuspense, - namespace2, - vnode2.slotScopeIds, - optimized - ); - queuePostRenderEffect(() => { - instance2.isDeactivated = false; - if (instance2.a) { - invokeArrayFns(instance2.a); - } - const vnodeHook = vnode2.props && vnode2.props.onVnodeMounted; - if (vnodeHook) { - invokeVNodeHook(vnodeHook, instance2.parent, vnode2); - } - }, parentSuspense); - }; - sharedContext.deactivate = (vnode2) => { - const instance2 = vnode2.component; - invalidateMount(instance2.m); - invalidateMount(instance2.a); - move(vnode2, storageContainer, null, 1, parentSuspense); - queuePostRenderEffect(() => { - if (instance2.da) { - invokeArrayFns(instance2.da); - } - const vnodeHook = vnode2.props && vnode2.props.onVnodeUnmounted; - if (vnodeHook) { - invokeVNodeHook(vnodeHook, instance2.parent, vnode2); - } - instance2.isDeactivated = true; - }, parentSuspense); - }; - function unmount2(vnode2) { - resetShapeFlag(vnode2); - _unmount(vnode2, instance, parentSuspense, true); - } - function pruneCache(filter2) { - cache2.forEach((vnode2, key) => { - const name2 = getComponentName(vnode2.type); - if (name2 && !filter2(name2)) { - pruneCacheEntry(key); - } - }); - } - function pruneCacheEntry(key) { - const cached = cache2.get(key); - if (cached && (!current || !isSameVNodeType(cached, current))) { - unmount2(cached); - } else if (current) { - resetShapeFlag(current); - } - cache2.delete(key); - keys.delete(key); - } - watch( - () => [props.include, props.exclude], - ([include, exclude]) => { - include && pruneCache((name2) => matches(include, name2)); - exclude && pruneCache((name2) => !matches(exclude, name2)); - }, - // prune post-render after `current` has been updated - { flush: "post", deep: true } - ); - let pendingCacheKey = null; - const cacheSubtree = () => { - if (pendingCacheKey != null) { - if (isSuspense(instance.subTree.type)) { - queuePostRenderEffect(() => { - cache2.set(pendingCacheKey, getInnerChild(instance.subTree)); - }, instance.subTree.suspense); - } else { - cache2.set(pendingCacheKey, getInnerChild(instance.subTree)); - } - } - }; - onMounted(cacheSubtree); - onUpdated(cacheSubtree); - onBeforeUnmount(() => { - cache2.forEach((cached) => { - const { subTree, suspense } = instance; - const vnode2 = getInnerChild(subTree); - if (cached.type === vnode2.type && cached.key === vnode2.key) { - resetShapeFlag(vnode2); - const da = vnode2.component.da; - da && queuePostRenderEffect(da, suspense); - return; - } - unmount2(cached); - }); - }); - return () => { - pendingCacheKey = null; - if (!slots.default) { - return current = null; - } - const children = slots.default(); - const rawVNode = children[0]; - if (children.length > 1) { - current = null; - return children; - } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { - current = null; - return rawVNode; - } - let vnode2 = getInnerChild(rawVNode); - if (vnode2.type === Comment) { - current = null; - return vnode2; - } - const comp = vnode2.type; - const name2 = getComponentName( - isAsyncWrapper(vnode2) ? vnode2.type.__asyncResolved || {} : comp - ); - const { include, exclude, max } = props; - if (include && (!name2 || !matches(include, name2)) || exclude && name2 && matches(exclude, name2)) { - vnode2.shapeFlag &= ~256; - current = vnode2; - return rawVNode; - } - const key = vnode2.key == null ? comp : vnode2.key; - const cachedVNode = cache2.get(key); - if (vnode2.el) { - vnode2 = cloneVNode(vnode2); - if (rawVNode.shapeFlag & 128) { - rawVNode.ssContent = vnode2; - } - } - pendingCacheKey = key; - if (cachedVNode) { - vnode2.el = cachedVNode.el; - vnode2.component = cachedVNode.component; - if (vnode2.transition) { - setTransitionHooks(vnode2, vnode2.transition); - } - vnode2.shapeFlag |= 512; - keys.delete(key); - keys.add(key); - } else { - keys.add(key); - if (max && keys.size > parseInt(max, 10)) { - pruneCacheEntry(keys.values().next().value); - } - } - vnode2.shapeFlag |= 256; - current = vnode2; - return isSuspense(rawVNode.type) ? rawVNode : vnode2; - }; - } -}; -const KeepAlive = KeepAliveImpl; -function matches(pattern, name2) { - if (isArray$3(pattern)) { - return pattern.some((p2) => matches(p2, name2)); - } else if (isString$1(pattern)) { - return pattern.split(",").includes(name2); - } else if (isRegExp$1(pattern)) { - pattern.lastIndex = 0; - return pattern.test(name2); - } - return false; -} -function onActivated(hook, target) { - registerKeepAliveHook(hook, "a", target); -} -function onDeactivated(hook, target) { - registerKeepAliveHook(hook, "da", target); -} -function registerKeepAliveHook(hook, type, target = currentInstance) { - const wrappedHook = hook.__wdc || (hook.__wdc = () => { - let current = target; - while (current) { - if (current.isDeactivated) { - return; - } - current = current.parent; - } - return hook(); - }); - injectHook(type, wrappedHook, target); - if (target) { - let current = target.parent; - while (current && current.parent) { - if (isKeepAlive(current.parent.vnode)) { - injectToKeepAliveRoot(wrappedHook, type, target, current); - } - current = current.parent; - } - } -} -function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { - const injected = injectHook( - type, - hook, - keepAliveRoot, - true - /* prepend */ - ); - onUnmounted(() => { - remove(keepAliveRoot[type], injected); - }, target); -} -function resetShapeFlag(vnode2) { - vnode2.shapeFlag &= ~256; - vnode2.shapeFlag &= ~512; -} -function getInnerChild(vnode2) { - return vnode2.shapeFlag & 128 ? vnode2.ssContent : vnode2; -} -function injectHook(type, hook, target = currentInstance, prepend = false) { - if (target) { - const hooks = target[type] || (target[type] = []); - const wrappedHook = hook.__weh || (hook.__weh = (...args) => { - pauseTracking(); - const reset = setCurrentInstance(target); - const res = callWithAsyncErrorHandling(hook, target, type, args); - reset(); - resetTracking(); - return res; - }); - if (prepend) { - hooks.unshift(wrappedHook); - } else { - hooks.push(wrappedHook); - } - return wrappedHook; - } -} -const createHook = (lifecycle) => (hook, target = currentInstance) => { - if (!isInSSRComponentSetup || lifecycle === "sp") { - injectHook(lifecycle, (...args) => hook(...args), target); - } -}; -const onBeforeMount = createHook("bm"); -const onMounted = createHook("m"); -const onBeforeUpdate = createHook( - "bu" -); -const onUpdated = createHook("u"); -const onBeforeUnmount = createHook( - "bum" -); -const onUnmounted = createHook("um"); -const onServerPrefetch = createHook( - "sp" -); -const onRenderTriggered = createHook("rtg"); -const onRenderTracked = createHook("rtc"); -function onErrorCaptured(hook, target = currentInstance) { - injectHook("ec", hook, target); -} -const COMPONENTS = "components"; -const DIRECTIVES = "directives"; -function resolveComponent(name2, maybeSelfReference) { - return resolveAsset(COMPONENTS, name2, true, maybeSelfReference) || name2; -} -const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); -function resolveDynamicComponent(component) { - if (isString$1(component)) { - return resolveAsset(COMPONENTS, component, false) || component; - } else { - return component || NULL_DYNAMIC_COMPONENT; - } -} -function resolveDirective(name2) { - return resolveAsset(DIRECTIVES, name2); -} -function resolveAsset(type, name2, warnMissing = true, maybeSelfReference = false) { - const instance = currentRenderingInstance || currentInstance; - if (instance) { - const Component = instance.type; - if (type === COMPONENTS) { - const selfName = getComponentName( - Component, - false - ); - if (selfName && (selfName === name2 || selfName === camelize(name2) || selfName === capitalize(camelize(name2)))) { - return Component; - } - } - const res = ( - // local registration - // check instance[type] first which is resolved for options API - resolve(instance[type] || Component[type], name2) || // global registration - resolve(instance.appContext[type], name2) - ); - if (!res && maybeSelfReference) { - return Component; - } - return res; - } -} -function resolve(registry, name2) { - return registry && (registry[name2] || registry[camelize(name2)] || registry[capitalize(camelize(name2))]); -} -function renderList(source, renderItem, cache2, index) { - let ret; - const cached = cache2; - const sourceIsArray = isArray$3(source); - if (sourceIsArray || isString$1(source)) { - const sourceIsReactiveArray = sourceIsArray && isReactive(source); - let needsWrap = false; - if (sourceIsReactiveArray) { - needsWrap = !isShallow(source); - source = shallowReadArray(source); - } - ret = new Array(source.length); - for (let i = 0, l = source.length; i < l; i++) { - ret[i] = renderItem( - needsWrap ? toReactive(source[i]) : source[i], - i, - void 0, - cached - ); - } - } else if (typeof source === "number") { - ret = new Array(source); - for (let i = 0; i < source; i++) { - ret[i] = renderItem(i + 1, i, void 0, cached); - } - } else if (isObject$4(source)) { - if (source[Symbol.iterator]) { - ret = Array.from( - source, - (item, i) => renderItem(item, i, void 0, cached) - ); - } else { - const keys = Object.keys(source); - ret = new Array(keys.length); - for (let i = 0, l = keys.length; i < l; i++) { - const key = keys[i]; - ret[i] = renderItem(source[key], key, i, cached); - } - } - } else { - ret = []; - } - return ret; -} -function renderSlot(slots, name2, props = {}, fallback, noSlotted) { - if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) { - return openBlock(), createBlock( - Fragment, - null, - [createVNode("slot", props, fallback && fallback())], - 64 - ); - } - let slot = slots[name2]; - if (slot && slot._c) { - slot._d = false; - } - openBlock(); - const validSlotContent = slot && ensureValidVNode$1(slot(props)); - const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch - // key attached in the `createSlots` helper, respect that - validSlotContent && validSlotContent.key; - const rendered = createBlock( - Fragment, - { - key: (slotKey && !isSymbol$1(slotKey) ? slotKey : `_${name2}`) + // #7256 force differentiate fallback content from actual content - (!validSlotContent && fallback ? "_fb" : "") - }, - validSlotContent || (fallback ? fallback() : []), - validSlotContent && slots._ === 1 ? 64 : -2 - ); - if (rendered.scopeId) { - rendered.slotScopeIds = [rendered.scopeId + "-s"]; - } - if (slot && slot._c) { - slot._d = true; - } - return rendered; -} -function ensureValidVNode$1(vnodes) { - return vnodes.some((child) => { - if (!isVNode(child)) return true; - if (child.type === Comment) return false; - if (child.type === Fragment && !ensureValidVNode$1(child.children)) - return false; - return true; - }) ? vnodes : null; -} -const getPublicInstance = (i) => { - if (!i) return null; - if (isStatefulComponent(i)) return getComponentPublicInstance(i); - return getPublicInstance(i.parent); -}; -const publicPropertiesMap = ( - // Move PURE marker to new line to workaround compiler discarding it - // due to type annotation - /* @__PURE__ */ extend$1(/* @__PURE__ */ Object.create(null), { - $: (i) => i, - $el: (i) => i.vnode.el, - $data: (i) => i.data, - $props: (i) => i.props, - $attrs: (i) => i.attrs, - $slots: (i) => i.slots, - $refs: (i) => i.refs, - $parent: (i) => getPublicInstance(i.parent), - $root: (i) => getPublicInstance(i.root), - $host: (i) => i.ce, - $emit: (i) => i.emit, - $options: (i) => resolveMergedOptions(i), - $forceUpdate: (i) => i.f || (i.f = () => { - queueJob(i.update); - }), - $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), - $watch: (i) => instanceWatch.bind(i) - }) -); -const hasSetupBinding = (state2, key) => state2 !== EMPTY_OBJ && !state2.__isScriptSetup && hasOwn(state2, key); -const PublicInstanceProxyHandlers = { - get({ _: instance }, key) { - if (key === "__v_skip") { - return true; - } - const { ctx: ctx2, setupState, data, props, accessCache, type, appContext } = instance; - let normalizedProps; - if (key[0] !== "$") { - const n = accessCache[key]; - if (n !== void 0) { - switch (n) { - case 1: - return setupState[key]; - case 2: - return data[key]; - case 4: - return ctx2[key]; - case 3: - return props[key]; - } - } else if (hasSetupBinding(setupState, key)) { - accessCache[key] = 1; - return setupState[key]; - } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { - accessCache[key] = 2; - return data[key]; - } else if ( - // only cache other properties when instance has declared (thus stable) - // props - (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key) - ) { - accessCache[key] = 3; - return props[key]; - } else if (ctx2 !== EMPTY_OBJ && hasOwn(ctx2, key)) { - accessCache[key] = 4; - return ctx2[key]; - } else if (shouldCacheAccess) { - accessCache[key] = 0; - } - } - const publicGetter = publicPropertiesMap[key]; - let cssModule, globalProperties; - if (publicGetter) { - if (key === "$attrs") { - track(instance.attrs, "get", ""); - } - return publicGetter(instance); - } else if ( - // css module (injected by vue-loader) - (cssModule = type.__cssModules) && (cssModule = cssModule[key]) - ) { - return cssModule; - } else if (ctx2 !== EMPTY_OBJ && hasOwn(ctx2, key)) { - accessCache[key] = 4; - return ctx2[key]; - } else if ( - // global properties - globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key) - ) { - { - return globalProperties[key]; - } - } else ; - }, - set({ _: instance }, key, value) { - const { data, setupState, ctx: ctx2 } = instance; - if (hasSetupBinding(setupState, key)) { - setupState[key] = value; - return true; - } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { - data[key] = value; - return true; - } else if (hasOwn(instance.props, key)) { - return false; - } - if (key[0] === "$" && key.slice(1) in instance) { - return false; - } else { - { - ctx2[key] = value; - } - } - return true; - }, - has({ - _: { data, setupState, accessCache, ctx: ctx2, appContext, propsOptions } - }, key) { - let normalizedProps; - return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx2, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key); - }, - defineProperty(target, key, descriptor) { - if (descriptor.get != null) { - target._.accessCache[key] = 0; - } else if (hasOwn(descriptor, "value")) { - this.set(target, key, descriptor.value, null); - } - return Reflect.defineProperty(target, key, descriptor); - } -}; -function normalizePropsOrEmits(props) { - return isArray$3(props) ? props.reduce( - (normalized, p2) => (normalized[p2] = null, normalized), - {} - ) : props; -} -let shouldCacheAccess = true; -function applyOptions(instance) { - const options = resolveMergedOptions(instance); - const publicThis = instance.proxy; - const ctx2 = instance.ctx; - shouldCacheAccess = false; - if (options.beforeCreate) { - callHook$1(options.beforeCreate, instance, "bc"); - } - const { - // state - data: dataOptions, - computed: computedOptions, - methods, - watch: watchOptions, - provide: provideOptions, - inject: injectOptions, - // lifecycle - created, - beforeMount, - mounted, - beforeUpdate, - updated, - activated, - deactivated, - beforeDestroy, - beforeUnmount, - destroyed, - unmounted, - render: render2, - renderTracked, - renderTriggered, - errorCaptured, - serverPrefetch, - // public API - expose, - inheritAttrs, - // assets - components, - directives: directives2, - filters - } = options; - const checkDuplicateProperties = null; - if (injectOptions) { - resolveInjections(injectOptions, ctx2, checkDuplicateProperties); - } - if (methods) { - for (const key in methods) { - const methodHandler = methods[key]; - if (isFunction$2(methodHandler)) { - { - ctx2[key] = methodHandler.bind(publicThis); - } - } - } - } - if (dataOptions) { - const data = dataOptions.call(publicThis, publicThis); - if (!isObject$4(data)) ; - else { - instance.data = reactive(data); - } - } - shouldCacheAccess = true; - if (computedOptions) { - for (const key in computedOptions) { - const opt = computedOptions[key]; - const get2 = isFunction$2(opt) ? opt.bind(publicThis, publicThis) : isFunction$2(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP; - const set = !isFunction$2(opt) && isFunction$2(opt.set) ? opt.set.bind(publicThis) : NOOP; - const c2 = computed({ - get: get2, - set - }); - Object.defineProperty(ctx2, key, { - enumerable: true, - configurable: true, - get: () => c2.value, - set: (v) => c2.value = v - }); - } - } - if (watchOptions) { - for (const key in watchOptions) { - createWatcher(watchOptions[key], ctx2, publicThis, key); - } - } - if (provideOptions) { - const provides = isFunction$2(provideOptions) ? provideOptions.call(publicThis) : provideOptions; - Reflect.ownKeys(provides).forEach((key) => { - provide(key, provides[key]); - }); - } - if (created) { - callHook$1(created, instance, "c"); - } - function registerLifecycleHook(register2, hook) { - if (isArray$3(hook)) { - hook.forEach((_hook) => register2(_hook.bind(publicThis))); - } else if (hook) { - register2(hook.bind(publicThis)); - } - } - registerLifecycleHook(onBeforeMount, beforeMount); - registerLifecycleHook(onMounted, mounted); - registerLifecycleHook(onBeforeUpdate, beforeUpdate); - registerLifecycleHook(onUpdated, updated); - registerLifecycleHook(onActivated, activated); - registerLifecycleHook(onDeactivated, deactivated); - registerLifecycleHook(onErrorCaptured, errorCaptured); - registerLifecycleHook(onRenderTracked, renderTracked); - registerLifecycleHook(onRenderTriggered, renderTriggered); - registerLifecycleHook(onBeforeUnmount, beforeUnmount); - registerLifecycleHook(onUnmounted, unmounted); - registerLifecycleHook(onServerPrefetch, serverPrefetch); - if (isArray$3(expose)) { - if (expose.length) { - const exposed = instance.exposed || (instance.exposed = {}); - expose.forEach((key) => { - Object.defineProperty(exposed, key, { - get: () => publicThis[key], - set: (val) => publicThis[key] = val - }); - }); - } else if (!instance.exposed) { - instance.exposed = {}; - } - } - if (render2 && instance.render === NOOP) { - instance.render = render2; - } - if (inheritAttrs != null) { - instance.inheritAttrs = inheritAttrs; - } - if (components) instance.components = components; - if (directives2) instance.directives = directives2; - if (serverPrefetch) { - markAsyncBoundary(instance); - } -} -function resolveInjections(injectOptions, ctx2, checkDuplicateProperties = NOOP) { - if (isArray$3(injectOptions)) { - injectOptions = normalizeInject(injectOptions); - } - for (const key in injectOptions) { - const opt = injectOptions[key]; - let injected; - if (isObject$4(opt)) { - if ("default" in opt) { - injected = inject( - opt.from || key, - opt.default, - true - ); - } else { - injected = inject(opt.from || key); - } - } else { - injected = inject(opt); - } - if (isRef(injected)) { - Object.defineProperty(ctx2, key, { - enumerable: true, - configurable: true, - get: () => injected.value, - set: (v) => injected.value = v - }); - } else { - ctx2[key] = injected; - } - } -} -function callHook$1(hook, instance, type) { - callWithAsyncErrorHandling( - isArray$3(hook) ? hook.map((h2) => h2.bind(instance.proxy)) : hook.bind(instance.proxy), - instance, - type - ); -} -function createWatcher(raw, ctx2, publicThis, key) { - let getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key]; - if (isString$1(raw)) { - const handler = ctx2[raw]; - if (isFunction$2(handler)) { - { - watch(getter, handler); - } - } - } else if (isFunction$2(raw)) { - { - watch(getter, raw.bind(publicThis)); - } - } else if (isObject$4(raw)) { - if (isArray$3(raw)) { - raw.forEach((r) => createWatcher(r, ctx2, publicThis, key)); - } else { - const handler = isFunction$2(raw.handler) ? raw.handler.bind(publicThis) : ctx2[raw.handler]; - if (isFunction$2(handler)) { - watch(getter, handler, raw); - } - } - } else ; -} -function resolveMergedOptions(instance) { - const base2 = instance.type; - const { mixins, extends: extendsOptions } = base2; - const { - mixins: globalMixins, - optionsCache: cache2, - config: { optionMergeStrategies } - } = instance.appContext; - const cached = cache2.get(base2); - let resolved; - if (cached) { - resolved = cached; - } else if (!globalMixins.length && !mixins && !extendsOptions) { - { - resolved = base2; - } - } else { - resolved = {}; - if (globalMixins.length) { - globalMixins.forEach( - (m) => mergeOptions$1(resolved, m, optionMergeStrategies, true) - ); - } - mergeOptions$1(resolved, base2, optionMergeStrategies); - } - if (isObject$4(base2)) { - cache2.set(base2, resolved); - } - return resolved; -} -function mergeOptions$1(to, from, strats, asMixin = false) { - const { mixins, extends: extendsOptions } = from; - if (extendsOptions) { - mergeOptions$1(to, extendsOptions, strats, true); - } - if (mixins) { - mixins.forEach( - (m) => mergeOptions$1(to, m, strats, true) - ); - } - for (const key in from) { - if (asMixin && key === "expose") ; - else { - const strat = internalOptionMergeStrats[key] || strats && strats[key]; - to[key] = strat ? strat(to[key], from[key]) : from[key]; - } - } - return to; -} -const internalOptionMergeStrats = { - data: mergeDataFn, - props: mergeEmitsOrPropsOptions, - emits: mergeEmitsOrPropsOptions, - // objects - methods: mergeObjectOptions, - computed: mergeObjectOptions, - // lifecycle - beforeCreate: mergeAsArray, - created: mergeAsArray, - beforeMount: mergeAsArray, - mounted: mergeAsArray, - beforeUpdate: mergeAsArray, - updated: mergeAsArray, - beforeDestroy: mergeAsArray, - beforeUnmount: mergeAsArray, - destroyed: mergeAsArray, - unmounted: mergeAsArray, - activated: mergeAsArray, - deactivated: mergeAsArray, - errorCaptured: mergeAsArray, - serverPrefetch: mergeAsArray, - // assets - components: mergeObjectOptions, - directives: mergeObjectOptions, - // watch - watch: mergeWatchOptions, - // provide / inject - provide: mergeDataFn, - inject: mergeInject -}; -function mergeDataFn(to, from) { - if (!from) { - return to; - } - if (!to) { - return from; - } - return function mergedDataFn() { - return extend$1( - isFunction$2(to) ? to.call(this, this) : to, - isFunction$2(from) ? from.call(this, this) : from - ); - }; -} -function mergeInject(to, from) { - return mergeObjectOptions(normalizeInject(to), normalizeInject(from)); -} -function normalizeInject(raw) { - if (isArray$3(raw)) { - const res = {}; - for (let i = 0; i < raw.length; i++) { - res[raw[i]] = raw[i]; - } - return res; - } - return raw; -} -function mergeAsArray(to, from) { - return to ? [...new Set([].concat(to, from))] : from; -} -function mergeObjectOptions(to, from) { - return to ? extend$1(/* @__PURE__ */ Object.create(null), to, from) : from; -} -function mergeEmitsOrPropsOptions(to, from) { - if (to) { - if (isArray$3(to) && isArray$3(from)) { - return [.../* @__PURE__ */ new Set([...to, ...from])]; - } - return extend$1( - /* @__PURE__ */ Object.create(null), - normalizePropsOrEmits(to), - normalizePropsOrEmits(from != null ? from : {}) - ); - } else { - return from; - } -} -function mergeWatchOptions(to, from) { - if (!to) return from; - if (!from) return to; - const merged = extend$1(/* @__PURE__ */ Object.create(null), to); - for (const key in from) { - merged[key] = mergeAsArray(to[key], from[key]); - } - return merged; -} -function createAppContext() { - return { - app: null, - config: { - isNativeTag: NO, - performance: false, - globalProperties: {}, - optionMergeStrategies: {}, - errorHandler: void 0, - warnHandler: void 0, - compilerOptions: {} - }, - mixins: [], - components: {}, - directives: {}, - provides: /* @__PURE__ */ Object.create(null), - optionsCache: /* @__PURE__ */ new WeakMap(), - propsCache: /* @__PURE__ */ new WeakMap(), - emitsCache: /* @__PURE__ */ new WeakMap() - }; -} -let uid$1 = 0; -function createAppAPI(render2, hydrate) { - return function createApp2(rootComponent, rootProps = null) { - if (!isFunction$2(rootComponent)) { - rootComponent = extend$1({}, rootComponent); - } - if (rootProps != null && !isObject$4(rootProps)) { - rootProps = null; - } - const context = createAppContext(); - const installedPlugins = /* @__PURE__ */ new WeakSet(); - const pluginCleanupFns = []; - let isMounted2 = false; - const app2 = context.app = { - _uid: uid$1++, - _component: rootComponent, - _props: rootProps, - _container: null, - _context: context, - _instance: null, - version: version$1, - get config() { - return context.config; - }, - set config(v) { - }, - use(plugin2, ...options) { - if (installedPlugins.has(plugin2)) ; - else if (plugin2 && isFunction$2(plugin2.install)) { - installedPlugins.add(plugin2); - plugin2.install(app2, ...options); - } else if (isFunction$2(plugin2)) { - installedPlugins.add(plugin2); - plugin2(app2, ...options); - } else ; - return app2; - }, - mixin(mixin) { - { - if (!context.mixins.includes(mixin)) { - context.mixins.push(mixin); - } - } - return app2; - }, - component(name2, component) { - if (!component) { - return context.components[name2]; - } - context.components[name2] = component; - return app2; - }, - directive(name2, directive) { - if (!directive) { - return context.directives[name2]; - } - context.directives[name2] = directive; - return app2; - }, - mount(rootContainer, isHydrate, namespace2) { - if (!isMounted2) { - const vnode2 = app2._ceVNode || createVNode(rootComponent, rootProps); - vnode2.appContext = context; - if (namespace2 === true) { - namespace2 = "svg"; - } else if (namespace2 === false) { - namespace2 = void 0; - } - { - render2(vnode2, rootContainer, namespace2); - } - isMounted2 = true; - app2._container = rootContainer; - rootContainer.__vue_app__ = app2; - return getComponentPublicInstance(vnode2.component); - } - }, - onUnmount(cleanupFn) { - pluginCleanupFns.push(cleanupFn); - }, - unmount() { - if (isMounted2) { - callWithAsyncErrorHandling( - pluginCleanupFns, - app2._instance, - 16 - ); - render2(null, app2._container); - delete app2._container.__vue_app__; - } - }, - provide(key, value) { - context.provides[key] = value; - return app2; - }, - runWithContext(fn) { - const lastApp = currentApp; - currentApp = app2; - try { - return fn(); - } finally { - currentApp = lastApp; - } - } - }; - return app2; - }; -} -let currentApp = null; -function provide(key, value) { - if (!currentInstance) ; - else { - let provides = currentInstance.provides; - const parentProvides = currentInstance.parent && currentInstance.parent.provides; - if (parentProvides === provides) { - provides = currentInstance.provides = Object.create(parentProvides); - } - provides[key] = value; - } -} -function inject(key, defaultValue, treatDefaultAsFactory = false) { - const instance = currentInstance || currentRenderingInstance; - if (instance || currentApp) { - const provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0; - if (provides && key in provides) { - return provides[key]; - } else if (arguments.length > 1) { - return treatDefaultAsFactory && isFunction$2(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue; - } else ; - } -} -const internalObjectProto = {}; -const createInternalObject = () => Object.create(internalObjectProto); -const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto; -function initProps(instance, rawProps, isStateful, isSSR = false) { - const props = {}; - const attrs = createInternalObject(); - instance.propsDefaults = /* @__PURE__ */ Object.create(null); - setFullProps(instance, rawProps, props, attrs); - for (const key in instance.propsOptions[0]) { - if (!(key in props)) { - props[key] = void 0; - } - } - if (isStateful) { - instance.props = isSSR ? props : shallowReactive(props); - } else { - if (!instance.type.props) { - instance.props = attrs; - } else { - instance.props = props; - } - } - instance.attrs = attrs; -} -function updateProps(instance, rawProps, rawPrevProps, optimized) { - const { - props, - attrs, - vnode: { patchFlag } - } = instance; - const rawCurrentProps = toRaw(props); - const [options] = instance.propsOptions; - let hasAttrsChanged = false; - if ( - // always force full diff in dev - // - #1942 if hmr is enabled with sfc component - // - vite#872 non-sfc component used by sfc component - (optimized || patchFlag > 0) && !(patchFlag & 16) - ) { - if (patchFlag & 8) { - const propsToUpdate = instance.vnode.dynamicProps; - for (let i = 0; i < propsToUpdate.length; i++) { - let key = propsToUpdate[i]; - if (isEmitListener(instance.emitsOptions, key)) { - continue; - } - const value = rawProps[key]; - if (options) { - if (hasOwn(attrs, key)) { - if (value !== attrs[key]) { - attrs[key] = value; - hasAttrsChanged = true; - } - } else { - const camelizedKey = camelize(key); - props[camelizedKey] = resolvePropValue( - options, - rawCurrentProps, - camelizedKey, - value, - instance, - false - ); - } - } else { - if (value !== attrs[key]) { - attrs[key] = value; - hasAttrsChanged = true; - } - } - } - } - } else { - if (setFullProps(instance, rawProps, props, attrs)) { - hasAttrsChanged = true; - } - let kebabKey; - for (const key in rawCurrentProps) { - if (!rawProps || // for camelCase - !hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case - // and converted to camelCase (#955) - ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) { - if (options) { - if (rawPrevProps && // for camelCase - (rawPrevProps[key] !== void 0 || // for kebab-case - rawPrevProps[kebabKey] !== void 0)) { - props[key] = resolvePropValue( - options, - rawCurrentProps, - key, - void 0, - instance, - true - ); - } - } else { - delete props[key]; - } - } - } - if (attrs !== rawCurrentProps) { - for (const key in attrs) { - if (!rawProps || !hasOwn(rawProps, key) && true) { - delete attrs[key]; - hasAttrsChanged = true; - } - } - } - } - if (hasAttrsChanged) { - trigger$1(instance.attrs, "set", ""); - } -} -function setFullProps(instance, rawProps, props, attrs) { - const [options, needCastKeys] = instance.propsOptions; - let hasAttrsChanged = false; - let rawCastValues; - if (rawProps) { - for (let key in rawProps) { - if (isReservedProp(key)) { - continue; - } - const value = rawProps[key]; - let camelKey; - if (options && hasOwn(options, camelKey = camelize(key))) { - if (!needCastKeys || !needCastKeys.includes(camelKey)) { - props[camelKey] = value; - } else { - (rawCastValues || (rawCastValues = {}))[camelKey] = value; - } - } else if (!isEmitListener(instance.emitsOptions, key)) { - if (!(key in attrs) || value !== attrs[key]) { - attrs[key] = value; - hasAttrsChanged = true; - } - } - } - } - if (needCastKeys) { - const rawCurrentProps = toRaw(props); - const castValues = rawCastValues || EMPTY_OBJ; - for (let i = 0; i < needCastKeys.length; i++) { - const key = needCastKeys[i]; - props[key] = resolvePropValue( - options, - rawCurrentProps, - key, - castValues[key], - instance, - !hasOwn(castValues, key) - ); - } - } - return hasAttrsChanged; -} -function resolvePropValue(options, props, key, value, instance, isAbsent) { - const opt = options[key]; - if (opt != null) { - const hasDefault = hasOwn(opt, "default"); - if (hasDefault && value === void 0) { - const defaultValue = opt.default; - if (opt.type !== Function && !opt.skipFactory && isFunction$2(defaultValue)) { - const { propsDefaults } = instance; - if (key in propsDefaults) { - value = propsDefaults[key]; - } else { - const reset = setCurrentInstance(instance); - value = propsDefaults[key] = defaultValue.call( - null, - props - ); - reset(); - } - } else { - value = defaultValue; - } - if (instance.ce) { - instance.ce._setProp(key, value); - } - } - if (opt[ - 0 - /* shouldCast */ - ]) { - if (isAbsent && !hasDefault) { - value = false; - } else if (opt[ - 1 - /* shouldCastTrue */ - ] && (value === "" || value === hyphenate(key))) { - value = true; - } - } - } - return value; -} -const mixinPropsCache = /* @__PURE__ */ new WeakMap(); -function normalizePropsOptions(comp, appContext, asMixin = false) { - const cache2 = asMixin ? mixinPropsCache : appContext.propsCache; - const cached = cache2.get(comp); - if (cached) { - return cached; - } - const raw = comp.props; - const normalized = {}; - const needCastKeys = []; - let hasExtends = false; - if (!isFunction$2(comp)) { - const extendProps = (raw2) => { - hasExtends = true; - const [props, keys] = normalizePropsOptions(raw2, appContext, true); - extend$1(normalized, props); - if (keys) needCastKeys.push(...keys); - }; - if (!asMixin && appContext.mixins.length) { - appContext.mixins.forEach(extendProps); - } - if (comp.extends) { - extendProps(comp.extends); - } - if (comp.mixins) { - comp.mixins.forEach(extendProps); - } - } - if (!raw && !hasExtends) { - if (isObject$4(comp)) { - cache2.set(comp, EMPTY_ARR); - } - return EMPTY_ARR; - } - if (isArray$3(raw)) { - for (let i = 0; i < raw.length; i++) { - const normalizedKey = camelize(raw[i]); - if (validatePropName(normalizedKey)) { - normalized[normalizedKey] = EMPTY_OBJ; - } - } - } else if (raw) { - for (const key in raw) { - const normalizedKey = camelize(key); - if (validatePropName(normalizedKey)) { - const opt = raw[key]; - const prop = normalized[normalizedKey] = isArray$3(opt) || isFunction$2(opt) ? { type: opt } : extend$1({}, opt); - const propType = prop.type; - let shouldCast = false; - let shouldCastTrue = true; - if (isArray$3(propType)) { - for (let index = 0; index < propType.length; ++index) { - const type = propType[index]; - const typeName = isFunction$2(type) && type.name; - if (typeName === "Boolean") { - shouldCast = true; - break; - } else if (typeName === "String") { - shouldCastTrue = false; - } - } - } else { - shouldCast = isFunction$2(propType) && propType.name === "Boolean"; - } - prop[ - 0 - /* shouldCast */ - ] = shouldCast; - prop[ - 1 - /* shouldCastTrue */ - ] = shouldCastTrue; - if (shouldCast || hasOwn(prop, "default")) { - needCastKeys.push(normalizedKey); - } - } - } - } - const res = [normalized, needCastKeys]; - if (isObject$4(comp)) { - cache2.set(comp, res); - } - return res; -} -function validatePropName(key) { - if (key[0] !== "$" && !isReservedProp(key)) { - return true; - } - return false; -} -const isInternalKey = (key) => key[0] === "_" || key === "$stable"; -const normalizeSlotValue = (value) => isArray$3(value) ? value.map(normalizeVNode) : [normalizeVNode(value)]; -const normalizeSlot$1 = (key, rawSlot, ctx2) => { - if (rawSlot._n) { - return rawSlot; - } - const normalized = withCtx((...args) => { - if (false) ; - return normalizeSlotValue(rawSlot(...args)); - }, ctx2); - normalized._c = false; - return normalized; -}; -const normalizeObjectSlots = (rawSlots, slots, instance) => { - const ctx2 = rawSlots._ctx; - for (const key in rawSlots) { - if (isInternalKey(key)) continue; - const value = rawSlots[key]; - if (isFunction$2(value)) { - slots[key] = normalizeSlot$1(key, value, ctx2); - } else if (value != null) { - const normalized = normalizeSlotValue(value); - slots[key] = () => normalized; - } - } -}; -const normalizeVNodeSlots = (instance, children) => { - const normalized = normalizeSlotValue(children); - instance.slots.default = () => normalized; -}; -const assignSlots = (slots, children, optimized) => { - for (const key in children) { - if (optimized || key !== "_") { - slots[key] = children[key]; - } - } -}; -const initSlots = (instance, children, optimized) => { - const slots = instance.slots = createInternalObject(); - if (instance.vnode.shapeFlag & 32) { - const type = children._; - if (type) { - assignSlots(slots, children, optimized); - if (optimized) { - def$1(slots, "_", type, true); - } - } else { - normalizeObjectSlots(children, slots); - } - } else if (children) { - normalizeVNodeSlots(instance, children); - } -}; -const updateSlots = (instance, children, optimized) => { - const { vnode: vnode2, slots } = instance; - let needDeletionCheck = true; - let deletionComparisonTarget = EMPTY_OBJ; - if (vnode2.shapeFlag & 32) { - const type = children._; - if (type) { - if (optimized && type === 1) { - needDeletionCheck = false; - } else { - assignSlots(slots, children, optimized); - } - } else { - needDeletionCheck = !children.$stable; - normalizeObjectSlots(children, slots); - } - deletionComparisonTarget = children; - } else if (children) { - normalizeVNodeSlots(instance, children); - deletionComparisonTarget = { default: 1 }; - } - if (needDeletionCheck) { - for (const key in slots) { - if (!isInternalKey(key) && deletionComparisonTarget[key] == null) { - delete slots[key]; - } - } - } -}; -const queuePostRenderEffect = queueEffectWithSuspense; -function createRenderer(options) { - return baseCreateRenderer(options); -} -function baseCreateRenderer(options, createHydrationFns) { - const target = getGlobalThis(); - target.__VUE__ = true; - const { - insert: hostInsert, - remove: hostRemove, - patchProp: hostPatchProp, - createElement: hostCreateElement, - createText: hostCreateText, - createComment: hostCreateComment, - setText: hostSetText, - setElementText: hostSetElementText, - parentNode: hostParentNode, - nextSibling: hostNextSibling, - setScopeId: hostSetScopeId = NOOP, - insertStaticContent: hostInsertStaticContent - } = options; - const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace2 = void 0, slotScopeIds = null, optimized = !!n2.dynamicChildren) => { - if (n1 === n2) { - return; - } - if (n1 && !isSameVNodeType(n1, n2)) { - anchor = getNextHostNode(n1); - unmount2(n1, parentComponent, parentSuspense, true); - n1 = null; - } - if (n2.patchFlag === -2) { - optimized = false; - n2.dynamicChildren = null; - } - const { type, ref: ref3, shapeFlag } = n2; - switch (type) { - case Text: - processText(n1, n2, container, anchor); - break; - case Comment: - processCommentNode(n1, n2, container, anchor); - break; - case Static: - if (n1 == null) { - mountStaticNode(n2, container, anchor, namespace2); - } - break; - case Fragment: - processFragment( - n1, - n2, - container, - anchor, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - optimized - ); - break; - default: - if (shapeFlag & 1) { - processElement( - n1, - n2, - container, - anchor, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - optimized - ); - } else if (shapeFlag & 6) { - processComponent( - n1, - n2, - container, - anchor, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - optimized - ); - } else if (shapeFlag & 64) { - type.process( - n1, - n2, - container, - anchor, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - optimized, - internals - ); - } else if (shapeFlag & 128) { - type.process( - n1, - n2, - container, - anchor, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - optimized, - internals - ); - } else ; - } - if (ref3 != null && parentComponent) { - setRef(ref3, n1 && n1.ref, parentSuspense, n2 || n1, !n2); - } - }; - const processText = (n1, n2, container, anchor) => { - if (n1 == null) { - hostInsert( - n2.el = hostCreateText(n2.children), - container, - anchor - ); - } else { - const el = n2.el = n1.el; - if (n2.children !== n1.children) { - hostSetText(el, n2.children); - } - } - }; - const processCommentNode = (n1, n2, container, anchor) => { - if (n1 == null) { - hostInsert( - n2.el = hostCreateComment(n2.children || ""), - container, - anchor - ); - } else { - n2.el = n1.el; - } - }; - const mountStaticNode = (n2, container, anchor, namespace2) => { - [n2.el, n2.anchor] = hostInsertStaticContent( - n2.children, - container, - anchor, - namespace2, - n2.el, - n2.anchor - ); - }; - const moveStaticNode = ({ el, anchor }, container, nextSibling) => { - let next; - while (el && el !== anchor) { - next = hostNextSibling(el); - hostInsert(el, container, nextSibling); - el = next; - } - hostInsert(anchor, container, nextSibling); - }; - const removeStaticNode = ({ el, anchor }) => { - let next; - while (el && el !== anchor) { - next = hostNextSibling(el); - hostRemove(el); - el = next; - } - hostRemove(anchor); - }; - const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized) => { - if (n2.type === "svg") { - namespace2 = "svg"; - } else if (n2.type === "math") { - namespace2 = "mathml"; - } - if (n1 == null) { - mountElement( - n2, - container, - anchor, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - optimized - ); - } else { - patchElement( - n1, - n2, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - optimized - ); - } - }; - const mountElement = (vnode2, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized) => { - let el; - let vnodeHook; - const { props, shapeFlag, transition, dirs } = vnode2; - el = vnode2.el = hostCreateElement( - vnode2.type, - namespace2, - props && props.is, - props - ); - if (shapeFlag & 8) { - hostSetElementText(el, vnode2.children); - } else if (shapeFlag & 16) { - mountChildren( - vnode2.children, - el, - null, - parentComponent, - parentSuspense, - resolveChildrenNamespace(vnode2, namespace2), - slotScopeIds, - optimized - ); - } - if (dirs) { - invokeDirectiveHook(vnode2, null, parentComponent, "created"); - } - setScopeId(el, vnode2, vnode2.scopeId, slotScopeIds, parentComponent); - if (props) { - for (const key in props) { - if (key !== "value" && !isReservedProp(key)) { - hostPatchProp(el, key, null, props[key], namespace2, parentComponent); - } - } - if ("value" in props) { - hostPatchProp(el, "value", null, props.value, namespace2); - } - if (vnodeHook = props.onVnodeBeforeMount) { - invokeVNodeHook(vnodeHook, parentComponent, vnode2); - } - } - if (dirs) { - invokeDirectiveHook(vnode2, null, parentComponent, "beforeMount"); - } - const needCallTransitionHooks = needTransition(parentSuspense, transition); - if (needCallTransitionHooks) { - transition.beforeEnter(el); - } - hostInsert(el, container, anchor); - if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) { - queuePostRenderEffect(() => { - vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode2); - needCallTransitionHooks && transition.enter(el); - dirs && invokeDirectiveHook(vnode2, null, parentComponent, "mounted"); - }, parentSuspense); - } - }; - const setScopeId = (el, vnode2, scopeId, slotScopeIds, parentComponent) => { - if (scopeId) { - hostSetScopeId(el, scopeId); - } - if (slotScopeIds) { - for (let i = 0; i < slotScopeIds.length; i++) { - hostSetScopeId(el, slotScopeIds[i]); - } - } - if (parentComponent) { - let subTree = parentComponent.subTree; - if (vnode2 === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode2 || subTree.ssFallback === vnode2)) { - const parentVNode = parentComponent.vnode; - setScopeId( - el, - parentVNode, - parentVNode.scopeId, - parentVNode.slotScopeIds, - parentComponent.parent - ); - } - } - }; - const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized, start = 0) => { - for (let i = start; i < children.length; i++) { - const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]); - patch( - null, - child, - container, - anchor, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - optimized - ); - } - }; - const patchElement = (n1, n2, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized) => { - const el = n2.el = n1.el; - let { patchFlag, dynamicChildren, dirs } = n2; - patchFlag |= n1.patchFlag & 16; - const oldProps = n1.props || EMPTY_OBJ; - const newProps = n2.props || EMPTY_OBJ; - let vnodeHook; - parentComponent && toggleRecurse(parentComponent, false); - if (vnodeHook = newProps.onVnodeBeforeUpdate) { - invokeVNodeHook(vnodeHook, parentComponent, n2, n1); - } - if (dirs) { - invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate"); - } - parentComponent && toggleRecurse(parentComponent, true); - if (oldProps.innerHTML && newProps.innerHTML == null || oldProps.textContent && newProps.textContent == null) { - hostSetElementText(el, ""); - } - if (dynamicChildren) { - patchBlockChildren( - n1.dynamicChildren, - dynamicChildren, - el, - parentComponent, - parentSuspense, - resolveChildrenNamespace(n2, namespace2), - slotScopeIds - ); - } else if (!optimized) { - patchChildren( - n1, - n2, - el, - null, - parentComponent, - parentSuspense, - resolveChildrenNamespace(n2, namespace2), - slotScopeIds, - false - ); - } - if (patchFlag > 0) { - if (patchFlag & 16) { - patchProps(el, oldProps, newProps, parentComponent, namespace2); - } else { - if (patchFlag & 2) { - if (oldProps.class !== newProps.class) { - hostPatchProp(el, "class", null, newProps.class, namespace2); - } - } - if (patchFlag & 4) { - hostPatchProp(el, "style", oldProps.style, newProps.style, namespace2); - } - if (patchFlag & 8) { - const propsToUpdate = n2.dynamicProps; - for (let i = 0; i < propsToUpdate.length; i++) { - const key = propsToUpdate[i]; - const prev = oldProps[key]; - const next = newProps[key]; - if (next !== prev || key === "value") { - hostPatchProp(el, key, prev, next, namespace2, parentComponent); - } - } - } - } - if (patchFlag & 1) { - if (n1.children !== n2.children) { - hostSetElementText(el, n2.children); - } - } - } else if (!optimized && dynamicChildren == null) { - patchProps(el, oldProps, newProps, parentComponent, namespace2); - } - if ((vnodeHook = newProps.onVnodeUpdated) || dirs) { - queuePostRenderEffect(() => { - vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1); - dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated"); - }, parentSuspense); - } - }; - const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace2, slotScopeIds) => { - for (let i = 0; i < newChildren.length; i++) { - const oldVNode = oldChildren[i]; - const newVNode = newChildren[i]; - const container = ( - // oldVNode may be an errored async setup() component inside Suspense - // which will not have a mounted element - oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent - // of the Fragment itself so it can move its children. - (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement - // which also requires the correct parent container - !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything. - oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : ( - // In other cases, the parent container is not actually used so we - // just pass the block element here to avoid a DOM parentNode call. - fallbackContainer - ) - ); - patch( - oldVNode, - newVNode, - container, - null, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - true - ); - } - }; - const patchProps = (el, oldProps, newProps, parentComponent, namespace2) => { - if (oldProps !== newProps) { - if (oldProps !== EMPTY_OBJ) { - for (const key in oldProps) { - if (!isReservedProp(key) && !(key in newProps)) { - hostPatchProp( - el, - key, - oldProps[key], - null, - namespace2, - parentComponent - ); - } - } - } - for (const key in newProps) { - if (isReservedProp(key)) continue; - const next = newProps[key]; - const prev = oldProps[key]; - if (next !== prev && key !== "value") { - hostPatchProp(el, key, prev, next, namespace2, parentComponent); - } - } - if ("value" in newProps) { - hostPatchProp(el, "value", oldProps.value, newProps.value, namespace2); - } - } - }; - const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace2, slotScopeIds, optimized) => { - const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText(""); - const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText(""); - let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2; - if (fragmentSlotScopeIds) { - slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; - } - if (n1 == null) { - hostInsert(fragmentStartAnchor, container, anchor); - hostInsert(fragmentEndAnchor, container, anchor); - mountChildren( - // #10007 - // such fragment like `<>` will be compiled into - // a fragment which doesn't have a children. - // In this case fallback to an empty array - n2.children || [], - container, - fragmentEndAnchor, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds, - optimized - ); - } else { - if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result - // of renderSlot() with no valid children - n1.dynamicChildren) { - patchBlockChildren( - n1.dynamicChildren, - dynamicChildren, - container, - parentComponent, - parentSuspense, - namespace2, - slotScopeIds - ); - if ( - // #2080 if the stable fragment has a key, it's a