{{-- Quick-view başlığı — tek ortak "tıkla-düzenle" kalıbı. Her quick-view kartı başlığını bu bileşenle çizer; davranış TEK yerde tanımlıdır (components/quick-view-drawer.blade.php → "QUICK-VIEW BAŞLIK DÜZENLEME"), kart yalnızca prop verir. Modül tarafında JS yazılmaz. Sözleşme: field zorunlu — güncellenecek kolon adı url PATCH uç noktası (…/update-field). Sunucudaki updateField beyaz listesinde bu alan OLMALI. target url yerine kullanılır: aynı kart içindeki bir form alanının CSS seçicisi (ör. "#qc-title"). Başlık düzenlenince değer o alana yazılır ve input/change olayları tetiklenir — kartın kendi otomatik kaydı gönderir. Kendi otomatik kaydı olan kartlarda (satış quick-create, ödeme) çift kayıt/çakışma böyle önlenir. value kayıtlı ham değer (boş olabilir) auto değer boşken gösterilecek üretilmiş ad (soluk görünür, kaydedilmez) required true ise boş bırakılamaz (boş bırakılırsa eski değere dönülür) placeholder düzenleme kutusundaki ipucu (varsayılan: auto) maxlength varsayılan 190 tag sarmalayıcı etiket (varsayılan span; kendi header'ını çizen kartlarda h3) url ve target'ın ikisi de verilmezse başlık düz metin olarak çizilir (salt okunur). --}} @props([ 'field' => null, 'url' => null, 'target' => null, 'value' => null, 'auto' => null, 'required' => false, 'placeholder' => null, 'maxlength' => 190, 'tag' => 'span', ]) @php $qvtValue = trim((string) $value); $qvtAuto = trim((string) $auto); $qvtDisplay = $qvtValue !== '' ? $qvtValue : $qvtAuto; $qvtPlaceholder = $placeholder ?: ($qvtAuto !== '' ? $qvtAuto : 'Bir başlık yazın…'); $qvtHint = $qvtValue !== '' ? 'Başlığı düzenlemek için tıklayın' : 'Başlık eklemek için tıklayın'; $qvtTag = preg_match('/^[a-zA-Z0-9]+$/', (string) $tag) ? $tag : 'span'; $qvtEditable = $field && ($url || $target); @endphp @if($qvtEditable) <{{ $qvtTag }} {{ $attributes->class(['qv-etitle', 'is-auto' => $qvtValue === '']) }} data-qv-title data-field="{{ $field }}" @if($url) data-url="{{ $url }}" @endif @if($target) data-target="{{ $target }}" @endif data-value="{{ $qvtValue }}" data-auto="{{ $qvtAuto }}" data-placeholder="{{ $qvtPlaceholder }}" data-maxlength="{{ (int) $maxlength }}" @if($required) data-required="1" @endif role="button" tabindex="0" aria-label="Başlık — düzenlemek için Enter" title="{{ $qvtHint }}">{{ $qvtDisplay }} @else <{{ $qvtTag }} {{ $attributes->class(['qv-etitle-static', 'is-auto' => $qvtValue === '']) }}>{{ $qvtDisplay }} @endif