diff --git a/excalidraw-app/collab/CollabError.scss b/excalidraw-app/collab/CollabError.scss index bb774d00..534f64d5 100644 --- a/excalidraw-app/collab/CollabError.scss +++ b/excalidraw-app/collab/CollabError.scss @@ -1,4 +1,4 @@ -@import "../../packages/excalidraw/css/variables.module.scss"; +@use "../../packages/excalidraw/css/variables.module.scss" as *; .excalidraw { .collab-errors-button { diff --git a/excalidraw-app/index.scss b/excalidraw-app/index.scss index 91a56bcd..a3db4fab 100644 --- a/excalidraw-app/index.scss +++ b/excalidraw-app/index.scss @@ -1,4 +1,4 @@ -@import "../packages/excalidraw/css/variables.module.scss"; +@use "../packages/excalidraw/css/variables.module.scss" as *; .excalidraw { --color-primary-contrast-offset: #625ee0; // to offset Chubb illusion diff --git a/excalidraw-app/share/ShareDialog.scss b/excalidraw-app/share/ShareDialog.scss index 161077e7..1ff9887a 100644 --- a/excalidraw-app/share/ShareDialog.scss +++ b/excalidraw-app/share/ShareDialog.scss @@ -1,4 +1,4 @@ -@import "../../packages/excalidraw/css/variables.module.scss"; +@use "../../packages/excalidraw/css/variables.module.scss" as *; .excalidraw { .ShareDialog { @@ -91,15 +91,6 @@ } &__popover { - @keyframes ShareDialog__popover__scaleIn { - from { - opacity: 0; - } - to { - opacity: 1; - } - } - box-sizing: border-box; z-index: 100; @@ -124,13 +115,22 @@ background: var(--color-success); color: var(--color-success-text); + transform-origin: var(--radix-popover-content-transform-origin); + animation: ShareDialog__popover__scaleIn 150ms ease-out; + & > svg { width: 0.875rem; height: 0.875rem; } - transform-origin: var(--radix-popover-content-transform-origin); - animation: ShareDialog__popover__scaleIn 150ms ease-out; + @keyframes ShareDialog__popover__scaleIn { + from { + opacity: 0; + } + to { + opacity: 1; + } + } } &__picker { diff --git a/excalidraw-app/vite.config.mts b/excalidraw-app/vite.config.mts index be69dee6..0d9ce560 100644 --- a/excalidraw-app/vite.config.mts +++ b/excalidraw-app/vite.config.mts @@ -106,6 +106,13 @@ export default defineConfig(({ mode }) => { // would rewrite/break. Exclude it so Vite serves it as-is. exclude: ["draw-collab-wasm"], }, + css: { + preprocessorOptions: { + scss: { + api: "modern-compiler", + }, + }, + }, build: { outDir: "build", rollupOptions: { diff --git a/package.json b/package.json index 654217d7..61e97a7f 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "rewire": "6.0.0", "rimraf": "^5.0.0", "typescript": "5.9.3", - "vite": "5.0.12", + "vite": "5.4.21", "vite-plugin-checker": "0.7.2", "vite-plugin-ejs": "1.7.0", "vite-plugin-pwa": "0.21.1", diff --git a/packages/excalidraw/components/ShareableLinkDialog.scss b/packages/excalidraw/components/ShareableLinkDialog.scss index f61ab1b8..726742f8 100644 --- a/packages/excalidraw/components/ShareableLinkDialog.scss +++ b/packages/excalidraw/components/ShareableLinkDialog.scss @@ -22,15 +22,6 @@ } &__popover { - @keyframes ShareableLinkDialog__popover__scaleIn { - from { - opacity: 0; - } - to { - opacity: 1; - } - } - box-sizing: border-box; z-index: 100; @@ -55,13 +46,22 @@ background: var(--color-success); color: var(--color-success-text); + transform-origin: var(--radix-popover-content-transform-origin); + animation: ShareableLinkDialog__popover__scaleIn 150ms ease-out; + & > svg { width: 0.875rem; height: 0.875rem; } - transform-origin: var(--radix-popover-content-transform-origin); - animation: ShareableLinkDialog__popover__scaleIn 150ms ease-out; + @keyframes ShareableLinkDialog__popover__scaleIn { + from { + opacity: 0; + } + to { + opacity: 1; + } + } } &__linkRow { diff --git a/packages/excalidraw/package.json b/packages/excalidraw/package.json index ad7c6419..0ab0d9fa 100644 --- a/packages/excalidraw/package.json +++ b/packages/excalidraw/package.json @@ -112,7 +112,7 @@ "pwacompat": "2.0.17", "radix-ui": "1.4.3", "roughjs": "4.6.4", - "sass": "1.51.0", + "sass": "1.85.1", "tunnel-rat": "0.1.2" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 203093b1..6433a7c0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,7 +38,7 @@ importers: version: 19.0.4(@types/react@19.0.10) '@vitejs/plugin-react': specifier: 4.3.4 - version: 4.3.4(supports-color@9.4.0)(vite@5.0.12) + version: 4.3.4(supports-color@9.4.0)(vite@5.4.21) '@vitest/coverage-v8': specifier: 3.0.7 version: 3.0.7(supports-color@9.4.0)(vitest@3.0.7) @@ -91,20 +91,20 @@ importers: specifier: 5.9.3 version: 5.9.3 vite: - specifier: 5.0.12 - version: 5.0.12(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) + specifier: 5.4.21 + version: 5.4.21(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) vite-plugin-checker: specifier: 0.7.2 - version: 0.7.2(eslint@8.57.1)(optionator@0.9.4)(typescript@5.9.3)(vite@5.0.12) + version: 0.7.2(eslint@8.57.1)(optionator@0.9.4)(typescript@5.9.3)(vite@5.4.21) vite-plugin-ejs: specifier: 1.7.0 - version: 1.7.0(vite@5.0.12) + version: 1.7.0(vite@5.4.21) vite-plugin-pwa: specifier: 0.21.1 - version: 0.21.1(supports-color@9.4.0)(vite@5.0.12)(workbox-build@7.3.0)(workbox-window@7.3.0) + version: 0.21.1(supports-color@9.4.0)(vite@5.4.21)(workbox-build@7.3.0)(workbox-window@7.3.0) vite-plugin-svgr: specifier: 4.2.0 - version: 4.2.0(rollup@2.79.2)(supports-color@9.4.0)(typescript@5.9.3)(vite@5.0.12) + version: 4.2.0(rollup@2.79.2)(supports-color@9.4.0)(typescript@5.9.3)(vite@5.4.21) vitest: specifier: 3.0.7 version: 3.0.7(@types/node@20.17.22)(@vitest/ui@3.0.7)(jsdom@22.1.0)(sass@1.85.1)(supports-color@9.4.0)(terser@5.39.0) @@ -199,7 +199,7 @@ importers: version: 0.1.2 vite-plugin-html: specifier: 3.2.2 - version: 3.2.2(vite@5.0.12) + version: 3.2.2(vite@5.4.21) devDependencies: vite-plugin-compression2: specifier: ^2.5.3 @@ -341,8 +341,8 @@ importers: specifier: 4.6.4 version: 4.6.4 sass: - specifier: 1.51.0 - version: 1.51.0 + specifier: 1.85.1 + version: 1.85.1 tunnel-rat: specifier: 0.1.2 version: 0.1.2(@types/react@19.0.10)(react@19.0.0) @@ -1259,138 +1259,276 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.19.10': resolution: {integrity: sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==} engines: {node: '>=12'} cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.19.10': resolution: {integrity: sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==} engines: {node: '>=12'} cpu: [arm] os: [android] + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.19.10': resolution: {integrity: sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==} engines: {node: '>=12'} cpu: [x64] os: [android] + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.19.10': resolution: {integrity: sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.19.10': resolution: {integrity: sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.19.10': resolution: {integrity: sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.19.10': resolution: {integrity: sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.19.10': resolution: {integrity: sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.19.10': resolution: {integrity: sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==} engines: {node: '>=12'} cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.19.10': resolution: {integrity: sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.19.10': resolution: {integrity: sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.19.10': resolution: {integrity: sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.19.10': resolution: {integrity: sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.19.10': resolution: {integrity: sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.19.10': resolution: {integrity: sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.19.10': resolution: {integrity: sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==} engines: {node: '>=12'} cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-x64@0.19.10': resolution: {integrity: sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-x64@0.19.10': resolution: {integrity: sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.19.10': resolution: {integrity: sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.19.10': resolution: {integrity: sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.19.10': resolution: {integrity: sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.19.10': resolution: {integrity: sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==} engines: {node: '>=12'} cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.1': resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3990,6 +4128,11 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -4545,9 +4688,6 @@ packages: image-blob-reduce@3.0.1: resolution: {integrity: sha512-/VmmWgIryG/wcn4TVrV7cC4mlfUC/oyiKIfSg5eVM3Ten/c1c34RJhMYKCWTnoSMHSqXLt3tsrBR4Q2HInvN+Q==} - immutable@4.3.7: - resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} - immutable@5.0.3: resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==} @@ -5694,11 +5834,6 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.51.0: - resolution: {integrity: sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==} - engines: {node: '>=12.0.0'} - hasBin: true - sass@1.85.1: resolution: {integrity: sha512-Uk8WpxM5v+0cMR0XjX9KfRIacmSG86RH4DCCZjLU2rFh5tyutt9siAXJ7G+YfxQ99Q6wrRMbMlVl6KqUms71ag==} engines: {node: '>=14.0.0'} @@ -6361,6 +6496,37 @@ packages: terser: optional: true + vite@5.4.21: + resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + vitest-canvas-mock@0.3.3: resolution: {integrity: sha512-3P968tYBpqYyzzOaVtqnmYjqbe13576/fkjbDEJSfQAkHtC5/UjuRHOhFEN/ZV5HVZIkaROBUWgazDKJ+Ibw+Q==} peerDependencies: @@ -6843,7 +7009,7 @@ snapshots: '@babel/code-frame@7.26.2': dependencies: - '@babel/helper-validator-identifier': 7.25.9 + '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 @@ -6860,7 +7026,7 @@ snapshots: '@babel/parser': 7.26.9 '@babel/template': 7.26.9 '@babel/traverse': 7.26.9(supports-color@9.4.0) - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 convert-source-map: 2.0.0 debug: 4.4.0(supports-color@9.4.0) gensync: 1.0.0-beta.2 @@ -6880,14 +7046,14 @@ snapshots: '@babel/generator@7.26.9': dependencies: '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 '@babel/helper-compilation-targets@7.26.5': dependencies: @@ -6938,7 +7104,7 @@ snapshots: '@babel/helper-module-imports@7.25.9(supports-color@9.4.0)': dependencies: '@babel/traverse': 7.26.9(supports-color@9.4.0) - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color @@ -6946,7 +7112,7 @@ snapshots: dependencies: '@babel/core': 7.26.9(supports-color@9.4.0) '@babel/helper-module-imports': 7.25.9(supports-color@9.4.0) - '@babel/helper-validator-identifier': 7.25.9 + '@babel/helper-validator-identifier': 7.29.7 '@babel/traverse': 7.26.9(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -7003,7 +7169,7 @@ snapshots: '@babel/helpers@7.26.9': dependencies: '@babel/template': 7.26.9 - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 '@babel/highlight@7.25.9': dependencies: @@ -7014,7 +7180,7 @@ snapshots: '@babel/parser@7.26.9': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.9)(supports-color@9.4.0)': dependencies: @@ -7453,7 +7619,7 @@ snapshots: '@babel/helper-module-imports': 7.25.9(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.9) - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color @@ -7667,7 +7833,7 @@ snapshots: dependencies: '@babel/code-frame': 7.26.2 '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 '@babel/traverse@7.26.9(supports-color@9.4.0)': dependencies: @@ -7675,7 +7841,7 @@ snapshots: '@babel/generator': 7.26.9 '@babel/parser': 7.26.9 '@babel/template': 7.26.9 - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 debug: 4.4.0(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: @@ -7744,72 +7910,141 @@ snapshots: '@esbuild/aix-ppc64@0.19.10': optional: true + '@esbuild/aix-ppc64@0.21.5': + optional: true + '@esbuild/android-arm64@0.19.10': optional: true + '@esbuild/android-arm64@0.21.5': + optional: true + '@esbuild/android-arm@0.19.10': optional: true + '@esbuild/android-arm@0.21.5': + optional: true + '@esbuild/android-x64@0.19.10': optional: true + '@esbuild/android-x64@0.21.5': + optional: true + '@esbuild/darwin-arm64@0.19.10': optional: true + '@esbuild/darwin-arm64@0.21.5': + optional: true + '@esbuild/darwin-x64@0.19.10': optional: true + '@esbuild/darwin-x64@0.21.5': + optional: true + '@esbuild/freebsd-arm64@0.19.10': optional: true + '@esbuild/freebsd-arm64@0.21.5': + optional: true + '@esbuild/freebsd-x64@0.19.10': optional: true + '@esbuild/freebsd-x64@0.21.5': + optional: true + '@esbuild/linux-arm64@0.19.10': optional: true + '@esbuild/linux-arm64@0.21.5': + optional: true + '@esbuild/linux-arm@0.19.10': optional: true + '@esbuild/linux-arm@0.21.5': + optional: true + '@esbuild/linux-ia32@0.19.10': optional: true + '@esbuild/linux-ia32@0.21.5': + optional: true + '@esbuild/linux-loong64@0.19.10': optional: true + '@esbuild/linux-loong64@0.21.5': + optional: true + '@esbuild/linux-mips64el@0.19.10': optional: true + '@esbuild/linux-mips64el@0.21.5': + optional: true + '@esbuild/linux-ppc64@0.19.10': optional: true + '@esbuild/linux-ppc64@0.21.5': + optional: true + '@esbuild/linux-riscv64@0.19.10': optional: true + '@esbuild/linux-riscv64@0.21.5': + optional: true + '@esbuild/linux-s390x@0.19.10': optional: true + '@esbuild/linux-s390x@0.21.5': + optional: true + '@esbuild/linux-x64@0.19.10': optional: true + '@esbuild/linux-x64@0.21.5': + optional: true + '@esbuild/netbsd-x64@0.19.10': optional: true + '@esbuild/netbsd-x64@0.21.5': + optional: true + '@esbuild/openbsd-x64@0.19.10': optional: true + '@esbuild/openbsd-x64@0.21.5': + optional: true + '@esbuild/sunos-x64@0.19.10': optional: true + '@esbuild/sunos-x64@0.21.5': + optional: true + '@esbuild/win32-arm64@0.19.10': optional: true + '@esbuild/win32-arm64@0.21.5': + optional: true + '@esbuild/win32-ia32@0.19.10': optional: true + '@esbuild/win32-ia32@0.21.5': + optional: true + '@esbuild/win32-x64@0.19.10': optional: true + '@esbuild/win32-x64@0.21.5': + optional: true + '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': dependencies: eslint: 8.57.1(supports-color@9.4.0) @@ -9148,19 +9383,19 @@ snapshots: '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 '@types/babel__template@7.4.4': dependencies: '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 + '@babel/types': 7.29.7 '@types/babel__traverse@7.28.0': dependencies: @@ -9447,14 +9682,14 @@ snapshots: '@ungap/structured-clone@1.3.3': {} - '@vitejs/plugin-react@4.3.4(supports-color@9.4.0)(vite@5.0.12)': + '@vitejs/plugin-react@4.3.4(supports-color@9.4.0)(vite@5.4.21)': dependencies: '@babel/core': 7.26.9(supports-color@9.4.0) '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.9) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.9) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.0.12(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) + vite: 5.4.21(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) transitivePeerDependencies: - supports-color @@ -9483,13 +9718,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.7(vite@5.0.12)': + '@vitest/mocker@3.0.7(vite@5.4.21)': dependencies: '@vitest/spy': 3.0.7 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.0.12(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) + vite: 5.4.21(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) '@vitest/pretty-format@3.0.7': dependencies: @@ -10676,6 +10911,32 @@ snapshots: '@esbuild/win32-ia32': 0.19.10 '@esbuild/win32-x64': 0.19.10 + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + escalade@3.2.0: {} escape-string-regexp@1.0.5: {} @@ -10993,7 +11254,7 @@ snapshots: '@sitespeed.io/tracium': 0.3.3(supports-color@9.4.0) commander: 9.5.0 find-chrome-bin: 0.1.0 - nanoid: 3.3.9 + nanoid: 3.3.3 puppeteer-core: 13.7.0(supports-color@9.4.0) transitivePeerDependencies: - bufferutil @@ -11394,8 +11655,6 @@ snapshots: dependencies: pica: 7.1.1 - immutable@4.3.7: {} - immutable@5.0.3: {} import-fresh@3.3.1: @@ -12652,12 +12911,6 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.51.0: - dependencies: - chokidar: 3.6.0 - immutable: 4.3.7 - source-map-js: 1.2.1 - sass@1.85.1: dependencies: chokidar: 4.0.3 @@ -13237,18 +13490,19 @@ snapshots: debug: 4.4.0(supports-color@9.4.0) es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 5.0.12(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) + vite: 5.4.21(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color - terser - vite-plugin-checker@0.7.2(eslint@8.57.1)(optionator@0.9.4)(typescript@5.9.3)(vite@5.0.12): + vite-plugin-checker@0.7.2(eslint@8.57.1)(optionator@0.9.4)(typescript@5.9.3)(vite@5.4.21): dependencies: '@babel/code-frame': 7.26.2 ansi-escapes: 4.3.2 @@ -13260,7 +13514,7 @@ snapshots: npm-run-path: 4.0.1 strip-ansi: 6.0.1 tiny-invariant: 1.3.3 - vite: 5.0.12(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) + vite: 5.4.21(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.12 @@ -13277,12 +13531,12 @@ snapshots: transitivePeerDependencies: - rollup - vite-plugin-ejs@1.7.0(vite@5.0.12): + vite-plugin-ejs@1.7.0(vite@5.4.21): dependencies: ejs: 3.1.10 - vite: 5.0.12(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) + vite: 5.4.21(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) - vite-plugin-html@3.2.2(vite@5.0.12): + vite-plugin-html@3.2.2(vite@5.4.21): dependencies: '@rollup/pluginutils': 4.2.1 colorette: 2.0.20 @@ -13296,14 +13550,14 @@ snapshots: html-minifier-terser: 6.1.0 node-html-parser: 5.4.2 pathe: 0.2.0 - vite: 5.0.12(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) + vite: 5.4.21(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) - vite-plugin-pwa@0.21.1(supports-color@9.4.0)(vite@5.0.12)(workbox-build@7.3.0)(workbox-window@7.3.0): + vite-plugin-pwa@0.21.1(supports-color@9.4.0)(vite@5.4.21)(workbox-build@7.3.0)(workbox-window@7.3.0): dependencies: debug: 4.4.0(supports-color@9.4.0) pretty-bytes: 6.1.1 tinyglobby: 0.2.12 - vite: 5.0.12(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) + vite: 5.4.21(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) workbox-build: 7.3.0(@types/babel__core@7.20.5)(supports-color@9.4.0) workbox-window: 7.3.0 transitivePeerDependencies: @@ -13311,12 +13565,12 @@ snapshots: vite-plugin-sitemap@0.7.1: {} - vite-plugin-svgr@4.2.0(rollup@2.79.2)(supports-color@9.4.0)(typescript@5.9.3)(vite@5.0.12): + vite-plugin-svgr@4.2.0(rollup@2.79.2)(supports-color@9.4.0)(typescript@5.9.3)(vite@5.4.21): dependencies: '@rollup/pluginutils': 5.1.4(rollup@2.79.2) '@svgr/core': 8.1.0(supports-color@9.4.0)(typescript@5.9.3) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0)(supports-color@9.4.0) - vite: 5.0.12(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) + vite: 5.4.21(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) transitivePeerDependencies: - rollup - supports-color @@ -13333,6 +13587,17 @@ snapshots: sass: 1.85.1 terser: 5.39.0 + vite@5.4.21(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.5.3 + rollup: 4.34.9 + optionalDependencies: + '@types/node': 20.17.22 + fsevents: 2.3.3 + sass: 1.85.1 + terser: 5.39.0 + vitest-canvas-mock@0.3.3(vitest@3.0.7): dependencies: jest-canvas-mock: 2.5.2 @@ -13341,7 +13606,7 @@ snapshots: vitest@3.0.7(@types/node@20.17.22)(@vitest/ui@3.0.7)(jsdom@22.1.0)(sass@1.85.1)(supports-color@9.4.0)(terser@5.39.0): dependencies: '@vitest/expect': 3.0.7 - '@vitest/mocker': 3.0.7(vite@5.0.12) + '@vitest/mocker': 3.0.7(vite@5.4.21) '@vitest/pretty-format': 3.0.7 '@vitest/runner': 3.0.7 '@vitest/snapshot': 3.0.7 @@ -13357,7 +13622,7 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.0.12(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) + vite: 5.4.21(@types/node@20.17.22)(sass@1.85.1)(terser@5.39.0) vite-node: 3.0.7(@types/node@20.17.22)(sass@1.85.1)(supports-color@9.4.0)(terser@5.39.0) why-is-node-running: 2.3.0 optionalDependencies: @@ -13369,6 +13634,7 @@ snapshots: - lightningcss - msw - sass + - sass-embedded - stylus - sugarss - supports-color