<!--
  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">
        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">
            README
          </a>
          <ul role="group" id="readme-outline">
            {{range .ReadmeOutline}}
              <li role="none">
                <a href="#{{.ID}}" role="treeitem" aria-selected="false" aria-level="2"
                    tabindex="-1">
                  {{.Text}}
                </a>
              </li>
            {{end}}
          </ul>
        </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">
            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">
            Source Files
          </a>
        </li>
      {{end}}
      {{if (or .Subdirectories .NestedModules)}}
        <li role="none">
          <a href="#section-directories" role="treeitem" aria-expanded="false"
              aria-selected="false" aria-level="1" tabindex="-1">
            Directories
          </a>
        </li>
      {{end}}
    </ul>
  </div>
{{end}}
