A Memphis-style card component with pin and tilt animation variants for creating engaging content containers.
Clean and modular design
Perfect for building complex components with Memphis styling.
With colored shadow
Add personality with vibrant shadow colors.
Professional look
Great for business applications.
With push pin decoration
Perfect for notices and highlighted content.
Custom pin color
Customize the pin color to match your theme.
Success state
Great for completed tasks or success messages.
Hover for animation
Starts tilted and straightens on hover with scale effect.
Playful animation
Perfect for creative interfaces with personality.
Attention-grabbing
Great for featured content or call-to-action cards.
Get in touch with us
Memphis Design Kit
Features:
Install the Card component using the shadcn CLI:
npx shadcn@latest add https://memphi.dev/r/card.json
Prerequisites: Make sure you have completed the installation setup before adding components.
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle
} from "@/components/memphi/card"
export default function Example() {
return (
<Card>
<CardHeader>
<CardTitle>Card Title</CardTitle>
<CardDescription>Card description goes here</CardDescription>
// ... (click expand to see more)
Prop | Type | Default | Description |
---|---|---|---|
variant | "default" | "pin" | "tilt" | "default" | The visual style variant |
shadowColor | "default" | "red" | "blue" | "green" | "yellow" | "purple" | "default" | The color of the card shadow |
pinColor | string | "oklch(0.7 0.2 27.3)" | Color of the push pin (pin variant only) |
className | string | - | Additional CSS classes |
Note: The Card component extends all standard HTML div attributes and includes sub-components: CardHeader, CardTitle, CardDescription, CardContent, and CardFooter.
import * as React from "react"
import { cva, type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
const cardVariants = cva(
[
// Base styles
"bg-white border-2 border-black rounded-lg p-6",
"transition-all duration-300 ease-in-out",
"shadow-[4px_4px_0px_0px_rgba(0,0,0,1)]",
],
{
variants: {
variant: {
default: "",
// ... (click expand to see more)
Make sure you have the required dependencies installed:
npm install class-variance-authority clsx tailwind-merge