Re-implement AUI Tooltips using internal layer management solution

Description

We use Tipsy for tooltips.
Tipsy does not handle properly certain edge-case scenarios, i.e.

Other layered elements use Popper to handle their positioning.

To decrease the permutations of code we use and bundle less code in AUI - replace Tipsy usage with Popper and remove old library completely.

Out of scope

  • Support for animated tooltips – we want to avoid bugs like

Acceptance criteria

  • Tooltips follow their triggers when page scrolls (see https://codepen.io/gpitot/pen/GRoaZYQ)

  • Tipsy code not included in any of AUI’s builds

  • No infinite looping when hovering tooltips (i.e., )

  • No jQuery plugin is required to render tooltip, but

    • Existing jQuery plugin APIs create tooltip using new implementation

Optional (if can be made performant with minimal code)

  • Tooltips are removed when their triggering element is also removed

    • aka: on delete cascade in database terms.

    • Note: this would be useful for all layered elements, not just tooltip.

Environment

None

QA Kickoff Check-In

Usage described in documentation
Demonstration of all states
Interactive state (screen readers)
Visual regression tests
Unit tests
Navigation (only keyboard / only mouse)
Component render legibly

QA Demo Check-Out

Page weight reduced

Tooltips not animated

Assignee

Bartosz Cytrowski

Reporter

Michal Dyro

Labels

None

Changelog entry text

None

Needs Doc

None

Story Points

5

Components

Sprint

Fix versions

Affects versions

Priority

Minor
Configure