Skip to content
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b7f6dec
fix(web): align input group control styling
t3-code[bot] Aug 12, 2026
2d800d3
ci: retry checks after runner timeout
t3-code[bot] Aug 12, 2026
de22137
refactor(web): move terminal chrome to tailwind
t3-code[bot] Aug 13, 2026
a44720b
refactor(web): simplify global stylesheet
t3-code[bot] Aug 13, 2026
8e3066e
fix(web): preserve dark composer pseudo-elements
t3-code[bot] Aug 13, 2026
8925f19
fix(web): preserve dropdown glass saturation
t3-code[bot] Aug 13, 2026
d471299
fix(web): preserve dropdown elevation overrides
t3-code[bot] Aug 13, 2026
578bf5b
test(web): format titlebar regression coverage
t3-code[bot] Aug 13, 2026
4fa9cce
refactor(web): centralize compact control styles
t3-code[bot] Aug 13, 2026
7ec3df9
fix(web): align pull request search controls
t3-code[bot] Aug 13, 2026
70fecd3
refactor(web): move one-off styles to components
t3-code[bot] Aug 13, 2026
56dfc6f
refactor(web): reuse shared compact controls
t3-code[bot] Aug 13, 2026
69ea104
refactor(web): finish shared control cleanup
t3-code[bot] Aug 13, 2026
583affc
merge main into fix/ui-control-consistency
t3-code[bot] Aug 13, 2026
f13684f
fix(web): preserve compact inline panel chrome
t3-code[bot] Aug 13, 2026
5f81f7a
refactor(web): finish shared control audit
t3-code[bot] Aug 13, 2026
0bdcee1
refactor(web): use theme css variants
t3-code[bot] Aug 14, 2026
e0cd878
Merge remote-tracking branch 'origin/main' into fix/ui-control-consis…
t3-code[bot] Aug 14, 2026
f387e17
refactor(web): complete stylesheet audit
t3-code[bot] Aug 14, 2026
1170852
merge main into fix/ui-control-consistency
t3-code[bot] Aug 14, 2026
b9937b7
merge latest main into fix/ui-control-consistency
t3-code[bot] Aug 14, 2026
3482c11
fix(web): preserve menu minimum width
t3-code[bot] Aug 14, 2026
ed080cc
refactor(web): remove final css duplicates
t3-code[bot] Aug 14, 2026
e1f0b7b
Merge branch 'main' into fix/ui-control-consistency
juliusmarminge Aug 14, 2026
bd33ff5
ci: add UI consistency review agent
t3-code[bot] Aug 14, 2026
148b0fb
ci: clarify UI consistency review rules
t3-code[bot] Aug 14, 2026
190dde8
ci: scope UI consistency evidence checks
t3-code[bot] Aug 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions apps/web/src/components/AgentsPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import { useEffect, useRef, useState } from "react";
import { cn } from "~/lib/utils";
import { orchestrationEnvironment } from "~/state/orchestration";
import { ScrollArea } from "~/components/ui/scroll-area";
import { Button } from "~/components/ui/button";

/**
* In-flight states all present as Working (one steady state, per the
Expand Down Expand Up @@ -282,14 +283,15 @@ function WorkflowScriptView({
<span className="truncate font-mono text-[.65rem] text-muted-foreground">
{scriptPath.split("/").at(-1)}
</span>
<button
type="button"
<Button
size="icon-micro"
variant="ghost-muted"
onClick={onClose}
aria-label="Close script"
className="ml-auto text-muted-foreground hover:text-foreground"
className="ml-auto"
>
<X aria-hidden className="size-3" />
</button>
</Button>
</div>
<div className="max-h-72 overflow-auto p-2">
{result._tag === "Success" ? (
Expand Down Expand Up @@ -417,14 +419,14 @@ function ExpandedWorkflowSection({
<span className="ml-auto font-mono normal-case text-muted-foreground/80">
{settled}/{members.length} settled
</span>
<button
type="button"
<Button
size="icon-micro"
variant="ghost-muted"
onClick={onCollapse}
aria-label="Collapse workflow"
className="text-muted-foreground hover:text-foreground"
>
<ChevronDown aria-hidden className="size-3" />
</button>
</Button>
</div>
<PhaseRail group={group} />
{scriptOpen && canShowScript ? (
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/components/ChatMarkdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1289,7 +1289,7 @@ const MarkdownFileLink = memo(function MarkdownFileLink({
side="top"
className="max-w-[min(40rem,calc(100vw-2rem))] font-mono text-[11px] leading-tight"
>
<div className="markdown-file-link-tooltip-scroll overflow-x-auto whitespace-nowrap">
<div className="overflow-x-auto whitespace-nowrap [scrollbar-color:color-mix(in_srgb,var(--border)_78%,transparent)_transparent] [scrollbar-width:thin] [&::-webkit-scrollbar]:h-1.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-[color-mix(in_srgb,var(--border)_78%,transparent)] [&::-webkit-scrollbar-track]:bg-transparent">
{displayPath}
</div>
</TooltipPopup>
Expand Down
18 changes: 10 additions & 8 deletions apps/web/src/components/ChatView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6012,8 +6012,9 @@ function ChatViewContent(props: ChatViewProps) {
// One inset in both states: the controls move between containers when
// the right panel opens, and a different right offset made them jump
// sideways on every toggle.
"workspace-titlebar-controls z-50 mr-px gap-1 [-webkit-app-region:no-drag]",
"absolute top-[var(--workspace-controls-top)] right-[var(--workspace-controls-right)] z-50 mr-px flex h-[var(--workspace-topbar-height)] items-center gap-1 [-webkit-app-region:no-drag]",
)}
data-workspace-titlebar-controls
>
{rightPanelOpen && !shouldUseRightPanelSheet ? (
<RightPanelMaximizeControl
Expand Down Expand Up @@ -6154,12 +6155,12 @@ function ChatViewContent(props: ChatViewProps) {
"bg-background transition-[padding-left] duration-200 ease-linear motion-reduce:transition-none",
isElectron
? cn(
"workspace-topbar drag-region relative px-3 sm:px-5",
"drag-region relative flex h-[var(--workspace-topbar-height)] min-h-[var(--workspace-topbar-height)] shrink-0 items-center px-3 sm:px-5",
reserveTitleBarControlInset &&
!inlineRightPanelOwnsTitleBar &&
"wco:pr-[var(--workspace-native-controls-inset)]",
)
: "workspace-topbar pl-[calc(env(safe-area-inset-left)+0.75rem)] pr-[calc(env(safe-area-inset-right)+0.75rem)] sm:pl-[calc(env(safe-area-inset-left)+1.25rem)] sm:pr-[calc(env(safe-area-inset-right)+1.25rem)]",
: "flex h-[var(--workspace-topbar-height)] min-h-[var(--workspace-topbar-height)] shrink-0 items-center pl-[calc(env(safe-area-inset-left)+0.75rem)] pr-[calc(env(safe-area-inset-right)+0.75rem)] sm:pl-[calc(env(safe-area-inset-left)+1.25rem)] sm:pr-[calc(env(safe-area-inset-right)+1.25rem)]",
COLLAPSED_SIDEBAR_TITLEBAR_INSET_CLASS,
)}
>
Expand Down Expand Up @@ -6262,16 +6263,17 @@ function ChatViewContent(props: ChatViewProps) {
className="pointer-events-none absolute left-1/2 z-30 flex -translate-x-1/2 justify-center py-1.5"
style={{ bottom: composerOverlayHeight + 4 }}
>
<button
type="button"
<Button
aria-label="Scroll to end"
title="Scroll to end"
onClick={() => scrollToEnd(true)}
className="chat-composer-glass pointer-events-auto flex items-center gap-1.5 rounded-full border border-border/60 px-3 py-1 text-muted-foreground text-xs shadow-sm transition-colors hover:border-border hover:text-foreground hover:cursor-pointer"
className="pointer-events-auto gap-1.5 rounded-full px-3 text-muted-foreground hover:text-foreground"
size="xs"
variant="glass"
>
<ChevronDownIcon className="size-3.5" />
Scroll to end
</button>
</Button>
</div>
)}
</div>
Expand All @@ -6288,7 +6290,7 @@ function ChatViewContent(props: ChatViewProps) {
>
<div
ref={attachDraftHeroTransitionGroupRef}
className="chat-composer-horizontal-inset w-full"
className="w-full ps-[calc(env(safe-area-inset-left)+0.75rem)] pe-[calc(env(safe-area-inset-right)+0.75rem)] sm:ps-[calc(env(safe-area-inset-left)+1.25rem)] sm:pe-[calc(env(safe-area-inset-right)+1.25rem)]"
>
<div className="pointer-events-auto relative z-10">
{isDraftHeroState ? (
Expand Down
5 changes: 2 additions & 3 deletions apps/web/src/components/ComposerPromptEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1747,13 +1747,12 @@ function ComposerPromptEditorInner({

return (
<ComposerTerminalContextActionsContext value={terminalContextActions}>
<div className="composer-editor-surface relative">
<div className="relative [font-family:var(--font-composer,var(--font-sans))] [font-size:var(--font-size-prompt,0.875rem)] [@media(max-width:39.999rem)_and_(pointer:coarse)]:[font-size:max(var(--font-size-prompt,1rem),16px)]">
<PlainTextPlugin
contentEditable={
<ContentEditable
className={cn(
// The size comes from .composer-editor-surface so Settings -> Appearance
// can drive it; keep everything else here.
// The wrapper owns the appearance preference; keep everything else here.
"block max-h-50 min-h-17.5 w-full overflow-y-auto whitespace-pre-wrap wrap-break-word bg-transparent leading-relaxed text-foreground focus:outline-none",
className,
)}
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/components/DiffPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -825,7 +825,7 @@ export default function DiffPanel({
</div>
) : (
<>
<div className="diff-panel-viewport flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden">
<div className="flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-background">
{isSelectedPatchTruncated && (
<p className="shrink-0 border-b border-border/70 bg-muted/40 px-3 py-1.5 text-[11px] text-muted-foreground">
This diff was truncated because it exceeded the preview limit. The changes shown are
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/components/DiffPanelShell.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ function getDiffPanelHeaderRowClassName(mode: DiffPanelMode) {
mode === "embedded" ? "px-2" : "px-4",
shouldUseDragRegion
? "drag-region h-[52px] border-b border-border wco:h-[env(titlebar-area-height)] wco:pr-[calc(100vw-env(titlebar-area-width)-env(titlebar-area-x)+1em)]"
: "surface-subheader",
: "flex h-10 min-h-10 shrink-0 items-center border-b border-border/60 bg-background",
);
}

Expand Down
4 changes: 3 additions & 1 deletion apps/web/src/components/NoActiveThreadState.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ export function NoActiveThreadState() {
<header
className={cn(
"border-b border-border px-3 transition-[padding-left] duration-200 ease-linear motion-reduce:transition-none sm:px-5",
isElectron ? "workspace-topbar drag-region" : "workspace-topbar",
isElectron
? "drag-region flex h-[var(--workspace-topbar-height)] min-h-[var(--workspace-topbar-height)] shrink-0 items-center"
: "flex h-[var(--workspace-topbar-height)] min-h-[var(--workspace-topbar-height)] shrink-0 items-center",
COLLAPSED_SIDEBAR_TITLEBAR_INSET_CLASS,
)}
>
Expand Down
13 changes: 10 additions & 3 deletions apps/web/src/components/RightPanelTabs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import { isElectron } from "~/env";
import type { RightPanelSurface } from "~/rightPanelStore";
import { cn } from "~/lib/utils";
import { readLocalApi } from "~/localApi";
import { Button } from "~/components/ui/button";
import { Tooltip, TooltipPopup, TooltipTrigger } from "~/components/ui/tooltip";
import { Kbd } from "~/components/ui/kbd";
import { Menu, MenuItem, MenuPopup, MenuTrigger } from "~/components/ui/menu";
Expand Down Expand Up @@ -592,7 +593,7 @@ export function RightPanelTabs(props: RightPanelTabsProps) {
>
<div
className={cn(
"workspace-topbar gap-1 pl-2",
"flex h-[var(--workspace-topbar-height)] min-h-[var(--workspace-topbar-height)] shrink-0 items-center gap-1 pl-2",
props.mode !== "inline" && "[--workspace-topbar-height:--spacing(11)]",
props.mode === "inline" && !props.layoutControls ? "pr-28" : "pr-3",
ownsDesktopTitleBar && "wco:pr-[calc(var(--workspace-native-controls-inset)+6rem)]",
Expand Down Expand Up @@ -668,8 +669,14 @@ export function RightPanelTabs(props: RightPanelTabsProps) {
{props.surfaces.length > 0 ? (
<Menu>
<MenuTrigger
className="cursor-pointer relative inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground"
aria-label="Add panel surface"
render={
<Button
aria-label="Add panel surface"
className="size-6 shrink-0 text-muted-foreground hover:text-foreground"
size="icon-xs"
variant="ghost"
/>
}
>
<Plus className="size-3.5" />
</MenuTrigger>
Expand Down
4 changes: 2 additions & 2 deletions apps/web/src/components/Sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3270,9 +3270,9 @@ export default function Sidebar() {
{isSearchingThreads ? (
<Button
type="button"
size="icon-xs"
size="icon-micro"
variant="ghost"
className="size-5 shrink-0 rounded-sm text-sidebar-muted-foreground hover:bg-sidebar-control-surface hover:text-sidebar-foreground"
className="shrink-0 text-sidebar-muted-foreground hover:bg-sidebar-control-surface hover:text-sidebar-foreground"
aria-label="Clear thread search"
onClick={() => {
clearThreadSearch();
Expand Down
9 changes: 3 additions & 6 deletions apps/web/src/components/ThreadTerminalDrawer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import {
useState,
} from "react";
import { Popover, PopoverPopup, PopoverTrigger } from "~/components/ui/popover";
import { Button } from "~/components/ui/button";
import { writeTextToClipboard } from "~/hooks/useCopyToClipboard";
import { cn } from "~/lib/utils";
import { type TerminalContextSelection } from "~/lib/terminalContext";
Expand Down Expand Up @@ -1279,13 +1280,9 @@ export default function ThreadTerminalDrawer({
) : null}
<div className="flex min-h-0 flex-1 flex-col items-center justify-center gap-3 px-4 py-6 text-center text-sm text-muted-foreground">
<p>No terminal sessions for this thread yet.</p>
<button
type="button"
className="rounded-md border border-border/80 bg-background px-3 py-1.5 text-xs font-medium text-foreground transition-colors hover:bg-accent"
onClick={onNewTerminalAction}
>
<Button size="xs" variant="outline" onClick={onNewTerminalAction}>
{newTerminalActionLabel}
</button>
</Button>
</div>
</aside>
);
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/components/chat/ComposerCommandMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ export const ComposerCommandMenu = memo(function ComposerCommandMenu(props: {
>
<div
ref={listRef}
className="dropdown-glass relative w-full overflow-hidden rounded-[20px] **:data-[slot=scroll-area-scrollbar]:data-[orientation=vertical]:my-4"
className="dropdown-glass relative w-full overflow-hidden rounded-[20px] shadow-[0_16px_40px_-18px_rgb(0_0_0/55%)] **:data-[slot=scroll-area-scrollbar]:data-[orientation=vertical]:my-4 dark:shadow-[0_18px_44px_-18px_rgb(0_0_0/80%)]"
>
{props.items.length > 0 ? (
<CommandList className="max-h-72">
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/components/chat/ComposerStashMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ export const ComposerStashMenu = memo(function ComposerStashMenu(props: {

return (
<Command autoHighlight={false} mode="none">
<div className="dropdown-glass relative w-full overflow-hidden rounded-[20px]">
<div className="dropdown-glass relative w-full overflow-hidden rounded-[20px] shadow-[0_16px_40px_-18px_rgb(0_0_0/55%)] dark:shadow-[0_18px_44px_-18px_rgb(0_0_0/80%)]">
<CommandList className="max-h-72">
<CommandGroup>
<CommandGroupLabel className="flex items-center gap-1.5 px-3 pt-2 pb-1 text-[10px] font-semibold uppercase tracking-[0.08em] text-secondary-label">
Expand Down
4 changes: 2 additions & 2 deletions apps/web/src/components/chat/MessagesTimeline.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -237,9 +237,9 @@ describe("MessagesTimeline", () => {
);

expect(compactMarkup).toContain('class="h-3 sm:h-4"');
expect(compactMarkup).not.toContain("chat-timeline-scroll-fade");
expect(compactMarkup).not.toContain("topbar-scroll-fade");
expect(fadedMarkup).toContain('class="h-10 sm:h-12"');
expect(fadedMarkup).toContain("chat-timeline-scroll-fade");
expect(fadedMarkup).toContain("topbar-scroll-fade");
});

it("keeps assistant changed-files headers sticky below the thread header", () => {
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/components/chat/MessagesTimeline.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,7 @@ export const MessagesTimeline = memo(function MessagesTimeline({
onScroll={handleScroll}
className={cn(
"scrollbar-gutter-both h-full min-h-0 overflow-x-hidden overscroll-y-contain px-3 [overflow-anchor:none] sm:px-5",
topFadeEnabled && "chat-timeline-scroll-fade",
topFadeEnabled && "topbar-scroll-fade",
)}
ListHeaderComponent={
loadEarlier !== null ? (
Expand Down
4 changes: 2 additions & 2 deletions apps/web/src/components/chat/ModelPickerContent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -598,7 +598,7 @@ export const ModelPickerContent = memo(function ModelPickerContent(props: {
return (
<TooltipProvider delay={0}>
<div
className="dropdown-glass model-picker-surface relative flex h-screen max-h-86.5 w-screen max-w-90 flex-row overflow-hidden rounded-lg text-popover-foreground [clip-path:inset(0_round_var(--radius-lg))]"
className="dropdown-glass relative flex h-screen max-h-86.5 w-screen max-w-90 flex-row overflow-hidden rounded-lg text-popover-foreground shadow-[0_16px_40px_-18px_rgb(0_0_0/55%)] [clip-path:inset(0_round_var(--radius-lg))] dark:shadow-[0_18px_44px_-18px_rgb(0_0_0/80%)]"
data-model-picker-content="true"
>
{/* Sidebar */}
Expand Down Expand Up @@ -781,7 +781,7 @@ export const ModelPickerContent = memo(function ModelPickerContent(props: {
onLayout={updateModelListScrollFades}
onScroll={updateModelListScrollFades}
className={cn(
"model-picker-list scrollbar-gutter-stable h-full overflow-x-hidden overscroll-y-contain py-1.5 [--fade-size:1.5rem]",
"scrollbar-gutter-stable h-full overflow-x-hidden overscroll-y-contain py-1.5 [--fade-size:1.5rem] [&::-webkit-scrollbar-track]:my-2",
showTopScrollFade && "model-picker-list-scroll-fade-top",
showBottomScrollFade && "model-picker-list-scroll-fade-bottom",
)}
Expand Down
10 changes: 6 additions & 4 deletions apps/web/src/components/chat/ProviderStatusBanner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { type ServerProvider } from "@t3tools/contracts";
import { memo } from "react";
import { InfoIcon, XIcon } from "lucide-react";
import { cn } from "~/lib/utils";
import { Button } from "../ui/button";
import { formatProviderDriverKindLabel } from "../../providerModels";
import { Tooltip, TooltipPopup, TooltipTrigger } from "../ui/tooltip";

Expand Down Expand Up @@ -66,14 +67,15 @@ export const ProviderStatusBanner = memo(function ProviderStatusBanner({
</TooltipPopup>
</Tooltip>
</div>
<button
type="button"
<Button
aria-label={`Dismiss ${providerName} provider ${status.status}`}
className="absolute top-2 right-2 inline-flex size-6 cursor-pointer items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-foreground/8 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring"
className="absolute top-2 right-2 size-6 text-muted-foreground hover:text-foreground"
onClick={onDismiss}
size="icon-xs"
variant="ghost"
>
<XIcon aria-hidden className="size-3.5" />
</button>
</Button>
</div>
</div>
);
Expand Down
7 changes: 5 additions & 2 deletions apps/web/src/components/files/FileBrowserPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ function FileSearchField(props: {
value: string;
}) {
return (
<InputGroup variant="ghost" className="h-7 min-w-0 flex-1 rounded-md">
<InputGroup variant="ghost" className="h-7 min-w-0 flex-1">
<InputGroupInput
type="search"
name={props.name}
Expand Down Expand Up @@ -350,7 +350,10 @@ export default function FileBrowserPanel({
className="flex min-h-0 flex-1 flex-col bg-background"
data-file-browser-panel={`${environmentId}:${cwd}`}
>
<div className="surface-subheader gap-1 px-2" data-surface-subheader>
<div
className="flex h-10 min-h-10 shrink-0 items-center gap-1 border-b border-border/60 bg-background px-2"
data-surface-subheader
>
<RefreshFilesButton isPending={entriesQuery.isPending} onRefresh={entriesQuery.refresh} />
<FileSearchField
name="project-files-search"
Expand Down
5 changes: 4 additions & 1 deletion apps/web/src/components/files/FilePreviewPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -857,7 +857,10 @@ export default function FilePreviewPanel({
return (
<div className="flex min-h-0 flex-1 flex-col overflow-hidden bg-background">
{relativePath ? (
<div className="surface-subheader gap-2 px-3" data-surface-subheader>
<div
className="flex h-10 min-h-10 shrink-0 items-center gap-2 border-b border-border/60 bg-background px-3"
data-surface-subheader
>
<ScrollArea
ref={breadcrumbRef}
hideScrollbars
Expand Down
8 changes: 6 additions & 2 deletions apps/web/src/components/preview/PreviewChromeRow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,11 @@ export function PreviewChromeRow({

return (
<div className="relative">
<form onSubmit={submit} className="surface-subheader gap-1 px-2" data-surface-subheader>
<form
onSubmit={submit}
className="flex h-10 min-h-10 shrink-0 items-center gap-1 border-b border-border/60 bg-background px-2"
data-surface-subheader
>
<div className="flex items-center gap-0.5" role="group" aria-label="Navigation">
<Tooltip>
<TooltipTrigger
Expand Down Expand Up @@ -164,7 +168,7 @@ export function PreviewChromeRow({
</Tooltip>
</div>

<InputGroup variant="ghost" className="group/address h-7 flex-1 rounded-md">
<InputGroup variant="ghost" className="group/address h-7 flex-1">
<Tooltip>
<TooltipTrigger
render={
Expand Down
Loading
Loading