MouseEffectCard
An interactive card with mouse-tracking spotlight effects and background patterns.
Loading...
Installation
pnpm add @corew500/uiUsage
import { MouseEffectCard, MouseEffectCardContent } from "@corew500/ui/mouse-effect-card"
<MouseEffectCard>
<MouseEffectCardContent>
<h3>Interactive Card</h3>
<p>Move your mouse over this card to see the spotlight effect</p>
</MouseEffectCardContent>
</MouseEffectCard>Background Patterns
Add visual interest with dot or grid patterns.
{/* Dot pattern (default) */}
<MouseEffectCard pattern="dots">
<MouseEffectCardContent>Content</MouseEffectCardContent>
</MouseEffectCard>
{/* Grid pattern */}
<MouseEffectCard pattern="grid">
<MouseEffectCardContent>Content</MouseEffectCardContent>
</MouseEffectCard>
{/* No pattern */}
<MouseEffectCard pattern="none">
<MouseEffectCardContent>Content</MouseEffectCardContent>
</MouseEffectCard>Variants
{/* Default */}
<MouseEffectCard variant="default">
<MouseEffectCardContent>Default variant</MouseEffectCardContent>
</MouseEffectCard>
{/* Primary */}
<MouseEffectCard variant="primary">
<MouseEffectCardContent>Primary variant</MouseEffectCardContent>
</MouseEffectCard>
{/* Secondary */}
<MouseEffectCard variant="secondary">
<MouseEffectCardContent>Secondary variant</MouseEffectCardContent>
</MouseEffectCard>Spotlight Size
Control the size of the mouse spotlight effect.
<MouseEffectCard spotlightSize="sm">
{/* Small spotlight */}
</MouseEffectCard>
<MouseEffectCard spotlightSize="default">
{/* Default spotlight */}
</MouseEffectCard>
<MouseEffectCard spotlightSize="lg">
{/* Large spotlight */}
</MouseEffectCard>Sizes
<MouseEffectCard size="sm">
{/* Small padding */}
</MouseEffectCard>
<MouseEffectCard size="default">
{/* Default padding */}
</MouseEffectCard>
<MouseEffectCard size="lg">
{/* Large padding */}
</MouseEffectCard>Disabled State
Turn off the mouse effect.
<MouseEffectCard disabled>
<MouseEffectCardContent>
No mouse effect
</MouseEffectCardContent>
</MouseEffectCard>Complete Example
import { MouseEffectCard, MouseEffectCardContent } from "@corew500/ui/mouse-effect-card"
import { Button } from "@corew500/ui/button"
function FeatureCard({ feature }) {
return (
<MouseEffectCard variant="primary" pattern="dots">
<MouseEffectCardContent>
<feature.icon className="h-12 w-12 mb-4 text-primary" />
<h3 className="text-xl font-semibold mb-2">{feature.title}</h3>
<p className="text-muted-foreground mb-4">{feature.description}</p>
<Button variant="outline" size="sm">
Learn More
</Button>
</MouseEffectCardContent>
</MouseEffectCard>
)
}
function FeaturesGrid() {
return (
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
{features.map((feature) => (
<FeatureCard key={feature.id} feature={feature} />
))}
</div>
)
}API Reference
MouseEffectCard
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| pattern | enum | dots | Background pattern type |
| spotlightSize | enum | default | Spotlight size |
| disabled | enum | false | Disable the mouse effect |
| variant | enum | — | — |
| size | enum | — | — |
Accessibility
Keyboard Navigation
- Content remains fully accessible to keyboard and screen reader users
Additional
- - Mouse effect is purely decorative and doesn't affect accessibility
- Effect respects prefers-reduced-motion user preference
Localization
Translatable Content
- - Pass translated content to child components
- No built-in text content requiring localization
MouseEffectCardContent
No documentation found for MouseEffectCardContent. Run pnpm generate:props to generate.