Files
shiny/tests/testthat/_snaps/tabPanel.md
Richard Iannone d65ad5ea90 Modify icon() function to call fontawesome::fa_i() for equivalent functionality (#3302)
* Use `fontawesome::fa_i()` for FA <i> tags

* Remove fontawesome vendor files

* Add fontawesome pkg to Imports & Remotes

* Remove FontAwesome `person()` entry

* Remove Font Awesome license info

* Delete font-awesome.R

* Update 'Collate' field (removes 'font-awesome.R')

* Delete updateFontAwesome.R

* Prefer use of `fontawesome::fa()`

* Improve function documentation

* Update help file using roxygen

* Modify icon name

* Update icon name in example

* Modify icon name in example

* Update help files

* Update bootstrap.R

* Update icon.Rd

* Update bootstrap.R

* Revert `showcaseCodeTabs()` to use FA v4 name

* Revert icon name in example (back to FA v4)

* Remove `call. = FALSE` in `stop()`

* Remove `fontawesome` from Remotes

* Add min version req for the fontawesome pkg

* Increase minimum version requirement for fontawesome

* Update roxygen docs for `icon()`

* Document (GitHub Actions)

* Update icon.Rd

* Generate early return <i> tag for tabsetPanel logic

* Close #3384 and #3383: simplify and correct icon() logic

* Install htmltools PR for now

* Document (GitHub Actions)

* Avoid using tag attribs to hold non-attribute values

* Better legacy support

* No need to call prepTabIcon() twice

* code review

* Fix glyphicon class creation

* update news

Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
Co-authored-by: rich-iannone <rich-iannone@users.noreply.github.com>
Co-authored-by: cpsievert <cpsievert@users.noreply.github.com>
2021-05-12 14:26:09 -05:00

13 KiB

tabsetPanel() markup is correct

Code
  default
Output
  <div class="tabbable">
    <ul class="nav nav-tabs" data-tabsetid="4785">
      <li class="active">
        <a href="#tab-4785-1" data-toggle="tab" data-value="A">A</a>
      </li>
      <li>
        <a href="#tab-4785-2" data-toggle="tab" data-value="B">
          <i aria-label="github icon" class="fab fa-github fa-fw" role="presentation"></i>
          B
        </a>
      </li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-value="Menu">
          Menu
          <b class="caret"></b>
        </a>
        <ul class="dropdown-menu" data-tabsetid="1502">
          <li>
            <a href="#tab-1502-1" data-toggle="tab" data-value="C">C</a>
          </li>
        </ul>
      </li>
    </ul>
    <div class="tab-content" data-tabsetid="4785">
      <div class="tab-pane active" data-value="A" id="tab-4785-1">a</div>
      <div class="tab-pane" data-value="B" data-icon-class="fab fa-github fa-fw" id="tab-4785-2">b</div>
      <div class="tab-pane" data-value="C" id="tab-1502-1">c</div>
    </div>
  </div>

Code
  pills
Output
  <div class="tabbable">
    <ul class="nav nav-pills" data-tabsetid="4785">
      <li>
        <a href="#tab-4785-1" data-toggle="tab" data-value="A">A</a>
      </li>
      <li class="active">
        <a href="#tab-4785-2" data-toggle="tab" data-value="B">
          <i aria-label="github icon" class="fab fa-github fa-fw" role="presentation"></i>
          B
        </a>
      </li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-value="Menu">
          Menu
          <b class="caret"></b>
        </a>
        <ul class="dropdown-menu" data-tabsetid="1502">
          <li>
            <a href="#tab-1502-1" data-toggle="tab" data-value="C">C</a>
          </li>
        </ul>
      </li>
    </ul>
    <div class="content-header"></div>
    <div class="tab-content" data-tabsetid="4785">
      <div class="tab-pane" data-value="A" id="tab-4785-1">a</div>
      <div class="tab-pane active" data-icon-class="fab fa-github fa-fw" data-value="B" id="tab-4785-2">b</div>
      <div class="tab-pane" data-value="C" id="tab-1502-1">c</div>
    </div>
    <div class="content-footer"></div>
  </div>

Code
  bslib_tags(x)
Output
  <div class="tabbable">
    <ul class="nav nav-tabs" data-tabsetid="4785">
      <li class="nav-item">
        <a href="#tab-4785-1" data-toggle="tab" data-value="A" class="nav-link active">A</a>
      </li>
      <li class="nav-item">
        <a href="#tab-4785-2" data-toggle="tab" data-value="B" class="nav-link">
          <i aria-label="github icon" class="fab fa-github fa-fw" role="presentation"></i>
          B
        </a>
      </li>
      <li class="dropdown nav-item">
        <a href="#" class="dropdown-toggle nav-link" data-toggle="dropdown" data-value="Menu">
          Menu
          <b class="caret"></b>
        </a>
        <ul class="dropdown-menu" data-tabsetid="1502">
          <li>
            <a href="#tab-1502-1" data-toggle="tab" data-value="C" class="dropdown-item">C</a>
          </li>
        </ul>
      </li>
    </ul>
    <div class="tab-content" data-tabsetid="4785">
      <div class="tab-pane active" data-value="A" id="tab-4785-1">a</div>
      <div class="tab-pane" data-value="B" data-icon-class="fab fa-github fa-fw" id="tab-4785-2">b</div>
      <div class="tab-pane" data-value="C" id="tab-1502-1">c</div>
    </div>
  </div>

Code
  bslib_tags(x)
Output
  <div class="tabbable">
    <ul class="nav nav-pills" data-tabsetid="4785">
      <li class="nav-item">
        <a href="#tab-4785-1" data-toggle="tab" data-value="A" class="nav-link">A</a>
      </li>
      <li class="nav-item">
        <a href="#tab-4785-2" data-toggle="tab" data-value="B" class="nav-link active">
          <i aria-label="github icon" class="fab fa-github fa-fw" role="presentation"></i>
          B
        </a>
      </li>
      <li class="dropdown nav-item">
        <a href="#" class="dropdown-toggle nav-link" data-toggle="dropdown" data-value="Menu">
          Menu
          <b class="caret"></b>
        </a>
        <ul class="dropdown-menu" data-tabsetid="1502">
          <li>
            <a href="#tab-1502-1" data-toggle="tab" data-value="C" class="dropdown-item">C</a>
          </li>
        </ul>
      </li>
    </ul>
    <div class="content-header"></div>
    <div class="tab-content" data-tabsetid="4785">
      <div class="tab-pane" data-value="A" id="tab-4785-1">a</div>
      <div class="tab-pane active" data-icon-class="fab fa-github fa-fw" data-value="B" id="tab-4785-2">b</div>
      <div class="tab-pane" data-value="C" id="tab-1502-1">c</div>
    </div>
    <div class="content-footer"></div>
  </div>

navbarPage() markup is correct

Code
  nav_page
Output
  <nav class="navbar navbar-default navbar-static-top" role="navigation">
    <div class="container-fluid">
      <div class="navbar-header">
        <span class="navbar-brand">Title</span>
      </div>
      <ul class="nav navbar-nav" data-tabsetid="4785">
        <li class="active">
          <a href="#tab-4785-1" data-toggle="tab" data-value="A">A</a>
        </li>
        <li>
          <a href="#tab-4785-2" data-toggle="tab" data-value="B">
            <i aria-label="github icon" class="fab fa-github fa-fw" role="presentation"></i>
            B
          </a>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-value="Menu">
            Menu
            <b class="caret"></b>
          </a>
          <ul class="dropdown-menu" data-tabsetid="1502">
            <li>
              <a href="#tab-1502-1" data-toggle="tab" data-value="C">C</a>
            </li>
          </ul>
        </li>
      </ul>
    </div>
  </nav>
  <div class="container-fluid">
    <div class="tab-content" data-tabsetid="4785">
      <div class="tab-pane active" data-value="A" id="tab-4785-1">a</div>
      <div class="tab-pane" data-value="B" data-icon-class="fab fa-github fa-fw" id="tab-4785-2">b</div>
      <div class="tab-pane" data-value="C" id="tab-1502-1">c</div>
    </div>
  </div>

Code
  bslib_tags(x)
Output
  <nav class="navbar navbar-default navbar-static-top" role="navigation">
    <div class="container-fluid">
      <div class="navbar-header">
        <span class="navbar-brand">Title</span>
      </div>
      <ul class="nav navbar-nav" data-tabsetid="4785">
        <li class="nav-item">
          <a href="#tab-4785-1" data-toggle="tab" data-value="A" class="nav-link active">A</a>
        </li>
        <li class="nav-item">
          <a href="#tab-4785-2" data-toggle="tab" data-value="B" class="nav-link">
            <i aria-label="github icon" class="fab fa-github fa-fw" role="presentation"></i>
            B
          </a>
        </li>
        <li class="dropdown nav-item">
          <a href="#" class="dropdown-toggle nav-link" data-toggle="dropdown" data-value="Menu">
            Menu
            <b class="caret"></b>
          </a>
          <ul class="dropdown-menu" data-tabsetid="1502">
            <li>
              <a href="#tab-1502-1" data-toggle="tab" data-value="C" class="dropdown-item">C</a>
            </li>
          </ul>
        </li>
      </ul>
    </div>
  </nav>
  <div class="container-fluid">
    <div class="tab-content" data-tabsetid="4785">
      <div class="tab-pane active" data-value="A" id="tab-4785-1">a</div>
      <div class="tab-pane" data-value="B" data-icon-class="fab fa-github fa-fw" id="tab-4785-2">b</div>
      <div class="tab-pane" data-value="C" id="tab-1502-1">c</div>
    </div>
  </div>

String input is handled properly

Code
  nav_list
Output
  <div class="row">
    <div class="col-sm-4 well">
      <ul class="nav nav-pills nav-stacked" data-tabsetid="4785">
        <li class="navbar-brand">A header</li>
        <li class="active">
          <a href="#tab-4785-2" data-toggle="tab" data-value="A">A</a>
        </li>
        <li>
          <a href="#tab-4785-3" data-toggle="tab" data-value="B">
            <i aria-label="github icon" class="fab fa-github fa-fw" role="presentation"></i>
            B
          </a>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-value="Menu">
            Menu
            <b class="caret"></b>
          </a>
          <ul class="dropdown-menu" data-tabsetid="1502">
            <li>
              <a href="#tab-1502-1" data-toggle="tab" data-value="C">C</a>
            </li>
          </ul>
        </li>
      </ul>
    </div>
    <div class="col-sm-8">
      <div class="tab-content" data-tabsetid="4785">
        <div class="tab-pane active" data-value="A" id="tab-4785-2">a</div>
        <div class="tab-pane" data-value="B" data-icon-class="fab fa-github fa-fw" id="tab-4785-3">b</div>
        <div class="tab-pane" data-value="C" id="tab-1502-1">c</div>
      </div>
    </div>
  </div>

Code
  bslib_tags(x)
Output
  <div class="row">
    <div class="col-sm-4 well">
      <ul class="nav nav-pills nav-stacked" data-tabsetid="4785">
        <li class="navbar-brand">A header</li>
        <li class="nav-item">
          <a href="#tab-4785-2" data-toggle="tab" data-value="A" class="nav-link active">A</a>
        </li>
        <li class="nav-item">
          <a href="#tab-4785-3" data-toggle="tab" data-value="B" class="nav-link">
            <i aria-label="github icon" class="fab fa-github fa-fw" role="presentation"></i>
            B
          </a>
        </li>
        <li class="dropdown nav-item">
          <a href="#" class="dropdown-toggle nav-link" data-toggle="dropdown" data-value="Menu">
            Menu
            <b class="caret"></b>
          </a>
          <ul class="dropdown-menu" data-tabsetid="1502">
            <li>
              <a href="#tab-1502-1" data-toggle="tab" data-value="C" class="dropdown-item">C</a>
            </li>
          </ul>
        </li>
      </ul>
    </div>
    <div class="col-sm-8">
      <div class="tab-content" data-tabsetid="4785">
        <div class="tab-pane active" data-value="A" id="tab-4785-2">a</div>
        <div class="tab-pane" data-value="B" data-icon-class="fab fa-github fa-fw" id="tab-4785-3">b</div>
        <div class="tab-pane" data-value="C" id="tab-1502-1">c</div>
      </div>
    </div>
  </div>

Shiny.tag input produces a warning

Code
  tab_tags
Output
  <div class="tabbable">
    <ul class="nav nav-tabs" data-tabsetid="4785">
      <li class="active">
        <a href="#tab-4785-1" data-toggle="tab"></a>
      </li>
      <li>
        <a href="#tab-4785-2" data-toggle="tab" data-value="A">A</a>
      </li>
      <li>
        <a href="#tab-4785-3" data-toggle="tab" data-value="B">
          <i aria-label="github icon" class="fab fa-github fa-fw" role="presentation"></i>
          B
        </a>
      </li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-value="Menu">
          Menu
          <b class="caret"></b>
        </a>
        <ul class="dropdown-menu" data-tabsetid="1502">
          <li>
            <a href="#tab-1502-1" data-toggle="tab" data-value="C">C</a>
          </li>
        </ul>
      </li>
    </ul>
    <div class="tab-content" data-tabsetid="4785">
      <div class="active" id="tab-4785-1">A div</div>
      <div class="tab-pane" data-value="A" id="tab-4785-2">a</div>
      <div class="tab-pane" data-value="B" data-icon-class="fab fa-github fa-fw" id="tab-4785-3">b</div>
      <div class="tab-pane" data-value="C" id="tab-1502-1">c</div>
    </div>
  </div>