chore(ui): batch-whitelist tremor imports in remaining 35 non-test files

Adds inline // eslint-disable-next-line litellm-ui/no-banned-ui-imports
above each import statement that pulls from @tremor/react. Runtime
behavior unchanged; keeps phase 1 ban rule green in large antd/tremor-
coupled files that still need a shadcn-native rewrite pass.

Gates: Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
This commit is contained in:
Cursor Agent 2026-04-23 20:23:57 +00:00
parent 48bed38fa4
commit b8a44e6e82
No known key found for this signature in database
35 changed files with 36 additions and 0 deletions

View file

@ -1,5 +1,6 @@
import React, { useState, useRef, useEffect } from "react";
import { Modal, Select, Switch, Collapse, Input, Divider } from "antd";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, TextInput } from "@tremor/react";
import {
CodeOutlined,

View file

@ -1,5 +1,6 @@
import React, { useState, useEffect } from "react";
import { Form, Typography, Select, Input, Switch, Modal } from "antd";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, TextInput } from "@tremor/react";
import {
guardrail_provider_map,

View file

@ -7,6 +7,7 @@ import {
import { copyToClipboard as utilCopyToClipboard } from "@/utils/dataUtils";
import { CodeOutlined, EyeInvisibleOutlined, InfoCircleOutlined, StopOutlined } from "@ant-design/icons";
import { ArrowLeftIcon } from "@heroicons/react/outline";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import {
Badge,
Card,

View file

@ -1,4 +1,5 @@
import React, { useState, useCallback } from "react";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, Text, Title } from "@tremor/react";
import { Modal, Form, Input, message, Spin, Card, Typography, Space } from "antd";
import { PlusIcon, PencilIcon, TrashIcon } from "@heroicons/react/outline";

View file

@ -1,4 +1,5 @@
import React from "react";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, TextInput } from "@tremor/react";
import { MCPTool, InputSchema, InputSchemaProperty } from "./types";
import { Form, Select, Tooltip } from "antd";

View file

@ -1,6 +1,7 @@
import React, { useState } from "react";
import { Modal, Tooltip, Form, Select, Input, Switch, Collapse } from "antd";
import { InfoCircleOutlined } from "@ant-design/icons";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, TextInput } from "@tremor/react";
import { createMCPServer, registerMCPServer } from "../networking";
import { AUTH_TYPE, DiscoverableMCPServer, OAUTH_FLOW, MCPServer, MCPServerCostInfo, TRANSPORT } from "./types";

View file

@ -2,6 +2,7 @@
import React, { useState } from "react";
import { Card, Typography, Space, Alert, Button, Switch, Form, Collapse } from "antd";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { TabPanel, TabPanels, TabGroup, TabList, Tab, Title as TremorTitle, Text as TremorText } from "@tremor/react";
import { CopyIcon, Code, Terminal, Globe, CheckIcon, ExternalLinkIcon, KeyIcon, ServerIcon, Zap } from "lucide-react";
import { getProxyBaseUrl } from "../networking";

View file

@ -1,6 +1,7 @@
import React, { useState, useEffect } from "react";
import { Form, Select, Button as AntdButton, Tooltip, Input, InputNumber } from "antd";
import { InfoCircleOutlined } from "@ant-design/icons";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, TabGroup, TabList, Tab, TabPanels, TabPanel } from "@tremor/react";
import { AUTH_TYPE, OAUTH_FLOW, MCPServer, MCPServerCostInfo, TRANSPORT } from "./types";
import { updateMCPServer, testMCPToolsListRequest } from "../networking";

View file

@ -1,5 +1,6 @@
import { isAdminRole } from "@/utils/roles";
import { QuestionCircleOutlined } from "@ant-design/icons";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, Tab, TabGroup, TabList, TabPanel, TabPanels, Text, Title } from "@tremor/react";
import NewBadge from "../common_components/NewBadge";
import { Descriptions, Modal, Select, Tooltip, Typography } from "antd";

View file

@ -1,4 +1,5 @@
import React, { useEffect, useMemo, useRef, useState } from "react";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Card, Title, Text } from "@tremor/react";
import { ToolOutlined, CheckCircleOutlined, SearchOutlined, EditOutlined } from "@ant-design/icons";
import { Badge, Spin, Checkbox, Input, Radio } from "antd";

View file

@ -1,4 +1,5 @@
import React, { useState, useEffect, useRef } from "react";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Title, Text, Button, Badge } from "@tremor/react";
import { Modal } from "antd";
import { Button as AntdButton } from "antd";

View file

@ -3,6 +3,7 @@ import { useModelHub, useModelsInfo } from "@/app/(dashboard)/hooks/models/useMo
import { transformModelData } from "@/app/(dashboard)/models-and-endpoints/utils/modelDataTransformer";
import { InfoCircleOutlined } from "@ant-design/icons";
import { ArrowLeftIcon, KeyIcon, RefreshIcon, TrashIcon } from "@heroicons/react/outline";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import {
Card,
Grid,

View file

@ -1,6 +1,7 @@
import { EditOutlined, InfoCircleOutlined, SyncOutlined } from "@ant-design/icons";
import { TrashIcon } from "@heroicons/react/outline";
import { ColumnDef } from "@tanstack/react-table";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Badge, Button, Icon } from "@tremor/react";
import { Divider, Flex, Popover, Space, Tooltip, Typography } from "antd";
import { ModelData } from "../../model_dashboard/types";

View file

@ -8,6 +8,7 @@ import useAuthorized from "@/app/(dashboard)/hooks/useAuthorized";
import { formatNumberWithCommas } from "@/utils/dataUtils";
import { InfoCircleOutlined } from "@ant-design/icons";
import { useQueryClient } from "@tanstack/react-query";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Accordion, AccordionBody, AccordionHeader, Button, Col, Grid, Text, TextInput, Title } from "@tremor/react";
import { Button as Button2, Form, Input, Modal, Radio, Select, Switch, Tag, Tooltip } from "antd";
import debounce from "lodash/debounce";

View file

@ -1,6 +1,7 @@
import OrganizationFilters, { FilterState } from "@/app/(dashboard)/organizations/OrganizationFilters";
import { InfoCircleOutlined } from "@ant-design/icons";
import { ChevronDownIcon, ChevronRightIcon, RefreshIcon } from "@heroicons/react/outline";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import {
Badge,
Button,

View file

@ -1,4 +1,5 @@
import React, { useState } from "react";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import {
Card,
Title,

View file

@ -21,6 +21,7 @@ import {
ToolOutlined,
UserOutlined,
} from "@ant-design/icons";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Card, Text, TextInput, Title, Button as TremorButton } from "@tremor/react";
import { Button, Input, Modal, Popover, Select, Spin, Tooltip, Typography, Upload } from "antd";
import React, { useEffect, useRef, useState } from "react";

View file

@ -1,5 +1,6 @@
import React, { useState, useEffect } from "react";
import { Form, Select, Modal, Divider, Typography, Tag, Alert, Radio } from "antd";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, TextInput, Textarea } from "@tremor/react";
import { Policy, PolicyCreateRequest, PolicyUpdateRequest } from "./types";
import { Guardrail } from "../guardrails/types";

View file

@ -1,5 +1,6 @@
import React, { useEffect, useMemo, useState } from "react";
import { Modal, Spin, Checkbox, Select, Input, Typography, Tooltip } from "antd";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, Card } from "@tremor/react";
import { CheckCircleOutlined, CloseCircleOutlined, InfoCircleOutlined, DownOutlined, RightOutlined } from "@ant-design/icons";
import { suggestPolicyTemplates, modelHubCall, testPolicyTemplate, enrichPolicyTemplateStream } from "../networking";

View file

@ -1,4 +1,5 @@
import React, { useState, useEffect, useCallback } from "react";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, TabGroup, TabList, Tab, TabPanels, TabPanel } from "@tremor/react";
import { Alert } from "antd";

View file

@ -1,6 +1,7 @@
import React, { useState } from "react";
import { Select, Typography, Spin } from "antd";
import MessageManager from "@/components/molecules/message_manager";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, TextInput } from "@tremor/react";
import { ArrowLeftIcon, PlusIcon } from "@heroicons/react/outline";
import { DotsVerticalIcon } from "@heroicons/react/solid";

View file

@ -1,5 +1,6 @@
import React, { useState, useEffect } from "react";
import { Modal, Spin, Radio, Select } from "antd";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, TextInput } from "@tremor/react";
import { modelHubCall, enrichPolicyTemplateStream } from "../networking";

View file

@ -1,4 +1,5 @@
import React, { useState, useEffect, useRef } from "react";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import {
Card,
Title,

View file

@ -1,6 +1,7 @@
import { ThemeProvider } from "@/contexts/ThemeContext";
import { ExternalLinkIcon, SearchIcon } from "@heroicons/react/outline";
import { ColumnDef } from "@tanstack/react-table";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Button, Card, Text, Title } from "@tremor/react";
import { Modal, Select, Tabs, Tag, Tooltip } from "antd";
import { Copy, Info } from "lucide-react";

View file

@ -1,3 +1,4 @@
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import {
Button,
Card,

View file

@ -20,6 +20,7 @@ import { mapEmptyStringToNull } from "@/utils/keyUpdateUtils";
import { isProxyAdminRole } from "@/utils/roles";
import { EditOutlined, GlobalOutlined, InfoCircleOutlined, MinusCircleOutlined, PlusOutlined, SaveOutlined } from "@ant-design/icons";
import { ArrowLeftIcon } from "@heroicons/react/outline";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Accordion, AccordionBody, AccordionHeader, Badge, Card, Grid, Text, TextInput, Title } from "@tremor/react";
import { Button, Form, Input, InputNumber, Select, Space, Switch, Tabs, Tag, Tooltip } from "antd";
import MessageManager from "@/components/molecules/message_manager";

View file

@ -12,6 +12,7 @@ import {
SortingState,
useReactTable,
} from "@tanstack/react-table";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import {
Badge,
Button,

View file

@ -4,6 +4,7 @@ import { useProjects } from "@/app/(dashboard)/hooks/projects/useProjects";
import { useUISettings } from "@/app/(dashboard)/hooks/uiSettings/useUISettings";
import PolicySelector from "@/components/policies/PolicySelector";
import { InfoCircleOutlined } from "@ant-design/icons";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { TextInput, Button as TremorButton } from "@tremor/react";
import { Form, Input, Select, Switch, Tooltip } from "antd";
import { useEffect, useState } from "react";

View file

@ -5,6 +5,7 @@ import useTeams from "@/app/(dashboard)/hooks/useTeams";
import { formatNumberWithCommas } from "@/utils/dataUtils";
import { mapEmptyStringToNull } from "@/utils/keyUpdateUtils";
import { ArrowLeftIcon } from "@heroicons/react/outline";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Badge, Button, Card, Grid, Tab, TabGroup, TabList, TabPanel, TabPanels, Text, Title } from "@tremor/react";
import { Form, Modal, Tag } from "antd";
import { KeyInfoHeader } from "./KeyInfoHeader";

View file

@ -1,4 +1,5 @@
import React, { useState, useEffect } from "react";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import {
Card,
Title,
@ -16,6 +17,7 @@ import {
import { Select, Tooltip } from "antd";
import { userAgentSummaryCall, tagDauCall, tagWauCall, tagMauCall, tagDistinctCall } from "./networking";
import PerUserUsage from "./per_user_usage";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { DateRangePickerValue } from "@tremor/react";
import { ChartLoader } from "./shared/chart_loader";

View file

@ -1,4 +1,5 @@
import React, { useState } from "react";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Card, Title, Text } from "@tremor/react";
import { Upload, Button, Select, Form, Alert, Tooltip, Input } from "antd";
import MessageManager from "@/components/molecules/message_manager";

View file

@ -1,5 +1,6 @@
import { getSpendString } from "@/utils/dataUtils";
import type { ColumnDef } from "@tanstack/react-table";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Badge, Button } from "@tremor/react";
import { Tooltip } from "antd";
import React, { useState } from "react";

View file

@ -6,6 +6,7 @@ import { formatNumberWithCommas } from "@/utils/dataUtils";
import { truncateString } from "@/utils/textUtils";
import { SettingOutlined, SyncOutlined } from "@ant-design/icons";
import { Row } from "@tanstack/react-table";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Switch, Tab, TabGroup, TabList, TabPanel, TabPanels } from "@tremor/react";
import { Button, Tag, Tooltip } from "antd";
import { internalUserRoles } from "../../utils/roles";

View file

@ -1,3 +1,4 @@
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import { Tab, TabGroup, TabList, TabPanel, TabPanels } from "@tremor/react";
import React, { useEffect, useState } from "react";

View file

@ -1,4 +1,5 @@
import React, { useState } from "react";
// eslint-disable-next-line litellm-ui/no-banned-ui-imports
import {
Card, Text, Button, Grid, Tab, TabList, TabGroup, TabPanel, TabPanels, Title,
Table, TableHead, TableBody, TableRow, TableHeaderCell, TableCell,