TR
Başlangıç
61 · Formlar

Tarih seçici

Tarayıcının kendi tarih ve saat seçicisini panel stiliyle gösterir. acun:input üzerine kurulduğu için etiket, ipucu ve hata gösterimi aynıdır. Tarih aralığı seçmek için flatpickr tabanlı uiDateRangePicker kullanılır.

PRO acun:date-picker
01

Temel kullanım

Varsayılan tür date'tir. value her zaman YYYY-MM-DD biçiminde verilir; ekranda ise kullanıcının tarayıcı diline göre gösterilir (Türkçede 07.10.2026).

CANLI ÖRNEK
<acun:date-picker name="teslimat_tarihi" label="Teslimat tarihi" value="2026-10-07" hint="Müşteriye e-postayla bildirilen gün." />
PropDeğerler
valueYYYY-MM-DD
label, hintacun:input ile aynı
02

Türler

type ile tarih ve saat, yalnızca saat ya da ay seçimi yapılabilir. Her türün value biçimi farklıdır; aşağıdaki tabloya bakın.

CANLI ÖRNEK
<acun:date-picker name="gun" label="Gün" value="2026-10-07" />
<acun:date-picker name="randevu" type="datetime-local" label="Randevu" value="2026-10-07T09:30" />
<acun:date-picker name="saat" type="time" label="Saat" value="09:30" />
<acun:date-picker name="donem" type="month" label="Dönem" value="2026-10" />
PropDeğerler
typedate | datetime-local | time | month
valueYYYY-MM-DD · YYYY-MM-DDTHH:MM · HH:MM · YYYY-MM
03

En erken ve en geç tarih

min ve max nitelikleri doğrudan alana geçer; tarayıcı bu aralığın dışındaki günleri seçtirmez. Değerler value ile aynı biçimde yazılır.

CANLI ÖRNEK
<acun:date-picker name="ekim_teslim" label="Teslim tarihi" min="2026-10-01" max="2026-10-31" hint="Yalnızca Ekim 2026 içinden bir gün." />
PropDeğerler
minSeçilebilecek ilk değer
maxSeçilebilecek son değer
04

Tarih aralığı

Başlangıç ve bitiş gününü tek alanda seçtirmek için alanı uiDateRangePicker Alpine bileşeniyle sarın ve alana x-ref="input" verin. Alan tarihleri gg.aa.yyyy gösterir; geniş ekranda iki ay yan yana açılır. Her iki gün seçildiğinde date-range-picked olayı { start, end } (Y-m-d) ile yayınlanır; Livewire olmayan sayfalarda seçimi bu olayla alın. Takvimden iki gün seçerek deneyin.

CANLI ÖRNEK
<div x-data="{ aralik: null }" x-on:date-range-picked="aralik = $event.detail" class="space-y-2">
    <div x-data="uiDateRangePicker()">
        <acun:input x-ref="input" label="Rapor dönemi" readonly />
    </div>
    <p class="text-sm text-gray-600 dark:text-zinc-400" x-text="aralik ? 'Seçilen aralık: ' + aralik.start + ' – ' + aralik.end : 'Bir başlangıç ve bir bitiş günü seçin.'"></p>
</div>
PropDeğerler
date-range-pickedAralık tamamlanınca yayınlanan olay: { start, end }
05

Livewire ile

Livewire bileşeni içinde seçilen aralık ayrıca bileşenin startDate ve endDate özelliklerine Y-m-d biçiminde yazılır. Başlangıçta seçili aralığı aynı özelliklerden verin; kapsayıcıya wire:ignore ekleyerek Livewire güncellemelerinin takvimi bozmasını önleyin.

BLADE
{{-- Livewire bileşeninde: public ?string $startDate = null; public ?string $endDate = null; --}}
<div wire:ignore x-data="uiDateRangePicker({ startDate: @js($startDate), endDate: @js($endDate) })">
    <acun:input x-ref="input" label="Rapor dönemi" readonly />
</div>
PropDeğerler
startDate, endDateBaşlangıçta seçili aralık (Y-m-d)
06

Aralık seçenekleri

Varsayılan olarak her gün seçilebilir; rezervasyon gibi yalnızca ileri tarihlerin seçilmesi gereken yerlerde minDate: 'today' verin. disabledRanges seçilemeyecek günleri belirler. Livewire'da değerlerin yazılacağı özellik adlarını startProperty / endProperty ile değiştirebilirsiniz.

BLADE
<div wire:ignore x-data="uiDateRangePicker({
    startDate: @js($baslangic),
    endDate: @js($bitis),
    minDate: 'today',
    disabledRanges: [{ from: '2026-12-25', to: '2027-01-01' }],
    startProperty: 'baslangic',
    endProperty: 'bitis',
})">
    <acun:input x-ref="input" label="İzin dönemi" readonly />
</div>
PropDeğerler
minDate'today' | null | 'YYYY-MM-DD'
disabledRangesKapalı günler: tarihler ya da { from, to } aralıkları
startProperty, endPropertyYazılacak özellikler ('startDate', 'endDate')
07

Kurulum

flatpickr pakete dahil değildir; uygulamanızda kurup, PRO JS girişi @acunsoft/acun-ui-pro (CSS, JavaScript ve derleme kılavuzundaki Vite takma adı) üzerinden Türkçe diliyle birlikte registerDateRangePicker'a verin. Livewire kullanmayan sayfalarda aynı satırı alpine:init olayında çalıştırın.

JS
import flatpickr from 'flatpickr';
import { Turkish } from 'flatpickr/dist/l10n/tr.js';
import 'flatpickr/dist/flatpickr.min.css';
import { registerDateRangePicker } from '@acunsoft/acun-ui-pro';

document.addEventListener('livewire:init', () => registerDateRangePicker(Alpine, flatpickr, Turkish));
API

Prop'lar ve slot'lar

Bileşenin kabul ettiği değerler.

PropVarsayılanAçıklama
labelnullAlanın üstündeki etiket
namenullAlan adı; yoksa wire:model değeri
hintnullAlttaki yardım metni
typedatedate · datetime-local · time · month
uiDateRangePicker: startDate, endDate''Başlangıçta seçili aralık (Y-m-d)
uiDateRangePicker: minDatenullSeçilebilecek ilk gün; 'today' geçmiş günleri kapatır
uiDateRangePicker: disabledRanges[]Seçilemeyen günler (flatpickr disable biçimi)
uiDateRangePicker: startProperty, endProperty'startDate', 'endDate'Livewire bileşeninde seçimin yazıldığı özellikler
uiDateRangePicker: date-range-picked — Aralık tamamlanınca yayınlanan olay; detail: { start, end } (Y-m-d)
Slot'lar: value, min, max, required, disabled gibi nitelikler acun:input üzerinden alana eklenir.
Acun UI · Tarih seçiciDetaylı kullanım ve örnekler