Customize Menu And Icons
Use Icon In Label
You can use the MenuGroup
and MenuItem
icons as label by invoking the asLabel
method.
use NormanHuth\NovaMenu\MenuGroup; use NormanHuth\NovaMenu\MenuItem; Nova::mainMenu(function (Request $request) { return [ //.. MenuGroup::make(__('Licensing'), []) ->asLabel(), MenuItem::resource(User::class) ->asLabel(), //.. ]});
Controlling Gutters Between Icon And Label
You can control the gutter between icon and label by invoking the asLabel
method.
Default: 1 (0.25rem)
Method | Gap |
---|---|
->asLabel(0.5) |
0.125rem |
->asLabel(1.5) |
0.375rem |
->asLabel(2) |
0.5rem |
->asLabel(2.5) |
0.625rem |
->asLabel(3) |
0.75rem |
->asLabel(3.5) |
0.875rem |
->asLabel(4) |
1rem |
->asLabel(5) |
1.25rem |
->asLabel(6) |
1.5rem |
->asLabel(8) |
2rem |
use NormanHuth\NovaMenu\MenuGroup; use NormanHuth\NovaMenu\MenuItem; Nova::mainMenu(function (Request $request) { return [ //.. MenuGroup::make(__('Licensing'), []) ->asLabel(2), MenuItem::resource(User::class) ->asLabel(3.5), //.. ]});
Change Icon Height
You can change the icon height by invoking the iconHeight
method.
(Value int
in Pixel. Possible from 4 to 32
pixels)
use NormanHuth\NovaMenu\MenuSection; use NormanHuth\NovaMenu\MenuGroup; use NormanHuth\NovaMenu\MenuItem; Nova::mainMenu(function (Request $request) { return [ //.. MenuSection::make(__('Customers'), [])->iconHeight(24), // MenuSection: 24 default MenuGroup::make(__('Licensing'), [])->iconHeight(18), // MenuGroup: 18 default MenuItem::resource(User::class)->iconHeight(18), // MenuItem: 18 default // .. ];});
Add Classes To Element
You can add classes attribute to the element by invoking the elemClasses
method.
use NormanHuth\NovaMenu\MenuSection; use NormanHuth\NovaMenu\MenuGroup; use NormanHuth\NovaMenu\MenuItem; Nova::mainMenu(function (Request $request) { return [ //.. MenuSection::make(__('Customers'), []) ->elemClasses(['class-1', 'class-2']), MenuGroup::make(__('Licensing'), []) ->elemClasses(['class-1', 'class-2']), MenuItem::resource(User::class) ->elemClasses(['class-1', 'class-2']), // Or as String MenuSection::make(__('Customers'), []) ->elemClasses('class-1 class-2'), MenuGroup::make(__('Licensing'), []) ->elemClasses('class-1 class-2'), MenuItem::resource(User::class) ->elemClasses('class-1 class-2'), //.. ];});
Add Classes To Icon
You can add classes attribute to the icon by invoking the iconClasses
method.
use NormanHuth\NovaMenu\MenuSection; use NormanHuth\NovaMenu\MenuGroup; use NormanHuth\NovaMenu\MenuItem; Nova::mainMenu(function (Request $request) { return [ //.. MenuSection::make(__('Customers'), []) ->iconClasses(['class-1', 'class-2']), MenuGroup::make(__('Licensing'), []) ->iconClasses(['class-1', 'class-2']), MenuItem::resource(User::class) ->iconClasses(['class-1', 'class-2']), // Or as String MenuSection::make(__('Customers'), []) ->iconClasses('class-1 class-2'), MenuGroup::make(__('Licensing'), []) ->iconClasses('class-1 class-2'), MenuItem::resource(User::class) ->iconClasses('class-1 class-2'), // .. ];});
Add Classes To Label
You can add classes attribute to the label by invoking the labelClasses
method.
use NormanHuth\NovaMenu\MenuSection; use NormanHuth\NovaMenu\MenuGroup; use NormanHuth\NovaMenu\MenuItem; Nova::mainMenu(function (Request $request) { return [ //.. MenuSection::make(__('Customers'), []) ->labelClasses(['class-1', 'class-2']), MenuGroup::make(__('Licensing'), []) ->labelClasses(['class-1', 'class-2']), MenuItem::resource(User::class) ->labelClasses(['class-1', 'class-2']), // Or as String MenuSection::make(__('Customers'), []) ->labelClasses('class-1 class-2'), MenuGroup::make(__('Licensing'), []) ->labelClasses('class-1 class-2'), MenuItem::resource(User::class) ->labelClasses('class-1 class-2'), // .. ];});
Optional: Tailwind CSS Colors
Install all Tailwind CSS Text Color, Border Color and Background Color classes inclusive dark mode classes.
But beware. This file will be loaded 620KB more CSS!
php artisan nova-menu:tailwind-colors