Sitewright

Glass button

A pill button of liquid glass: the rim catches light, caustics flow through it and a click sends a ripple.

What it is for

Primary call to action on a rich or photographic background; round icon buttons.

Frosted CSS glass without WebGL.

Use it

1 · site.json
"effects": { "components": ["glass-button"] }
or on the command line
node ~/.claude/skills/sitewright/scripts/scaffold.mjs --config site.json --out ./my-site --components glass-button
2 · import it
import { GlassButton } from '@/components/fx/ui';

Files

  • components/fx/ui/GlassButton.tsx
  • components/fx/ui/_tg-engine.ts
  • components/fx/ui/_tg-use.ts
  • components/fx/ui/_tg-stage.tsx
  • components/fx/ui/LICENSE-tactile-glass.txt
  • ui-glass-base.css styles
  • ui-glass-button.css styles

Source

Idea from Tactile Glass UI; the code is written for this kit.

Credits and licences: third-party notices.

Accessibility

  • Keyboard. Components in the kit are written to be reached and used with the keyboard. Try it: press Tab inside the preview.
  • Reduced motion. With prefers-reduced-motion on, animation settles to its finished state at once.
  • Touch. Pointer-follow effects are skipped on touch screens; controls stay finger-sized.