{#
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
#}

<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
       aria-expanded="false">
        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">{{ version }}</span>
    </a>
    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">

    </div>
    <script type="application/x-template" id="version-item-template">
        <a class="dropdown-item"></a>
    </script>
</div>
