Lab Experiment / 01
React + Tailwind CSS

Interactive Mood Calendar

A customizable calendar component with day and mood view toggles, inline mood logging, and smooth state transitions.

Calendarstable

August

Mon
Tue
Wed
Thu
Fri
Sat
Sun
Prerequisites & Install

Install the npm dependencies this component relies on.

shadcnnpx shadcn@latest init
framer-motionnpm i motion
lucide-reactnpm i lucide-react
shadcn/ui Components Needed

Built on top of these shadcn/ui primitives — add them first.

popovernpx shadcn@latest add popover select
File Structure
src/lab/experiments/mood-calendar/MoodCalendar.tsxMain calendar component + DayCell
src/components/ui/popover.tsxshadcn popover primitive
src/components/ui/select.tsxshadcn select primitive
Usage
import MoodCalendar from "@/src/lab/experiments/mood-calendar/MoodCalendar"; <MoodCalendar />
Props
NameTypeDescription
Self-contained — manages its own state internally. No external props required.

More Experiments