@props([
'href' => null,
'type' => 'button',
'variant' => 'primary',
'size' => 'md',
'loadingText' => 'Processando...',
'disabled' => false,
'fullWidth' => false,
])
@php
$variantClass = match ($variant) {
'secondary' => 'ui-btn-secondary',
'success' => 'ui-btn-success',
'danger' => 'ui-btn-danger',
'warning' => 'ui-btn-warning',
'info' => 'ui-btn-info',
'ghost' => 'ui-btn-ghost',
default => 'ui-btn-primary',
};
$sizeClass = match ($size) {
'sm' => 'ui-btn-sm',
'lg' => 'ui-btn-lg',
default => 'ui-btn-md',
};
$classes = [
'ui-btn',
$variantClass,
$sizeClass,
'w-full' => $fullWidth,
];
@endphp
@if ($href && !$disabled)
class($classes) }}
>
@isset($icon)
{{ $icon }}
@endisset
{{ $slot }}
@isset($trailingIcon)
{{ $trailingIcon }}
@endisset
@elseif ($href && $disabled)
class(array_merge(
$classes,
['pointer-events-none opacity-60']
)) }}
>
@isset($icon)
{{ $icon }}
@endisset
{{ $slot }}
@isset($trailingIcon)
{{ $trailingIcon }}
@endisset
@else
@endif