diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..7b5fb12 --- /dev/null +++ b/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1767767207, + "narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5912c1772a44e31bf1c63c0390b90501e5026886", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..6feaec1 --- /dev/null +++ b/flake.nix @@ -0,0 +1,36 @@ +{ + description = "Node.js development environment with pnpm"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = + { + self, + nixpkgs, + flake-utils, + }: + flake-utils.lib.eachDefaultSystem ( + system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in + { + devShells.default = pkgs.mkShell { + buildInputs = with pkgs; [ + nodejs_24 + nodePackages.pnpm + ]; + + shellHook = '' + echo "Node.js $(node --version)" + echo "pnpm $(pnpm --version)" + echo "" + echo "Development environment ready!" + ''; + }; + } + ); +} \ No newline at end of file diff --git a/package.json b/package.json index 74c0b4e..d988cc8 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "@solidjs/router": "^0.15.4", "@solidjs/start": "1.0.11", "@tailwindcss/forms": "^0.5.11", - "autoprefixer": "^10.4.23", + "@tailwindcss/postcss": "^4.1.18", "clsx": "^2.1.1", "overlayscrollbars": "^2.13.0", "postcss": "^8.5.6", @@ -23,7 +23,7 @@ "remark-gfm": "3.0.0", "solid-js": "^1.9.10", "solid-markdown": "2.0.12", - "tailwindcss": "3.4.17", + "tailwindcss": "4.1.18", "tailwindcss-animated": "^1.1.2", "typescript-event-target": "^1.1.1", "vinxi": "^0.4.3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a11de03..3bc4872 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,13 +25,13 @@ importers: version: 0.15.4(solid-js@1.9.10) '@solidjs/start': specifier: 1.0.11 - version: 1.0.11(solid-js@1.9.10)(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1))(vite@5.4.21(@types/node@22.10.1)(terser@5.44.1)) + version: 1.0.11(solid-js@1.9.10)(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1))(vite@5.4.21(@types/node@22.10.1)(lightningcss@1.30.2)(terser@5.44.1)) '@tailwindcss/forms': specifier: ^0.5.11 - version: 0.5.11(tailwindcss@3.4.17) - autoprefixer: - specifier: ^10.4.23 - version: 10.4.23(postcss@8.5.6) + version: 0.5.11(tailwindcss@4.1.18) + '@tailwindcss/postcss': + specifier: ^4.1.18 + version: 4.1.18 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -54,21 +54,21 @@ importers: specifier: 2.0.12 version: 2.0.12(solid-js@1.9.10) tailwindcss: - specifier: 3.4.17 - version: 3.4.17 + specifier: 4.1.18 + version: 4.1.18 tailwindcss-animated: specifier: ^1.1.2 - version: 1.1.2(tailwindcss@3.4.17) + version: 1.1.2(tailwindcss@4.1.18) typescript-event-target: specifier: ^1.1.1 version: 1.1.1 vinxi: specifier: ^0.4.3 - version: 0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1) + version: 0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1) devDependencies: '@tailwindcss/typography': specifier: ^0.5.19 - version: 0.5.19(tailwindcss@3.4.17) + version: 0.5.19(tailwindcss@4.1.18) prettier: specifier: ^3.7.4 version: 3.7.4 @@ -1015,6 +1015,94 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1' + '@tailwindcss/node@4.1.18': + resolution: {integrity: sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==} + + '@tailwindcss/oxide-android-arm64@4.1.18': + resolution: {integrity: sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.1.18': + resolution: {integrity: sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.1.18': + resolution: {integrity: sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.1.18': + resolution: {integrity: sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': + resolution: {integrity: sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': + resolution: {integrity: sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.1.18': + resolution: {integrity: sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.1.18': + resolution: {integrity: sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.18': + resolution: {integrity: sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.1.18': + resolution: {integrity: sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': + resolution: {integrity: sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.18': + resolution: {integrity: sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.18': + resolution: {integrity: sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==} + engines: {node: '>= 10'} + + '@tailwindcss/postcss@4.1.18': + resolution: {integrity: sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==} + '@tailwindcss/typography@0.5.19': resolution: {integrity: sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==} peerDependencies: @@ -1141,9 +1229,6 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -1156,9 +1241,6 @@ packages: resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} engines: {node: '>= 14'} - arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} @@ -1173,13 +1255,6 @@ packages: async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - autoprefixer@10.4.23: - resolution: {integrity: sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - b4a@1.7.3: resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} peerDependencies: @@ -1264,10 +1339,6 @@ packages: magicast: optional: true - camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} - camelcase@7.0.1: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} @@ -1337,10 +1408,6 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} @@ -1494,16 +1561,10 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - diff@5.2.0: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} - dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dot-prop@10.1.0: resolution: {integrity: sha512-MVUtAugQMOff5RnBy2d9N31iG0lNwg1qAoAOn7pOK5wf94WIaE3My2p3uwTQuvS2AcqchkcR3bHByjaM0mmi7Q==} engines: {node: '>=20'} @@ -1534,6 +1595,10 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} + enhanced-resolve@5.18.4: + resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} + engines: {node: '>=10.13.0'} + entities@6.0.1: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} @@ -1651,9 +1716,6 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - fraction.js@5.3.4: - resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} - fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} @@ -1693,10 +1755,6 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - glob@10.5.0: resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} hasBin: true @@ -1903,12 +1961,75 @@ packages: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} + lightningcss-android-arm64@1.30.2: + resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.30.2: + resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lightningcss-darwin-x64@1.30.2: + resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.2: + resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.2: + resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.2: + resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.30.2: + resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.30.2: + resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.30.2: + resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.30.2: + resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.2: + resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.2: + resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} + engines: {node: '>= 12.0.0'} listhen@1.9.0: resolution: {integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==} @@ -2146,9 +2267,6 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2211,14 +2329,6 @@ packages: engines: {node: ^14.16.0 || >=16.10.0} hasBin: true - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - ofetch@1.5.1: resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} @@ -2295,61 +2405,16 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} - pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - - pirates@4.0.7: - resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} - engines: {node: '>= 6'} - pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} pkg-types@2.3.0: resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} - postcss-import@15.1.0: - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 - - postcss-js@4.1.0: - resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 - - postcss-load-config@4.0.2: - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - - postcss-nested@6.2.0: - resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - postcss-selector-parser@6.0.10: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} - - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} @@ -2395,9 +2460,6 @@ packages: rc9@2.1.2: resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} - read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -2665,11 +2727,6 @@ packages: style-to-object@0.3.0: resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} - sucrase@3.35.1: - resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - supports-color@10.2.2: resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} engines: {node: '>=18'} @@ -2691,10 +2748,12 @@ packages: peerDependencies: tailwindcss: '>=3.1.0' - tailwindcss@3.4.17: - resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} - engines: {node: '>=14.0.0'} - hasBin: true + tailwindcss@4.1.18: + resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==} + + tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} + engines: {node: '>=6'} tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} @@ -2717,13 +2776,6 @@ packages: text-decoder@1.2.3: resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} - thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - - thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -2752,9 +2804,6 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -3021,11 +3070,6 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} - yaml@2.6.1: - resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} - engines: {node: '>= 14'} - hasBin: true - yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -3723,11 +3767,11 @@ snapshots: dependencies: solid-js: 1.9.10 - '@solidjs/start@1.0.11(solid-js@1.9.10)(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1))(vite@5.4.21(@types/node@22.10.1)(terser@5.44.1))': + '@solidjs/start@1.0.11(solid-js@1.9.10)(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1))(vite@5.4.21(@types/node@22.10.1)(lightningcss@1.30.2)(terser@5.44.1))': dependencies: - '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1)) - '@vinxi/server-components': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1)) - '@vinxi/server-functions': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1)) + '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1)) + '@vinxi/server-components': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1)) + '@vinxi/server-functions': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1)) defu: 6.1.4 error-stack-parser: 2.1.4 html-to-image: 1.11.13 @@ -3738,7 +3782,7 @@ snapshots: source-map-js: 1.2.1 terracotta: 1.0.6(solid-js@1.9.10) tinyglobby: 0.2.15 - vite-plugin-solid: 2.11.10(solid-js@1.9.10)(vite@5.4.21(@types/node@22.10.1)(terser@5.44.1)) + vite-plugin-solid: 2.11.10(solid-js@1.9.10)(vite@5.4.21(@types/node@22.10.1)(lightningcss@1.30.2)(terser@5.44.1)) transitivePeerDependencies: - '@testing-library/jest-dom' - solid-js @@ -3748,15 +3792,84 @@ snapshots: '@speed-highlight/core@1.2.12': {} - '@tailwindcss/forms@0.5.11(tailwindcss@3.4.17)': + '@tailwindcss/forms@0.5.11(tailwindcss@4.1.18)': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.17 + tailwindcss: 4.1.18 - '@tailwindcss/typography@0.5.19(tailwindcss@3.4.17)': + '@tailwindcss/node@4.1.18': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.18.4 + jiti: 2.6.1 + lightningcss: 1.30.2 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.1.18 + + '@tailwindcss/oxide-android-arm64@4.1.18': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.1.18': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.1.18': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.1.18': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.1.18': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.1.18': + optional: true + + '@tailwindcss/oxide@4.1.18': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.18 + '@tailwindcss/oxide-darwin-arm64': 4.1.18 + '@tailwindcss/oxide-darwin-x64': 4.1.18 + '@tailwindcss/oxide-freebsd-x64': 4.1.18 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.18 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.18 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.18 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.18 + '@tailwindcss/oxide-linux-x64-musl': 4.1.18 + '@tailwindcss/oxide-wasm32-wasi': 4.1.18 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 + + '@tailwindcss/postcss@4.1.18': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.1.18 + '@tailwindcss/oxide': 4.1.18 + postcss: 8.5.6 + tailwindcss: 4.1.18 + + '@tailwindcss/typography@0.5.19(tailwindcss@4.1.18)': dependencies: postcss-selector-parser: 6.0.10 - tailwindcss: 3.4.17 + tailwindcss: 4.1.18 '@types/babel__core@7.20.5': dependencies: @@ -3851,7 +3964,7 @@ snapshots: transitivePeerDependencies: - uWebSockets.js - '@vinxi/plugin-directives@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1))': + '@vinxi/plugin-directives@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1))': dependencies: '@babel/parser': 7.28.5 acorn: 8.15.0 @@ -3862,29 +3975,29 @@ snapshots: magicast: 0.2.11 recast: 0.23.11 tslib: 2.8.1 - vinxi: 0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1) + vinxi: 0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1) - '@vinxi/server-components@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1))': + '@vinxi/server-components@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1))': dependencies: - '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1)) + '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1)) acorn: 8.15.0 acorn-loose: 8.5.2 acorn-typescript: 1.4.13(acorn@8.15.0) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.11 - vinxi: 0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1) + vinxi: 0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1) - '@vinxi/server-functions@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1))': + '@vinxi/server-functions@0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1))': dependencies: - '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1)) + '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1)) acorn: 8.15.0 acorn-loose: 8.5.2 acorn-typescript: 1.4.13(acorn@8.15.0) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.11 - vinxi: 0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1) + vinxi: 0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1) abbrev@3.0.1: {} @@ -3926,8 +4039,6 @@ snapshots: ansi-styles@6.2.3: {} - any-promise@1.3.0: {} - anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -3956,8 +4067,6 @@ snapshots: - bare-abort-controller - react-native-b4a - arg@5.0.2: {} - ast-types@0.16.1: dependencies: tslib: 2.8.1 @@ -3968,15 +4077,6 @@ snapshots: async@3.2.6: {} - autoprefixer@10.4.23(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001761 - fraction.js: 5.3.4 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - b4a@1.7.3: {} babel-plugin-jsx-dom-expressions@0.40.3(@babel/core@7.28.5): @@ -4064,8 +4164,6 @@ snapshots: optionalDependencies: magicast: 0.5.1 - camelcase-css@2.0.1: {} - camelcase@7.0.1: {} caniuse-lite@1.0.30001761: {} @@ -4130,8 +4228,6 @@ snapshots: commander@2.20.3: {} - commander@4.1.1: {} - commondir@1.0.1: {} compatx@0.2.0: {} @@ -4222,12 +4318,8 @@ snapshots: detect-libc@2.1.2: {} - didyoumean@1.2.2: {} - diff@5.2.0: {} - dlv@1.1.3: {} - dot-prop@10.1.0: dependencies: type-fest: 5.3.1 @@ -4248,6 +4340,11 @@ snapshots: encodeurl@2.0.0: {} + enhanced-resolve@5.18.4: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.0 + entities@6.0.1: {} error-stack-parser-es@1.0.5: {} @@ -4414,8 +4511,6 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fraction.js@5.3.4: {} - fresh@0.5.2: {} fresh@2.0.0: {} @@ -4446,10 +4541,6 @@ snapshots: dependencies: is-glob: 4.0.3 - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - glob@10.5.0: dependencies: foreground-child: 3.3.1 @@ -4652,9 +4743,54 @@ snapshots: dependencies: readable-stream: 2.3.8 - lilconfig@3.1.3: {} + lightningcss-android-arm64@1.30.2: + optional: true + + lightningcss-darwin-arm64@1.30.2: + optional: true + + lightningcss-darwin-x64@1.30.2: + optional: true + + lightningcss-freebsd-x64@1.30.2: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.2: + optional: true + + lightningcss-linux-arm64-gnu@1.30.2: + optional: true + + lightningcss-linux-arm64-musl@1.30.2: + optional: true + + lightningcss-linux-x64-gnu@1.30.2: + optional: true + + lightningcss-linux-x64-musl@1.30.2: + optional: true + + lightningcss-win32-arm64-msvc@1.30.2: + optional: true + + lightningcss-win32-x64-msvc@1.30.2: + optional: true - lines-and-columns@1.2.4: {} + lightningcss@1.30.2: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.30.2 + lightningcss-darwin-arm64: 1.30.2 + lightningcss-darwin-x64: 1.30.2 + lightningcss-freebsd-x64: 1.30.2 + lightningcss-linux-arm-gnueabihf: 1.30.2 + lightningcss-linux-arm64-gnu: 1.30.2 + lightningcss-linux-arm64-musl: 1.30.2 + lightningcss-linux-x64-gnu: 1.30.2 + lightningcss-linux-x64-musl: 1.30.2 + lightningcss-win32-arm64-msvc: 1.30.2 + lightningcss-win32-x64-msvc: 1.30.2 listhen@1.9.0: dependencies: @@ -5067,12 +5203,6 @@ snapshots: ms@2.1.3: {} - mz@2.7.0: - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - nanoid@3.3.11: {} nitropack@2.12.9: @@ -5211,10 +5341,6 @@ snapshots: pkg-types: 2.3.0 tinyexec: 1.0.2 - object-assign@4.1.1: {} - - object-hash@3.0.0: {} - ofetch@1.5.1: dependencies: destr: 2.0.5 @@ -5276,10 +5402,6 @@ snapshots: picomatch@4.0.3: {} - pify@2.3.0: {} - - pirates@4.0.7: {} - pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -5292,42 +5414,11 @@ snapshots: exsolve: 1.0.8 pathe: 2.0.3 - postcss-import@15.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.11 - - postcss-js@4.1.0(postcss@8.5.6): - dependencies: - camelcase-css: 2.0.1 - postcss: 8.5.6 - - postcss-load-config@4.0.2(postcss@8.5.6): - dependencies: - lilconfig: 3.1.3 - yaml: 2.6.1 - optionalDependencies: - postcss: 8.5.6 - - postcss-nested@6.2.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - postcss-selector-parser@6.0.10: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-selector-parser@6.1.2: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - postcss-value-parser@4.2.0: {} - postcss@8.5.6: dependencies: nanoid: 3.3.11 @@ -5363,10 +5454,6 @@ snapshots: defu: 6.1.4 destr: 2.0.5 - read-cache@1.0.0: - dependencies: - pify: 2.3.0 - readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -5708,16 +5795,6 @@ snapshots: dependencies: inline-style-parser: 0.1.1 - sucrase@3.35.1: - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - commander: 4.1.1 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.7 - tinyglobby: 0.2.15 - ts-interface-checker: 0.1.13 - supports-color@10.2.2: {} supports-preserve-symlinks-flag@1.0.0: {} @@ -5726,36 +5803,13 @@ snapshots: tagged-tag@1.0.0: {} - tailwindcss-animated@1.1.2(tailwindcss@3.4.17): + tailwindcss-animated@1.1.2(tailwindcss@4.1.18): dependencies: - tailwindcss: 3.4.17 + tailwindcss: 4.1.18 - tailwindcss@3.4.17: - dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.6.0 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.3 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.7 - lilconfig: 3.1.3 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-import: 15.1.0(postcss@8.5.6) - postcss-js: 4.1.0(postcss@8.5.6) - postcss-load-config: 4.0.2(postcss@8.5.6) - postcss-nested: 6.2.0(postcss@8.5.6) - postcss-selector-parser: 6.1.2 - resolve: 1.22.11 - sucrase: 3.35.1 - transitivePeerDependencies: - - ts-node + tailwindcss@4.1.18: {} + + tapable@2.3.0: {} tar-stream@3.1.7: dependencies: @@ -5792,14 +5846,6 @@ snapshots: transitivePeerDependencies: - react-native-b4a - thenify-all@1.6.0: - dependencies: - thenify: 3.3.1 - - thenify@3.3.1: - dependencies: - any-promise: 1.3.0 - tiny-invariant@1.3.3: {} tinyexec@1.0.2: {} @@ -5821,8 +5867,6 @@ snapshots: trough@2.2.0: {} - ts-interface-checker@0.1.13: {} - tslib@2.8.1: {} type-fest@2.19.0: {} @@ -5995,7 +6039,7 @@ snapshots: unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 - vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(terser@5.44.1): + vinxi@0.4.3(@types/node@22.10.1)(db0@0.3.4)(ioredis@5.8.2)(lightningcss@1.30.2)(terser@5.44.1): dependencies: '@babel/core': 7.28.5 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) @@ -6029,7 +6073,7 @@ snapshots: unctx: 2.5.0 unenv: 1.10.0 unstorage: 1.17.3(db0@0.3.4)(ioredis@5.8.2) - vite: 5.4.21(@types/node@22.10.1)(terser@5.44.1) + vite: 5.4.21(@types/node@22.10.1)(lightningcss@1.30.2)(terser@5.44.1) zod: 3.25.76 transitivePeerDependencies: - '@azure/app-configuration' @@ -6074,7 +6118,7 @@ snapshots: - uploadthing - xml2js - vite-plugin-solid@2.11.10(solid-js@1.9.10)(vite@5.4.21(@types/node@22.10.1)(terser@5.44.1)): + vite-plugin-solid@2.11.10(solid-js@1.9.10)(vite@5.4.21(@types/node@22.10.1)(lightningcss@1.30.2)(terser@5.44.1)): dependencies: '@babel/core': 7.28.5 '@types/babel__core': 7.20.5 @@ -6082,12 +6126,12 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.10 solid-refresh: 0.6.3(solid-js@1.9.10) - vite: 5.4.21(@types/node@22.10.1)(terser@5.44.1) - vitefu: 1.1.1(vite@5.4.21(@types/node@22.10.1)(terser@5.44.1)) + vite: 5.4.21(@types/node@22.10.1)(lightningcss@1.30.2)(terser@5.44.1) + vitefu: 1.1.1(vite@5.4.21(@types/node@22.10.1)(lightningcss@1.30.2)(terser@5.44.1)) transitivePeerDependencies: - supports-color - vite@5.4.21(@types/node@22.10.1)(terser@5.44.1): + vite@5.4.21(@types/node@22.10.1)(lightningcss@1.30.2)(terser@5.44.1): dependencies: esbuild: 0.21.5 postcss: 8.5.6 @@ -6095,11 +6139,12 @@ snapshots: optionalDependencies: '@types/node': 22.10.1 fsevents: 2.3.3 + lightningcss: 1.30.2 terser: 5.44.1 - vitefu@1.1.1(vite@5.4.21(@types/node@22.10.1)(terser@5.44.1)): + vitefu@1.1.1(vite@5.4.21(@types/node@22.10.1)(lightningcss@1.30.2)(terser@5.44.1)): optionalDependencies: - vite: 5.4.21(@types/node@22.10.1)(terser@5.44.1) + vite: 5.4.21(@types/node@22.10.1)(lightningcss@1.30.2)(terser@5.44.1) webidl-conversions@3.0.1: {} @@ -6140,8 +6185,6 @@ snapshots: yallist@5.0.0: {} - yaml@2.6.1: {} - yargs-parser@21.1.1: {} yargs@17.7.2: diff --git a/postcss.config.cjs b/postcss.config.cjs index 12a703d..e564072 100644 --- a/postcss.config.cjs +++ b/postcss.config.cjs @@ -1,6 +1,5 @@ module.exports = { plugins: { - tailwindcss: {}, - autoprefixer: {}, + '@tailwindcss/postcss': {}, }, }; diff --git a/public/images/SlimePCB.webp b/public/images/SlimePCB.webp deleted file mode 100644 index e205887..0000000 Binary files a/public/images/SlimePCB.webp and /dev/null differ diff --git a/public/images/SlimePCB2.webp b/public/images/SlimePCB2.webp deleted file mode 100644 index fe682c2..0000000 Binary files a/public/images/SlimePCB2.webp and /dev/null differ diff --git a/public/images/SlimePCB3.webp b/public/images/SlimePCB3.webp deleted file mode 100644 index 202da64..0000000 Binary files a/public/images/SlimePCB3.webp and /dev/null differ diff --git a/public/images/Slime_extended_ver.webp b/public/images/Slime_extended_ver.webp deleted file mode 100644 index 41a6993..0000000 Binary files a/public/images/Slime_extended_ver.webp and /dev/null differ diff --git a/public/images/butterfly1.webp b/public/images/butterfly1.webp new file mode 100644 index 0000000..48e493e Binary files /dev/null and b/public/images/butterfly1.webp differ diff --git a/public/images/butterfly_dock.webp b/public/images/butterfly_dock.webp new file mode 100644 index 0000000..7536389 Binary files /dev/null and b/public/images/butterfly_dock.webp differ diff --git a/public/images/butterfly_tracker.webp b/public/images/butterfly_tracker.webp new file mode 100644 index 0000000..5803272 Binary files /dev/null and b/public/images/butterfly_tracker.webp differ diff --git a/public/images/curious-slime.gif b/public/images/curious-slime.gif deleted file mode 100644 index a5969c0..0000000 Binary files a/public/images/curious-slime.gif and /dev/null differ diff --git a/public/images/floating_nighty.webp b/public/images/floating_nighty.webp deleted file mode 100644 index 3c14897..0000000 Binary files a/public/images/floating_nighty.webp and /dev/null differ diff --git a/public/images/front-standing-pose.webp b/public/images/front-standing-pose.webp deleted file mode 100644 index a29db30..0000000 Binary files a/public/images/front-standing-pose.webp and /dev/null differ diff --git a/public/images/happy-slime.gif b/public/images/happy-slime.gif deleted file mode 100644 index 569ad70..0000000 Binary files a/public/images/happy-slime.gif and /dev/null differ diff --git a/public/images/jumping-slime.gif b/public/images/jumping-slime.gif deleted file mode 100644 index 6c4f363..0000000 Binary files a/public/images/jumping-slime.gif and /dev/null differ diff --git a/public/images/nighty-side.webp b/public/images/nighty-side.webp deleted file mode 100644 index 8417650..0000000 Binary files a/public/images/nighty-side.webp and /dev/null differ diff --git a/public/images/nighty-vr.webp b/public/images/nighty-vr.webp deleted file mode 100644 index f6a2c89..0000000 Binary files a/public/images/nighty-vr.webp and /dev/null differ diff --git a/public/images/nighty_floating.webp b/public/images/nighty_floating.webp new file mode 100644 index 0000000..cfe908f Binary files /dev/null and b/public/images/nighty_floating.webp differ diff --git a/public/images/og_slime.webp b/public/images/og_slime.webp new file mode 100644 index 0000000..fc71bcb Binary files /dev/null and b/public/images/og_slime.webp differ diff --git a/public/images/poster.webp b/public/images/poster.webp deleted file mode 100644 index ae87d39..0000000 Binary files a/public/images/poster.webp and /dev/null differ diff --git a/public/images/purple_glow.webp b/public/images/purple_glow.webp new file mode 100644 index 0000000..ec84c62 Binary files /dev/null and b/public/images/purple_glow.webp differ diff --git a/public/images/sad-slime.gif b/public/images/sad-slime.gif deleted file mode 100644 index bc3059c..0000000 Binary files a/public/images/sad-slime.gif and /dev/null differ diff --git a/public/images/slime-girl.webp b/public/images/slime-girl.webp deleted file mode 100644 index f50584a..0000000 Binary files a/public/images/slime-girl.webp and /dev/null differ diff --git a/public/images/slime.svg b/public/images/slime.svg deleted file mode 100644 index a0135d2..0000000 --- a/public/images/slime.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/images/slimes-box.webp b/public/images/slimes-box.webp deleted file mode 100644 index 9b02e09..0000000 Binary files a/public/images/slimes-box.webp and /dev/null differ diff --git a/public/images/slimes-vr.webp b/public/images/slimes-vr.webp deleted file mode 100644 index 181c761..0000000 Binary files a/public/images/slimes-vr.webp and /dev/null differ diff --git a/public/images/stars.webp b/public/images/stars.webp new file mode 100644 index 0000000..fa071e8 Binary files /dev/null and b/public/images/stars.webp differ diff --git a/public/images/tiles.webp b/public/images/tiles.webp deleted file mode 100644 index a803b46..0000000 Binary files a/public/images/tiles.webp and /dev/null differ diff --git a/public/images/tracker.webp b/public/images/tracker.webp deleted file mode 100644 index 9db9842..0000000 Binary files a/public/images/tracker.webp and /dev/null differ diff --git a/public/images/tracker_card_border.webp b/public/images/tracker_card_border.webp new file mode 100644 index 0000000..c2311aa Binary files /dev/null and b/public/images/tracker_card_border.webp differ diff --git a/public/images/trackers.webp b/public/images/trackers.webp deleted file mode 100644 index 80a8834..0000000 Binary files a/public/images/trackers.webp and /dev/null differ diff --git a/src/app.css b/src/app.css index 301b4da..416ae19 100644 --- a/src/app.css +++ b/src/app.css @@ -1,42 +1,147 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; +@import 'tailwindcss'; +@plugin "@tailwindcss/typography"; :root { - --background-10: 255, 255, 255; - --background-20: 120, 164, 198; - --background-30: 96, 138, 171; - --background-40: 61, 99, 129; - --background-50: 26, 61, 89; - --background-60: 17, 45, 67; - --background-70: 8, 30, 48; - --background-80: 0, 16, 28; - --background-90: 0, 5, 9; - - --accent-background-10: 187, 138, 229; - --accent-background-20: 157, 92, 212; - --accent-background-30: 101, 69, 154; - --accent-background-40: 98, 59, 131; - --accent-background-50: 46, 33, 69; - --accent-background-60: 30, 35, 60; - - --success: 80, 232, 151; - --warning: 216, 205, 55; - --critical: 223, 109, 140; - --special: 164, 79, 237; - --window-icon-stroke: 192, 161, 216; - - --default-color: 255, 255, 255; - - /* Default font size */ - --font-size: 190pt; --font-size-standard: var(--font-size); /* 30% bigger */ --font-size-section-title: calc(var(--font-size) * 1.3); /* 100.08% bigger */ --font-size-title: calc(var(--font-size) * 2.2); +} + +@theme { + --default-font-family: "Poppins"; + + --color-background-10: rgb(255, 255, 255); + --color-background-20: rgb(120, 164, 198); + --color-background-30: rgb(96, 138, 171); + --color-background-40: rgb(61, 99, 129); + --color-background-50: rgb(26, 61, 89); + --color-background-60: rgb(17, 45, 67); + --color-background-70: rgb(8, 30, 48); + --color-background-80: rgb(0, 16, 28); + --color-background-90: rgb(0, 5, 9); + + --color-accent-background-10: rgb(187, 138, 229); + --color-accent-background-20: rgb(157, 92, 212); + --color-accent-background-30: rgb(101, 69, 154); + --color-accent-background-40: rgb(98, 59, 131); + --color-accent-background-50: rgb(46, 33, 69); + --color-accent-background-60: rgb(30, 35, 60); + --color-accent-background-25: rgb(234, 0, 255, 0.4); + + --color-status-success: rgb(80, 232, 151); + --color-status-warning: rgb(216, 205, 55); + --color-status-critical: rgb(223, 109, 140); + --color-status-special: rgb(164, 79, 237); + + --color-window-icon-stroke: rgb(192, 161, 216); + + --breakpoint-sm: 640px; + --breakpoint-md: 932px; + --breakpoint-lg: 1024px; + --breakpoint-mid: 1180px; + --breakpoint-2xl: 1836px; + + --animate-explode: explode 6s ease-out; + @keyframes explode { + 0% { + transform-origin: -100% 50%; + transform: scale(0); + rotate: 0deg; + opacity: 1; + } + 70% { + transform: scale(100%); + } + 100% { + transform: scale(100%); + rotate: 360deg; + opacity: 0; + } + } + + --animate-floating: floating 12s cubic-bezier(0.64, 0.57, 0.67, 1.53) infinite; + @keyframes floating { + 0% { + transform: translateY(0%); + } + 50% { + transform: translateY(3%); + } + 100% { + transform: translateY(0%); + } + } + + --animate-rotated: rotated 6s ease-in-out infinite; + @keyframes rotated { + 0% { + rotate: 0deg; + } + 50% { + rotate: 3deg; + } + 100% { + rotate: 0deg; + } + } + + --animate-nighty: nighty 12s cubic-bezier(0.64, 0.57, 0.67, 1.53) infinite; + @keyframes nighty { + 0% { + rotate: 1.5deg; + transform: translateY(0%); + } + 50% { + rotate: 0deg; + transform: translateY(3%); + } + 100% { + rotate: 1.5deg; + transform: translateY(0%); + } + } + + --animate-stars: stars 2s ease-in-out infinite; + @keyframes stars { + 0%, 100% { + opacity: 1; + } + 50% { + opacity: 0.5; + } + } + + --animate-stars2: stars2 2s ease-in-out infinite; + @keyframes stars2 { + 0%, 100% { + opacity: 0.5; + } + 50% { + opacity: 1; + } + } +} + +@utility text-main-title { + font-size: 2.7rem; + font-weight: 700; +} + +@utility text-section-title { + font-size: 1.5rem; + font-weight: 700; +} + +@utility text-standard { + font-size: 1rem; + font-weight: 500; +} - --font-name: "Poppins"; +@utility text-standard-bold { + font-size: 1rem; + font-weight: 700; } /* hide default scrollbars to prevent shifting (replaced by OverlayScrollbars) */ @@ -50,11 +155,8 @@ html::-webkit-scrollbar { } body { - background-color: theme("colors.accent-background.60"); - font-variant-numeric: tabular-nums; - font-family: var(--font-name), "Noto Sans CJK", sans-serif, - "Twemoji Chromium", emoji; - color: theme("colors.background.10"); + background-color: var(--color-accent-background-60); + color: var(--color-background-10); } a.link { @@ -62,7 +164,7 @@ a.link { } .pattern { - background-color: theme("colors.background.70"); + background-color: var(--color-background-70); background: url("/images/Pattern.webp") repeat; } diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index af90e1b..f42ae1a 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -34,14 +34,19 @@ "hero": { "description": "An affordable, comfortable, wireless, 360° solution for full-body tracking in virtual reality", "price": "From $219", + "price-butterfly": "From $279", "order-btn": "Order on", + "preorder-btn": "Pre-order on", + "join-btn": "Join campaign at", + "butterfly-slime": "Butterfly Trackers", + "og-slime": "SlimeVR V1.2", "download-server": { "title": "Download the server", "desc": "Available on all platforms!" }, "join-discord": { "title": "Join our Discord", - "desc": "With 50.000 members" + "desc": "With 70.000 members" } }, "video-section": "Reviews and Demos", @@ -200,5 +205,11 @@ }, "privacy": { "title": "Privacy Policy" + }, + "butterfly": { + "title": "Butterfly Trackers" + }, + "ogslime": { + "title": "SlimeVR V1.2 Trackers" } } diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 5cf3ea3..c2b76e5 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -7,8 +7,8 @@ export const Footer: Component = (props) => { const navigate = useNavigate(); return (