@props([ 'variant' => 'secondary', // primary | secondary | ghost | danger 'as' => 'button', // 'button' | 'a' 'disabled' => false, ]) @php // Jednolity styl przycisków dla CAŁEGO projektu. Zawsze pigułka px-5 py-2.5. $base = 'inline-flex items-center justify-center px-5 py-2.5 rounded-full font-title-sm text-title-sm transition-all'; $variants = [ 'primary' => 'bg-primary text-on-primary hover:bg-primary-container active:scale-95 shadow-card', 'secondary' => 'bg-secondary text-on-secondary hover:opacity-90 active:scale-95', 'ghost' => 'text-on-surface-variant hover:bg-surface-container', 'danger' => 'bg-error text-on-error hover:opacity-90 active:scale-95', ]; $v = $variants[$variant] ?? $variants['secondary']; $cls = $base.' '.$v.($disabled ? ' opacity-50 cursor-not-allowed pointer-events-none' : ''); @endphp @if ($as === 'a') merge(['class' => $cls]) }}>{{ $slot }} @else @endif