diff --git a/src/components/HelpPopover.test.tsx b/src/components/HelpPopover.test.tsx index 5d34028..e08c063 100644 --- a/src/components/HelpPopover.test.tsx +++ b/src/components/HelpPopover.test.tsx @@ -109,4 +109,14 @@ describe("HelpPopover", () => { const btn = screen.getByRole("button", { name: "Help" }); expect(btn.className).toContain("help-popover-trigger"); }); + + it("forwards an additional className to the trigger button", () => { + render( + + ); + + const btn = screen.getByRole("button", { name: "Help" }); + expect(btn.className).toContain("help-popover-trigger"); + expect(btn.className).toContain("custom-class"); + }); }); diff --git a/src/components/HelpPopover.tsx b/src/components/HelpPopover.tsx index 601beed..e4f056e 100644 --- a/src/components/HelpPopover.tsx +++ b/src/components/HelpPopover.tsx @@ -54,12 +54,18 @@ type HelpPopoverProps = { * @default 300 */ hoverDelayMs?: number; + /** + * Additional CSS class forwarded to the trigger button. + * Useful for layout alignment in page headers (e.g. LatencyChart). + */ + className?: string; }; export default function HelpPopover({ content, ariaLabel = "Help", hoverDelayMs = 300, + className, }: HelpPopoverProps): JSX.Element { const labelId = useId(); @@ -67,7 +73,7 @@ export default function HelpPopover({