Skip to content

Commit 2be4ee0

Browse files
drankouclaude
andauthored
fix: add collision padding to tooltips for safe viewport margins (#456)
Adds a default `collisionPadding` of 8px to the `TooltipContent` primitive so tooltips keep a safe margin from viewport edges instead of rendering flush against them. This matches the existing convention in `popover.tsx` and `dropdown-menu.tsx`, which already default `collisionPadding`. The value remains overridable per-usage. Closes EN-653. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent cc1da58 commit 2be4ee0

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

src/ui/primitives/tooltip.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ function TooltipTrigger({
3838
function TooltipContent({
3939
className,
4040
sideOffset = 4,
41+
collisionPadding = 8,
4142
children,
4243
...props
4344
}: React.ComponentProps<typeof TooltipPrimitive.Content>) {
@@ -46,6 +47,7 @@ function TooltipContent({
4647
<TooltipPrimitive.Content
4748
data-slot="tooltip-content"
4849
sideOffset={sideOffset}
50+
collisionPadding={collisionPadding}
4951
className={cn(
5052
cardVariants({ variant: 'layer' }),
5153
'border-stroke-active text-fg animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[999] overflow-hidden border px-3 py-1.5 ',

0 commit comments

Comments
 (0)