{{--
    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 }}</{{ $qvtTag }}>
@else
<{{ $qvtTag }} {{ $attributes->class(['qv-etitle-static', 'is-auto' => $qvtValue === '']) }}>{{ $qvtDisplay }}</{{ $qvtTag }}>
@endif
