From 123805a112411627215656701146a068707f2edb Mon Sep 17 00:00:00 2001 From: Bohdan Triapitsyn Date: Thu, 30 Apr 2026 23:08:59 +0300 Subject: [PATCH] style(ui): disable text selection on buttons --- packages/ui/src/components/ui/button.tsx | 2 +- packages/ui/src/index.css | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/ui/src/components/ui/button.tsx b/packages/ui/src/components/ui/button.tsx index ed01e836..2b5ba2fa 100644 --- a/packages/ui/src/components/ui/button.tsx +++ b/packages/ui/src/components/ui/button.tsx @@ -34,7 +34,7 @@ const TINT_DESTRUCTIVE = [ const buttonVariants = cva( [ - "group relative inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-[10px] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[50px] typography-ui-label font-medium lowercase tracking-[0.01em] shrink-0", + "group relative inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-[10px] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[50px] typography-ui-label font-medium lowercase tracking-[0.01em] shrink-0 select-none", "transition-[background-color,border-color,color,opacity] duration-150 ease-out outline-none", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", diff --git a/packages/ui/src/index.css b/packages/ui/src/index.css index 0dc8b9a5..c9e3a29e 100644 --- a/packages/ui/src/index.css +++ b/packages/ui/src/index.css @@ -26,6 +26,13 @@ @custom-variant dark (&:is(.dark *)); +/* Buttons should never look selectable. */ +button, +[role="button"] { + user-select: none; + -webkit-user-select: none; +} + :root.oc-theme-switching *, :root.oc-theme-switching *::before, :root.oc-theme-switching *::after {