Command Palette

Search for a command to run...

Docs
Multi Select Calendar Card

Multi Select Calendar Card

A calendar card that allows selecting multiple dates with badge display and removal

Loading...

Installation

Usage

import { MultiSelectCalendarCard } from "@/components/ruixen/multi-select-calendar-card";
import { useState } from "react";
 
export default function App() {
  const [selectedDates, setSelectedDates] = useState<Date[]>([]);
 
  return (
    <MultiSelectCalendarCard
      selectedDates={selectedDates}
      onChange={(dates) => setSelectedDates(dates)}
      maxSelectable={5}
      label="Choose important dates"
      dateFormat="PPP"
      className="max-w-md"
    />
  );
}

Props

PropTypeDefaultDescription
selectedDatesDate[][]Currently selected dates
onChange(dates: Date[]) => void-Callback when selection changes
maxSelectablenumber-Maximum number of selectable dates
labelstring"Select Multiple Dates"Card title
dateFormatstring"PP"Date display format in badges
classNamestring-Additional CSS classes
calendarClassNamestring-Calendar-specific CSS classes

Features

  • Multiple Selection: Select multiple dates simultaneously
  • Badge Display: Selected dates shown as removable badges
  • Selection Limit: Optional maximum selection constraint
  • Easy Removal: Click X on badges to remove dates
  • Card Layout: Clean, contained design
  • Confirmation Button: Confirm selection when ready

Date Format Options

// Short format
dateFormat = "P"; // 04/29/1453
 
// Medium format
dateFormat = "PP"; // Apr 29, 1453
 
// Long format
dateFormat = "PPP"; // April 29th, 1453
 
// Full format
dateFormat = "PPPP"; // Friday, April 29th, 1453