From c1e9c99ebae4fa5ef1ed3a6aea6dfecf946bf379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Gr=C3=A9lard?= Date: Tue, 5 Mar 2024 13:02:17 +0000 Subject: [PATCH 1/4] [Label] Don't eagerly prevent double-click Fixes #2656 --- .yarn/versions/ded3a040.yml | 6 ++++++ packages/react/label/src/Label.stories.tsx | 7 +++++++ packages/react/label/src/Label.tsx | 4 ++++ 3 files changed, 17 insertions(+) create mode 100644 .yarn/versions/ded3a040.yml diff --git a/.yarn/versions/ded3a040.yml b/.yarn/versions/ded3a040.yml new file mode 100644 index 000000000..1f88f22d8 --- /dev/null +++ b/.yarn/versions/ded3a040.yml @@ -0,0 +1,6 @@ +releases: + "@radix-ui/react-form": patch + "@radix-ui/react-label": patch + +declined: + - primitives diff --git a/packages/react/label/src/Label.stories.tsx b/packages/react/label/src/Label.stories.tsx index 7e39724db..2b14e1f58 100644 --- a/packages/react/label/src/Label.stories.tsx +++ b/packages/react/label/src/Label.stories.tsx @@ -14,6 +14,13 @@ export const WithControl = () => { Label +
+ + +

Referencing control

diff --git a/packages/react/label/src/Label.tsx b/packages/react/label/src/Label.tsx index af90a8948..473354719 100644 --- a/packages/react/label/src/Label.tsx +++ b/packages/react/label/src/Label.tsx @@ -19,6 +19,10 @@ const Label = React.forwardRef((props, forwardedRef) = {...props} ref={forwardedRef} onMouseDown={(event) => { + // only prevent text selection if clicking inside the label itself + const target = event.target as HTMLElement; + if (target.closest('input, button')) return; + props.onMouseDown?.(event); // prevent text selection when double clicking label if (!event.defaultPrevented && event.detail > 1) event.preventDefault(); From 84aab54902cb5f158cc963c7794c85404dece4ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Gr=C3=A9lard?= Date: Tue, 5 Mar 2024 13:03:33 +0000 Subject: [PATCH 2/4] Update Label.stories.tsx --- packages/react/label/src/Label.stories.tsx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/react/label/src/Label.stories.tsx b/packages/react/label/src/Label.stories.tsx index 2b14e1f58..e4db9c0e3 100644 --- a/packages/react/label/src/Label.stories.tsx +++ b/packages/react/label/src/Label.stories.tsx @@ -14,13 +14,6 @@ export const WithControl = () => { Label -
- - -

Referencing control

@@ -28,6 +21,15 @@ export const WithControl = () => { ); }; +export const WithInputNumber = (props: any) => { + return ( + + ); +}; + const Control = (props: any) => { return (