From f1caf3f36e4a319a20093f8ad1c7a6ddc580807d Mon Sep 17 00:00:00 2001
From: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Date: Tue, 4 Nov 2025 21:59:19 -0500
Subject: [PATCH] feat: add file path tooltips with centralized PathTooltip
component (#9030)
- Add PathTooltip component that wraps StandardTooltip with proper styling
- Use maxWidth='min(300px,100vw)' via inline style to override defaults
- Apply '[text-wrap:wrap]' class to override text-balance behavior
- Add formatPathTooltip helper for consistent path content formatting
- Update CodeAccordian, ChatRow, and BatchFilePermission to use PathTooltip
- Centralizes tooltip behavior and reduces duplication
Supersedes PR #8797.
---
.../components/chat/BatchFilePermission.tsx | 19 +++++--
webview-ui/src/components/chat/ChatRow.tsx | 12 +++--
.../src/components/common/CodeAccordian.tsx | 15 ++++--
webview-ui/src/components/ui/PathTooltip.tsx | 54 +++++++++++++++++++
webview-ui/src/utils/formatPathTooltip.ts | 28 ++++++++++
5 files changed, 113 insertions(+), 15 deletions(-)
create mode 100644 webview-ui/src/components/ui/PathTooltip.tsx
create mode 100644 webview-ui/src/utils/formatPathTooltip.ts
diff --git a/webview-ui/src/components/chat/BatchFilePermission.tsx b/webview-ui/src/components/chat/BatchFilePermission.tsx
index 5bb5d754cc..c3bbc59118 100644
--- a/webview-ui/src/components/chat/BatchFilePermission.tsx
+++ b/webview-ui/src/components/chat/BatchFilePermission.tsx
@@ -2,7 +2,8 @@ import { memo } from "react"
import { ToolUseBlock, ToolUseBlockHeader } from "../common/ToolUseBlock"
import { vscode } from "@src/utils/vscode"
-import { removeLeadingNonAlphanumeric } from "@src/utils/removeLeadingNonAlphanumeric"
+import { formatPathTooltip } from "@src/utils/formatPathTooltip"
+import { PathTooltip } from "../ui/PathTooltip"
interface FilePermissionItem {
path: string
@@ -35,10 +36,18 @@ export const BatchFilePermission = memo(({ files = [], onPermissionResponse, ts