@props([ 'iconVariant' => 'mini', 'iconTrailing' => null, 'variant' => 'default', 'disabled' => false, 'indent' => false, 'suffix' => null, 'value' => null, 'icon' => null, 'kbd' => null, ]) @php if ($kbd) $suffix = $kbd; $iconClasses = Flux::classes() ->add('mr-2') // When using the outline icon variant, we need to size it down to match the default icon sizes... ->add($iconVariant === 'outline' ? 'size-5' : null) ; $trailingIconClasses = Flux::classes() ->add('ml-auto') // When using the outline icon variant, we need to size it down to match the default icon sizes... ->add($iconVariant === 'outline' ? 'size-5' : null) ; $classes = Flux::classes() ->add('group flex items-center px-2 py-2 lg:py-1.5 w-full') ->add('rounded-md') ->add('text-left text-sm font-medium') ->add(match ($variant) { 'danger' => [ 'text-zinc-800 hover:text-red-600 hover:bg-red-50 dark:text-white dark:hover:bg-red-400/20 dark:hover:text-red-400', '**:data-navmenu-icon:text-zinc-400 dark:**:data-navmenu-icon:text-white/60 [&:hover_[data-navmenu-icon]]:text-current', ], 'default' => [ 'text-zinc-800 hover:bg-zinc-50 dark:text-white dark:hover:bg-zinc-600', '**:data-navmenu-icon:text-zinc-400 dark:**:data-navmenu-icon:text-white/60 [&:hover_[data-navmenu-icon]]:text-current', ] }) ->add($disabled ? 'text-zinc-400' : '') ; @endphp {{ $slot }}