{{--
Secondary Button Component
Usage:
Cancel
Small Button
Large Button
Disabled Button
Link Button
--}}
@props([
'type' => 'button',
'size' => 'md',
'href' => null,
])
@php
// Using semantic color tokens for secondary action
$baseClasses = 'inline-flex items-center justify-center border border-neutral-300 rounded-md font-medium text-neutral-700 bg-white hover:bg-neutral-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500 transition-colors duration-200 ease-in-out dark:bg-neutral-800 dark:border-neutral-600 dark:text-neutral-200 dark:hover:bg-neutral-700 dark:focus:ring-primary-400 disabled:opacity-50 disabled:cursor-not-allowed';
$sizes = [
'sm' => 'px-3 py-1.5 text-xs',
'md' => 'px-4 py-2 text-sm',
'lg' => 'px-5 py-2.5 text-base'
];
$sizeClasses = $sizes[$size] ?? $sizes['md'];
$classes = $baseClasses . ' ' . $sizeClasses;
@endphp
@if ($href)
except(['type'])->merge(['class' => $classes]) }}>
{{ $slot }}
@else
@endif