diff --git a/package.json b/package.json index 581a341..6147c83 100644 --- a/package.json +++ b/package.json @@ -31,15 +31,15 @@ }, "devDependencies": { "@csstools/postcss-sass": "^5.1.1", - "@tauri-apps/cli": "2.0.4", + "@tauri-apps/cli": "2.1.0", "@types/node": "^22.9.0", "@types/throttle-debounce": "^5.0.2", - "@unocss/transformer-directives": "^0.63.6", - "@unocss/transformer-variant-group": "^0.63.6", + "@unocss/transformer-directives": "^0.64.1", + "@unocss/transformer-variant-group": "^0.64.1", "autoprefixer": "^10.4.20", "postcss-scss": "^4.0.9", "typescript": "^5.6.3", - "unocss": "^0.63.6", + "unocss": "^0.64.1", "vite": "^5.4.11", "vite-plugin-solid": "^2.10.2", "vite-tsconfig-paths": "^5.1.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38c93ff..4ef67ac 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -55,8 +55,8 @@ importers: specifier: ^5.1.1 version: 5.1.1(postcss@8.4.49) '@tauri-apps/cli': - specifier: 2.0.4 - version: 2.0.4 + specifier: 2.1.0 + version: 2.1.0 '@types/node': specifier: ^22.9.0 version: 22.9.0 @@ -64,11 +64,11 @@ importers: specifier: ^5.0.2 version: 5.0.2 '@unocss/transformer-directives': - specifier: ^0.63.6 - version: 0.63.6 + specifier: ^0.64.1 + version: 0.64.1 '@unocss/transformer-variant-group': - specifier: ^0.63.6 - version: 0.63.6 + specifier: ^0.64.1 + version: 0.64.1 autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -79,17 +79,17 @@ importers: specifier: ^5.6.3 version: 5.6.3 unocss: - specifier: ^0.63.6 - version: 0.63.6(postcss@8.4.49)(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7)) + specifier: ^0.64.1 + version: 0.64.1(postcss@8.4.49)(rollup@4.26.0)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0))(vue@3.5.12(typescript@5.6.3)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(sass@1.80.7) + version: 5.4.11(@types/node@22.9.0)(sass@1.81.0) vite-plugin-solid: specifier: ^2.10.2 - version: 2.10.2(solid-js@1.9.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7)) + version: 2.10.2(solid-js@1.9.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)) vite-tsconfig-paths: specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7)) + version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)) packages: @@ -718,72 +718,72 @@ packages: '@tauri-apps/api@2.1.1': resolution: {integrity: sha512-fzUfFFKo4lknXGJq8qrCidkUcKcH2UHhfaaCNt4GzgzGaW2iS26uFOg4tS3H4P8D6ZEeUxtiD5z0nwFF0UN30A==} - '@tauri-apps/cli-darwin-arm64@2.0.4': - resolution: {integrity: sha512-siH7rOHobb16rPbc11k64p1mxIpiRCkWmzs2qmL5IX21Gx9K5onI3Tk67Oqpf2uNupbYzItrOttaDT4NHFC7tw==} + '@tauri-apps/cli-darwin-arm64@2.1.0': + resolution: {integrity: sha512-ESc6J6CE8hl1yKH2vJ+ALF+thq4Be+DM1mvmTyUCQObvezNCNhzfS6abIUd3ou4x5RGH51ouiANeT3wekU6dCw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@tauri-apps/cli-darwin-x64@2.0.4': - resolution: {integrity: sha512-zIccfbCoZMfmUpnk6PFCV0keFyfVj1A9XV3Oiiitj/dkTZ9CQvzjhX3XC0XcK4rsTWegfr2PjSrK06aiPAROAw==} + '@tauri-apps/cli-darwin-x64@2.1.0': + resolution: {integrity: sha512-TasHS442DFs8cSH2eUQzuDBXUST4ECjCd0yyP+zZzvAruiB0Bg+c8A+I/EnqCvBQ2G2yvWLYG8q/LI7c87A5UA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@tauri-apps/cli-linux-arm-gnueabihf@2.0.4': - resolution: {integrity: sha512-fgQqJzefOGWCBNg4yrVA82Rg4s1XQr5K0dc2rCxBhJfa696e8dQ1LDrnWq/AiO5r+uHfVaoQTIUvxxpFicYRSA==} + '@tauri-apps/cli-linux-arm-gnueabihf@2.1.0': + resolution: {integrity: sha512-aP7ZBGNL4ny07Cbb6kKpUOSrmhcIK2KhjviTzYlh+pPhAptxnC78xQGD3zKQkTi2WliJLPmBYbOHWWQa57lQ9w==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@tauri-apps/cli-linux-arm64-gnu@2.0.4': - resolution: {integrity: sha512-u8wbt5tPA9pI6j+d7jGrfOz9UVCiTp+IYzKNiIqlrDsAjqAUFaNXYHKqOUboeFWEmI4zoCWj6LgpS2OJTQ5FKg==} + '@tauri-apps/cli-linux-arm64-gnu@2.1.0': + resolution: {integrity: sha512-ZTdgD5gLeMCzndMT2f358EkoYkZ5T+Qy6zPzU+l5vv5M7dHVN9ZmblNAYYXmoOuw7y+BY4X/rZvHV9pcGrcanQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@tauri-apps/cli-linux-arm64-musl@2.0.4': - resolution: {integrity: sha512-hntF1V8e3V1hlrESm93PsghDhf3lA5pbvFrRfYxU1c+fVD/jRXGVw8BH3O1lW8MWwhEg1YdhKk01oAgsuHLuig==} + '@tauri-apps/cli-linux-arm64-musl@2.1.0': + resolution: {integrity: sha512-NzwqjUCilhnhJzusz3d/0i0F1GFrwCQbkwR6yAHUxItESbsGYkZRJk0yMEWkg3PzFnyK4cWTlQJMEU52TjhEzA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@tauri-apps/cli-linux-x64-gnu@2.0.4': - resolution: {integrity: sha512-Iq1GGJb+oT1T0ZV8izrgf0cBtlzPCJaWcNueRbf1ZXquMf+FSTyQv+/Lo8rq5T6buOIJOH7cAOTuEWWqiCZteg==} + '@tauri-apps/cli-linux-x64-gnu@2.1.0': + resolution: {integrity: sha512-TyiIpMEtZxNOQmuFyfJwaaYbg3movSthpBJLIdPlKxSAB2BW0VWLY3/ZfIxm/G2YGHyREkjJvimzYE0i37PnMA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@tauri-apps/cli-linux-x64-musl@2.0.4': - resolution: {integrity: sha512-9NTk6Pf0bSwXqCBdAA+PDYts9HeHebZzIo8mbRzRyUbER6QngG5HZb9Ka36Z1QWtJjdRy6uxSb4zb/9NuTeHfA==} + '@tauri-apps/cli-linux-x64-musl@2.1.0': + resolution: {integrity: sha512-/dQd0TlaxBdJACrR72DhynWftzHDaX32eBtS5WBrNJ+nnNb+znM3gON6nJ9tSE9jgDa6n1v2BkI/oIDtypfUXw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@tauri-apps/cli-win32-arm64-msvc@2.0.4': - resolution: {integrity: sha512-OF2e9oxiBFR8A8wVMOhUx9QGN/I1ZkquWC7gVQBnA56nx9PabJlDT08QBy5UD8USqZFVznnfNr2ehlheQahb3g==} + '@tauri-apps/cli-win32-arm64-msvc@2.1.0': + resolution: {integrity: sha512-NdQJO7SmdYqOcE+JPU7bwg7+odfZMWO6g8xF9SXYCMdUzvM2Gv/AQfikNXz5yS7ralRhNFuW32i5dcHlxh4pDg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@tauri-apps/cli-win32-ia32-msvc@2.0.4': - resolution: {integrity: sha512-T+hCKB3rFP6q0saHHtR02hm6wr1ZPJ0Mkii3oRTxjPG6BBXoVzHNCYzvdgEGJPTA2sFuAQtJH764NRtNlDMifw==} + '@tauri-apps/cli-win32-ia32-msvc@2.1.0': + resolution: {integrity: sha512-f5h8gKT/cB8s1ticFRUpNmHqkmaLutT62oFDB7N//2YTXnxst7EpMIn1w+QimxTvTk2gcx6EcW6bEk/y2hZGzg==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@tauri-apps/cli-win32-x64-msvc@2.0.4': - resolution: {integrity: sha512-GVaiI3KWRFLomjJmApHqihhYlkJ+7FqhumhVfBO6Z2tWzZjQyVQgTdNp0kYEuW2WoAYEj0dKY6qd4YM33xYcUA==} + '@tauri-apps/cli-win32-x64-msvc@2.1.0': + resolution: {integrity: sha512-P/+LrdSSb5Xbho1LRP4haBjFHdyPdjWvGgeopL96OVtrFpYnfC+RctB45z2V2XxqFk3HweDDxk266btjttfjGw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@tauri-apps/cli@2.0.4': - resolution: {integrity: sha512-Hl9eFXz+O366+6su9PfaSzu2EJdFe1p8K8ghkWmi40dz8VmSE7vsMTaOStD0I71ckSOkh2ICDX7FQTBgjlpjWw==} + '@tauri-apps/cli@2.1.0': + resolution: {integrity: sha512-K2VhcKqBhAeS5pNOVdnR/xQRU6jwpgmkSL2ejHXcl0m+kaTggT0WRDQnFtPq6NljA7aE03cvwsbCAoFG7vtkJw==} engines: {node: '>= 10'} hasBin: true @@ -817,83 +817,83 @@ packages: '@types/throttle-debounce@5.0.2': resolution: {integrity: sha512-pDzSNulqooSKvSNcksnV72nk8p7gRqN8As71Sp28nov1IgmPKWbOEIwAWvBME5pPTtaXJAvG3O4oc76HlQ4kqQ==} - '@unocss/astro@0.63.6': - resolution: {integrity: sha512-5Fjlv6dpQo6o2PUAcEv8p24G8rn8Op79xLFofq2V+iA/Q32G9/UsxTLOpj+yc+q0YdJrFfDCT2X/3pvVY8Db5g==} + '@unocss/astro@0.64.1': + resolution: {integrity: sha512-UBB2nDc3aqBmdcgJHOsnAQaQnbdch4f3CKfV+LTv77D4tPizagUCODwPVTK3CA3leQzVbbUV06uHfo5hsv2PUw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 peerDependenciesMeta: vite: optional: true - '@unocss/cli@0.63.6': - resolution: {integrity: sha512-OZb8hO0x4nCJjFd3Gq3km78YnyMAdq282D+BLiDE6IhQ5WHCVL7fyhfgIVL6xwxISDVxiyITwNb72ky0MEutPg==} + '@unocss/cli@0.64.1': + resolution: {integrity: sha512-P08Routw1TiCZyvfcveZIQrJi4/agBtWJAMP4NwVgYre7Lgl0jYF4qn9NEpUS4z+Qc5t2U33+4q0xgZpVh4oPw==} engines: {node: '>=14'} hasBin: true - '@unocss/config@0.63.6': - resolution: {integrity: sha512-+4Lt5uTwRgu1z7vhOUzDf+mL+BQYdaa/Z8NMT2Fiqb37tcjEKvmwaUHdfE22Vif1luDgC6xqFsn6qqFtOxhoWQ==} + '@unocss/config@0.64.1': + resolution: {integrity: sha512-uhUfVnRhVsqZrRuFGGFfvvSO9gVUSHgfXOF/u8MnQ/lG1MVyXpx5QykVhjSgSehMfQIFsZ2SID1y7Fd5f8kgLw==} engines: {node: '>=14'} - '@unocss/core@0.63.6': - resolution: {integrity: sha512-Q4QPgJ271Up89+vIqqOKgtdCKkFpHqvHN8W1LUlKPqtYnOvVYaOIVNAZowaIdEhPuc83yLc6Tg2+7riK18QKEw==} + '@unocss/core@0.64.1': + resolution: {integrity: sha512-D1ULd70a24/k6kGyHCIijbrrIn9UjFUEBg2R4xKX2/ViQb1k2MIgOs4VS20MkJX6kbZXqqm/zAFHzDhsQGIhBA==} - '@unocss/extractor-arbitrary-variants@0.63.6': - resolution: {integrity: sha512-HJX0oAa9uzwKYoU8CoJdP1gxjuqFmOLxyZmITjStAmZNZpIxlz2wz4VrHmqml2dkvx/mifGGGc/GxZpQ36D12Q==} + '@unocss/extractor-arbitrary-variants@0.64.1': + resolution: {integrity: sha512-tKtaeZYzSCaH1ASE7Uj45rPX4ApQHYE8eZFfaL3N4ZY0LYrTJPBnaLSRfLRwGD6KLHjoL3+sorywJiS/VVBcFQ==} - '@unocss/inspector@0.63.6': - resolution: {integrity: sha512-DQDJnhtzdHIQXD2vCdj5ytFnHfQCWJGPmrHJHXxzkTYn8nIovV1roVl1ITLxkDIIYK9bdYneg2imQN5JCZhHmQ==} + '@unocss/inspector@0.64.1': + resolution: {integrity: sha512-IDlSxvczxzQso/9aIneQaQ+jVhi8/Wb6uck1pRZm3q71uF3+mhzqEvQojbe1VaKqwUlCmBy2U+M/e8L5dJavlA==} - '@unocss/postcss@0.63.6': - resolution: {integrity: sha512-XI6U1jMwbQoSHVWpZZu3Cxp3t1PVj5VOj+IYtz7xmcWP9GVK+eyETo/xyB0l4muD4emXfSrhNDrFYzSyIyF5cg==} + '@unocss/postcss@0.64.1': + resolution: {integrity: sha512-tlc5ZFO6xoLhYukSRtKSBaP1SDmAatmHCbbRiH6ElncEQNpjl70raXMKjQWfIuAo8IniUe69ILZC+M60AGPYmA==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 - '@unocss/preset-attributify@0.63.6': - resolution: {integrity: sha512-sHH17mfl/THHLxCLAHqPdUniCNMFjAxBHFDZYgGi83azuarF2evI5Mtc3Qsj3nzoSQwTPmK2VY3XYUUrpPDGWQ==} + '@unocss/preset-attributify@0.64.1': + resolution: {integrity: sha512-uxq4iiMZN+/Dy/TAQI/b+mWbHqI7ww/vVJC8tvjdXm9C4SditLb1Wd+Y183nhXI3Pa78wEibK5t8RaDc/fgKPg==} - '@unocss/preset-icons@0.63.6': - resolution: {integrity: sha512-fRU44wXABnMPT/9zhKBNSUeDJlOxJhUJP9W3FSRnc+ktjAifJIj0xpUKtEqxL46QMq825Bsj2yDSquzP+XYGnQ==} + '@unocss/preset-icons@0.64.1': + resolution: {integrity: sha512-aQ4hN2NFdJo08pzUYc1FpwTkNUByE7FB51KmRwXclsVKeXFGvFO3YUYeg5IDlTxqCfvFVWZ3q8NhnmpKGkbutw==} - '@unocss/preset-mini@0.63.6': - resolution: {integrity: sha512-pZDZbSuxabHSwPIy3zCgQ4MNdVCSHvOvZecreH+v96R1oOhquiwU8WiSbkxvZiKiLQJd7JUVW87E1pAzr5ZGGQ==} + '@unocss/preset-mini@0.64.1': + resolution: {integrity: sha512-tl+ciN0elB9eETEVZQrNaMy4NpbLdWDVW7KlmpRZi4Eomf/Ntz+Wctp5V0aBvszo8arEaDiOwsgMxITvx9Ll6Q==} - '@unocss/preset-tagify@0.63.6': - resolution: {integrity: sha512-3lKhk4MW3RqJBwIvBXHj0H0/kHkFlKtCIBQFiBcCJh8TXOID8IZ0iVjuGwdlk63VTizI/wnsNDOVpj6YcjRRlw==} + '@unocss/preset-tagify@0.64.1': + resolution: {integrity: sha512-xBGF7usHIDOMmLEgawpgbOAoNZ8qFZ/mpbRG9tdEjOHJ+rXJuJlZHhwIgwjQiFRCzSRtlsN57/iM37bZNRCEAg==} - '@unocss/preset-typography@0.63.6': - resolution: {integrity: sha512-AXmBVnbV54gUIv5kbywjZek9ZlKRwJfBDVMtWOcLOjN3AHirGx1W2oq2UzNkfYZ2leof/Y2BocxeTwGCCRhqDQ==} + '@unocss/preset-typography@0.64.1': + resolution: {integrity: sha512-5L/m0YrtF5P6W4U1DhMfqdKVFbso09TplVHK9udJMvYMaj4HzNNIo6GtpbSm2eCXBzxIYuzAjQ9kLldOXjZS1w==} - '@unocss/preset-uno@0.63.6': - resolution: {integrity: sha512-67PbHyVgAe9Rz0Rhyl3zBibFuGmqQMRPMkRjNYrwmmtNydpQYsXbfnDs0p8mZFp6uO2o3Jkh7urqEtixHHvq0Q==} + '@unocss/preset-uno@0.64.1': + resolution: {integrity: sha512-9427KmOHsck9mNfOXiCBy43Q9aAI1w15tCBJf2bDMHioJltc6JjW+Mg5DDZWnYelhzpXCYK7zTZtMJ40KxDx+g==} - '@unocss/preset-web-fonts@0.63.6': - resolution: {integrity: sha512-ko1aHDax0u5CQi1BXggv6uW5Vq/LQRWwzOxqBFTh1JlGHPZTw4CdVJkYnlpt3WEW+FPUzZYjhKmMmQY7KtOTng==} + '@unocss/preset-web-fonts@0.64.1': + resolution: {integrity: sha512-qhc1976bVDMYG+aG5VKvTsKK7K8hMrNnhkCmfKmvdFH7xSj8MB80YxdmiAAcKh3cVk97bh0ej7ym6Lss7I2Idg==} - '@unocss/preset-wind@0.63.6': - resolution: {integrity: sha512-W3oZ2TXSqStNE+X++kcspRTF2Szu2ej6NW5Kiyy6WQn/+ZD77AF4VtvzHtzFVZ2QKpEIovGBpU5tywooHbB7hw==} + '@unocss/preset-wind@0.64.1': + resolution: {integrity: sha512-IpAfsi2tI4elb2uZzc3BSZgbi0axgwgJLPFW0BtZQe4u1J+zrUIOvjCu/2jmiB7LR05IShCyMKIz9Vi4EJm+gQ==} - '@unocss/reset@0.63.6': - resolution: {integrity: sha512-gq73RSZj54MOloqrivkoMPXCqNG2WpIyBT1AYlF76uKxEEbUD41E8uBUhLSKs7gFgF01yQJLRaIuyN1yw09pbQ==} + '@unocss/reset@0.64.1': + resolution: {integrity: sha512-xx36rWcrIpyvI1l/v+szQLrxWAgsmk6GH85QQ5iE1qccQbL9IlhWHB1KEd3cRbJ1TFeZ2Mzca/qsjg0LU9ZVnA==} - '@unocss/rule-utils@0.63.6': - resolution: {integrity: sha512-moeDEq5d9mB8gSYeoqHMkXWWekaFFdhg7QCuwwCbxCc+NPMOgGkmfAoafz+y2tdvK7pEuT191RWOiHQ0MkA5oQ==} + '@unocss/rule-utils@0.64.1': + resolution: {integrity: sha512-h+Du0lezKHmdsEsGQGAtGrwrTrU+Av4eij46UzpzuNWFq0mAouBu8m/lgBI1AcY9B0Jg3EJalkOgA06tAKS8jg==} engines: {node: '>=14'} - '@unocss/transformer-attributify-jsx@0.63.6': - resolution: {integrity: sha512-/RU09MF+hJK7cFbLJ+8vloCGyhn6Oys8R6gey0auB0+nw/ucUXoLQKWgUqo9taQlLuYOiehdkYjQSdWn5lyA/Q==} + '@unocss/transformer-attributify-jsx@0.64.1': + resolution: {integrity: sha512-Zg7rfNheWxJh2G5C0gCctGc6c8NbmI6wqbYjUxUDXEeT+lrZqKeDpTmgcLis7gLqGELFvIqE5R0EpARvjrj9bw==} - '@unocss/transformer-compile-class@0.63.6': - resolution: {integrity: sha512-zzAqs8adnTUOLA88RgcToadcrz9gjxrZk6IrcmMqMmWqk0MOWNQHIN0RzKa/yaw4QhO2xuGyIz4/WHyXuCXMQg==} + '@unocss/transformer-compile-class@0.64.1': + resolution: {integrity: sha512-oASb3lJq++Ll6LD3frT0WiEZUJupjrLF+rtkgz3lKPgD8bRpbh+m5FykGAIHj5VcIcYOACD4GkTrSFrQbL0GEw==} - '@unocss/transformer-directives@0.63.6': - resolution: {integrity: sha512-XcNOwLRbfrJSU6YXyLgiMzAigSzjIdvHwS3lLCZ2n6DWuLmTuXBfvVtRxeJ+aflNkhpQNKONCClC4s6I2r53uw==} + '@unocss/transformer-directives@0.64.1': + resolution: {integrity: sha512-6yWZh7YxYTaNSdATkGpP+aQ3aTRLNo4URDmLQKB3uaQbF0Ae5dLlxXWHZ26VIpKkQ3+hME4TRxEptTR0/ag7nw==} - '@unocss/transformer-variant-group@0.63.6': - resolution: {integrity: sha512-ebYSjZnZrtcJYjmAEDwGVwPuaQ9EVWKNDDJFFSusP8k/6PjJoHDh0qkj+hdPPDhYn81yzJQalU1eSUSlfC30VA==} + '@unocss/transformer-variant-group@0.64.1': + resolution: {integrity: sha512-wQkD1x69YSiIXvSvNNTN6hTZXHVzbVY+xmfoXL3bi/1cDMzRmE9C2Gk/Rzm/BSQxsLusLfDDL0NuhxWoFmvWPA==} - '@unocss/vite@0.63.6': - resolution: {integrity: sha512-gxK3gtvYQH5S/qtuvsY4M0S+KJPZnYrOQI/Gopufx+b2qgmwZ/TSAe66gWeKYfe3DfQsmA3PPh/GXpkK+/FnHg==} + '@unocss/vite@0.64.1': + resolution: {integrity: sha512-DIvl7Mofc5Q6kKElMRALbH33xBYb5w3Yf7TQ860lmi3DOwjEcg+OWE1HD+iDf7IxZeqPsdF17NvJJaSdmr0m5Q==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -1036,8 +1036,8 @@ packages: duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - electron-to-chromium@1.5.57: - resolution: {integrity: sha512-xS65H/tqgOwUBa5UmOuNSLuslDo7zho0y/lgQw35pnrqiZh7UOWHCeL/Bt6noJATbA6tpQJGCifsFsIRZj1Fqg==} + electron-to-chromium@1.5.60: + resolution: {integrity: sha512-HcraRUkTKJ+8yA3b10i9qvhUlPBRDlKjn1XGek1zDGVfAKcvi8TsUnImGqLiEm9j6ZulxXIWWIo9BmbkbCTGgA==} entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} @@ -1273,8 +1273,8 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - sass@1.80.7: - resolution: {integrity: sha512-MVWvN0u5meytrSjsU7AWsbhoXi1sc58zADXFllfZzbsBT1GHjjar6JwBINYPRrkx/zqnQ6uqbQuHgE95O+C+eQ==} + sass@1.81.0: + resolution: {integrity: sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA==} engines: {node: '>=14.0.0'} hasBin: true @@ -1364,11 +1364,11 @@ packages: undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - unocss@0.63.6: - resolution: {integrity: sha512-OKJJKEFWVz+Lsf3JdOgRiRtL+QOUQRBov89taUcCPFPZtrhP6pPVFCZHD9qMvY4IChMX7dzalQax3ZXJ3hbtkQ==} + unocss@0.64.1: + resolution: {integrity: sha512-UTtK9TPneVht5r0cVEADS/N6970AoHhKvJKDkBPnk7OQdguIFPCykGyx4llukItzm0AoffGfwg5zQ+L8QJgupw==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.63.6 + '@unocss/webpack': 0.64.1 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 peerDependenciesMeta: '@unocss/webpack': @@ -1442,8 +1442,10 @@ packages: vite: optional: true - vue-flow-layout@0.0.5: - resolution: {integrity: sha512-lZlqQ/Se1trGMtBMneZDWaiQiQBuxU8ivZ+KpJMem5zKROFpzuPq9KqyWABbSYbxq0qhqZs1I4DBwrY041rtOA==} + vue-flow-layout@0.1.1: + resolution: {integrity: sha512-JdgRRUVrN0Y2GosA0M68DEbKlXMqJ7FQgsK8CjQD2vxvNSqAU6PZEpi4cfcTVtfM2GVOMjHo7GKKLbXxOBqDqA==} + peerDependencies: + vue: ^3.4.37 vue@3.5.12: resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==} @@ -1583,7 +1585,7 @@ snapshots: dependencies: '@csstools/sass-import-resolve': 1.0.0 postcss: 8.4.49 - sass: 1.80.7 + sass: 1.81.0 source-map: 0.7.4 '@csstools/sass-import-resolve@1.0.0': {} @@ -1906,48 +1908,48 @@ snapshots: '@tauri-apps/api@2.1.1': {} - '@tauri-apps/cli-darwin-arm64@2.0.4': + '@tauri-apps/cli-darwin-arm64@2.1.0': optional: true - '@tauri-apps/cli-darwin-x64@2.0.4': + '@tauri-apps/cli-darwin-x64@2.1.0': optional: true - '@tauri-apps/cli-linux-arm-gnueabihf@2.0.4': + '@tauri-apps/cli-linux-arm-gnueabihf@2.1.0': optional: true - '@tauri-apps/cli-linux-arm64-gnu@2.0.4': + '@tauri-apps/cli-linux-arm64-gnu@2.1.0': optional: true - '@tauri-apps/cli-linux-arm64-musl@2.0.4': + '@tauri-apps/cli-linux-arm64-musl@2.1.0': optional: true - '@tauri-apps/cli-linux-x64-gnu@2.0.4': + '@tauri-apps/cli-linux-x64-gnu@2.1.0': optional: true - '@tauri-apps/cli-linux-x64-musl@2.0.4': + '@tauri-apps/cli-linux-x64-musl@2.1.0': optional: true - '@tauri-apps/cli-win32-arm64-msvc@2.0.4': + '@tauri-apps/cli-win32-arm64-msvc@2.1.0': optional: true - '@tauri-apps/cli-win32-ia32-msvc@2.0.4': + '@tauri-apps/cli-win32-ia32-msvc@2.1.0': optional: true - '@tauri-apps/cli-win32-x64-msvc@2.0.4': + '@tauri-apps/cli-win32-x64-msvc@2.1.0': optional: true - '@tauri-apps/cli@2.0.4': + '@tauri-apps/cli@2.1.0': optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 2.0.4 - '@tauri-apps/cli-darwin-x64': 2.0.4 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.4 - '@tauri-apps/cli-linux-arm64-gnu': 2.0.4 - '@tauri-apps/cli-linux-arm64-musl': 2.0.4 - '@tauri-apps/cli-linux-x64-gnu': 2.0.4 - '@tauri-apps/cli-linux-x64-musl': 2.0.4 - '@tauri-apps/cli-win32-arm64-msvc': 2.0.4 - '@tauri-apps/cli-win32-ia32-msvc': 2.0.4 - '@tauri-apps/cli-win32-x64-msvc': 2.0.4 + '@tauri-apps/cli-darwin-arm64': 2.1.0 + '@tauri-apps/cli-darwin-x64': 2.1.0 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.1.0 + '@tauri-apps/cli-linux-arm64-gnu': 2.1.0 + '@tauri-apps/cli-linux-arm64-musl': 2.1.0 + '@tauri-apps/cli-linux-x64-gnu': 2.1.0 + '@tauri-apps/cli-linux-x64-musl': 2.1.0 + '@tauri-apps/cli-win32-arm64-msvc': 2.1.0 + '@tauri-apps/cli-win32-ia32-msvc': 2.1.0 + '@tauri-apps/cli-win32-x64-msvc': 2.1.0 '@tauri-apps/plugin-dialog@2.0.1': dependencies: @@ -1990,25 +1992,25 @@ snapshots: '@types/throttle-debounce@5.0.2': {} - '@unocss/astro@0.63.6(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7))': + '@unocss/astro@0.64.1(rollup@4.26.0)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0))(vue@3.5.12(typescript@5.6.3))': dependencies: - '@unocss/core': 0.63.6 - '@unocss/reset': 0.63.6 - '@unocss/vite': 0.63.6(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7)) + '@unocss/core': 0.64.1 + '@unocss/reset': 0.64.1 + '@unocss/vite': 0.64.1(rollup@4.26.0)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0))(vue@3.5.12(typescript@5.6.3)) optionalDependencies: - vite: 5.4.11(@types/node@22.9.0)(sass@1.80.7) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0) transitivePeerDependencies: - rollup - supports-color - - typescript + - vue - '@unocss/cli@0.63.6(rollup@4.26.0)': + '@unocss/cli@0.64.1(rollup@4.26.0)': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.3(rollup@4.26.0) - '@unocss/config': 0.63.6 - '@unocss/core': 0.63.6 - '@unocss/preset-uno': 0.63.6 + '@unocss/config': 0.64.1 + '@unocss/core': 0.64.1 + '@unocss/preset-uno': 0.64.1 cac: 6.7.14 chokidar: 3.6.0 colorette: 2.0.20 @@ -2021,125 +2023,125 @@ snapshots: - rollup - supports-color - '@unocss/config@0.63.6': + '@unocss/config@0.64.1': dependencies: - '@unocss/core': 0.63.6 + '@unocss/core': 0.64.1 unconfig: 0.5.5 transitivePeerDependencies: - supports-color - '@unocss/core@0.63.6': {} + '@unocss/core@0.64.1': {} - '@unocss/extractor-arbitrary-variants@0.63.6': + '@unocss/extractor-arbitrary-variants@0.64.1': dependencies: - '@unocss/core': 0.63.6 + '@unocss/core': 0.64.1 - '@unocss/inspector@0.63.6(typescript@5.6.3)': + '@unocss/inspector@0.64.1(vue@3.5.12(typescript@5.6.3))': dependencies: - '@unocss/core': 0.63.6 - '@unocss/rule-utils': 0.63.6 + '@unocss/core': 0.64.1 + '@unocss/rule-utils': 0.64.1 gzip-size: 6.0.0 sirv: 2.0.4 - vue-flow-layout: 0.0.5(typescript@5.6.3) + vue-flow-layout: 0.1.1(vue@3.5.12(typescript@5.6.3)) transitivePeerDependencies: - - typescript + - vue - '@unocss/postcss@0.63.6(postcss@8.4.49)': + '@unocss/postcss@0.64.1(postcss@8.4.49)': dependencies: - '@unocss/config': 0.63.6 - '@unocss/core': 0.63.6 - '@unocss/rule-utils': 0.63.6 + '@unocss/config': 0.64.1 + '@unocss/core': 0.64.1 + '@unocss/rule-utils': 0.64.1 css-tree: 3.0.1 postcss: 8.4.49 tinyglobby: 0.2.10 transitivePeerDependencies: - supports-color - '@unocss/preset-attributify@0.63.6': + '@unocss/preset-attributify@0.64.1': dependencies: - '@unocss/core': 0.63.6 + '@unocss/core': 0.64.1 - '@unocss/preset-icons@0.63.6': + '@unocss/preset-icons@0.64.1': dependencies: '@iconify/utils': 2.1.33 - '@unocss/core': 0.63.6 + '@unocss/core': 0.64.1 ofetch: 1.4.1 transitivePeerDependencies: - supports-color - '@unocss/preset-mini@0.63.6': + '@unocss/preset-mini@0.64.1': dependencies: - '@unocss/core': 0.63.6 - '@unocss/extractor-arbitrary-variants': 0.63.6 - '@unocss/rule-utils': 0.63.6 + '@unocss/core': 0.64.1 + '@unocss/extractor-arbitrary-variants': 0.64.1 + '@unocss/rule-utils': 0.64.1 - '@unocss/preset-tagify@0.63.6': + '@unocss/preset-tagify@0.64.1': dependencies: - '@unocss/core': 0.63.6 + '@unocss/core': 0.64.1 - '@unocss/preset-typography@0.63.6': + '@unocss/preset-typography@0.64.1': dependencies: - '@unocss/core': 0.63.6 - '@unocss/preset-mini': 0.63.6 + '@unocss/core': 0.64.1 + '@unocss/preset-mini': 0.64.1 - '@unocss/preset-uno@0.63.6': + '@unocss/preset-uno@0.64.1': dependencies: - '@unocss/core': 0.63.6 - '@unocss/preset-mini': 0.63.6 - '@unocss/preset-wind': 0.63.6 - '@unocss/rule-utils': 0.63.6 + '@unocss/core': 0.64.1 + '@unocss/preset-mini': 0.64.1 + '@unocss/preset-wind': 0.64.1 + '@unocss/rule-utils': 0.64.1 - '@unocss/preset-web-fonts@0.63.6': + '@unocss/preset-web-fonts@0.64.1': dependencies: - '@unocss/core': 0.63.6 + '@unocss/core': 0.64.1 ofetch: 1.4.1 - '@unocss/preset-wind@0.63.6': + '@unocss/preset-wind@0.64.1': dependencies: - '@unocss/core': 0.63.6 - '@unocss/preset-mini': 0.63.6 - '@unocss/rule-utils': 0.63.6 + '@unocss/core': 0.64.1 + '@unocss/preset-mini': 0.64.1 + '@unocss/rule-utils': 0.64.1 - '@unocss/reset@0.63.6': {} + '@unocss/reset@0.64.1': {} - '@unocss/rule-utils@0.63.6': + '@unocss/rule-utils@0.64.1': dependencies: - '@unocss/core': 0.63.6 + '@unocss/core': 0.64.1 magic-string: 0.30.12 - '@unocss/transformer-attributify-jsx@0.63.6': + '@unocss/transformer-attributify-jsx@0.64.1': dependencies: - '@unocss/core': 0.63.6 + '@unocss/core': 0.64.1 - '@unocss/transformer-compile-class@0.63.6': + '@unocss/transformer-compile-class@0.64.1': dependencies: - '@unocss/core': 0.63.6 + '@unocss/core': 0.64.1 - '@unocss/transformer-directives@0.63.6': + '@unocss/transformer-directives@0.64.1': dependencies: - '@unocss/core': 0.63.6 - '@unocss/rule-utils': 0.63.6 + '@unocss/core': 0.64.1 + '@unocss/rule-utils': 0.64.1 css-tree: 3.0.1 - '@unocss/transformer-variant-group@0.63.6': + '@unocss/transformer-variant-group@0.64.1': dependencies: - '@unocss/core': 0.63.6 + '@unocss/core': 0.64.1 - '@unocss/vite@0.63.6(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7))': + '@unocss/vite@0.64.1(rollup@4.26.0)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0))(vue@3.5.12(typescript@5.6.3))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.3(rollup@4.26.0) - '@unocss/config': 0.63.6 - '@unocss/core': 0.63.6 - '@unocss/inspector': 0.63.6(typescript@5.6.3) + '@unocss/config': 0.64.1 + '@unocss/core': 0.64.1 + '@unocss/inspector': 0.64.1(vue@3.5.12(typescript@5.6.3)) chokidar: 3.6.0 magic-string: 0.30.12 tinyglobby: 0.2.10 - vite: 5.4.11(@types/node@22.9.0)(sass@1.80.7) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0) transitivePeerDependencies: - rollup - supports-color - - typescript + - vue '@vue/compiler-core@3.5.12': dependencies: @@ -2236,7 +2238,7 @@ snapshots: browserslist@4.24.2: dependencies: caniuse-lite: 1.0.30001680 - electron-to-chromium: 1.5.57 + electron-to-chromium: 1.5.60 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -2297,7 +2299,7 @@ snapshots: duplexer@0.1.2: {} - electron-to-chromium@1.5.57: {} + electron-to-chromium@1.5.60: {} entities@4.5.0: {} @@ -2556,7 +2558,7 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.26.0 fsevents: 2.3.3 - sass@1.80.7: + sass@1.81.0: dependencies: chokidar: 4.0.1 immutable: 5.0.2 @@ -2639,32 +2641,32 @@ snapshots: undici-types@6.19.8: {} - unocss@0.63.6(postcss@8.4.49)(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7)): - dependencies: - '@unocss/astro': 0.63.6(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7)) - '@unocss/cli': 0.63.6(rollup@4.26.0) - '@unocss/core': 0.63.6 - '@unocss/postcss': 0.63.6(postcss@8.4.49) - '@unocss/preset-attributify': 0.63.6 - '@unocss/preset-icons': 0.63.6 - '@unocss/preset-mini': 0.63.6 - '@unocss/preset-tagify': 0.63.6 - '@unocss/preset-typography': 0.63.6 - '@unocss/preset-uno': 0.63.6 - '@unocss/preset-web-fonts': 0.63.6 - '@unocss/preset-wind': 0.63.6 - '@unocss/transformer-attributify-jsx': 0.63.6 - '@unocss/transformer-compile-class': 0.63.6 - '@unocss/transformer-directives': 0.63.6 - '@unocss/transformer-variant-group': 0.63.6 - '@unocss/vite': 0.63.6(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7)) + unocss@0.64.1(postcss@8.4.49)(rollup@4.26.0)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0))(vue@3.5.12(typescript@5.6.3)): + dependencies: + '@unocss/astro': 0.64.1(rollup@4.26.0)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0))(vue@3.5.12(typescript@5.6.3)) + '@unocss/cli': 0.64.1(rollup@4.26.0) + '@unocss/core': 0.64.1 + '@unocss/postcss': 0.64.1(postcss@8.4.49) + '@unocss/preset-attributify': 0.64.1 + '@unocss/preset-icons': 0.64.1 + '@unocss/preset-mini': 0.64.1 + '@unocss/preset-tagify': 0.64.1 + '@unocss/preset-typography': 0.64.1 + '@unocss/preset-uno': 0.64.1 + '@unocss/preset-web-fonts': 0.64.1 + '@unocss/preset-wind': 0.64.1 + '@unocss/transformer-attributify-jsx': 0.64.1 + '@unocss/transformer-compile-class': 0.64.1 + '@unocss/transformer-directives': 0.64.1 + '@unocss/transformer-variant-group': 0.64.1 + '@unocss/vite': 0.64.1(rollup@4.26.0)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0))(vue@3.5.12(typescript@5.6.3)) optionalDependencies: - vite: 5.4.11(@types/node@22.9.0)(sass@1.80.7) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0) transitivePeerDependencies: - postcss - rollup - supports-color - - typescript + - vue update-browserslist-db@1.1.1(browserslist@4.24.2): dependencies: @@ -2674,7 +2676,7 @@ snapshots: validate-html-nesting@1.2.2: {} - vite-plugin-solid@2.10.2(solid-js@1.9.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7)): + vite-plugin-solid@2.10.2(solid-js@1.9.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)): dependencies: '@babel/core': 7.26.0 '@types/babel__core': 7.20.5 @@ -2682,23 +2684,23 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.3 solid-refresh: 0.6.3(solid-js@1.9.3) - vite: 5.4.11(@types/node@22.9.0)(sass@1.80.7) - vitefu: 0.2.5(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7)) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0) + vitefu: 0.2.5(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)) transitivePeerDependencies: - supports-color - vite-tsconfig-paths@5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7)): + vite-tsconfig-paths@5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)): dependencies: debug: 4.3.7 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.6.3) optionalDependencies: - vite: 5.4.11(@types/node@22.9.0)(sass@1.80.7) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0) transitivePeerDependencies: - supports-color - typescript - vite@5.4.11(@types/node@22.9.0)(sass@1.80.7): + vite@5.4.11(@types/node@22.9.0)(sass@1.81.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 @@ -2706,17 +2708,15 @@ snapshots: optionalDependencies: '@types/node': 22.9.0 fsevents: 2.3.3 - sass: 1.80.7 + sass: 1.81.0 - vitefu@0.2.5(vite@5.4.11(@types/node@22.9.0)(sass@1.80.7)): + vitefu@0.2.5(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)): optionalDependencies: - vite: 5.4.11(@types/node@22.9.0)(sass@1.80.7) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0) - vue-flow-layout@0.0.5(typescript@5.6.3): + vue-flow-layout@0.1.1(vue@3.5.12(typescript@5.6.3)): dependencies: vue: 3.5.12(typescript@5.6.3) - transitivePeerDependencies: - - typescript vue@3.5.12(typescript@5.6.3): dependencies: diff --git a/src/components/base/mix_editor/event/index.ts b/src/components/base/mix_editor/event/index.ts index d3cc659..76d3b2b 100644 --- a/src/components/base/mix_editor/event/index.ts +++ b/src/components/base/mix_editor/event/index.ts @@ -12,3 +12,5 @@ export type EventPair = | InputEventPair | DeleteEventPair | CombineEventPair; + +export type MixEditorEvent = EventPair["event"]; diff --git a/src/components/base/mix_editor/root.ts b/src/components/base/mix_editor/root.ts index 030c9b2..1ec417d 100644 --- a/src/components/base/mix_editor/root.ts +++ b/src/components/base/mix_editor/root.ts @@ -7,6 +7,8 @@ import { Block } from "./Area"; import { MixEditor } from "./MixEditor"; import { Position } from "@/common/math"; import { DeleteEventResult } from "./event/Delete"; +import { MixEditorEvent } from "./event"; +import { ToEnd } from "./selection"; /** 根区域。是无界的块区域。 */ export class RootArea implements Block<"root", {}> { @@ -27,7 +29,7 @@ export class RootArea implements Block<"root", {}> { get_child_position(index: number) { return undefined as Position | undefined; } - handle_event(event: CaretMoveEnterEvent) { + handle_event(event: MixEditorEvent) { if (event.event_type === "caret_move_enter") { const to = event.to; const to_left = event.direction === "left"; @@ -47,7 +49,34 @@ export class RootArea implements Block<"root", {}> { ); } } else if (event.event_type === "delete") { - return DeleteEventResult.skip; + // 如果子区域请求根区域负责删除,则尝试合并子区域 + const to = event.to; + const to_backward = event.type === "backward"; + + // 跳过越界删除 + if ( + (to_backward && to === 0) || + (!to_backward && to >= this.children_count()) + ) { + return DeleteEventResult.skip; + } + + // 尝试合并前后两个子区域 + let prev_child: Block | undefined; + let child: Block | undefined; + if (to_backward) { + prev_child = this.get_child(to - 1); + child = this.get_child(to); + } else { + prev_child = this.get_child(to); + child = this.get_child(to + 1); + } + + this.editor.selection.combine_areas( + child, + prev_child, + to_backward ? ToEnd : 0 + ); } } constructor(public editor: MixEditor) {}