Skip to content

feat(Tooltip): redesign using Floating UI - #6783

Merged
jsulpis merged 13 commits into
mainfrom
feat/new-tooltip
Aug 20, 2026
Merged

feat(Tooltip): redesign using Floating UI#6783
jsulpis merged 13 commits into
mainfrom
feat/new-tooltip

Conversation

@jsulpis

@jsulpis jsulpis commented Aug 12, 2026

Copy link
Copy Markdown
Member

Summary

Type

  • Enhancement

Summarize concisely:

What is expected?

Tooltip: rebuilt on Floating UI instead of the Popup, fixing multiple positioning and accessibility bugs.

  • The tooltip can be used as a label or a description
  • The tooltip can be rendered next to its reference element or in a React Portal
  • The trigger wrapper tabIndex defaults to -1 when the children is already a focusable element, removing the double tab stop
  • The redundant aria-controls is no longer set, and role is hard-pinned to tooltip
  • aria-describedby is now forwarded to render-function children and is only set while the tooltip is open
  • The tooltip is now hoverable
  • Multiple props were added or deprecated, staying backward-compatible

The following changes were made:

  • rewrite the Tooltip using floating-ui
  • update the accessibility audit

Relevant logs and/or screenshots

A few components tooltips are a bit broken in this PR, the fixes are made in the next PR.

@jsulpis
jsulpis requested review from a team and lisalupi as code owners August 12, 2026 07:43
@changeset-bot

changeset-bot Bot commented Aug 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 89cfec6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@ultraviolet/ui Minor
@ultraviolet/form Patch
@ultraviolet/nextjs Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@codecov

codecov Bot commented Aug 12, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.67442% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.03%. Comparing base (0be396f) to head (89cfec6).

Files with missing lines Patch % Lines
...ages/ui/src/components/Tooltip/TooltipChildren.tsx 96.66% 1 Missing ⚠️
packages/ui/src/components/Tooltip/index.tsx 95.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #6783      +/-   ##
==========================================
+ Coverage   91.00%   91.03%   +0.03%     
==========================================
  Files         566      569       +3     
  Lines       10375    10455      +80     
  Branches     3754     3803      +49     
==========================================
+ Hits         9442     9518      +76     
- Misses        933      937       +4     
Files with missing lines Coverage Δ
packages/ui/src/components/Popup/styles.css.ts 100.00% <ø> (ø)
...kages/ui/src/components/Tooltip/TooltipElement.tsx 100.00% <100.00%> (ø)
packages/ui/src/components/Tooltip/styles.css.ts 100.00% <100.00%> (ø)
packages/ui/src/components/Tooltip/useTooltip.ts 100.00% <100.00%> (ø)
...c/utils/animations/animationsVanillaExtract.css.ts 100.00% <ø> (ø)
...ages/ui/src/components/Tooltip/TooltipChildren.tsx 96.66% <96.66%> (ø)
packages/ui/src/components/Tooltip/index.tsx 95.23% <95.00%> (-4.77%) ⬇️

... and 2 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0be396f...89cfec6. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread packages/ui/src/components/Tag/__tests__/index.test.tsx
Comment thread packages/ui/src/components/Tooltip/__stories__/A11y.mdx
Comment thread packages/ui/src/components/Tooltip/styles.css.ts
Comment thread packages/ui/src/components/Tooltip/__tests__/a11y.test.tsx
Comment thread packages/ui/src/components/Tooltip/__tests__/a11y.test.tsx Outdated
Comment thread packages/ui/src/components/Tooltip/useTooltip.ts Outdated
Comment thread packages/ui/src/components/Tooltip/TooltipChildren.tsx Outdated
Comment thread packages/ui/src/components/Tooltip/styles.css.ts Outdated
Comment thread packages/ui/src/components/Tooltip/index.tsx
Comment thread packages/ui/src/components/Tooltip/__tests__/index.test.tsx
@jsulpis
jsulpis merged commit b54f194 into main Aug 20, 2026
13 checks passed
@jsulpis
jsulpis deleted the feat/new-tooltip branch August 20, 2026 14:25
@github-actions github-actions Bot mentioned this pull request Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants