diff options
| author | Shoubhit Dash <[email protected]> | 2026-04-16 17:30:14 +0530 |
|---|---|---|
| committer | Shoubhit Dash <[email protected]> | 2026-04-16 17:30:14 +0530 |
| commit | 2e18a603f0ea24154908e748493fd4bfaa74fc00 (patch) | |
| tree | b723e00af2821b213573b16fa199b64babd5f1f5 /packages/ui/src/components/tooltip.tsx | |
| parent | 9819eb04614fd607cacb07d754052f1531a82331 (diff) | |
| parent | 7341718f9234b0cf3a8758c87e91d2006b71bff6 (diff) | |
| download | opencode-2e18a603f0ea24154908e748493fd4bfaa74fc00.tar.gz opencode-2e18a603f0ea24154908e748493fd4bfaa74fc00.zip | |
merge dev
Diffstat (limited to 'packages/ui/src/components/tooltip.tsx')
| -rw-r--r-- | packages/ui/src/components/tooltip.tsx | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/ui/src/components/tooltip.tsx b/packages/ui/src/components/tooltip.tsx index ada597d0f..4366651d2 100644 --- a/packages/ui/src/components/tooltip.tsx +++ b/packages/ui/src/components/tooltip.tsx @@ -99,6 +99,8 @@ export function Tooltip(props: TooltipProps) { onCleanup(() => obs.disconnect()) }) + let justClickedTrigger = false + return ( <Switch> <Match when={local.inactive}>{local.children}</Match> @@ -112,6 +114,10 @@ export function Tooltip(props: TooltipProps) { onOpenChange={(open) => { if (local.forceOpen) return if (state.block && open) return + if (justClickedTrigger) { + justClickedTrigger = false + return + } setState("open", open) }} > @@ -137,6 +143,12 @@ export function Tooltip(props: TooltipProps) { data-force-open={local.forceOpen} class={local.contentClass} style={local.contentStyle} + onPointerDownOutside={(e) => { + if (ref === e.target || (e.target instanceof Node && ref?.contains(e.target))) { + justClickedTrigger = true + } + e.preventDefault() + }} > {local.value} {/* <KobalteTooltip.Arrow data-slot="tooltip-arrow" /> */} |
