<!--
Licensed 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.
-->

<form class="form-inline js-filter-form">
  <fieldset>
    <input type="text" name="filter" placeholder="Type a filter">
    <button type="submit" class="btn btn-primary">Filter</button>
    <div class="help-block">
      <strong> Eg. debug or <1.4.1> or any regex </strong>
      <% if (tooltipText) { %>
        <i class="js-filter-tooltip icon icon-question-sign" data-toggle="tooltip"
          title="" data-original-title="<%- tooltipText %>"></i>
      <% } %>
    </div>
  </fieldset>
</form>
<ul class="filter-list"></ul>
