Bunting
Markup where the component goes, CSS in your stylesheet. No JavaScript.
HTML
CSS
Paste into Claude, ChatGPT or Cursor after filling in {{USER_STACK}}, {{USER_STYLING}} and {{USER_CONSTRAINTS}}. Neutral keeps the greys you see here; Match my project asks the model to map them onto your own colour tokens.
Install with shadcn
Needs a free account token. Get a token
npx shadcn@latest add @movin/loader-buntingAbout this component
LOADING on a string of pennants. A breeze runs along the line and each flag lifts, flips back and settles in turn.
- Dependencies
- None
- Difficulty
- Intermediate
- Reduced motion
- Respected
- Theme
- Light and dark
- Follows page color-scheme
Triggers4
- Continuous
- Loop
- Delay stagger
- 3D
Techniques6
- Keyframes
- clip-path
- CSS variables
- Perspective
- 3D transform
- Stagger
Accessibility
Keyboard and screen readers
The root has role="status" and aria-label="Loading"; the drawing inside it is aria-hidden. The letters are aria-hidden too, so the word is not read out twice.
Reduced motion
The flags hang still.
Use it in anything you build, commercial and client work included. Licence