Skip to content

Tooltip line height not correctly applied to both flyout and text elements #2908

@webroo

Description

@webroo

Is there an existing issue for this?

  • I have searched the existing issues

Code of Conduct

  • I agree to follow this project's Code of Conduct

Victory version

37.1.1

Code Sandbox link

https://codesandbox.io/p/sandbox/victory-starter-forked-4kq4n4?file=%2Fsrc%2FApp.tsx

Bug report

When specifying Theme.tooltip.style.lineHeight the value is used to calculate the height of the tooltip flyout but not the positioning of text elements inside. This causes a visual mismatch, especially on multiline tooltips.

image

It seems the only workaround is to also supply line height to the tooltip label via props, but this means the value now has to be maintained across two separate places in the code:

<VictoryTooltip labelComponent={<VictoryLabel lineHeight={2} />} />

Ideally we'd only need to maintain line height in one place, the theme.

Steps to reproduce

1. Go to Code Sandbox link and open `Theme.ts`
2. Modify the value of `Theme.tooltip.style.lineHeight`
3. Observe how the height of the tooltip Flyout changes but not the positioning of text elements

Expected behavior

`Theme.tooltip.style.lineHeight` should be used to calculate both the height of the flyout and the position of the text elements.

Actual behavior

`Theme.tooltip.style.lineHeight` is only used to calculate the height of the flyout.

Environment

- Device: Desktop
- OS: MacOS 14.6.1
- Browser: Chrome v129

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue: AcceptedThe submitted issue has been confirmed by the Victory core teamType: Bug 🐛Oh no! A bug or unintentional behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions