Tooltips & Popovers

Tooltips and Popovers are built on Popper.js (bundled with Bootstrap). Both require JavaScript initialisation. Rence Material applies the dark Material style to tooltips and card-like elevation to popovers automatically.

Note: Tooltips and Popovers are opt-in — they must be explicitly initialised via JavaScript as shown in the code examples below.

Tooltips

Add data-bs-toggle="tooltip" and a title attribute to any element. Control placement with data-bs-placement (top, right, bottom, left).

HTML + JS
<!-- Tooltips require initialization via JS (or Bootstrap's data-api) -->
<button type="button" class="btn btn-primary" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top">
  Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right">
  Right
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom">
  Bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left">
  Left
</button>

<script>
  // Initialize all tooltips on the page
  const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
  tooltipTriggerList.forEach(el => new bootstrap.Tooltip(el));
</script>

Popovers

Popovers are like tooltips but with optional titles and larger body content. Use data-bs-toggle="popover" and initialise via JS. They require clicking to toggle.

HTML + JS
<!-- Popovers (require JS initialization like tooltips) -->
<button type="button" class="btn btn-primary"
  data-bs-toggle="popover"
  data-bs-placement="right"
  data-bs-title="Popover title"
  data-bs-content="And here's some amazing content. It's very engaging. Right?">
  Click to toggle popover
</button>

<script>
  const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]');
  popoverTriggerList.forEach(el => new bootstrap.Popover(el));
</script>