diff --git a/web/src/lib/components/ui/Button.svelte b/web/src/lib/components/ui/Button.svelte index a75c4dc9..0e4cd059 100644 --- a/web/src/lib/components/ui/Button.svelte +++ b/web/src/lib/components/ui/Button.svelte @@ -56,10 +56,15 @@ "disabled:text-foreground-warning-disabled aria-disabled:text-foreground-warning-disabled" ] }, + // the min-h is the button's real height (32/36/40 in Figma), so py has to stay + // small enough that line-height + padding + border never exceeds it — otherwise a + // button with a label grows past the min-h while an icon-only one stays on it, and + // the two render at different heights side by side. py only takes over as the + // floor when a label wraps to a second line. size: { - sm: "min-h-8 gap-1.5 px-2 py-1.5 typography-paragraph-small", - md: "min-h-9 gap-2 px-3 py-1.5 typography-paragraph-regular", - lg: "min-h-10 gap-2.5 px-4 py-2 typography-paragraph-large" + sm: "min-h-8 gap-1.5 px-2 py-1 typography-paragraph-small", + md: "min-h-9 gap-2 px-3 py-1 typography-paragraph-regular", + lg: "min-h-10 gap-2.5 px-4 py-1 typography-paragraph-large" }, insetShadow: { true: "",