Refraction Lens
<RefractionLens>CSS ModulesGlass lens with chromatic edge dispersion.
InstallationColoxo CLI
npx coloxo add refraction-lensES Module ImportPlayground / npm package
import { RefractionLens } from '@coloxo/ui/visuals';1. Live preview
This is the real component, not a recording. Move the pointer over it, then adjust the renderer settings.
Fragment shader
<RefractionLens quality="low" />2. Usage
Glass lens with chromatic edge dispersion. npx coloxo add refraction-lens copies this effect in a Tailwind project or a Coloxo CSS project, and adds @coloxo/ui to package.json. You can also import it from @coloxo/ui/visuals.
3. Performance notes
Effects render on demand and dispose their GPU context when unmounted.
- Every effect pauses when scrolled out of view or when the tab is hidden, so an idle page costs nothing.
qualitycaps the device pixel ratio. Keep it atlowwhen several effects share one viewport.- With
respectReducedMotionenabled, the effect renders a single static frame instead of animating. - The output is a decorative canvas hidden from assistive technology. Never place essential content only inside the effect.
4. Props
| Name | Type | Default | Description |
|---|---|---|---|
| magnification | number | 1.8 | Content magnification inside the lens, 0.5–4. |
| lensRadius | number | 0.6 | Lens diameter as a fraction of the container's shorter side, 0.1–1. |
| refractionStrength | number | 0.7 | How strongly the lookup is bent, 0–1. |
| chromaticAberration | number | 0.35 | Colour separation at the rim, 0–1. |
| edgeGlow | number | 0.6 | Brightness of the lit rim, 0–1. |
| tint | string | near-white | Tint multiplied over the refracted content. |
| paused | boolean | false | Render a single static frame instead of animating. |
| respectReducedMotion | boolean | true | Freeze to a static frame when prefers-reduced-motion is set. |
| quality | "low" | "medium" | "high" | medium | Caps the renderer pixel ratio. Use low for grids of many effects. |
| className / style | string / CSSProperties | — | Applied to the container element. |