An open source collection of animated, interactive & fully customizable React components for building memorable websites.
147 matches across 6 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | public/r/CircularGallery-JS-TW.json | 11 | "content": "import { Camera, Mesh, Plane, Program, Renderer, Texture, Transform } from 'ogl';\nimport { useEffect, us |
| CRITICAL | public/r/LightPillar-JS-CSS.json | 16 | "content": "import { useRef, useEffect, useState } from 'react';\nimport * as THREE from 'three';\nimport './LightPil |
| CRITICAL | public/r/CircularGallery-TS-TW.json | 11 | "content": "import { Camera, Mesh, Plane, Program, Renderer, Texture, Transform } from 'ogl';\nimport { useEffect, us |
| CRITICAL | public/r/LightPillar-TS-CSS.json | 16 | "content": "import React, { useRef, useEffect, useState } from 'react';\nimport * as THREE from 'three';\nimport './L |
| CRITICAL | public/r/LightPillar-TS-TW.json | 11 | "content": "import React, { useRef, useEffect, useState } from 'react';\nimport * as THREE from 'three';\n\ninterface |
| CRITICAL | public/r/CircularGallery-JS-CSS.json | 16 | "content": "import { Camera, Mesh, Plane, Program, Renderer, Texture, Transform } from 'ogl';\nimport { useEffect, us |
| CRITICAL | public/r/LightPillar-JS-TW.json | 11 | "content": "import { useRef, useEffect, useState } from 'react';\nimport * as THREE from 'three';\n\nconst LightPilla |
| CRITICAL | public/r/CircularGallery-TS-CSS.json | 16 | "content": "import { Camera, Mesh, Plane, Program, Renderer, Texture, Transform } from 'ogl';\nimport { useEffect, us |
| CRITICAL | public/r/GhostCursor-JS-CSS.json | 16 | "content": "import { useEffect, useMemo, useRef } from 'react';\nimport * as THREE from 'three';\nimport { EffectComp |
| CRITICAL | public/r/GhostCursor-JS-TW.json | 11 | "content": "import { useEffect, useMemo, useRef } from 'react';\nimport * as THREE from 'three';\nimport { EffectComp |
| CRITICAL | src/ts-default/Backgrounds/LightPillar/LightPillar.tsx | 297 | materialRef.current.uniforms.uResolution.value.set(newWidth, newHeight); |
| CRITICAL | …default/Components/CircularGallery/CircularGallery.tsx | 643 | this.renderer.gl.canvas.parentNode.removeChild(this.renderer.gl.canvas as HTMLCanvasElement); |
| CRITICAL | src/ts-tailwind/Backgrounds/LightPillar/LightPillar.tsx | 357 | materialRef.current.uniforms.uResolution.value.set(newWidth, newHeight); |
| CRITICAL | …ailwind/Components/CircularGallery/CircularGallery.tsx | 642 | this.renderer.gl.canvas.parentNode.removeChild(this.renderer.gl.canvas as HTMLCanvasElement); |
| CRITICAL | src/content/Backgrounds/LightPillar/LightPillar.jsx | 277 | materialRef.current.uniforms.uResolution.value.set(newWidth, newHeight); |
| CRITICAL | …content/Components/CircularGallery/CircularGallery.jsx | 453 | this.renderer.gl.canvas.parentNode.removeChild(this.renderer.gl.canvas); |
| CRITICAL | src/content/Animations/GhostCursor/GhostCursor.jsx | 488 | materialRef.current.uniforms.iBaseColor.value.set(c.r, c.g, c.b); |
| CRITICAL | src/tailwind/Backgrounds/LightPillar/LightPillar.jsx | 281 | materialRef.current.uniforms.uResolution.value.set(newWidth, newHeight); |
| CRITICAL | …ailwind/Components/CircularGallery/CircularGallery.jsx | 451 | this.renderer.gl.canvas.parentNode.removeChild(this.renderer.gl.canvas); |
| CRITICAL | src/tailwind/Animations/GhostCursor/GhostCursor.jsx | 489 | materialRef.current.uniforms.iBaseColor.value.set(c.r, c.g, c.b); |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | src/tools/texture-lab/shaders.js | 1 | // ─── WebGL Shader Sources ──────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 17 | // ─── Passthrough Shader ────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 29 | // ─── Film Grain / Noise Shader ─────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 143 | // ─── Chromatic Aberration Shader ───────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 199 | // ─── Vignette Shader ───────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 230 | // ─── Scanlines Shader ──────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 260 | // ─── Pixelate Shader ───────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 290 | // ─── Blur Shader ───────────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 373 | // ─── Distortion Shader ─────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 440 | // ─── Posterize Shader ──────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 482 | // ─── Edge Detection Shader ─────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 527 | // ─── Film Grain Shader ──────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 579 | // ─── Color Grading Shader ──────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 648 | // ─── Ordered Dithering Shader ──────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 705 | // ─── Halftone Shader ───────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 904 | // ─── ASCII Art Shader ──────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1011 | // ─── Overlay/Texture Shader ────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1086 | // ─── Glitch / RGB Split Shader ─────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1169 | // ─── CRT / Retro Monitor Shader ────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1257 | // ─── Duotone / Gradient Map Shader ─────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1289 | // ─── Kuwahara (Oil Paint) Filter Shader ────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1358 | // ─── Barrel / Pincushion Distortion Shader ─────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1403 | // ─── Ripple / Water Effect Shader ──────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1448 | // ─── Displacement Map Shader ───────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1518 | // ─── Light Leak / Lens Flare Shader ────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1601 | // ─── Bloom Post-Processing Shader ──────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1710 | // ─── Radial/Zoom Blur Shader ───────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1782 | // ─── Mosaic / Stained Glass Shader ─────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1859 | // ─── Tilt Shift Shader ─────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1934 | // ─── Exposure Shader ───────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 1982 | // ─── Vibrance Shader ───────────────────────────────────────────────────────── |
| MEDIUM | src/tools/texture-lab/shaders.js | 2015 | // ─── Dot Dither Shader ─────────────────────────────────────────────────────── |
| MEDIUM | src/components/navs/Header.jsx | 41 | // ─── Constants ─────────────────────────────────────────────────────────────── |
| MEDIUM | src/components/navs/Header.jsx | 63 | // ─── Sub-components ────────────────────────────────────────────────────────── |
| MEDIUM | src/components/navs/Header.jsx | 393 | // ─── Main Component ────────────────────────────────────────────────────────── |
| MEDIUM | src/components/navs/Sidebar.jsx | 18 | // ─── Constants ─────────────────────────────────────────────────────────────── |
| MEDIUM | src/components/navs/Sidebar.jsx | 39 | // ─── Utility Functions ─────────────────────────────────────────────────────── |
| MEDIUM | src/components/navs/Sidebar.jsx | 48 | // ─── Custom Hooks ──────────────────────────────────────────────────────────── |
| MEDIUM | src/components/navs/Sidebar.jsx | 91 | // ─── Sub-components ────────────────────────────────────────────────────────── |
| MEDIUM | src/components/navs/Sidebar.jsx | 136 | // ─── Tools Configuration ───────────────────────────────────────────────────── |
| MEDIUM | src/components/navs/Sidebar.jsx | 345 | // ─── Main Component ────────────────────────────────────────────────────────── |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | public/r/GradientText-JS-CSS.json | 16 | "content": "import { useState, useCallback, useEffect, useRef } from 'react';\nimport { motion, useMotionValue, useAn |
| MEDIUM | public/r/GradientText-JS-CSS.json | 16 | "content": "import { useState, useCallback, useEffect, useRef } from 'react';\nimport { motion, useMotionValue, useAn |
| MEDIUM | public/r/FlowingMenu-JS-CSS.json | 16 | "content": "import { useRef, useEffect, useState } from 'react';\nimport { gsap } from 'gsap';\n\nimport './FlowingMe |
| MEDIUM | public/r/FlowingMenu-JS-CSS.json | 16 | "content": "import { useRef, useEffect, useState } from 'react';\nimport { gsap } from 'gsap';\n\nimport './FlowingMe |
| MEDIUM | public/r/GradientText-TS-CSS.json | 16 | "content": "import { useState, useCallback, useEffect, useRef, ReactNode } from 'react';\nimport { motion, useMotionV |
| MEDIUM | public/r/GradientText-TS-CSS.json | 16 | "content": "import { useState, useCallback, useEffect, useRef, ReactNode } from 'react';\nimport { motion, useMotionV |
| MEDIUM | public/r/GradientText-TS-TW.json | 11 | "content": "import { useState, useCallback, useEffect, useRef, ReactNode } from 'react';\nimport { motion, useMotionV |
| MEDIUM | public/r/GradientText-TS-TW.json | 11 | "content": "import { useState, useCallback, useEffect, useRef, ReactNode } from 'react';\nimport { motion, useMotionV |
| MEDIUM | public/r/GradientText-JS-TW.json | 11 | "content": "import { useState, useCallback, useEffect, useRef } from 'react';\nimport { motion, useMotionValue, useAn |
| MEDIUM | public/r/GradientText-JS-TW.json | 11 | "content": "import { useState, useCallback, useEffect, useRef } from 'react';\nimport { motion, useMotionValue, useAn |
| MEDIUM | …s-default/TextAnimations/GradientText/GradientText.tsx | 58 | // Continuously increase position for seamless looping |
| MEDIUM | …s-default/TextAnimations/GradientText/GradientText.tsx | 89 | // Duplicate first color at the end for seamless looping |
| MEDIUM | …-tailwind/TextAnimations/GradientText/GradientText.tsx | 57 | // Continuously increase position for seamless looping |
| MEDIUM | …-tailwind/TextAnimations/GradientText/GradientText.tsx | 88 | // Duplicate first color at the end for seamless looping |
| MEDIUM | …c/content/TextAnimations/GradientText/GradientText.jsx | 47 | // Continuously increase position for seamless looping |
| MEDIUM | …c/content/TextAnimations/GradientText/GradientText.jsx | 78 | // Duplicate first color at the end for seamless looping |
| MEDIUM | src/content/Components/FlowingMenu/FlowingMenu.jsx | 66 | // Calculate how many copies we need to fill viewport + extra for seamless loop |
| MEDIUM | src/content/Components/FlowingMenu/FlowingMenu.jsx | 91 | // Animate exactly one content width for seamless loop |
| MEDIUM | …/tailwind/TextAnimations/GradientText/GradientText.jsx | 46 | // Continuously increase position for seamless looping |
| MEDIUM | …/tailwind/TextAnimations/GradientText/GradientText.jsx | 77 | // Duplicate first color at the end for seamless looping |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | public/r/Hyperspeed-JS-TW.json | 16 | "content": "import { BloomEffect, EffectComposer, EffectPass, RenderPass, SMAAEffect, SMAAPreset } from 'postprocessi |
| LOW | public/r/InfiniteMenu-JS-TW.json | 11 | "content": "import { useEffect, useRef, useState } from 'react';\nimport { mat4, quat, vec2, vec3 } from 'gl-matrix'; |
| LOW | public/r/Beams-JS-CSS.json | 16 | "content": "/* eslint-disable react/no-unknown-property */\nimport { forwardRef, useImperativeHandle, useEffect, useR |
| LOW | public/r/InfiniteMenu-TS-TW.json | 11 | "content": "import { FC, useRef, useState, useEffect, MutableRefObject } from 'react';\nimport { mat4, quat, vec2, ve |
| LOW | public/r/Beams-TS-CSS.json | 16 | "content": "import { forwardRef, useImperativeHandle, useEffect, useRef, useMemo, FC, ReactNode } from 'react';\n\nim |
| LOW | public/r/Hyperspeed-TS-TW.json | 16 | "content": "import { BloomEffect, EffectComposer, EffectPass, RenderPass, SMAAEffect, SMAAPreset } from 'postprocessi |
| LOW | public/r/InfiniteMenu-TS-CSS.json | 16 | "content": "import { FC, useRef, useState, useEffect, MutableRefObject } from 'react';\nimport { mat4, quat, vec2, ve |
| LOW | public/r/Ballpit-TS-CSS.json | 11 | "content": "import { gsap } from 'gsap';\nimport { Observer } from 'gsap/Observer';\nimport React, { useEffect, useRe |
| LOW | public/r/InfiniteMenu-JS-CSS.json | 16 | "content": "import { useEffect, useRef, useState } from 'react';\nimport { mat4, quat, vec2, vec3 } from 'gl-matrix'; |
| LOW | public/r/Hyperspeed-JS-CSS.json | 21 | "content": "import { BloomEffect, EffectComposer, EffectPass, RenderPass, SMAAEffect, SMAAPreset } from 'postprocessi |
| LOW | public/r/SplashCursor-JS-CSS.json | 11 | "content": "'use client';\nimport { useEffect, useRef } from 'react';\n\nfunction SplashCursor({\n SIM_RESOLUTION = |
| LOW | public/r/SplashCursor-TS-CSS.json | 11 | "content": "'use client';\nimport React, { useEffect, useRef } from 'react';\n\ninterface ColorRGB {\n r: number;\n |
| LOW | public/r/Ballpit-TS-TW.json | 11 | "content": "import { gsap } from 'gsap';\nimport { Observer } from 'gsap/Observer';\nimport React, { useEffect, useRe |
| LOW | public/r/Hyperspeed-TS-CSS.json | 21 | "content": "import { BloomEffect, EffectComposer, EffectPass, RenderPass, SMAAEffect, SMAAPreset } from 'postprocessi |
| LOW | public/r/SplashCursor-JS-TW.json | 11 | "content": "'use client';\nimport { useEffect, useRef } from 'react';\n\nfunction SplashCursor({\n SIM_RESOLUTION = |
| LOW | public/r/Beams-JS-TW.json | 11 | "content": "/* eslint-disable react/no-unknown-property */\nimport { forwardRef, useImperativeHandle, useEffect, useR |
| LOW | public/r/Beams-TS-TW.json | 11 | "content": "import { forwardRef, useImperativeHandle, useEffect, useRef, useMemo, FC, ReactNode } from 'react';\n\nim |
| LOW | public/r/SplashCursor-TS-TW.json | 11 | "content": "'use client';\nimport React, { useEffect, useRef } from 'react';\n\ninterface ColorRGB {\n r: number;\n |
| LOW | src/ts-default/Backgrounds/Hyperspeed/Hyperspeed.tsx | 904 | function resizeRendererToDisplaySize( |
| LOW | src/ts-default/Backgrounds/Beams/Beams.tsx | 264 | function createStackedPlanesBufferGeometry( |
| LOW | src/ts-default/Backgrounds/Ballpit/Ballpit.tsx | 572 | function processPointerInteraction() { |
| LOW | src/ts-default/Components/InfiniteMenu/InfiniteMenu.tsx | 436 | function resizeCanvasToDisplaySize(canvas: HTMLCanvasElement): boolean { |
| LOW | src/ts-default/Animations/SplashCursor/SplashCursor.tsx | 209 | function supportRenderTextureFormat( |
| LOW | src/ts-tailwind/Backgrounds/Hyperspeed/Hyperspeed.tsx | 902 | function resizeRendererToDisplaySize( |
| LOW | src/ts-tailwind/Backgrounds/Beams/Beams.tsx | 262 | function createStackedPlanesBufferGeometry( |
| LOW | src/ts-tailwind/Backgrounds/Ballpit/Ballpit.tsx | 580 | function processPointerInteraction() { |
| LOW | …c/ts-tailwind/Components/InfiniteMenu/InfiniteMenu.tsx | 434 | function resizeCanvasToDisplaySize(canvas: HTMLCanvasElement): boolean { |
| LOW | …c/ts-tailwind/Animations/SplashCursor/SplashCursor.tsx | 209 | function supportRenderTextureFormat( |
| LOW | src/content/Backgrounds/Hyperspeed/Hyperspeed.jsx | 1146 | function resizeRendererToDisplaySize(renderer, setSize) { |
| LOW | src/content/Backgrounds/Beams/Beams.jsx | 225 | function createStackedPlanesBufferGeometry(n, width, height, spacing, heightSegments) { |
| LOW | src/content/Components/InfiniteMenu/InfiniteMenu.jsx | 402 | function resizeCanvasToDisplaySize(canvas) { |
| LOW | src/content/Animations/SplashCursor/SplashCursor.jsx | 137 | function supportRenderTextureFormat(gl, internalFormat, format, type) { |
| LOW | src/tailwind/Backgrounds/Hyperspeed/Hyperspeed.jsx | 1144 | function resizeRendererToDisplaySize(renderer, setSize) { |
| LOW | src/tailwind/Backgrounds/Beams/Beams.jsx | 223 | function createStackedPlanesBufferGeometry(n, width, height, spacing, heightSegments) { |
| LOW | src/tailwind/Components/InfiniteMenu/InfiniteMenu.jsx | 401 | function resizeCanvasToDisplaySize(canvas) { |
| LOW | src/tailwind/Animations/SplashCursor/SplashCursor.jsx | 134 | function supportRenderTextureFormat(gl, internalFormat, format, type) { |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/ts-default/Backgrounds/PixelSnow/PixelSnow.tsx | 41 | #define PI 3.14159265 |
| LOW | src/ts-default/Animations/ShapeBlur/ShapeBlur.tsx | 21 | uniform float u_borderSize; |
| LOW | src/ts-default/Animations/LaserFlow/LaserFlow.tsx | 61 | uniform float uFalloffStart; |
| LOW | src/ts-default/Animations/LaserFlow/LaserFlow.tsx | 81 | #define FLOW_SHARPNESS 1.5 |
| LOW | src/ts-default/Animations/LaserFlow/LaserFlow.tsx | 101 | #define FOG_SPEED_V -0.1 |
| LOW | …c/ts-tailwind/TextAnimations/GlitchText/GlitchText.tsx | 61 | // "10%": { "clip-path": "inset(15% 0 55% 0)" }, |
| LOW | …c/ts-tailwind/TextAnimations/GlitchText/GlitchText.tsx | 81 | // }, |
| LOW | src/ts-tailwind/Backgrounds/PixelSnow/PixelSnow.tsx | 41 | #define PI_OVER_3 1.0471976 |
| LOW | src/ts-tailwind/Animations/ShapeBlur/ShapeBlur.tsx | 21 | uniform float u_borderSize; |
| LOW | src/ts-tailwind/Animations/StarBorder/StarBorder.tsx | 61 | // 'star-movement-top': 'star-movement-top linear infinite alternate', |
| LOW | src/ts-tailwind/Animations/LaserFlow/LaserFlow.tsx | 61 | uniform float uFogFallSpeed; |
| LOW | src/ts-tailwind/Animations/LaserFlow/LaserFlow.tsx | 81 | |
| LOW | src/ts-tailwind/Animations/LaserFlow/LaserFlow.tsx | 101 | #define FOG_OCTAVES 5 |
| LOW | src/content/Backgrounds/PixelSnow/PixelSnow.jsx | 41 | #define PI 3.14159265 |
| LOW | src/content/Animations/ShapeBlur/ShapeBlur.jsx | 21 | uniform float u_borderSize; |
| LOW | src/content/Animations/LaserFlow/LaserFlow.jsx | 41 | uniform float uFade; |
| LOW | src/content/Animations/LaserFlow/LaserFlow.jsx | 61 | #define W_BASE_X 1.5 |
| LOW | src/content/Animations/LaserFlow/LaserFlow.jsx | 81 | #define FOG_TILT_TO_MOUSE 0.05 |
| LOW | src/tailwind/TextAnimations/GlitchText/GlitchText.jsx | 21 | return ( |
| LOW | src/tailwind/TextAnimations/GlitchText/GlitchText.jsx | 41 | // "25%": { "clip-path": "inset(40% 0 20% 0)" }, |
| LOW | src/tailwind/TextAnimations/GlitchText/GlitchText.jsx | 61 | // "glitch-before": "glitch var(--before-duration) infinite linear alternate-reverse", |
| LOW | src/tailwind/Backgrounds/PixelSnow/PixelSnow.jsx | 41 | #define PI_OVER_3 1.0471976 |
| LOW | src/tailwind/Animations/ShapeBlur/ShapeBlur.jsx | 21 | uniform float u_borderSize; |
| LOW | src/tailwind/Animations/StarBorder/StarBorder.jsx | 41 | |
| LOW | src/tailwind/Animations/StarBorder/StarBorder.jsx | 61 | // } |
| LOW | src/tailwind/Animations/LaserFlow/LaserFlow.jsx | 41 | |
| LOW | src/tailwind/Animations/LaserFlow/LaserFlow.jsx | 61 | #define W_LAYER_GAP 0.25 |
| LOW | src/tailwind/Animations/LaserFlow/LaserFlow.jsx | 81 | #define FOG_TILT_DEADZONE 0.01 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/constants/code/TextAnimations/scrambledTextCode.js | 21 | Lorem ipsum dolor sit amet consectetur adipisicing elit. |
| LOW | src/constants/code/TextAnimations/scrambledTextCode.js | 21 | Lorem ipsum dolor sit amet consectetur adipisicing elit. |