All files / components/Header/Nav Nav.svelte

100% Statements 25/25
83.33% Branches 5/6
100% Functions 3/3
100% Lines 25/25

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 261x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
<script lang="ts">
  import type { NavItemType } from "./types";
 
  import NavItem from "./NavItem.svelte";
 
  export let items: NavItemType[] = [];
 
  let expandedIndex: number | undefined = undefined;
</script>
 
<ul class="usa-nav__primary usa-accordion">
  {#each items as item, i (item.id)}
    {@const { name, ...restProps } = item}
    <li class="usa-nav__primary-item">
      <NavItem
        expanded={i === expandedIndex}
        on:toggle={() => (expandedIndex = expandedIndex === i ? undefined : i)}
        on:close={() => expandedIndex === i && (expandedIndex = undefined)}
        {...restProps}
      >
        {name}
      </NavItem>
    </li>
  {/each}
</ul>