Month Grid With Day Detail
7ovr/calendar-1FreeBlock
Month calendar grid with previous and next navigation, a Today shortcut, selectable days, and a detail panel for the chosen day's event.
Install it
npx shadcn@latest add https://7ovr.com/r/calendar-1.jsonSource
1"use client"23import * as React from "react"4import { Badge } from "@/components/ui/badge"5import { Button } from "@/components/ui/button"6import { Separator } from "@/components/ui/separator"7import { cn } from "@/lib/utils"8import { IconPlaceholder } from "@/components/icons/icon-placeholder"910const WEEKDAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]11const MONTH_NAMES = [12 "January",13 "February",14 "March",15 "April",16 "May",17 "June",18 "July",19 "August",20 "September",21 "October",22 "November",23 "December",24]2526interface CalEvent {27 label: string28 variant: "default" | "secondary" | "outline"29 time: string30 location: string31 description: string32}3334const EVENTS: Record<string, CalEvent> = {35 "2025-5-5": {36 label: "Team sync",37 variant: "secondary",38 time: "10:00 – 10:30",39 location: "Zoom",40 description: "Weekly cross-functional sync to align on priorities.",41 },42 "2025-5-12": {43 label: "Q2 review",44 variant: "secondary",45 time: "14:00 – 15:30",46 location: "Conf room A",47 description: "Quarterly business review with leadership.",48 },49 "2025-5-17": {50 label: "Launch",51 variant: "default",52 time: "All day",53 location: "Company-wide",54 description: "Public launch of the new platform release.",55 },56 "2025-5-23": {57 label: "Design sprint",58 variant: "secondary",59 time: "11:00 – 17:00",60 location: "Studio 2",61 description: "Full-day design sprint for the onboarding flow.",62 },63 "2025-5-28": {64 label: "Board meeting",65 variant: "outline",66 time: "15:00 – 16:00",67 location: "Main boardroom",68 description: "Monthly board meeting and financial review.",69 },70 "2025-6-3": {71 label: "All-hands",72 variant: "default",73 time: "16:00 – 17:00",74 location: "Auditorium",75 description: "Company all-hands with Q3 kickoff.",76 },77 "2025-6-15": {78 label: "Offsite",79 variant: "secondary",80 time: "All day",81 location: "Lakeside resort",82 description: "Annual team offsite and strategy planning.",83 },84}8586const TODAY = { year: 2025, month: 5, day: 17 }8788function keyFor(year: number, month: number, day: number) {89 return `${year}-${month}-${day}`90}9192function buildCells(year: number, month: number): (number | null)[] {93 const leadingBlanks = new Date(year, month, 1).getDay()94 const totalDays = new Date(year, month + 1, 0).getDate()95 const cells: (number | null)[] = [96 ...Array(leadingBlanks).fill(null),97// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from 7ovr
All 241 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Mission Statement With Statsabout-1 | 7ovr | Blocks | Free | 1 dep | |
| Founder Story With Photoabout-2 | 7ovr | Blocks | Free | 1 dep | |
| Values Card Gridabout-3 | 7ovr | Blocks | Free | 1 dep | |
| Mission Vision Values Columnsabout-4 | 7ovr | Blocks | Free | 1 dep | |
| Recent Activity Cardactivity-1 | 7ovr | Blocks | Free | 1 dep | |
| Activity Grouped By Dayactivity-2 | 7ovr | Blocks | Free | 1 dep | |
| Audit Log With Icon Tilesactivity-3 | 7ovr | Blocks | Free | 1 dep | |
| Activity Tabs With Unreadactivity-4 | 7ovr | Blocks | Free | 1 dep |
