Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/groovy/llms.txt
Use this file to discover all available pages before exploring further.
WallPoster mimics a hand-printed poster tacked to a wall at a jaunty angle. In its thumbnail state it is a compact 256×320 px card rendered at a custom rotation with vivid corner-blur accents in magenta, teal, yellow, and sky blue. Clicking the thumbnail triggers a Framer Motion layoutId shared-element transition: the card smoothly morphs into a full-screen modal overlaid on a semi-transparent backdrop, complete with a cream-paper texture background, extended prose content, and a pre-formatted Groovy Results bullet list.
Props
The large headline text printed across the top of the poster, both in thumbnail and modal states.
A secondary line displayed beneath the title — used for a project category, client name, or punchy tagline.
A brief intro string passed into the modal body as a lead paragraph. It appears in the expanded modal before the hard-coded extended paragraph and Groovy Results bullet list. It is not rendered on the thumbnail.
The dominant background colour of the poster (e.g.
"#f59e0b"). Applied to both the thumbnail and the modal header band.The CSS rotation in degrees applied to the thumbnail card (e.g.
-3 for a slight counter-clockwise tilt). The modal always renders at rotate: 0.Animation Model
WallPoster uses Framer Motion’s layoutId API to create a seamless shared-element transition between thumbnail and modal:
- Thumbnail — A
motion.divwith the sharedlayoutId. Therotationprop is applied as an initial CSS transform. - Modal — When clicked,
isOpenstate is set totrueandAnimatePresencemounts a secondmotion.divwith the samelayoutId. Framer Motion automatically interpolates position, size, and border-radius between the two elements. - Close — Clicking the × button or the backdrop overlay sets
isOpenback tofalse, triggering the reverse transition.
The extended paragraph and Groovy Results bullet list inside the modal are hard-coded directly in
WallPoster.js — they are not driven by props. The content prop provides only the brief lead paragraph at the top of the modal body. To change the extended prose or the results bullets, edit the component source directly.Corner Blurs
The four decorative corner blurs on the thumbnail are absolutely-positioneddiv elements with blur-xl and fixed accent colours:
| Corner | Colour class |
|---|---|
| Top-left | bg-fuchsia-400 (magenta) |
| Top-right | bg-teal-400 |
| Bottom-left | bg-yellow-400 |
| Bottom-right | bg-sky-400 |