Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/y2k-webring/llms.txt
Use this file to discover all available pages before exploring further.
ChunkyButton is the primary interactive element of the Y2K Webring portfolio. It renders a thick-bordered, fully-uppercase button (or anchor link) that communicates its clickability through a neon border-chunky-{color} frame, an inverted hover fill, and subtle Framer Motion scale animations on both hover and tap. Use it for CTAs, navigation links, form submits, and any action that should feel deliberately, defiantly Y2K.
Props
The button label content. Any valid JSX is accepted, though plain text is
the most common value given the
uppercase styling.Sets the border color, text color at rest, and fill color on hover. Accepts
"magenta", "lime", or "cyan" — the same three palette values used
across the Y2K component suite. Resolves to border-chunky-{color} and
text-y2k-{color} / hover:bg-y2k-{color}.Controls padding and font size. See the Size Variants table
for exact Tailwind class values.
Switches the underlying element between a
motion.button and a motion.a.
Pass as="a" together with an href prop to render a styled anchor link
instead of a form button.Extra class names merged onto the element. Useful for adding
w-full or
custom margin/grid placement from a parent layout.All additional props are spread directly onto the underlying
motion.button
or motion.a element. This means standard attributes like onClick,
disabled, href, target, aria-label, and type all work as expected.Size Variants
size | Tailwind classes | Typical use |
|---|---|---|
"sm" | px-3 py-1 text-sm | Secondary actions, inline tags |
"md" (default) | px-5 py-2 text-base | Standard buttons and nav links |
"lg" | px-8 py-3 text-lg font-bold | Hero CTAs, primary page actions |
Usage Examples
Interaction
ChunkyButton uses Framer Motion’s whileHover and whileTap gesture props so the scale response is driven by the animation engine rather than a CSS transform, keeping it in sync with any parent layout animations:
| Gesture | Transform |
|---|---|
whileHover | scale: 1.02 — a gentle grow that confirms the element is interactive |
whileTap | scale: 0.98 — a brief press-down that mimics physical button feedback |
transition-colors duration-200 swap inverts the color scheme on hover:
- Rest:
bg-y2k-blackbackground,text-y2k-{color}label. - Hover:
hover:bg-y2k-{color}fill,hover:text-y2k-blacklabel — a full inversion that makes the neon color flood the button.
The
transition-colors CSS transition and Framer Motion whileHover scale
run concurrently and do not conflict. The color swap is handled by CSS while
the scale is driven by Framer Motion.