Skip to content

Commit 734bbc8

Browse files
committed
fix: prevent hover events from bleeding through Code Index Config popover
- Added explicit pointer-events handling to PopoverContent component - Increased z-index from z-50 to z-[100] for better layering - Added onPointerDownOutside prevention to stop click-through events - Added inline style for pointer-events auto to ensure proper event blocking Fixes #7703
1 parent 55ea328 commit 734bbc8

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

webview-ui/src/components/chat/CodeIndexPopover.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,9 @@ export const CodeIndexPopover: React.FC<CodeIndexPopoverProps> = ({
558558
sideOffset={5}
559559
collisionPadding={16}
560560
avoidCollisions={true}
561-
container={portalContainer}>
561+
container={portalContainer}
562+
onPointerDownOutside={(e) => e.preventDefault()}
563+
style={{ pointerEvents: "auto" }}>
562564
<div className="p-3 border-b border-vscode-dropdown-border cursor-default">
563565
<div className="flex flex-row items-center gap-1 p-0 mt-0 mb-1 w-full">
564566
<h4 className="m-0 pb-2 flex-1">{t("settings:codeIndex.title")}</h4>

webview-ui/src/components/ui/popover.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,20 @@ const PopoverAnchor = PopoverPrimitive.Anchor
1313
const PopoverContent = React.forwardRef<
1414
React.ElementRef<typeof PopoverPrimitive.Content>,
1515
React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & Pick<PortalProps, "container">
16-
>(({ className, align = "center", sideOffset = 4, container, ...props }, ref) => (
16+
>(({ className, align = "center", sideOffset = 4, container, style, ...props }, ref) => (
1717
<PopoverPrimitive.Portal container={container}>
1818
<PopoverPrimitive.Content
1919
ref={ref}
2020
align={align}
2121
sideOffset={sideOffset}
2222
className={cn(
23-
"z-50 w-72 rounded-xs p-4 shadow-xs outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
23+
"z-[100] w-72 rounded-xs p-4 shadow-xs outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
2424
"bg-popover",
2525
"border border-vscode-focusBorder",
2626
"text-popover-foreground",
2727
className,
2828
)}
29+
style={{ ...style, pointerEvents: "auto" }}
2930
{...props}
3031
/>
3132
</PopoverPrimitive.Portal>

0 commit comments

Comments
 (0)