diff --git a/stubs/resources/views/flux/button/index.blade.php b/stubs/resources/views/flux/button/index.blade.php index c716cadb..26c8dfc8 100644 --- a/stubs/resources/views/flux/button/index.blade.php +++ b/stubs/resources/views/flux/button/index.blade.php @@ -62,7 +62,7 @@ } $classes = Flux::classes() - ->add('relative items-center font-medium justify-center gap-2 whitespace-nowrap') + ->add('relative items-center font-medium justify-center whitespace-nowrap') ->add('disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none') ->add(match ($align) { 'start' => 'justify-start', @@ -70,26 +70,34 @@ 'end' => 'justify-end', }) ->add(match ($size) { // Size... - 'base' => 'h-10 text-sm rounded-lg' . ' ' . ( + 'base' => 'h-10 text-sm rounded-lg gap-2' . ' ' . ( $square ? 'w-10' // If we have an icon, we want to reduce the padding on the side that has the icon... : ($iconLeading && $iconLeading !== '' ? 'ps-3' : 'ps-4') . ' ' . ($iconTrailing && $iconTrailing !== '' ? 'pe-3' : 'pe-4') ), - 'sm' => 'h-8 text-sm rounded-md' . ' ' . ($square ? 'w-8' : 'px-3'), - 'xs' => 'h-6 text-xs rounded-md' . ' ' . ($square ? 'w-6' : 'px-2'), + 'sm' => 'h-8 text-sm rounded-md gap-2' . ' ' . ( + $square + ? 'w-8' + : ($iconLeading && $iconLeading !== '' ? 'ps-2' : 'ps-3') . ' ' . ($iconTrailing && $iconTrailing !== '' ? 'pe-2' : 'pe-3') + ), + 'xs' => 'h-6 text-xs rounded-md gap-1' . ' ' . ( + $square + ? 'w-6' + : ($iconLeading && $iconLeading !== '' ? 'ps-1' : 'ps-2') . ' ' . ($iconTrailing && $iconTrailing !== '' ? 'pe-1' : 'pe-2') + ), }) ->add('inline-flex') // Buttons are inline by default but links are blocks, so inline-flex is needed here to ensure link-buttons are displayed the same as buttons... ->add($inset ? match ($size) { // Inset... 'base' => $square ? Flux::applyInset($inset, top: '-mt-2.5', right: '-me-2.5', bottom: '-mb-2.5', left: '-ms-2.5') - : Flux::applyInset($inset, top: '-mt-2.5', right: '-me-4', bottom: '-mb-3', left: '-ms-4'), + : Flux::applyInset($inset, top: '-mt-2.5', right: ($iconTrailing && $iconTrailing !== '' ? '-me-3' : '-me-4'), bottom: '-mb-3', left: ($iconLeading && $iconLeading !== '' ? '-ms-3' : '-ms-4')), 'sm' => $square ? Flux::applyInset($inset, top: '-mt-1.5', right: '-me-1.5', bottom: '-mb-1.5', left: '-ms-1.5') - : Flux::applyInset($inset, top: '-mt-1.5', right: '-me-3', bottom: '-mb-1.5', left: '-ms-3'), + : Flux::applyInset($inset, top: '-mt-1.5', right: ($iconTrailing && $iconTrailing !== '' ? '-me-2' : '-me-3'), bottom: '-mb-1.5', left: ($iconLeading && $iconLeading !== '' ? '-ms-2' : '-ms-3')), 'xs' => $square ? Flux::applyInset($inset, top: '-mt-1', right: '-me-1', bottom: '-mb-1', left: '-ms-1') - : Flux::applyInset($inset, top: '-mt-1', right: '-me-2', bottom: '-mb-1', left: '-ms-2'), + : Flux::applyInset($inset, top: '-mt-1', right: ($iconTrailing && $iconTrailing !== '' ? '-me-1' : '-me-2'), bottom: '-mb-1', left: ($iconLeading && $iconLeading !== '' ? '-ms-1' : '-ms-2')), } : '') ->add(match ($variant) { // Background color... 'primary' => 'bg-[var(--color-accent)] hover:bg-[color-mix(in_oklab,_var(--color-accent),_transparent_10%)]',