Shimmer
Utilities for adding a shimmer effect to text elements.
The shimmer utility is purely composed of CSS and is based on shadcn/shimmer. No extensions to rxconfig.py are needed as it uses Tailwind v4 syntax.
Installation
If your project was set up with buridan init, you already have shimmer. It ships with the buridan package, which the CLI imports in your global CSS file.
Otherwise install the buirdan package:
uv
You can also copy paste the shimmer source directly into your globals.css file. Make sure you also include the correct imports, such as @tailwind utilities; at the top of your CSS file.
css
Usage
Add shimmer to a text element.
reflex
The effect is pure CSS. The text is painted with background-clip: text, and the highlight sweeps across it in a seamless loop.
Note: If the shimmer utility isn't working properly, try adding w-fit to the text styling, as it ensures the animation doesn't exceed the inherit width of the text.
Color
Use shimmer-color-<color> to set the highlight color explicitly. It accepts theme colors with an optional opacity modifier, or any arbitrary color value.
Generating response
Generating response
Duration
Use shimmer-duration-<number> to set the duration of one sweep in milliseconds. The default is 2000, i.e. 2s.
Generating response...
shimmer
Generating response...
shimmer-duration-1000
Spread
Use shimmer-spread-<number> to set the width of the highlight band using the spacing scale. The default is calc(3ch + 40px): a fixed base plus a 3ch term that scales with the font size.
Generating response...
shimmer-spread-4
Generating response...
shimmer-spread-24
Angle
Use shimmer-angle-<number> to set the tilt of the highlight band in degrees. The default is 20.
Generating response...
shimmer
Generating response...
shimmer-angle-45
Reverse
Use shimmer-reverse to sweep the highlight in the opposite direction.
Generating response...
shimmer reverse
Play Once
Use shimmer-once to play a single sweep instead of looping, useful as a reveal when streaming completes. Pair it with shimmer-duration-<number> to control how long the sweep takes.
Generating response...
reflex
Disabling the Shimmer
Use shimmer-none to turn the effect off and render the text normally. It works in any class order, so the typical use is responsive or stateful.
Generating response...
shimmer md:shimmer-none