# `PhiaUi.Components.Layout.NavList`
[🔗](https://github.com/charlenopires/PhiaUI/blob/v0.1.17/lib/phia_ui/components/layout/nav_list.ex#L1)

Vertical navigation list with groups, icons, nested subnav, and active state.

## Sub-components

- `nav_list/1` — root `<nav>` wrapper with `<ul>`
- `nav_list_item/1` — individual link with optional icon, trailing badge, active/disabled state
- `nav_list_group/1` — labeled group of items
- `nav_list_divider/1` — thin horizontal separator between groups

## Examples

    <.nav_list aria_label="Main navigation">
      <.nav_list_group title="General">
        <.nav_list_item href="/dashboard" active>
          <:icon><.icon name="hero-home" /></:icon>
          Dashboard
        </.nav_list_item>
        <.nav_list_item href="/projects">
          <:icon><.icon name="hero-folder" /></:icon>
          Projects
          <:trailing><.badge>12</.badge></:trailing>
        </.nav_list_item>
      </.nav_list_group>

      <.nav_list_divider />

      <.nav_list_group title="Settings">
        <.nav_list_item href="/settings">
          <:icon><.icon name="hero-cog-6-tooth" /></:icon>
          Settings
        </.nav_list_item>
        <.nav_list_item disabled>
          <:icon><.icon name="hero-bell" /></:icon>
          Notifications
        </.nav_list_item>
      </.nav_list_group>
    </.nav_list>

# `nav_list`

Renders a vertical navigation list.
## Attributes

* `aria_label` (`:string`) - Accessible label for the `<nav>`. Defaults to `"Navigation"`.
* `class` (`:string`) - Additional CSS classes merged via cn/1. Defaults to `nil`.
* Global attributes are accepted. HTML attributes forwarded to the `<nav>` element.
## Slots

* `inner_block` (required) - Nav list content (items, groups, dividers).

# `nav_list_divider`

Renders a thin horizontal separator between nav groups.
## Attributes

* `class` (`:string`) - Additional CSS classes merged via cn/1. Defaults to `nil`.
* Global attributes are accepted. HTML attributes forwarded to the `<li>` element.

# `nav_list_group`

Renders a labeled group of navigation items.
## Attributes

* `title` (`:string`) (required) - Group heading text.
* `class` (`:string`) - Additional CSS classes merged via cn/1. Defaults to `nil`.
* Global attributes are accepted. HTML attributes forwarded to the wrapper element.
## Slots

* `inner_block` (required) - Group items.

# `nav_list_item`

Renders a single navigation list item.
## Attributes

* `href` (`:string`) - Link URL. If nil, renders a `<button>` instead. Defaults to `nil`.
* `active` (`:boolean`) - Highlights as the current page. Defaults to `false`.
* `disabled` (`:boolean`) - Dims and prevents interaction. Defaults to `false`.
* `class` (`:string`) - Additional CSS classes merged via cn/1. Defaults to `nil`.
* Global attributes are accepted. HTML attributes forwarded to the link/button element.
## Slots

* `icon` - Optional leading icon.
* `trailing` - Optional trailing element (badge, count, chevron).
* `inner_block` (required) - Item label text.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
