DatePicker

Yazılabilen bir tarih alanı; yanındaki buton Calendar'ı bir popover içinde açar. Yazılan metin locale'in sayısal sırasıyla (tr-TR için 30.09.2026, en-US için 09/30/2026) ya da ISO biçiminde (2026-09-30) okunur.

KararlıKaynak kod

GG.AA.YYYY biçiminde yaz ya da takvimden seç.

değer: null

Import

import { DatePicker } from "@meridui/react";

Örnekler

Aralık

mode="range" bir başlangıç ve bir bitiş alanı render'lar. İki gün de seçilince takvim kapanır.

En erken, en geç ve devre dışı günler

Sınırların dışında yazılan tarihler reddedilir ve alan son geçerli değere döner.

Yalnızca hafta içi, bugünden itibaren.

Boyutlar ve durumlar

Formda

name verildiğinde gizli bir input yyyy-mm-dd gönderir. Aralık iki değeri name[] altında gönderir. toISODate(date) aynı string'i verir.

API referansı

Bir div render'lar; diğer div attribute'ları ve ref ona gider. aria-label / aria-labelledby metin alanına ad verir. Bir Field içinde (ilk) alan id'yi, açıklamayı, hatayı, required ve disabled'ı alır.

PropTipVarsayılanAçıklama
mode"single" | "range""single"Tek gün ya da başlangıç ve bitiş günü.
value / defaultValueDate | null | DateRange–Controlled ya da başlangıç seçimi.
onValueChange(value) => void–Yeni gün (ya da aralık) ile çağrılır; alan temizlenince null.
localestring"en-US"Takvim adları, hafta başı ve yazılan sayısal biçim. Türkçe arayüzde "tr-TR".
min / maxDate–Seçilebilen en erken ve en geç gün.
isDateDisabled(date: Date) => boolean–Tek tek günleri kullanılamaz işaretler.
weekStartsOn0 – 6–Takvimin ilk kolonu. Varsayılanı locale'in hafta başı.
open / onOpenChangeboolean / (open) => void–Takvimin controlled açık state'i.
placeholderstringlocale deseni, ör. MM/DD/YYYYMetin alan(lar)ının placeholder'ı. Türkçe arayüzde "GG.AA.YYYY".
calendarLabelstring"Choose date"Takvim butonunun erişilebilir adı. Türkçe arayüzde "Tarih seç".
dialogLabelstringcalendarLabelTakvim dialog'unun erişilebilir adı.
previousMonthLabel / nextMonthLabelstring"Previous month" / "Next month"Takvimdeki ay butonlarının adları.
startLabel / endLabelstring"Start date" / "End date"Yalnızca aralık: iki alanın adları.
size"sm" | "md" | "lg""md"Alanın yüksekliği.
invalid / disabled / requiredboolean–Durumlar; Field içinde ondan gelir.
namestring–yyyy-mm-dd taşıyan gizli input; aralık name[] ile iki kez gönderir.
iconReactNode–Takvim butonundaki ikon.
inputIdstring–(İlk) metin alanının id'si.

Stil verme

SınıfEleman
.mrd-date-pickerKök (data-size, data-mode, data-invalid, data-disabled)
.mrd-date-picker__fieldKenarlıklı alan
.mrd-date-picker__input, .mrd-date-picker__separatorMetin alan(lar)ı ve aralık tiresi
.mrd-date-picker__triggerTakvim butonu (data-state)
.mrd-date-picker__contentTakvimi tutan popover

Erişilebilirlik

Asıl girdi metin alanıdır; takvim butonu (aria-haspopup="dialog") seçili güne focus veren, modal olmayan bir dialog açar. Gün seçmek ya da Escape dialog'u kapatır ve focus'u butona döndürür. Grid içindeki tuşlar için Calendar sayfasına bak.

TuşNe yapar
AltArrowDownMetin alanında: takvimi açar.
EnterMetin alanında: yazılan tarihi okur. Takvimde: focus'taki günü seçer.
EscapeTakvimi kapatır, focus'u butona döndürür.

İlgili sayfalar

  • Calendar — satır içi grid.
  • Field — bir kontrolün etrafında etiket, yardım metni ve hata.