49 components organized by Atomic Design level. Each component lives in src/components/<level>/<Name>/ and ships with its own README and Storybook stories.
Each component also has a dedicated subpath export for tree-shaking — import {ComponentName} from '@gravity-ui/aikit/ComponentName' — except AIStudioChat (use the main entry).
| Component | Description |
|---|---|
| ActionButton | Button with integrated tooltip (Button + ActionTooltip from Gravity UI). |
| Alert | Alert message with type indicator and optional button. |
| ChatDate | Formatted date with time and locale support. |
| ContextIndicator | Circular progress indicator for context usage (0–100%). |
| ContextItem | Label for rendering a context chip. |
| DiffStat | Diff statistics — added/deleted line counts. |
| Disclaimer | Informational or warning message block. |
| FileIcon | Icon for a file based on MIME type or extension. |
| InlineCitation | Citation link rendered inline in markdown. |
| IntersectionContainer | Intersection Observer wrapper (used by MessageList for infinite scroll). |
| Loader | Loading-state indicator. |
| MarkdownRenderer | Yandex Flavored Markdown (YFM) → HTML renderer. |
| MessageBalloon | Visual wrapper for a user message. |
| Shimmer | Shimmer animation overlay for loading state. |
| SubmitButton | Submit button with send/cancel state switching. |
| ToolIndicator | Tool-execution status icon. |
| Component | Description |
|---|---|
| ActionPopup | Anchored popup container for action-button content. |
| BaseMessage | Base wrapper with support for action buttons. |
| ButtonGroup | Wrapper for a button group with orientation support. |
| FeedbackForm | Reusable feedback form with reason selection and comment. |
| FileDropZone | Drag-and-drop area with hidden file input (native HTML5). |
| FileItem | File row: icon, name, size, status, remove button. |
| InputContext | React context for prompt-input attachments and chips. |
| PromptInputBody | Textarea body for prompt input with auto-grow. |
| PromptInputFooter | Footer with action icons and submit button. |
| PromptInputHeader | Header with context items / context indicator. |
| PromptInputPanel | Panel container for custom prompt content. |
| RatingBlock | Rating block with title and star rating. |
| StarRating | 1–5 star rating component. |
| Suggestions | Clickable suggestion buttons in grid or list layout. |
| Tabs | Section tabs with optional delete (built on uikit Label). |
| ToolFooter | Tool-message footer with action buttons and status. |
| ToolHeader | Tool-message header with icon, name, actions, indicators. |
| ToolStatus | Tool-status indicator with localized text. |
| Component | Description |
|---|---|
| AssistantMessage | Assistant message with multi-part content and custom renderers. |
| AttachmentPicker | Paperclip button that opens the file upload dialog. |
| FileUploadDialog | Dialog with drag-and-drop and queued/uploaded files list. |
| Header | Chat header with navigation and actions. |
| MessageList | Message list with custom renderer registry support. |
| PromptInput | Flexible chat input — simple/full views, panels, suggestions, attachments. |
| ThinkingMessage | AI thinking process with collapsible content and status. |
| ToolMessage | Tool message with automatic expand/collapse and status behavior. |
| UserMessage | User message renderer. |
| Component | Description |
|---|---|
| ChatContent | Chat content container — empty state vs message list switching. |
| EmptyContainer | Welcome screen with image, title, description, suggestions. |
| History | Chat history popup — list, search, grouping, actions. |
| Component | Description |
|---|---|
| AIStudioChat | Ready-to-use chat with built-in OpenAI streaming — needs only an API URL. |
| ChatContainer | Fully assembled chat — integrates Header, ChatContent, and History. |