<!--
  Copyright 2020 The Go Authors. All rights reserved.
  Use of this source code is governed by a BSD-style
  license that can be found in the LICENSE file.
-->

{{define "unit_outline"}}
  <div class="UnitOutline">
    <div class="UnitOutline-jumpTo">
      <button class="UnitOutline-jumpToInput js-jumpToInput"
          aria-label="Open Jump to Identifier"
          data-test-id="jump-to-button" data-gtmc="outline button">
        Jump to ...
      </button>
    </div>
    <ul class="js-tree" role="tree" aria-label="Outline">
      {{if .Readme.String}}
        <li role="none" class="js-readmeOutline">
          <a href="#section-readme" role="treeitem" aria-expanded="false" aria-selected="false"
              aria-level="1" aria-owns="readme-outline" tabindex="0" data-gtmc="outline link">
            README
          </a>
          {{template "readme_outline" .ReadmeOutline}}
        </li>
      {{end}}
      {{if .IsPackage}}
        <li role="none">
          <a href="#section-documentation" role="treeitem" aria-expanded="false" aria-level="1"
              aria-selected="false"aria-owns="doc-outline" tabindex="-1" data-gtmc="outline link">
            Documentation
          </a>
          {{.DocOutline}}
        </li>
      {{end}}
      {{if .SourceFiles}}
        <li role="none">
          <a href="#section-sourcefiles" role="treeitem" aria-expanded="false"
              aria-selected="false" aria-level="1" tabindex="-1" data-gtmc="outline link">
            Source Files
          </a>
        </li>
      {{end}}
      {{if .Directories}}
        <li role="none">
          <a href="#section-directories" role="treeitem" aria-expanded="false"
              aria-selected="false" aria-level="1" tabindex="-1"
              data-gtmc="outline link">
            Directories
          </a>
        </li>
      {{end}}
    </ul>
  </div>
{{end}}

{{define "readme_outline"}}
  <ul role="group" id="readme-outline">
    {{range .}}
      <li role="none">
        <a href="#{{.ID}}" role="treeitem" aria-level="2" aria-owns="nav-group-readme"
            tabindex="-1" {{if gt (len .Children) 0}}aria-expanded="false"{{end}}
            data-gtmc="readme outline link">
          {{.Text}}
        </a>
        <ul role="group" id="nav-group-readme">
          {{range .Children}}
            {{$tname := .Text}}
            <li role="none">
              {{if .Children}}
                {{$navgroupid := (printf "nav.group.%s" $tname)}}
                <a href="#{{.ID}}" role="treeitem" aria-expanded="false" aria-level="3"
                    tabindex="-1" data-aria-owns="{{$navgroupid}}"
                    data-gtmc="readme outline link">
                  {{$tname}}
                </a>
                <ul role="group" >
                  {{range .Children}}
                    <li role="none">
                      <a href="#{{.ID}}" role="treeitem" aria-level="4" tabindex="-1"
                          data-gtmc="readme outline link">
                        {{.Text}}
                      </a>
                    </li>
                  {{end}} {{/* range .Children */}}
                </ul>
              {{else}}
                <a href="#{{.ID}}" role="treeitem" aria-level="3" tabindex="-1"
                    data-gtmc="readme outline link">
                  {{$tname}}
                </a>
              {{end}} {{/* if .Children */}}
            </li>
          {{end}} {{/* range .Children */}}
        </ul>
      </li>
    {{end}}
  </ul>
{{end}}