feat(webui): migrate icons, Tooltip, WaitingMessage from vscode-ide-companion

- Move icon components (FileIcons, EditIcons, NavigationIcons, StatusIcons,
  SpecialIcons, StopIcon) from vscode-ide-companion to webui package
- Migrate Tooltip component with CSS variable theming support
- Migrate WaitingMessage and InterruptedMessage components
- Enhance Button component with forwardRef, new variants (ghost, outline),
  loading state, and icon support
- Enhance Input component with forwardRef, error state, label, and helper text
- Update vscode-ide-companion to import components from @qwen-code/webui
- Remove replaced local components from vscode-ide-companion
- Add skipLibCheck to vscode-ide-companion tsconfig for type compatibility
This commit is contained in:
yiliang114 2026-01-15 19:53:19 +08:00
parent af76450dee
commit 71570540cc
45 changed files with 1049 additions and 308 deletions

View file

@ -1,3 +1,9 @@
/**
* @license
* Copyright 2025 Qwen Team
* SPDX-License-Identifier: Apache-2.0
*/
// Shared UI Components Export
// Export all shared components from this package
@ -24,11 +30,14 @@ export { default as Footer } from './components/layout/Footer';
export { default as Message } from './components/messages/Message';
export { default as MessageInput } from './components/messages/MessageInput';
export { default as MessageList } from './components/messages/MessageList';
export { WaitingMessage } from './components/messages/Waiting/WaitingMessage';
export { InterruptedMessage } from './components/messages/Waiting/InterruptedMessage';
// UI Elements
export { default as Button } from './components/ui/Button';
export { default as Input } from './components/ui/Input';
export { default as Tooltip } from './components/ui/Tooltip';
export { Tooltip } from './components/ui/Tooltip';
export type { TooltipProps } from './components/ui/Tooltip';
// Permission components
export { default as PermissionDrawer } from './components/PermissionDrawer';
@ -38,6 +47,56 @@ export { default as Icon } from './components/icons/Icon';
export { default as CloseIcon } from './components/icons/CloseIcon';
export { default as SendIcon } from './components/icons/SendIcon';
// File Icons
export {
FileIcon,
FileListIcon,
SaveDocumentIcon,
FolderIcon,
} from './components/icons/FileIcons';
// Status Icons
export {
PlanCompletedIcon,
PlanInProgressIcon,
PlanPendingIcon,
WarningTriangleIcon,
UserIcon,
SymbolIcon,
SelectionIcon,
} from './components/icons/StatusIcons';
// Navigation Icons
export {
ChevronDownIcon,
PlusIcon,
PlusSmallIcon,
ArrowUpIcon,
CloseIcon as CloseXIcon,
CloseSmallIcon,
SearchIcon,
RefreshIcon,
} from './components/icons/NavigationIcons';
// Edit Icons
export {
EditPencilIcon,
AutoEditIcon,
PlanModeIcon,
CodeBracketsIcon,
HideContextIcon,
SlashCommandIcon,
LinkIcon,
OpenDiffIcon,
UndoIcon,
} from './components/icons/EditIcons';
// Special Icons
export { ThinkingIcon, TerminalIcon } from './components/icons/SpecialIcons';
// Action Icons
export { StopIcon } from './components/icons/StopIcon';
// Hooks
export { useTheme } from './hooks/useTheme';
export { useLocalStorage } from './hooks/useLocalStorage';