Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/dev-mode-arcade/llms.txt
Use this file to discover all available pages before exploring further.
ArcadeButton is the primary interactive element across Dev Mode Arcade. It renders a motion.button styled with the VT323 pixel font, a 2px neon border, and an optional hover glow — all tuned to the arcade aesthetic. Use it anywhere you need a call-to-action, navigation trigger, or form submission that fits the retro cabinet look.
Props
The neon color variant for the button’s border, text, hover fill, and glow. Must be one of
"purple", "lime", "magenta", or "cyan". Each value maps to a matching set of Tailwind utility classes and a box-glow-{color} on hover.The visible text rendered inside the button. Automatically transformed to uppercase via
uppercase and spaced out with tracking-widest — no need to shout-case your strings, though it is encouraged for the aesthetic.When
true, applies a hover:box-glow-{color} CSS utility on hover that produces an outer and inner neon box-shadow matching the chosen color. Set to false for a subtler button in dense UI areas.Additional Tailwind or custom CSS classes to merge into the button’s class list. Appended after all base and variant classes, so your overrides win.
Any remaining props are spread directly onto the underlying
motion.button element. Use this for event handlers (onClick, onFocus), aria-* attributes, disabled, custom Framer Motion animation overrides, and more.Color Variants
Each color variant applies a coordinated set of border, text, hover background, and hover glow styles using the arcade design token palette.| Variant | Border / Text | Hover Background | Hover Glow |
|---|---|---|---|
"lime" | #39FF14 | #39FF14 | box-glow-lime |
"cyan" | #00F0FF | #00F0FF | box-glow-cyan |
"magenta" | #FF10F0 | #FF10F0 | box-glow-magenta |
"purple" | #B026FF | #B026FF | box-glow-purple |
arcade-bg (#0A0510) for maximum contrast — simulating a lit arcade button press.
Usage
Basic usage
All color variants
Passing Framer Motion props
BecauseArcadeButton accepts ...motionProps, you can supply custom animation overrides or gesture callbacks directly:
Disabled state
Framer Motion Integration
ArcadeButton is built on motion.button from Framer Motion. By default it uses:
whileHover={{ scale: 1.05 }}— slight scale-up on pointer enterwhileTap={{ scale: 0.95 }}— scale-down to simulate a physical button press
whileHover, whileTap, or other Framer Motion gesture props you pass in via ...motionProps will override these defaults, giving you full control when you need a different feel.
ArcadeButton does not wrap itself in AnimatePresence. If you need enter/exit animations tied to component mount, wrap it externally or combine it with a PageTransition.Font Requirement
ArcadeButton applies font-pixel, which maps to VT323 (Google Fonts). This font must be loaded for the arcade character style to render correctly. The project imports it at the top of assets/main.css:
Glow Utilities
The hover glow is applied via custom CSS utilities defined inassets/main.css. These are not standard Tailwind classes — they are added through the project’s custom layer:
reference/design-tokens for the full palette and reference/animations for other glow and animation utilities available in the project.
Related
CRT Overlay
The fixed scanline + vignette layer rendered above all content, including buttons.
Page Transition
Wraps page content in a CRT power-on enter/exit animation.
Design Tokens
Full arcade color palette, glow values, and Tailwind config.
Typography
VT323 pixel font and JetBrains Mono usage across the project.