diff --git a/package.json b/package.json index 89baeec..b7719e4 100644 --- a/package.json +++ b/package.json @@ -107,9 +107,9 @@ "@trpc/client": "11.18.0", "@trpc/react-query": "11.18.0", "@trpc/server": "11.18.0", - "@tsparticles/engine": "3.9.1", - "@tsparticles/react": "3.0.0", - "@tsparticles/slim": "3.9.1", + "@tsparticles/engine": "4.4.0", + "@tsparticles/react": "4.4.0", + "@tsparticles/slim": "4.4.0", "@uidotdev/usehooks": "2.4.1", "@vercel/analytics": "1.6.1", "@vercel/speed-insights": "^1.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 40fdf78..4863fdb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -176,14 +176,14 @@ importers: specifier: 11.18.0 version: 11.18.0(typescript@5.9.3) '@tsparticles/engine': - specifier: 3.9.1 - version: 3.9.1 + specifier: 4.4.0 + version: 4.4.0 '@tsparticles/react': - specifier: 3.0.0 - version: 3.0.0(@tsparticles/engine@3.9.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: 4.4.0 + version: 4.4.0(@tsparticles/engine@4.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tsparticles/slim': - specifier: 3.9.1 - version: 3.9.1 + specifier: 4.4.0 + version: 4.4.0 '@uidotdev/usehooks': specifier: 2.4.1 version: 2.4.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -3566,156 +3566,221 @@ packages: peerDependencies: typescript: '>=5.7.2' - '@tsparticles/basic@3.9.1': - resolution: {integrity: sha512-ijr2dHMx0IQHqhKW3qA8tfwrR2XYbbWYdaJMQuBo2CkwBVIhZ76U+H20Y492j/NXpd1FUnt2aC0l4CEVGVGdeQ==} - deprecated: Please update to version 4.1.1 + '@tsparticles/animation-utils@4.4.0': + resolution: {integrity: sha512-yl4iE9SSuJ2n8B096t/vn4bWN+wWIkDm11OfTsIM3/64bJLB/5T92n6iOm/XLC3r6g8M8XuDi6ntTnpOcwsGxg==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/engine@3.9.1': - resolution: {integrity: sha512-DpdgAhWMZ3Eh2gyxik8FXS6BKZ8vyea+Eu5BC4epsahqTGY9V3JGGJcXC6lRJx6cPMAx1A0FaQAojPF3v6rkmQ==} - deprecated: Please update to version 4.1.1 + '@tsparticles/basic@4.4.0': + resolution: {integrity: sha512-lTbKBPzab0alPy+4Wm/xehrVpT1FrpEMaQcTU2eTV0c0G++5/kOINEWkC7GL7/cHovycukxB+tOMYVT54bSprA==} - '@tsparticles/interaction-external-attract@3.9.1': - resolution: {integrity: sha512-5AJGmhzM9o4AVFV24WH5vSqMBzOXEOzIdGLIr+QJf4fRh9ZK62snsusv/ozKgs2KteRYQx+L7c5V3TqcDy2upg==} - deprecated: Please update to version 4.1.1 + '@tsparticles/canvas-utils@4.4.0': + resolution: {integrity: sha512-3zVr95OZ05BExgVYNT8WPqA/wFp83TiEJo66rZCZ/nZd1Ny8UCYLMKBcbUPBvGS2GB87UMK8+ygleZnlFhGTtw==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/interaction-external-bounce@3.9.1': - resolution: {integrity: sha512-bv05+h70UIHOTWeTsTI1AeAmX6R3s8nnY74Ea6p6AbQjERzPYIa0XY19nq/hA7+Nrg+EissP5zgoYYeSphr85A==} - deprecated: Please update to version 4.1.1 + '@tsparticles/engine@4.4.0': + resolution: {integrity: sha512-zUDykZ7qBqHYMXr6NveXg51kBlvfaQKMmWkMJ8nT7fC4dXdNayb1+TxOfAoqH9/U/u0Eyr0YE+72ai/ymS0uww==} - '@tsparticles/interaction-external-bubble@3.9.1': - resolution: {integrity: sha512-tbd8ox/1GPl+zr+KyHQVV1bW88GE7OM6i4zql801YIlCDrl9wgTDdDFGIy9X7/cwTvTrCePhrfvdkUamXIribQ==} - deprecated: Please update to version 4.1.1 + '@tsparticles/interaction-external-attract@4.4.0': + resolution: {integrity: sha512-Y7m4M//SC8J/u0mOcNPpA+qDmImeV5O4axqxah3RdbB0NR5IYmyq6y3ipQGCsDiKPjyyin6R2INT+EY/y75r1A==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/interaction-external-connect@3.9.1': - resolution: {integrity: sha512-sq8YfUNsIORjXHzzW7/AJQtfi/qDqLnYG2qOSE1WOsog39MD30RzmiOloejOkfNeUdcGUcfsDgpUuL3UhzFUOA==} - deprecated: Please update to version 4.1.1 + '@tsparticles/interaction-external-bounce@4.4.0': + resolution: {integrity: sha512-A6FyWC3kyvKFLFSGgPMFVMVTEO9hHrB6lDLO+J0AxvyyYYTbgsu+brY7Yt3kuxEtdZaGmsMtGGfV0Iwe66KspA==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/interaction-external-grab@3.9.1': - resolution: {integrity: sha512-QwXza+sMMWDaMiFxd8y2tJwUK6c+nNw554+/9+tEZeTTk2fCbB0IJ7p/TH6ZGWDL0vo2muK54Njv2fEey191ow==} - deprecated: Please update to version 4.1.1 + '@tsparticles/interaction-external-bubble@4.4.0': + resolution: {integrity: sha512-/IsCu7uWC4oxRbO0WNd1OTlDEUrSjK1T+qARfxmkh+xYxevS8Zc55+rYqk7TXOjPgYVfFiC8wA6+yigYthHCpg==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/interaction-external-pause@3.9.1': - resolution: {integrity: sha512-Gzv4/FeNir0U/tVM9zQCqV1k+IAgaFjDU3T30M1AeAsNGh/rCITV2wnT7TOGFkbcla27m4Yxa+Fuab8+8pzm+g==} - deprecated: Please update to version 4.1.1 + '@tsparticles/interaction-external-connect@4.4.0': + resolution: {integrity: sha512-yPS/XBFWOGKUYo9NTFgcvUKEFg7A0NavTsLPfMLff0BVS5r5ocAvI1UMxCErOSyQPNDb4oAceh9SqldbBI0ELA==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/interaction-external-push@3.9.1': - resolution: {integrity: sha512-GvnWF9Qy4YkZdx+WJL2iy9IcgLvzOIu3K7aLYJFsQPaxT8d9TF8WlpoMlWKnJID6H5q4JqQuMRKRyWH8aAKyQw==} - deprecated: Please update to version 4.1.1 + '@tsparticles/interaction-external-destroy@4.4.0': + resolution: {integrity: sha512-WqTYJnn0FaF5fF91C49KWlLgmyfgW4a1jMd7FXvBAnrY6XYu4UIOZXNi8R3MUvdYMG1ghQGNOkH+JcD63Dvysw==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/interaction-external-remove@3.9.1': - resolution: {integrity: sha512-yPThm4UDWejDOWW5Qc8KnnS2EfSo5VFcJUQDWc1+Wcj17xe7vdSoiwwOORM0PmNBzdDpSKQrte/gUnoqaUMwOA==} - deprecated: Please update to version 4.1.1 + '@tsparticles/interaction-external-grab@4.4.0': + resolution: {integrity: sha512-rdXhGkBwZKJh2ixK0Wz8Qc+m2SRk3RdYiAWs/PzDurRV9ZpRcGvqkV5G+jw/QrrYWywnNrUYedaKXtiAPnnsWA==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/interaction-external-repulse@3.9.1': - resolution: {integrity: sha512-/LBppXkrMdvLHlEKWC7IykFhzrz+9nebT2fwSSFXK4plEBxDlIwnkDxd3FbVOAbnBvx4+L8+fbrEx+RvC8diAw==} - deprecated: Please update to version 4.1.1 + '@tsparticles/interaction-external-parallax@4.4.0': + resolution: {integrity: sha512-PyzWmSqS/zUP/caDyeh7wsW0/6E2pejdawer7ocWY3whEvWhgp/cjev78HxEc+dbgCET6Viu2CLSYsV97dZPHA==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/interaction-external-slow@3.9.1': - resolution: {integrity: sha512-1ZYIR/udBwA9MdSCfgADsbDXKSFS0FMWuPWz7bm79g3sUxcYkihn+/hDhc6GXvNNR46V1ocJjrj0u6pAynS1KQ==} - deprecated: Please update to version 4.1.1 + '@tsparticles/interaction-external-pause@4.4.0': + resolution: {integrity: sha512-qf2CWg3Cx01lW9/0cPAQxp4ozD4o5OY8O7BHwvyaIa+2T0/H/OuKDO+6EscMgQeYnicJVFfYGDr8kbvd27iuIA==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/interaction-particles-attract@3.9.1': - resolution: {integrity: sha512-CYYYowJuGwRLUixQcSU/48PTKM8fCUYThe0hXwQ+yRMLAn053VHzL7NNZzKqEIeEyt5oJoy9KcvubjKWbzMBLQ==} - deprecated: Please update to version 4.1.1 + '@tsparticles/interaction-external-push@4.4.0': + resolution: {integrity: sha512-rAojSBoF9BzMT2rXsKd01bHPZZmUxp3kZUvNmKdD0GX6TYpxqkeAd6KCc9ixB1TJzKa/sRwZ0lfXOusP89/uew==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/interaction-particles-collisions@3.9.1': - resolution: {integrity: sha512-ggGyjW/3v1yxvYW1IF1EMT15M6w31y5zfNNUPkqd/IXRNPYvm0Z0ayhp+FKmz70M5p0UxxPIQHTvAv9Jqnuj8w==} - deprecated: Please update to version 4.1.1 + '@tsparticles/interaction-external-remove@4.4.0': + resolution: {integrity: sha512-T/SyaR+aJO90z7uhTv/R1Vpr7MBJnmUKEtKhNoEqw0/xWhBJP5pcWITMj7UpWawjtgtQYimGsvM9nZlDCKScNg==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/interaction-particles-links@3.9.1': - resolution: {integrity: sha512-MsLbMjy1vY5M5/hu/oa5OSRZAUz49H3+9EBMTIOThiX+a+vpl3sxc9AqNd9gMsPbM4WJlub8T6VBZdyvzez1Vg==} - deprecated: Please update to version 4.1.1 + '@tsparticles/interaction-external-repulse@4.4.0': + resolution: {integrity: sha512-piyeYU42XGXssuNcuB/3FQsS8HgpiH8MdchfYe9wYoYY6+n4OKPK0P6chB1aVZS6cZz4vmk3ROPrDbXrbdM/Rw==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/move-base@3.9.1': - resolution: {integrity: sha512-X4huBS27d8srpxwOxliWPUt+NtCwY+8q/cx1DvQxyqmTA8VFCGpcHNwtqiN+9JicgzOvSuaORVqUgwlsc7h4pQ==} - deprecated: this package was deprecated in tsparticles v4, replaced by @tsparticles/plugin-move + '@tsparticles/interaction-external-slow@4.4.0': + resolution: {integrity: sha512-In5s4Ys7lf8/IsDta+M7zpEYWkbfvaUsjnJm4zxuCVjr/mixE7J3QCevkXWdeiv1aP/6TpTicD7SDtlQR1IMjw==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 + + '@tsparticles/interaction-particles-attract@4.4.0': + resolution: {integrity: sha512-OPopYrnpPikRxwHk3UwCyNaB6DB2uSbx9wIH9qjz9bbWvPs+oKlB0UCTbkod8Bl0t57WJ0AY8kqFUfaPDWGISA==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 + + '@tsparticles/interaction-particles-collisions@4.4.0': + resolution: {integrity: sha512-DLfnAf6lXy/IlsWPZBAXS6/pll5400yPxi6DRyHe0UBnbPVRzCRXAuoGaqhEsrth47BQdoyaqVG7sh38m9Oldg==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 + + '@tsparticles/interaction-particles-links@4.4.0': + resolution: {integrity: sha512-n2OkzB8BjQkzFrtiVq8O42/Tf+/Psng+K71MhJDI+czkwLo3PdmG51MCsy2w9ywCvGwWci2nwxMQ1qZL7nPONg==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0 - '@tsparticles/move-parallax@3.9.1': - resolution: {integrity: sha512-whlOR0bVeyh6J/hvxf/QM3DqvNnITMiAQ0kro6saqSDItAVqg4pYxBfEsSOKq7EhjxNvfhhqR+pFMhp06zoCVA==} - deprecated: this package was deprecated in tsparticles v4, replaced by @tsparticles/interaction-external-parallax + '@tsparticles/plugin-blend@4.4.0': + resolution: {integrity: sha512-X/SG2WIasgHqA+fLZFu6MMv3z5VY5uX4VIfKjXz1qxZjEjn0w4kzZrbtZBxXxRKdrm8Dg8Qu2mmBokNZ8Bny3g==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/plugin-easing-quad@3.9.1': - resolution: {integrity: sha512-C2UJOca5MTDXKUTBXj30Kiqr5UyID+xrY/LxicVWWZPczQW2bBxbIbfq9ULvzGDwBTxE2rdvIB8YFKmDYO45qw==} - deprecated: Please update to version 4.1.1 + '@tsparticles/plugin-easing-quad@4.4.0': + resolution: {integrity: sha512-kdKuM4gKd3Y8x1WfbWgs72EhezBZ8HU0dsvECFsfVMuWa0/gB960BRz+XlyjVOIDBw8dIvx7EUoVgXsRg2WAOA==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/plugin-hex-color@3.9.1': - resolution: {integrity: sha512-vZgZ12AjUicJvk7AX4K2eAmKEQX/D1VEjEPFhyjbgI7A65eX72M465vVKIgNA6QArLZ1DLs7Z787LOE6GOBWsg==} + '@tsparticles/plugin-hex-color@4.4.0': + resolution: {integrity: sha512-sbRW6fi/YOS/hvFi6GCQiKI2zMCrmydrhlzqWyw2UUyg4Rr3FviQbIC2VRZrMc30Cm6kSkR3SovXIFDpZzO94Q==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/plugin-hsl-color@3.9.1': - resolution: {integrity: sha512-jJd1iGgRwX6eeNjc1zUXiJivaqC5UE+SC2A3/NtHwwoQrkfxGWmRHOsVyLnOBRcCPgBp/FpdDe6DIDjCMO715w==} - deprecated: Please update to version 4.1.1 + '@tsparticles/plugin-hsl-color@4.4.0': + resolution: {integrity: sha512-nw/7cGoU99y8veeYD7yA7ygNyrGr461V9xx+ed+jrj0LyXQbLF3d/r78ovMseoHxm4SWa9pmtoQxS3fBHIgecw==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/plugin-rgb-color@3.9.1': - resolution: {integrity: sha512-SBxk7f1KBfXeTnnklbE2Hx4jBgh6I6HOtxb+Os1gTp0oaghZOkWcCD2dP4QbUu7fVNCMOcApPoMNC8RTFcy9wQ==} - deprecated: Please update to version 4.1.1 + '@tsparticles/plugin-interactivity@4.4.0': + resolution: {integrity: sha512-jquoxlT4ra1Mc4glVlIfPubmchyIq5IZ25RdnvAop1uuc+6tu4N1zq5SSeyRO8MhJ94xevsNe6ozjmqvZ9CzKA==} + peerDependencies: + '@tsparticles/engine': 4.4.0 + + '@tsparticles/plugin-move@4.4.0': + resolution: {integrity: sha512-o05YP6bWxljbxmsQoqbay8sn4GtHIiTQZhZmcIyxJw/q+oSCNKHWALElSAqa1H7Dp/7ltnmd4rH4pgbQtHnfEw==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/react@3.0.0': - resolution: {integrity: sha512-hjGEtTT1cwv6BcjL+GcVgH++KYs52bIuQGW3PWv7z3tMa8g0bd6RI/vWSLj7p//NZ3uTjEIeilYIUPBh7Jfq/Q==} - deprecated: Please update to version 4.1.1 + '@tsparticles/plugin-rgb-color@4.4.0': + resolution: {integrity: sha512-s7YlsrcjndVLiOgKNPQaPcEQmmZeZqHec0lpSbt8BgR2pQmjFvCMSzHDA/aaqZ6JX8iVqvj+bT8uqT5XQDq70Q==} peerDependencies: - '@tsparticles/engine': ^3.0.2 + '@tsparticles/engine': 4.4.0 + + '@tsparticles/react@4.4.0': + resolution: {integrity: sha512-vywNLCJi7N/6eY92wjJ7ePwvkMsnKnfm3sU5jPH6ggZxWHCmotSmZyihtlsC3jPa5tHpCidNprQKrQctACa2kw==} + peerDependencies: + '@tsparticles/engine': 4.4.0 react: 19.2.4 react-dom: 19.2.4 - '@tsparticles/shape-circle@3.9.1': - resolution: {integrity: sha512-DqZFLjbuhVn99WJ+A9ajz9YON72RtCcvubzq6qfjFmtwAK7frvQeb6iDTp6Ze9FUipluxVZWVRG4vWTxi2B+/g==} - deprecated: Please update to version 4.1.1 - - '@tsparticles/shape-emoji@3.9.1': - resolution: {integrity: sha512-ifvY63usuT+hipgVHb8gelBHSeF6ryPnMxAAEC1RGHhhXfpSRWMtE6ybr+pSsYU52M3G9+TF84v91pSwNrb9ZQ==} - deprecated: Please update to version 4.1.1 + '@tsparticles/shape-circle@4.4.0': + resolution: {integrity: sha512-pCdCenLohHwaeeuMCw9bh1icGB+CKwBYx67L5dTBw6aig7LRvL+Kd1PKClJTgXkx8Mb1Xb7KLNmSYgh/ABRtEQ==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/shape-image@3.9.1': - resolution: {integrity: sha512-fCA5eme8VF3oX8yNVUA0l2SLDKuiZObkijb0z3Ky0qj1HUEVlAuEMhhNDNB9E2iELTrWEix9z7BFMePp2CC7AA==} - deprecated: Please update to version 4.1.1 + '@tsparticles/shape-emoji@4.4.0': + resolution: {integrity: sha512-MCsIy+NPx9icd50AfZxUEmJeMWer3BPBpk23RVhns8/9EPhKGZx/rK6KvBiEX84uUq4vma2kzAB795IV7Ry7Pg==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/shape-line@3.9.1': - resolution: {integrity: sha512-wT8NSp0N9HURyV05f371cHKcNTNqr0/cwUu6WhBzbshkYGy1KZUP9CpRIh5FCrBpTev34mEQfOXDycgfG0KiLQ==} - deprecated: Please update to version 4.1.1 + '@tsparticles/shape-image@4.4.0': + resolution: {integrity: sha512-wCco8PILtywD4KdtlGF4BfSwdqkkd/WS8CfJMd+wmyLUYVxpUSz9HW8aYzzLFTWZZ0WAmiyMmqBIm9AsADzNSA==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/shape-polygon@3.9.1': - resolution: {integrity: sha512-dA77PgZdoLwxnliH6XQM/zF0r4jhT01pw5y7XTeTqws++hg4rTLV9255k6R6eUqKq0FPSW1/WBsBIl7q/MmrqQ==} - deprecated: Please update to version 4.1.1 + '@tsparticles/shape-line@4.4.0': + resolution: {integrity: sha512-SNyfzkXEXCzh0I4wJSTwFhoZl+V3roh1mVpY3H+LiPtjNlZ9Uyi//PvbQbyuhjbm1+lxu4MXD/CehY3AKzVi2g==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/shape-square@3.9.1': - resolution: {integrity: sha512-DKGkDnRyZrAm7T2ipqNezJahSWs6xd9O5LQLe5vjrYm1qGwrFxJiQaAdlb00UNrexz1/SA7bEoIg4XKaFa7qhQ==} - deprecated: Please update to version 4.1.1 + '@tsparticles/shape-polygon@4.4.0': + resolution: {integrity: sha512-LtDTVQpuPECRoLoLNpvVBAukkBUDvV27mefnuXRgNkUSLBtlMezeFkDJfGthUVKV0erBKuizjxHuo0HO9KygKw==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/shape-star@3.9.1': - resolution: {integrity: sha512-kdMJpi8cdeb6vGrZVSxTG0JIjCwIenggqk0EYeKAwtOGZFBgL7eHhF2F6uu1oq8cJAbXPujEoabnLsz6mW8XaA==} - deprecated: Please update to version 4.1.1 + '@tsparticles/shape-square@4.4.0': + resolution: {integrity: sha512-xSfgTUAgKLq0rgRGgP5ExftRyXOcp1/es8W4e69YH/JCvUgmY5BXlGeRZtXb4e4W055xSJIgkESuUrv6Ig7B+w==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/slim@3.9.1': - resolution: {integrity: sha512-CL5cDmADU7sDjRli0So+hY61VMbdroqbArmR9Av+c1Fisa5ytr6QD7Jv62iwU2S6rvgicEe9OyRmSy5GIefwZw==} - deprecated: Please update to version 4.1.1 + '@tsparticles/shape-star@4.4.0': + resolution: {integrity: sha512-SEnzKTkXXYPwAGtZ8dr+gUkyzs05Y9ZIW/ZSZ94mhAPxPTNo6i+uXc/2PQ4EoXbFw7GwWR8SSzXCeLyuqmxUjA==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-color@3.9.1': - resolution: {integrity: sha512-XGWdscrgEMA8L5E7exsE0f8/2zHKIqnTrZymcyuFBw2DCB6BIV+5z6qaNStpxrhq3DbIxxhqqcybqeOo7+Alpg==} - deprecated: this package was deprecated in tsparticles v4, replaced by @tsparticles/updater-paint + '@tsparticles/slim@4.4.0': + resolution: {integrity: sha512-/QhPVl11RYTGF9QL2yBLAaoMMSuJSwbp1NqzBsLf4RXqAWsCDs21rg/FvNYS36znBv8ZbU1XG3nbZIEVOMqSHA==} - '@tsparticles/updater-life@3.9.1': - resolution: {integrity: sha512-Oi8aF2RIwMMsjssUkCB6t3PRpENHjdZf6cX92WNfAuqXtQphr3OMAkYFJFWkvyPFK22AVy3p/cFt6KE5zXxwAA==} - deprecated: Please update to version 4.1.1 + '@tsparticles/updater-life@4.4.0': + resolution: {integrity: sha512-lUYmhnyRSzNbqS3qYkdDITq2u+BNjircYYbIk4wokJcLNfB0U6IGkIS9SBz9+GA18b8EC7+XEA90iFmxdNzo6Q==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-opacity@3.9.1': - resolution: {integrity: sha512-w778LQuRZJ+IoWzeRdrGykPYSSaTeWfBvLZ2XwYEkh/Ss961InOxZKIpcS6i5Kp/Zfw0fS1ZAuqeHwuj///Osw==} - deprecated: Please update to version 4.1.1 + '@tsparticles/updater-opacity@4.4.0': + resolution: {integrity: sha512-StQAExNqeOHANRAMXHdaKKEBD1DrRwBZ3TQF6DPtERtoElj8BvMlPHq38W0TSzfvR0lFP91p2Pzo5txVzVJ3Gg==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-out-modes@3.9.1': - resolution: {integrity: sha512-cKQEkAwbru+hhKF+GTsfbOvuBbx2DSB25CxOdhtW2wRvDBoCnngNdLw91rs+0Cex4tgEeibkebrIKFDDE6kELg==} - deprecated: Please update to version 4.1.1 + '@tsparticles/updater-out-modes@4.4.0': + resolution: {integrity: sha512-IzHaYhOVI6mBFqub1ivd/5UMkvn5Pb/j9xS8edT7XeSNYqO3UeomLJci0KE6Xsm+4K/kBLGbCRW5+Tf+kV4E0g==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-rotate@3.9.1': - resolution: {integrity: sha512-9BfKaGfp28JN82MF2qs6Ae/lJr9EColMfMTHqSKljblwbpVDHte4umuwKl3VjbRt87WD9MGtla66NTUYl+WxuQ==} - deprecated: Please update to version 4.1.1 + '@tsparticles/updater-paint@4.4.0': + resolution: {integrity: sha512-v7liuaT9BwHsd1hCfJF2d93M2gD3lSfsfIfKjPihAYo73hS43Wq7Cf1F0yjEiR3yXryRGH1QmYYdhonKAvyDKw==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-size@3.9.1': - resolution: {integrity: sha512-3NSVs0O2ApNKZXfd+y/zNhTXSFeG1Pw4peI8e6z/q5+XLbmue9oiEwoPy/tQLaark3oNj3JU7Q903ZijPyXSzw==} - deprecated: Please update to version 4.1.1 + '@tsparticles/updater-rotate@4.4.0': + resolution: {integrity: sha512-rXUP1X0suDr168F2aXRj4v8TmSUfhaWuHOn2z4UcqOAhPjwPdfySMnwpdxbRS+HL4q9TFkNGBqq9ity6LgkVeA==} + peerDependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-stroke-color@3.9.1': - resolution: {integrity: sha512-3x14+C2is9pZYTg9T2TiA/aM1YMq4wLdYaZDcHm3qO30DZu5oeQq0rm/6w+QOGKYY1Z3Htg9rlSUZkhTHn7eDA==} - deprecated: this package was deprecated in tsparticles v4, replaced by @tsparticles/updater-paint + '@tsparticles/updater-size@4.4.0': + resolution: {integrity: sha512-Qq8QjC0MMjlaHjtpWUROSqe14eKVphq92n0VR4/d4WY+pnSG1U1VJzF43Kyfb4IyV06b29F0TUROIG7Ivqk36g==} + peerDependencies: + '@tsparticles/engine': 4.4.0 '@tybys/wasm-util@0.10.3': resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} @@ -11944,187 +12009,228 @@ snapshots: dependencies: typescript: 5.9.3 - '@tsparticles/basic@3.9.1': + '@tsparticles/animation-utils@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 - '@tsparticles/move-base': 3.9.1 - '@tsparticles/plugin-hex-color': 3.9.1 - '@tsparticles/plugin-hsl-color': 3.9.1 - '@tsparticles/plugin-rgb-color': 3.9.1 - '@tsparticles/shape-circle': 3.9.1 - '@tsparticles/updater-color': 3.9.1 - '@tsparticles/updater-opacity': 3.9.1 - '@tsparticles/updater-out-modes': 3.9.1 - '@tsparticles/updater-size': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/engine@3.9.1': {} + '@tsparticles/basic@4.4.0': + dependencies: + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-blend': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/plugin-hex-color': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/plugin-hsl-color': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/plugin-move': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/plugin-rgb-color': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/shape-circle': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/updater-opacity': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/updater-out-modes': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/updater-paint': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/updater-size': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-external-attract@3.9.1': + '@tsparticles/canvas-utils@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + + '@tsparticles/engine@4.4.0': {} - '@tsparticles/interaction-external-bounce@3.9.1': + '@tsparticles/interaction-external-attract@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-external-bubble@3.9.1': + '@tsparticles/interaction-external-bounce@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-external-connect@3.9.1': + '@tsparticles/interaction-external-bubble@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-external-grab@3.9.1': + '@tsparticles/interaction-external-connect@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/canvas-utils': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-external-pause@3.9.1': + '@tsparticles/interaction-external-destroy@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-external-push@3.9.1': + '@tsparticles/interaction-external-grab@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/canvas-utils': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-external-remove@3.9.1': + '@tsparticles/interaction-external-parallax@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-external-repulse@3.9.1': + '@tsparticles/interaction-external-pause@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-external-slow@3.9.1': + '@tsparticles/interaction-external-push@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-particles-attract@3.9.1': + '@tsparticles/interaction-external-remove@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-particles-collisions@3.9.1': + '@tsparticles/interaction-external-repulse@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/interaction-particles-links@3.9.1': + '@tsparticles/interaction-external-slow@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/move-base@3.9.1': + '@tsparticles/interaction-particles-attract@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/move-parallax@3.9.1': + '@tsparticles/interaction-particles-collisions@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/plugin-easing-quad@3.9.1': + '@tsparticles/interaction-particles-links@4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0))': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/canvas-utils': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/engine': 4.4.0 + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/plugin-hex-color@3.9.1': + '@tsparticles/plugin-blend@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/plugin-hsl-color@3.9.1': + '@tsparticles/plugin-easing-quad@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/plugin-rgb-color@3.9.1': + '@tsparticles/plugin-hex-color@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/react@3.0.0(@tsparticles/engine@3.9.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tsparticles/plugin-hsl-color@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@tsparticles/engine': 4.4.0 + + '@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)': + dependencies: + '@tsparticles/engine': 4.4.0 + + '@tsparticles/plugin-move@4.4.0(@tsparticles/engine@4.4.0)': + dependencies: + '@tsparticles/engine': 4.4.0 - '@tsparticles/shape-circle@3.9.1': + '@tsparticles/plugin-rgb-color@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 + + '@tsparticles/react@4.4.0(@tsparticles/engine@4.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@tsparticles/engine': 4.4.0 + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) - '@tsparticles/shape-emoji@3.9.1': + '@tsparticles/shape-circle@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/shape-image@3.9.1': + '@tsparticles/shape-emoji@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/canvas-utils': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/engine': 4.4.0 - '@tsparticles/shape-line@3.9.1': + '@tsparticles/shape-image@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/shape-polygon@3.9.1': + '@tsparticles/shape-line@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/shape-square@3.9.1': + '@tsparticles/shape-polygon@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/shape-star@3.9.1': + '@tsparticles/shape-square@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/slim@3.9.1': + '@tsparticles/shape-star@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/basic': 3.9.1 - '@tsparticles/engine': 3.9.1 - '@tsparticles/interaction-external-attract': 3.9.1 - '@tsparticles/interaction-external-bounce': 3.9.1 - '@tsparticles/interaction-external-bubble': 3.9.1 - '@tsparticles/interaction-external-connect': 3.9.1 - '@tsparticles/interaction-external-grab': 3.9.1 - '@tsparticles/interaction-external-pause': 3.9.1 - '@tsparticles/interaction-external-push': 3.9.1 - '@tsparticles/interaction-external-remove': 3.9.1 - '@tsparticles/interaction-external-repulse': 3.9.1 - '@tsparticles/interaction-external-slow': 3.9.1 - '@tsparticles/interaction-particles-attract': 3.9.1 - '@tsparticles/interaction-particles-collisions': 3.9.1 - '@tsparticles/interaction-particles-links': 3.9.1 - '@tsparticles/move-parallax': 3.9.1 - '@tsparticles/plugin-easing-quad': 3.9.1 - '@tsparticles/shape-emoji': 3.9.1 - '@tsparticles/shape-image': 3.9.1 - '@tsparticles/shape-line': 3.9.1 - '@tsparticles/shape-polygon': 3.9.1 - '@tsparticles/shape-square': 3.9.1 - '@tsparticles/shape-star': 3.9.1 - '@tsparticles/updater-life': 3.9.1 - '@tsparticles/updater-rotate': 3.9.1 - '@tsparticles/updater-stroke-color': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-color@3.9.1': + '@tsparticles/slim@4.4.0': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/basic': 4.4.0 + '@tsparticles/engine': 4.4.0 + '@tsparticles/interaction-external-attract': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-external-bounce': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-external-bubble': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-external-connect': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-external-destroy': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-external-grab': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-external-parallax': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-external-pause': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-external-push': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-external-remove': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-external-repulse': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-external-slow': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-particles-attract': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-particles-collisions': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/interaction-particles-links': 4.4.0(@tsparticles/engine@4.4.0)(@tsparticles/plugin-interactivity@4.4.0(@tsparticles/engine@4.4.0)) + '@tsparticles/plugin-easing-quad': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/plugin-interactivity': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/shape-emoji': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/shape-image': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/shape-line': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/shape-polygon': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/shape-square': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/shape-star': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/updater-life': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/updater-paint': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/updater-rotate': 4.4.0(@tsparticles/engine@4.4.0) - '@tsparticles/updater-life@3.9.1': + '@tsparticles/updater-life@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-opacity@3.9.1': + '@tsparticles/updater-opacity@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/animation-utils': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-out-modes@3.9.1': + '@tsparticles/updater-out-modes@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-rotate@3.9.1': + '@tsparticles/updater-paint@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-size@3.9.1': + '@tsparticles/updater-rotate@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/animation-utils': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/engine': 4.4.0 - '@tsparticles/updater-stroke-color@3.9.1': + '@tsparticles/updater-size@4.4.0(@tsparticles/engine@4.4.0)': dependencies: - '@tsparticles/engine': 3.9.1 + '@tsparticles/animation-utils': 4.4.0(@tsparticles/engine@4.4.0) + '@tsparticles/engine': 4.4.0 '@tybys/wasm-util@0.10.3': dependencies: diff --git a/src/components/ui/sparkles.tsx b/src/components/ui/sparkles.tsx index 8f6c9c1..1d7d364 100644 --- a/src/components/ui/sparkles.tsx +++ b/src/components/ui/sparkles.tsx @@ -1,11 +1,17 @@ "use client"; -import type { Container, SingleOrMultiple } from "@tsparticles/engine"; -import Particles, { initParticlesEngine } from "@tsparticles/react"; +import type { Container, Engine, SingleOrMultiple } from "@tsparticles/engine"; +import Particles, { ParticlesProvider } from "@tsparticles/react"; import { loadSlim } from "@tsparticles/slim"; import { motion, useAnimation } from "framer-motion"; -import { useEffect, useId, useState } from "react"; +import { useId } from "react"; import { cn } from "@/lib/utils"; +// @tsparticles/react 4 replaced initParticlesEngine with . +// The init callback must be a stable reference for the whole app lifecycle, so it lives at module scope. +const initEngine = async (engine: Engine) => { + await loadSlim(engine); +}; + type ParticlesProps = { id?: string; className?: string; @@ -20,14 +26,6 @@ type ParticlesProps = { export const SparklesCore = (props: ParticlesProps) => { const { id, className, background, minSize, maxSize, speed, particleColor, particleDensity } = props; - const [init, setInit] = useState(false); - useEffect(() => { - initParticlesEngine(async (engine) => { - await loadSlim(engine); - }).then(() => { - setInit(true); - }); - }, []); const controls = useAnimation(); const particlesLoaded = async (container?: Container) => { @@ -44,7 +42,7 @@ export const SparklesCore = (props: ParticlesProps) => { const generatedId = useId(); return ( - {init && ( + { retries: 0, }, }, - color: { - value: particleColor || "#ffffff", - animation: { - h: { - count: 0, - enable: false, - speed: 1, - decay: 0, - delay: 0, - sync: true, - offset: 0, - }, - s: { - count: 0, - enable: false, - speed: 1, - decay: 0, - delay: 0, - sync: true, - offset: 0, - }, - l: { - count: 0, - enable: false, - speed: 1, - decay: 0, - delay: 0, - sync: true, - offset: 0, + // tsparticles v4 moved color/fill/stroke under particles.paint + paint: { + color: { + value: particleColor || "#ffffff", + animation: { + h: { + count: 0, + enable: false, + speed: 1, + decay: 0, + delay: 0, + sync: true, + offset: 0, + }, + s: { + count: 0, + enable: false, + speed: 1, + decay: 0, + delay: 0, + sync: true, + offset: 0, + }, + l: { + count: 0, + enable: false, + speed: 1, + decay: 0, + delay: 0, + sync: true, + offset: 0, + }, }, }, + fill: { + enable: true, + }, + stroke: { + width: 0, + }, }, effect: { close: true, - fill: true, options: {}, type: {} as SingleOrMultiple | undefined, }, @@ -156,14 +162,6 @@ export const SparklesCore = (props: ParticlesProps) => { offset: 0, value: 90, }, - attract: { - distance: 200, - enable: false, - rotate: { - x: 3000, - y: 3000, - }, - }, center: { x: 50, y: 50, @@ -203,11 +201,6 @@ export const SparklesCore = (props: ParticlesProps) => { enable: false, }, straight: false, - trail: { - enable: false, - length: 10, - fill: {}, - }, vibrate: false, warp: false, }, @@ -254,7 +247,6 @@ export const SparklesCore = (props: ParticlesProps) => { }, shape: { close: true, - fill: true, options: {}, type: "circle", }, @@ -275,9 +267,6 @@ export const SparklesCore = (props: ParticlesProps) => { destroy: "none", }, }, - stroke: { - width: 0, - }, zIndex: { value: 0, opacityRate: 1, @@ -419,7 +408,7 @@ export const SparklesCore = (props: ParticlesProps) => { detectRetina: true, }} /> - )} + ); };