@props([ 'iconTrailing' => null, 'iconVariant' => 'mini', 'variant' => 'default', '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 text-zinc-400 [[data-flux-menu-item-icon]:hover_&]:text-current') // 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('flex items-center px-2 py-1.5 w-full focus:outline-hidden') ->add('rounded-md') ->add('text-left text-sm font-medium') ->add('[&[disabled]]:opacity-50') ->add(match ($variant) { 'danger' => [ 'text-zinc-800 data-active:text-red-600 data-active:bg-red-50 dark:text-white dark:data-active:bg-red-400/20 dark:data-active:text-red-400', '**:data-flux-menu-item-icon:text-zinc-400 dark:**:data-flux-menu-item-icon:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current', ], 'default' => [ 'text-zinc-800 data-active:bg-zinc-50 dark:text-white dark:data-active:bg-zinc-600', '**:data-flux-menu-item-icon:text-zinc-400 dark:**:data-flux-menu-item-icon:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current', ] }) ; $suffixClasses = Flux::classes() ->add('ml-auto text-xs text-zinc-400') ; @endphp {{ $slot }} {{ $submenu ?? '' }}