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 HijriCalendarDemo() {
  // Shown in the Hijri calendar; the value is still an ordinary Gregorian date.
  const day = new IDate.CalendarDate(2026, 10, 14);

  return (
    <div className="flex min-h-screen w-full flex-col items-center justify-center gap-3 p-8">
      <Calendar
        label="Day of the observation"
        calendar="islamic-umalqura"
        value={day}
      />
      <p
        style={{
          margin: "0.75rem 0 0",
          color: "var(--ui-muted)",
          fontSize: "0.875rem",
          textAlign: "center",
        }}
      >
        Stored as {day.toString()}
      </p>
    </div>
  );
}

Dependencies

More by ebnsina

View all
  • Countdown Timer

    Countdown Timer

    20
  • Video Player

    Video Player

    15
  • Alarm Clock

    Alarm Clock

    15
  • Voice Note

    Voice Note

    12
  • Split Button

    Split Button

    11
  • Sortable List

    Sortable List

    10
  • Stopwatch

    Stopwatch

    5
  • Code Block

    Code Block

    5