@props([ 'value' => null, 'context' => 'list', 'format' => null, 'precision' => 'date', 'formatted' => null, 'icon' => false, ]) @php $finance = app(\Kview\Visualization\FinanceFormatter::class); $preferences = app(\Kview\Visualization\Contracts\DisplayPreferences::class); $context = in_array($context, ['list', 'detail'], true) ? $context : 'list'; $precision = in_array($precision, ['date', 'quarter', 'year'], true) ? $precision : 'date'; $resolvedFormat = $format ?: ($context === 'detail' ? $preferences->viewDateFormat() : $preferences->listDateFormat()); $displayValue = $formatted ?? match ($precision) { 'quarter' => $finance->quarter($value), 'year' => $finance->year($value), default => $finance->date($value, $resolvedFormat), }; try { $machineValue = filled($value) ? ($value instanceof \Carbon\CarbonInterface ? $value : \Carbon\Carbon::parse($value))->toDateString() : null; } catch (\Throwable) { $machineValue = null; } @endphp