diff --git a/apps/web/src/components/DiffPanel.tsx b/apps/web/src/components/DiffPanel.tsx index ce73a9e06915..3b01b0db192b 100644 --- a/apps/web/src/components/DiffPanel.tsx +++ b/apps/web/src/components/DiffPanel.tsx @@ -672,7 +672,8 @@ export default function DiffPanel({
} + className="max-w-full" aria-label={`Diff scope: ${selectedScopeLabel}`} > {selectedScopeLabel} diff --git a/apps/web/src/components/chat/useAutoBalanceUpdateBanner.tsx b/apps/web/src/components/chat/useAutoBalanceUpdateBanner.tsx index fa6efe6e4e27..8675982af5dc 100644 --- a/apps/web/src/components/chat/useAutoBalanceUpdateBanner.tsx +++ b/apps/web/src/components/chat/useAutoBalanceUpdateBanner.tsx @@ -21,6 +21,7 @@ import { ServerUpdateProgress, ServerUpdatesAction, } from "../ServerUpdateAction"; +import { InlineButton } from "../ui/button"; import { Popover, PopoverPopup, PopoverTrigger } from "../ui/popover"; import type { ComposerBannerStackItem } from "./ComposerBannerStack"; import { ComposerServerUpdateIcon } from "./ComposerServerUpdateStatus"; @@ -95,7 +96,8 @@ export function useAutoBalanceUpdateBanner( title: ( } + className="block max-w-full truncate" aria-label={`${title}. View machines`} > {title} diff --git a/apps/web/src/components/device/DeviceToolVersions.tsx b/apps/web/src/components/device/DeviceToolVersions.tsx index 935f70217258..b72a97d5ff1c 100644 --- a/apps/web/src/components/device/DeviceToolVersions.tsx +++ b/apps/web/src/components/device/DeviceToolVersions.tsx @@ -1,5 +1,6 @@ import type { ReactNode } from "react"; import type { DeviceToolVersions as ToolVersions } from "@t3tools/contracts"; +import { InlineButton } from "~/components/ui/button"; import { Popover, PopoverPopup, PopoverTitle, PopoverTrigger } from "~/components/ui/popover"; export function DeviceToolVersions({ @@ -32,7 +33,7 @@ export function DeviceToolVersions({ ? `${label}: ${version ? `version ${version}` : selected ? "not installed" : "version unknown"}. Show details` : undefined } - className="rounded text-xs text-muted-foreground underline decoration-muted-foreground/40 underline-offset-4 hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring" + render={} > {kind ? version diff --git a/apps/web/src/components/pullRequest/PullRequestCodeTab.tsx b/apps/web/src/components/pullRequest/PullRequestCodeTab.tsx index c6b42462e1f9..a366c67d31eb 100644 --- a/apps/web/src/components/pullRequest/PullRequestCodeTab.tsx +++ b/apps/web/src/components/pullRequest/PullRequestCodeTab.tsx @@ -1071,7 +1071,8 @@ function PullRequestCodeTab({ {orderedCommits.length > 0 ? ( } + className="min-w-0 max-w-64" aria-label={`Diff scope: ${scopeLabel}`} > {scopeLabel} diff --git a/apps/web/src/components/settings/SettingsBreadcrumb.tsx b/apps/web/src/components/settings/SettingsBreadcrumb.tsx index 9cb5418f20e6..29555c337821 100644 --- a/apps/web/src/components/settings/SettingsBreadcrumb.tsx +++ b/apps/web/src/components/settings/SettingsBreadcrumb.tsx @@ -2,11 +2,11 @@ import { resolveEnvironmentMachineKind } from "@t3tools/contracts"; import { LayersIcon } from "lucide-react"; import type { ReactNode } from "react"; -import { cn } from "../../lib/utils"; import type { SidebarProjectSnapshot } from "../../sidebarProjectGrouping"; import type { EnvironmentPresentation } from "../../state/environments"; import { EnvironmentMachineIcon } from "../EnvironmentMachineIcon"; import { ProjectFavicon } from "../ProjectFavicon"; +import { InlineButton } from "../ui/button"; import { Menu, MenuPopup, @@ -111,10 +111,8 @@ function ScopeMenu({ } + className="min-w-0 max-w-56 gap-1.5" > {icon} {label} diff --git a/apps/web/src/components/usage/UsagePage.refresh.test.tsx b/apps/web/src/components/usage/UsagePage.refresh.test.tsx index f8958ab33d32..43c7f0328363 100644 --- a/apps/web/src/components/usage/UsagePage.refresh.test.tsx +++ b/apps/web/src/components/usage/UsagePage.refresh.test.tsx @@ -47,7 +47,7 @@ vi.mock("./usagePagePreferences", () => ({ readUsagePagePreferences: () => ({ metric: state.metric, windowDays: 30 }), saveUsagePagePreferences: vi.fn(), })); -vi.mock("../ui/button", () => ({ Button: "button" })); +vi.mock("../ui/button", () => ({ Button: "button", InlineButton: "button" })); vi.mock("../ui/scroll-area", () => ({ ScrollArea: "div" })); vi.mock("../ui/select", () => ({ Select: "select", diff --git a/apps/web/src/components/usage/UsagePage.test.tsx b/apps/web/src/components/usage/UsagePage.test.tsx index 0743b91f6edf..4a00317c7e81 100644 --- a/apps/web/src/components/usage/UsagePage.test.tsx +++ b/apps/web/src/components/usage/UsagePage.test.tsx @@ -40,7 +40,7 @@ vi.mock("react", async (importOriginal) => { vi.mock("../../env", () => ({ isElectron: false })); vi.mock("../../state/usage", () => ({ useUsage: testState.useUsage })); -vi.mock("../ui/button", () => ({ Button: "button" })); +vi.mock("../ui/button", () => ({ Button: "button", InlineButton: "button" })); vi.mock("../ui/scroll-area", () => ({ ScrollArea: "div" })); vi.mock("../ui/select", () => ({ Select: "div", diff --git a/apps/web/src/components/usage/UsagePage.tsx b/apps/web/src/components/usage/UsagePage.tsx index 4f3d9f5c514f..c9177d17275c 100644 --- a/apps/web/src/components/usage/UsagePage.tsx +++ b/apps/web/src/components/usage/UsagePage.tsx @@ -39,7 +39,7 @@ import { formatUsd, makeWindow, } from "@t3tools/shared/usageFormat"; -import { Button } from "../ui/button"; +import { Button, InlineButton } from "../ui/button"; import { Menu, MenuCheckboxItem, @@ -737,7 +737,10 @@ function UsageEnvironmentFilter({ return ( <> - + } + className="group/usage-environment min-w-0 max-w-full gap-1" + > {label} {showUsageStatus && pendingCount > 0 ? ( diff --git a/scripts/lint-restyle-ceiling.ts b/scripts/lint-restyle-ceiling.ts index c27dc7c4f475..1f284f517959 100644 --- a/scripts/lint-restyle-ceiling.ts +++ b/scripts/lint-restyle-ceiling.ts @@ -8,7 +8,7 @@ import * as NodeURL from "node:url"; // components/ui exports are migrated to variants (see vite.config.ts). This gate keeps the // count from growing: CI fails when findings exceed the ceiling. Lower the ceiling when you // migrate a file, and delete this script when the rule becomes an error. -export const RESTYLE_CEILING = 717; +export const RESTYLE_CEILING = 668; const RULE = "shadcn(no-restyle)";