Skip to content

Commit ad1b8fe

Browse files
committed
[Bug Fix] Constrain Tooltip content width (#180)
1 parent c13b7e1 commit ad1b8fe

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

gem/lib/ruby_ui/tooltip/tooltip_content.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def default_attrs
1919
data: {
2020
ruby_ui__tooltip_target: "content"
2121
},
22-
class: "invisible peer-hover:visible peer-focus:visible w-max absolute top-0 left-0 z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md peer-focus:zoom-in-95 animate-out fade-out-0 zoom-out-95 peer-hover:animate-in peer-focus:animate-in peer-hover:fade-in-0 peer-focus:fade-in-0 peer-hover:zoom-in-95 group-data-[ruby-ui--tooltip-placement-value=bottom]:slide-in-from-top-2 group-data-[ruby-ui--tooltip-placement-value=left]:slide-in-from-right-2 group-data-[ruby-ui--tooltip-placement-value=right]:slide-in-from-left-2 group-data-[ruby-ui--tooltip-placement-value=top]:slide-in-from-bottom-2 delay-500"
22+
class: "invisible peer-hover:visible peer-focus:visible w-fit max-w-[calc(100vw-2rem)] text-balance break-words absolute top-0 left-0 z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md peer-focus:zoom-in-95 animate-out fade-out-0 zoom-out-95 peer-hover:animate-in peer-focus:animate-in peer-hover:fade-in-0 peer-focus:fade-in-0 peer-hover:zoom-in-95 group-data-[ruby-ui--tooltip-placement-value=bottom]:slide-in-from-top-2 group-data-[ruby-ui--tooltip-placement-value=left]:slide-in-from-right-2 group-data-[ruby-ui--tooltip-placement-value=right]:slide-in-from-left-2 group-data-[ruby-ui--tooltip-placement-value=top]:slide-in-from-bottom-2 delay-500"
2323
}
2424
end
2525
end

gem/test/ruby_ui/tooltip_test.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,14 @@ def test_render_with_all_items
1717

1818
assert_match(/Add to library/, output)
1919
end
20+
21+
def test_tooltip_content_wraps_long_text_within_viewport
22+
output = phlex do
23+
RubyUI.TooltipContent { "Long tooltip content" }
24+
end
25+
26+
assert_match(/w-fit/, output)
27+
assert_match(/max-w-\[calc\(100vw-2rem\)\]/, output)
28+
assert_match(/break-words/, output)
29+
end
2030
end

0 commit comments

Comments
 (0)