From 8cf57149156820dbc626e9d9a547028a173eb63f Mon Sep 17 00:00:00 2001 From: floriskn <48930050+floriskn@users.noreply.github.com> Date: Fri, 14 Nov 2025 21:25:16 +0100 Subject: [PATCH 1/2] fix: prevent input flicker on group addon click --- apps/v4/registry/new-york-v4/ui/input-group.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/v4/registry/new-york-v4/ui/input-group.tsx b/apps/v4/registry/new-york-v4/ui/input-group.tsx index 10a537d3f0d..2ec81935679 100644 --- a/apps/v4/registry/new-york-v4/ui/input-group.tsx +++ b/apps/v4/registry/new-york-v4/ui/input-group.tsx @@ -68,11 +68,17 @@ function InputGroupAddon({ data-slot="input-group-addon" data-align={align} className={cn(inputGroupAddonVariants({ align }), className)} - onClick={(e) => { + onPointerDown={(e) => { if ((e.target as HTMLElement).closest("button")) { return } - e.currentTarget.parentElement?.querySelector("input")?.focus() + const input = e.currentTarget.parentElement?.querySelector('input') + if (document.activeElement === input) { + e.preventDefault(); + return + } + // defer focus to let browser handle native events first + requestAnimationFrame(() => input?.focus()) }} {...props} /> From 4a747660904e5166ad53e15da97e40e4bf5cee76 Mon Sep 17 00:00:00 2001 From: floriskn <48930050+floriskn@users.noreply.github.com> Date: Fri, 14 Nov 2025 22:06:41 +0100 Subject: [PATCH 2/2] chore: ran pnpm registry:build --- apps/v4/public/r/styles/new-york-v4/input-group.json | 2 +- apps/v4/registry/new-york-v4/ui/input-group.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/v4/public/r/styles/new-york-v4/input-group.json b/apps/v4/public/r/styles/new-york-v4/input-group.json index 6766dcf80b7..87436db4033 100644 --- a/apps/v4/public/r/styles/new-york-v4/input-group.json +++ b/apps/v4/public/r/styles/new-york-v4/input-group.json @@ -10,7 +10,7 @@ "files": [ { "path": "registry/new-york-v4/ui/input-group.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/registry/new-york-v4/ui/button\"\nimport { Input } from \"@/registry/new-york-v4/ui/input\"\nimport { Textarea } from \"@/registry/new-york-v4/ui/textarea\"\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n