@props([ 'name' => 'date', 'id' => 'date', 'value' => '', 'required' => false, 'error' => null, 'label' => 'Date', 'minYear' => null, 'maxYear' => null, 'minAge' => null, 'maxAge' => null ]) @php $currentYear = date('Y'); // Calculate year range - support both direct year values and age-based calculation if ($minYear !== null && $maxYear !== null) { // Direct year range specified $startYear = $maxYear; $endYear = $minYear; } elseif ($minAge !== null && $maxAge !== null) { // Age-based calculation (for birthdates) $startYear = $currentYear - $minAge; $endYear = $currentYear - $maxAge; } else { // Default: current year to 100 years ago $startYear = $currentYear; $endYear = $currentYear - 100; } // Parse existing value $selectedDay = ''; $selectedMonth = ''; $selectedYear = ''; if ($value) { $parts = explode('-', $value); if (count($parts) === 3) { $selectedYear = $parts[0]; $selectedMonth = $parts[1]; $selectedDay = $parts[2]; } } @endphp