diff --git a/packages/frontend/component/src/ui/tooltip/styles.css.ts b/packages/frontend/component/src/ui/tooltip/styles.css.ts index d4c2eb50d8..86ac360d4b 100644 --- a/packages/frontend/component/src/ui/tooltip/styles.css.ts +++ b/packages/frontend/component/src/ui/tooltip/styles.css.ts @@ -1,6 +1,18 @@ import { cssVar } from '@toeverything/theme'; import { cssVarV2 } from '@toeverything/theme/v2'; -import { style } from '@vanilla-extract/css'; +import { keyframes, style } from '@vanilla-extract/css'; + +const tooltipScaleIn = keyframes({ + from: { + opacity: 0, + transform: 'scale(0.85)', + }, + to: { + opacity: 1, + transform: 'scale(1)', + }, +}); + export const tooltipContent = style({ backgroundColor: cssVarV2('tooltips/background'), color: cssVarV2('tooltips/foreground'), @@ -9,6 +21,8 @@ export const tooltipContent = style({ lineHeight: '22px', borderRadius: '4px', maxWidth: '280px', + transformOrigin: 'var(--radix-tooltip-content-transform-origin)', + animation: `${tooltipScaleIn} 0.2s cubic-bezier(0.2, 1, 0.3, 1)`, }); export const withShortcut = style({ diff --git a/packages/frontend/component/src/ui/tooltip/tooltip.stories.tsx b/packages/frontend/component/src/ui/tooltip/tooltip.stories.tsx index ae8a46a211..6cd7294b61 100644 --- a/packages/frontend/component/src/ui/tooltip/tooltip.stories.tsx +++ b/packages/frontend/component/src/ui/tooltip/tooltip.stories.tsx @@ -91,6 +91,19 @@ export const CustomAlign = () => { ); }; +const sides = ['top', 'right', 'bottom', 'left'] as const; +export const CustomSide = () => { + return ( +
+ {sides.map(side => ( + + + + ))} +
+ ); +}; + export const WithCustomContent: StoryFn = args => ( - - - -