# [Usage](../../../usage.md) > [Components](../basics.md) > [Visuals](../basics.md) > Menu

Standalone navigation renderer following the navigation config schema. Use it for custom sidebars or embedded navs outside the default layout; use the global navigation config for the app shell and [Tabs](tabs.md) for in-page section switching.

![image](img/menu_1.png)

```php
{!! 
    \KFramework\Components\Visual\Menu::make()
        ->setSchema([
             ['Dashboard', 'home', '/', null, null, 1],
             ['Roles', 'shield', '/resources/roles', null, null, 2],
             ['Users', 'account', '/resources/users', null, null, 3],
             ['Resources', 'cog', null, null, null, 4],
             ['Items', 'wrench', '/resources/items', null, 'Resources', 1],
        ])
!!}
```

---
## Usage

- Blade:
```php
{!! 
    \KFramework\Components\Visual\Menu::make()
        ->setSchema([])
!!}
```
- Controller:
```php
Menu::make()
    ->setSchema([])
```

**End-to-end example:** compact docs sidebar.
```php
// Blade:
{!!
    \KFramework\Components\Visual\Menu::make()
        ->setSchema([
             ['Getting started', 'home', '/docs', null, null, 1],
             ['Components', 'cog', null, null, null, 2],
             ['Buttons', 'button', '/docs/buttons', null, 'Components', 1],
        ])
!!}

// Controller:
use KFramework\Components\Visual\Menu;

$menu = Menu::make()->setSchema([
    ['Getting started', 'home', '/docs', null, null, 1],
]);

return view('docs.layout', compact('menu'));
```

---
## Standard attributes for HTMLView

- `uuid`
- `id`
- `classes`
- `extraAttributes`
- `schema`
  - The schema followed is the same of the navigation config, see more [there](../../styling/navigation.md). Each entry defines label, icon, URL, parent and order.

See their usage and description [here](../basics.md).

## See also
- [Components basics](../basics.md)
- [Tabs](tabs.md), [Card](card.md)
- [schema](../shared_attributes/schema.md)
