icons icon indicating copy to clipboard operation
icons copied to clipboard

Cannot use React icons with Tooltip directly (forwardRef issue)

Open spotikhanov opened this issue 1 year ago • 0 comments

TLDR; Tooltip requires forwardRef for custom react components to work. Icons don't use forwaredRef.

Use-case example (expected):

import CopyIcon from '@gravity-ui/icons/Copy';
import { Tooltip } from '@gravity-ui/uikit';

<Tooltip content={'Copy'}>
    <CopyIcon />
</Tooltip>

But it's not possible now, since icons don't use forwardRef.

The workaround for now is (Icon from uikit has forwadRef):

import CopyIcon from '@gravity-ui/icons/svgs/copy.svg';
import { Tooltip, Icon } from '@gravity-ui/uikit';

<Tooltip content={'Copy'}>
    <Icon data={CopyIcon} />
</Tooltip>

But it requires something like svgr for svg import to work and is more cumbersome.

spotikhanov avatar Aug 28 '24 18:08 spotikhanov