بازه‌ی تاریخ شمسی

date-range-pickerکامپوننت

بازه‌ی تاریخ شمسی با دو ماه کنار هم، پیش‌نمایش بازه با هاور، بازه‌های آماده مثل «۷ روز گذشته» و شمارش روزها.

شهریور ۱۴۰۵
مهر ۱۴۰۵

۱۴ روز

نصب

  1. با CLI

    اگر هنوز init نکردید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور کامپوننت و وابستگی‌هاش را می‌نویسه.

    $ npx vibefarsi add date-range-picker
  2. نصب دستی

    محتوای تب «کد» را در components/ui/date-range-picker.tsx بگذارید.

    $ npm i lucide-react
    کپی کل فایلregistry json

استفاده

usage.tsx
1import { DateRangePicker, RangeCalendar, formatJalaliRange } from "@/components/ui/date-range-picker"23<DateRangePicker onChange={(r) => r.from && r.to && load(r)} min={new Date()} />45// تقویم بدون فیلد:6<RangeCalendar months={2} defaultValue={{ from, to }} />

پراپ‌ها

پراپنوعپیش‌فرضتوضیح
value / defaultValue{ from: Date | null; to: Date | null }-دو سر بازه با Date معمولی. اگر پایان قبل از شروع انتخاب بشه، جابه‌جا میشن.
months1 | 2۲ در فیلد، ۱ در تقویمتعداد ماه‌های کنار هم. زیر ۶۴۰ پیکسل زیر هم میرن.
presetsRangePreset[]defaultRangePresetsچیپ‌های بالای تقویم. برای حذف [] بدید.
min / maxDate-روزهای خارج از بازه غیرفعال میشن.

نکته‌های راست‌چین

  • نوار بین دو سر بازه با rounded-s و rounded-e گرد میشه، نه left و right، چون هفته از راست به چپ میره.
  • نمایش متنی بازه کوتاه میشه، مثل «۱۲ تا ۲۵ مهر ۱۴۰۵»، و فقط وقتی سال فرق کنه سال هر دو سر می‌آد.