TuMarca

Calendar

A date field component that allows users to enter and edit date values.

stable
Tipo: ui
Versión: 1.0.0
form interactive form input date vanilla-js

Comparación entre la versión Astro (Saastro) y React (shadcn/ui)

🚀 saastro/ui (Astro)
January 2026
⚛️ shadcn/ui (React)

Installation

npx saastro add calendar

Usage

---
import { Calendar } from "@/components/ui-saastro/calendar";
---

<Calendar class="rounded-md border" />

Props

PropTypeDefaultDescription
mode"single" | "multiple" | "range""single"Selection mode
selectedstring | string[]-Selected date(s) in ISO format
minDatestring-Minimum selectable date
maxDatestring-Maximum selectable date
weekStartsOn0 | 10Week starts on Sunday (0) or Monday (1)

Examples

Range Selection

---
import { Calendar } from "@/components/ui-saastro/calendar";
---

<Calendar mode="range" class="rounded-md border" />

With Min/Max Dates

---
import { Calendar } from "@/components/ui-saastro/calendar";

const today = new Date().toISOString().split('T')[0];
const maxDate = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString().split('T')[0];
---

<Calendar minDate={today} maxDate={maxDate} class="rounded-md border" />

Events

EventDetailDescription
change{ date: string, dates?: string[], range?: { start: string, end: string } }Fired when selection changes

Performance

Este componente Saastro usa vanilla JavaScript en lugar de React. Prueba el benchmark interactivo para comparar el rendimiento en tiempo real:

Performance Benchmark

Bundle Size

~3KB vs ~200KB

98% menos

Hydration

0ms vs --

Sin hydration

Click Response

-- vs --

Interactúa para medir

Saastro (Vanilla JS)
January 2026
shadcn (React)

Haz click en "Ejecutar Test" o interactúa con los componentes (click) para medir el rendimiento.