diff --git a/src/components/shared/country-combobox.tsx b/src/components/shared/country-combobox.tsx index 05372329..40105dcd 100644 --- a/src/components/shared/country-combobox.tsx +++ b/src/components/shared/country-combobox.tsx @@ -118,7 +118,10 @@ export function CountryCombobox({ - + diff --git a/src/components/shared/timezone-combobox.tsx b/src/components/shared/timezone-combobox.tsx index 278fdc21..716418fc 100644 --- a/src/components/shared/timezone-combobox.tsx +++ b/src/components/shared/timezone-combobox.tsx @@ -92,7 +92,10 @@ export function TimezoneCombobox({ - + diff --git a/src/components/ui/command.tsx b/src/components/ui/command.tsx index 2cecd910..7529e12f 100644 --- a/src/components/ui/command.tsx +++ b/src/components/ui/command.tsx @@ -57,10 +57,19 @@ CommandInput.displayName = CommandPrimitive.Input.displayName const CommandList = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( +>(({ className, onWheel, ...props }, ref) => ( + // Inside a Radix Popover, native wheel scrolling is intercepted by the + // focus-scope and never reaches the cmdk list — so trackpad/mousewheel + // scrolling on the country dropdown silently no-ops. Translate the wheel + // event ourselves so the list scrolls regardless of focus state. { + onWheel?.(event) + if (event.defaultPrevented) return + event.currentTarget.scrollTop += event.deltaY + }} {...props} /> ))