ebnsina

Calendar

Component

About

An accessible single-date or date-range picker grid with keyboard navigation, min/max limits, unavailable-day blocking, multi-month layouts, and support for non-Gregorian calendar systems like Hijri or Bangla.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Calendar to your project and fits it to your theme.

Code

How Calendar is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

"use client";

import * as React from "react";
import * as IDate from "@internationalized/date";
import Calendar from "@/components/ui/calendar";

export default function CalendarDemo() {
  // Fridays are for prayer and rest: no lectures.
  const closed = (d: IDate.CalendarDate) => d.toDate("UTC").getUTCDay() === 5;

  return (
    <div className="flex min-h-screen w-full items-center justify-center p-8">
      <Calendar
        label="Lecture day"
        value={new IDate.CalendarDate(2026, 10, 14)}
        isUnavailable={closed}
      />
    </div>
  );
}

Dependencies

More by ebnsina

View all
  • Countdown Timer

    Countdown Timer

    19
  • Video Player

    Video Player

    15
  • Alarm Clock

    Alarm Clock

    14
  • Voice Note

    Voice Note

    12
  • Split Button

    Split Button

    10
  • Sortable List

    Sortable List

    9
  • Stopwatch

    Stopwatch

    5
  • Code Block

    Code Block

    4