/** * [WHO]: Public exports from this file (see implementation below). * [FROM]: See the import block immediately after this header. * [TO]: sparkdesign package consumers; output of CLI `add` when applicable. * [HERE]: src/components/index.ts — Spark Design source; keep aligned with the main library. * * [PROTOCOL]: * 1. Keep this P3 header in sync when the public contract changes. * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change. * 3. Follow design tokens and explicit type exports. */ export { Button } from './basic/Button'; export type { ButtonProps } from './basic/Button'; export { ButtonGroup, ButtonGroupText, ButtonGroupSeparator, buttonGroupVariants, } from './basic/ButtonGroup'; export type { ButtonGroupProps, ButtonGroupTextProps, ButtonGroupSeparatorProps, } from './basic/ButtonGroup'; export { Badge, badgeVariants } from './basic/Badge'; export type { BadgeProps } from './basic/Badge'; export { IconButton } from './basic/IconButton'; export type { IconButtonProps } from './basic/IconButton'; export { Tooltip } from './basic/Tooltip'; export type { TooltipProps } from './basic/Tooltip'; export { EllipsisText } from './basic/EllipsisText'; export type { EllipsisTextProps } from './basic/EllipsisText'; export { OptionList } from './basic/OptionList'; export type { OptionListProps, OptionItem } from './basic/OptionList'; export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, } from './basic/DropdownMenu'; export type { DropdownMenuItemProps, DropdownMenuSubTriggerProps, DropdownMenuLabelProps, } from './basic/DropdownMenu'; export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, } from './basic/AlertDialog'; export type { AlertDialogContentProps, AlertDialogActionProps, AlertDialogHeaderProps, AlertDialogFooterProps, AlertDialogMediaProps, } from './basic/AlertDialog'; export { Kbd, KbdGroup } from './basic/Kbd'; export type { KbdProps, KbdGroupProps } from './basic/Kbd'; export { Switch, FunctionSwitch } from './basic/Switch'; export type { SwitchProps, FunctionSwitchProps, FunctionSwitchSize, FunctionSwitchValue, SegmentOption } from './basic/Switch'; export { Toggle, ToggleGroup, ToggleGroupItem } from './basic/Toggle'; export type { ToggleProps, ToggleGroupProps, ToggleGroupItemProps } from './basic/Toggle'; export { RadioGroup, RadioGroupItem } from './basic/RadioGroup'; export type { RadioGroupProps, RadioGroupItemProps } from './basic/RadioGroup'; export { Collapsible, CollapsibleTrigger, CollapsibleContent } from './basic/Collapsible'; export { ResizablePanelGroup, ResizablePanel, ResizableHandle, } from './basic/Resizable'; export type { ResizablePanelGroupProps, ResizablePanelProps, ResizableHandleProps, } from './basic/Resizable'; export { Scrollbar } from './basic/Scrollbar'; export type { ScrollbarProps } from './basic/Scrollbar'; export { Skeleton } from './basic/Skeleton'; export type { SkeletonProps } from './basic/Skeleton'; export { ShimmeringText } from './basic/ShimmeringText'; export type { ShimmeringTextProps } from './basic/ShimmeringText'; export { Spinner } from './basic/Spinner'; export type { SpinnerProps } from './basic/Spinner'; export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, } from './basic/Table'; export type { TableProps, TableHeaderProps, TableBodyProps, TableFooterProps, TableRowProps, TableHeadProps, TableCellProps, TableCaptionProps, } from './basic/Table'; export { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount, } from './basic/Avatar'; export type { AvatarProps, AvatarImageProps, AvatarFallbackProps, AvatarBadgeProps, AvatarGroupProps, AvatarGroupCountProps, } from './basic/Avatar'; export { Toaster, toast } from './basic/Toast'; export type { ToasterProps } from './basic/Toast'; export { Select, SelectTrigger, SelectValue, SelectContent, SelectLabel, SelectSeparator, SelectGroup, SelectItem, SelectScrollUpButton, SelectScrollDownButton, } from './basic/Select'; export type { SelectProps, SelectTriggerProps, SelectValueProps, SelectContentProps, SelectLabelProps, SelectSeparatorProps, SelectGroupProps, SelectItemProps, } from './basic/Select'; export { Tabs, TabsList, TabsTrigger, TabsContent, } from './basic/Tabs'; export type { TabsProps, TabsListProps, TabsTriggerProps, TabsContentProps, } from './basic/Tabs'; export { Accordion, AccordionItem, AccordionTrigger, AccordionContent, } from './basic/Accordion'; export type { AccordionProps, AccordionItemProps, AccordionTriggerProps, AccordionContentProps, } from './basic/Accordion'; export { Collapse, CollapseItem, CollapseTrigger, CollapseContent, } from './basic/Collapse'; export type { CollapseProps, CollapseItemProps, CollapseTriggerProps, CollapseContentProps, } from './basic/Collapse'; export { TypographyH1, TypographyH2, TypographyH3, TypographyH4, TypographyP, TypographyBlockquote, TypographyTable, TypographyList, TypographyInlineCode, TypographyLead, TypographyLarge, TypographySmall, TypographyMuted, } from './basic/Typography'; export type { TypographyH1Props, TypographyH2Props, TypographyH3Props, TypographyH4Props, TypographyPProps, TypographyBlockquoteProps, TypographyTableProps, TypographyListProps, TypographyInlineCodeProps, TypographyLeadProps, TypographyLargeProps, TypographySmallProps, TypographyMutedProps, } from './basic/Typography'; export { Slider } from './basic/Slider'; export type { SliderProps } from './basic/Slider'; export { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PaginationEllipsis, } from './basic/Pagination'; export type { PaginationLinkProps, PaginationPreviousProps, PaginationNextProps, } from './basic/Pagination'; export { Tag, tagVariants } from './basic/Tag'; export type { TagProps } from './basic/Tag'; export { Progress } from './basic/Progress'; export type { ProgressProps } from './basic/Progress'; export { Rating, ratingVariants } from './basic/Rating'; export type { RatingProps, RatingPrecision } from './basic/Rating'; export { Stepper, StepperItem, StepperIndicator, StepperContent, StepperTitle, StepperDescription, StepperSeparator, } from './basic/Stepper'; export type { StepperProps, StepperItemProps, StepperIndicatorProps, StepperContentProps, StepperTitleProps, StepperDescriptionProps, StepperSeparatorProps, StepStatus, } from './basic/Stepper'; export { Timeline, TimelineItem, TimelineMarker, TimelineConnector, TimelineContent, TimelineTitle, TimelineDescription, TimelineTime, timelineMarkerVariants, } from './basic/Timeline'; export type { TimelineProps, TimelineItemProps, TimelineMarkerProps, TimelineConnectorProps, TimelineContentProps, TimelineTitleProps, TimelineDescriptionProps, TimelineTimeProps, } from './basic/Timeline'; export { CollapsibleCard } from './basic/CollapsibleCard'; export type { CollapsibleCardProps } from './basic/CollapsibleCard'; export { SidebarMenu } from './basic/SidebarMenu'; export type { SidebarMenuProps, SidebarMenuItem, SidebarMenuItemAction } from './basic/SidebarMenu'; export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SidebarNavMenu, SidebarNavMenuItem, sidebarMenuButtonVariants, useSidebar, } from './basic/Sidebar'; export { Input } from './basic/Input'; export type { InputProps } from './basic/Input'; export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupTextarea, InputGroupText, } from './basic/InputGroup'; export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator, } from './basic/InputOTP'; export { Textarea } from './basic/Textarea'; export type { TextareaProps } from './basic/Textarea'; export { Field, FieldLabel, FieldDescription, FieldError, FieldContent, FieldTitle, FieldSeparator, FieldSet, FieldLegend, FieldGroup, } from './basic/Field'; export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, } from './basic/Form'; export { Label } from './basic/Label'; export type { LabelProps } from './basic/Label'; export { Checkbox, checkboxVariants } from './basic/Checkbox'; export type { CheckboxProps } from './basic/Checkbox'; export { Separator } from './basic/Separator'; export type { SeparatorProps } from './basic/Separator'; export { AspectRatio } from './basic/AspectRatio'; export type { AspectRatioProps } from './basic/AspectRatio'; export { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia, } from './basic/Empty'; export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, } from './basic/Item'; export { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, } from './basic/Card'; export type { CardProps, CardHeaderProps, CardTitleProps, CardDescriptionProps, CardActionProps, CardContentProps, CardFooterProps, } from './basic/Card'; export { Alert, AlertTitle, AlertDescription, alertVariants } from './basic/Alert'; export type { AlertProps, AlertTitleProps, AlertDescriptionProps, } from './basic/Alert'; export { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, } from './basic/Breadcrumb'; export { Dialog, DialogTrigger, DialogPortal, DialogOverlay, DialogClose, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, } from './basic/Dialog'; export type { DialogContentProps, DialogHeaderProps, DialogFooterProps, } from './basic/Dialog'; export { Drawer, DrawerTrigger, DrawerClose, DrawerPortal, DrawerOverlay, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, } from './basic/Drawer'; export type { DrawerContentProps, DrawerHeaderProps, DrawerFooterProps, } from './basic/Drawer'; export { Popover, PopoverTrigger, PopoverAnchor, PopoverContent, } from './basic/Popover'; export type { PopoverContentProps } from './basic/Popover'; export { HoverCard, HoverCardTrigger, HoverCardContent } from './basic/HoverCard'; export type { HoverCardContentProps } from './basic/HoverCard'; export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup, } from './basic/ContextMenu'; export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarShortcut, } from './basic/Menubar'; export { NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuContent, NavigationMenuTrigger, NavigationMenuLink, NavigationMenuIndicator, NavigationMenuViewport, navigationMenuTriggerStyle, } from './basic/NavigationMenu'; export { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, } from './basic/Command'; export { Combobox } from './basic/Combobox'; export type { ComboboxOption, ComboboxProps } from './basic/Combobox'; export { NativeSelect, NativeSelectOption, NativeSelectOptGroup, } from './basic/NativeSelect'; export { Calendar, CalendarDayButton } from './basic/Calendar'; export type { CalendarProps } from './basic/Calendar'; export { DatePicker } from './basic/DatePicker'; export type { DatePickerProps } from './basic/DatePicker'; export { Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, type CarouselApi, } from './basic/Carousel'; export { DataTable } from './basic/DataTable'; export type { DataTableColumn, DataTableProps } from './basic/DataTable'; export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle, } from './basic/Chart'; export type { ChartConfig } from './basic/Chart'; export { ScrollArea, ScrollBar } from './basic/ScrollArea'; export { DirectionProvider, useDirection } from './basic/Direction'; export type { Direction, DirectionProviderProps } from './basic/Direction'; export { FolderButton } from './chat/FolderButton'; export type { FolderButtonProps } from './chat/FolderButton'; export { ChatInput, ChatInputRoot, ChatInputAbove, ChatInputBox, ChatInputAttachments, ChatInputInput, ChatInputActions, ChatInputActionsLeft, ChatInputActionsRight, ChatInputExpandButton, ChatInputFolderButton, ChatInputMoreButton, ChatInputSendButton, ChatInputFooterLeft, } from './chat/ChatInput'; export type { ChatInputProps, FolderPermissionConfig, GenerationStatusConfig, FooterLeftModelSwitchConfig, FooterLeftModelSwitchItem, ChatInputRootProps, ChatInputAboveProps, ChatInputBoxProps, ChatInputAttachmentsProps, ChatInputInputProps, ChatInputActionsProps, ChatInputActionsLeftProps, ChatInputActionsRightProps, ChatInputExpandButtonProps, } from './chat/ChatInput'; export { PromptSuggestions, RelatedPrompts } from './chat/RelatedPrompts'; export type { PromptSuggestionsProps, RelatedPromptsProps, RelatedPromptItem } from './chat/RelatedPrompts'; export { HintBanner } from './chat/HintBanner'; export type { HintBannerProps } from './chat/HintBanner'; export { SendButton } from './chat/SendButton'; export type { SendButtonProps } from './chat/SendButton'; export { AssistantResponse, Response } from './chat/Response'; export type { AssistantResponseProps, ResponseProps, ResponsePhase, ResponseRound, ResponseStep, ResponseStepToolType, } from './chat/Response'; export { UserMessage } from './chat/UserMessage'; export type { UserMessageProps } from './chat/UserMessage'; export { Message, MessageContent, MessageAvatar, MessageHeader, MessageFooter, MessageGroup, messageVariants, } from './chat/Message'; export type { MessageProps, MessageContentProps, MessageAvatarProps, MessageHeaderProps, MessageFooterProps, MessageGroupProps, } from './chat/Message'; export { Bubble, BubbleContent, BubbleGroup, BubbleReactions, bubbleVariants, bubbleContentVariants, } from './chat/Bubble'; export type { BubbleProps, BubbleContentProps, BubbleGroupProps, BubbleReactionsProps, } from './chat/Bubble'; export { Marker, MarkerIcon, MarkerContent, markerVariants } from './chat/Marker'; export type { MarkerProps, MarkerIconProps, MarkerContentProps } from './chat/Marker'; export { MessageScroller, MessageScrollerContent, MessageScrollerButton, } from './chat/MessageScroller'; export type { MessageScrollerProps, MessageScrollerContentProps, MessageScrollerButtonProps, } from './chat/MessageScroller'; export { Attachment, AttachmentMedia, AttachmentContent, AttachmentTitle, AttachmentDescription, AttachmentActions, AttachmentAction, attachmentVariants, } from './chat/Attachment'; export type { AttachmentProps, AttachmentMediaProps, AttachmentContentProps, AttachmentTitleProps, AttachmentDescriptionProps, AttachmentActionsProps, AttachmentActionProps, } from './chat/Attachment'; export { ChatContextTag } from './chat/ChatContextTag'; export type { ChatContextTagProps } from './chat/ChatContextTag'; export { CompressionAnimationIcon, CompressionDivider, ContextCompressionDivider } from './chat/CompressionDivider'; export type { CompressionAnimationIconProps, ContextCompressionDividerProps, CompressionDividerProps, } from './chat/CompressionDivider'; export { FileCard } from './chat/FileCard'; export type { FileCardProps } from './chat/FileCard'; export { FileAttachment } from './chat/FileAttachment'; export type { FileAttachmentProps } from './chat/FileAttachment'; export { ImageAttachment } from './chat/ImageAttachment'; export type { ImageAttachmentProps } from './chat/ImageAttachment'; export { ReasoningStep } from './chat/ReasoningStep'; export type { ReasoningStepProps, ReasoningStepDetail } from './chat/ReasoningStep'; export { ToolCallCard, ToolInvocationCard } from './chat/ToolInvocationCard'; export type { ToolCallCardProps, ToolCallStatus, ToolInvocationCardProps, ToolInvocationStatus, } from './chat/ToolInvocationCard'; export { PermissionCard } from './chat/PermissionCard'; export type { PermissionCardProps, PermissionCardAction } from './chat/PermissionCard'; export { MarkdownBody } from './chat/Markdown'; export type { MarkdownBodyProps } from './chat/Markdown'; export { StreamingMarkdownBlock } from './chat/StreamingMarkdownBlock'; export type { StreamingMarkdownBlockProps } from './chat/StreamingMarkdownBlock'; export { GenerationStatusBar } from './chat/GenerationStatusBar'; export type { GenerationStatusBarProps } from './chat/GenerationStatusBar'; export { ThinkingIndicator } from './chat/ThinkingIndicator'; export type { ThinkingIndicatorProps } from './chat/ThinkingIndicator'; export { ImageGenerating, ImageGenerationPlaceholder } from './chat/ImageGenerating'; export type { ImageGeneratingProps, ImageGenerationPlaceholderProps } from './chat/ImageGenerating'; export { GeneratedImagesGrid } from './chat/GeneratedImagesGrid'; export type { GeneratedImagesGridProps } from './chat/GeneratedImagesGrid'; export { UserQuestion } from './chat/UserQuestion'; export type { UserQuestionProps, UserQuestionHandle, UserQuestionItem, UserQuestionOption, UserQuestionLabels, } from './chat/UserQuestion'; export { UserQuestionAnswer } from './chat/UserQuestionAnswer'; export type { UserQuestionAnswerProps, UserQuestionAnswerLabels, } from './chat/UserQuestionAnswer'; export { QueueIndicator } from './chat/QueueIndicator'; export type { QueueIndicatorProps, QueueIndicatorItem, QueueIndicatorLabels, } from './chat/QueueIndicator'; export { ConversationAnchorNav, useVisibleAnchorIndex, } from './chat/ConversationAnchorNav'; export type { ConversationAnchorNavProps, ConversationAnchorItem, ConversationAnchorLabels, ConversationAnchorVariant, UseVisibleAnchorIndexOptions, } from './chat/ConversationAnchorNav'; export { FileReviewCard, FileReviewPart } from './chat/FileReviewPart'; export type { FileReviewCardProps, FileReviewPartProps, FileReviewFile } from './chat/FileReviewPart'; export { AgentTaskList, TaskPart } from './chat/TaskPart'; export type { AgentTaskListProps, TaskPartProps, TaskPartTask, TaskStatus } from './chat/TaskPart'; export { AgentPlanCard, PlanPart } from './chat/PlanPart'; export type { AgentPlanCardProps, PlanPartProps } from './chat/PlanPart'; export { MermaidDiagramCard, MermaidPart } from './chat/MermaidPart'; export type { MermaidDiagramCardProps, MermaidPartProps } from './chat/MermaidPart'; export { CodeBlockCard, CodeBlockPart } from './chat/CodeBlockPart'; export type { CodeBlockCardProps, CodeBlockPartProps, CodeBlockDiffType } from './chat/CodeBlockPart'; export { TerminalCodeBlockPart, TerminalOutputCard } from './chat/TerminalCodeBlockPart'; export type { TerminalCodeBlockPartProps, TerminalOutputCardProps } from './chat/TerminalCodeBlockPart'; export { BrowserActionCard, BrowserActionPart } from './chat/BrowserActionPart'; export type { BrowserActionCardProps, BrowserActionPartProps, BrowserActionStatus } from './chat/BrowserActionPart'; export { AgentQuestionCard, AskUserPart } from './chat/AskUserPart'; export type { AgentQuestionCardProps, AskUserPartProps } from './chat/AskUserPart'; export { DotmSquare3 } from './motion/DotmSquare3'; export type { DotmSquare3DotShape, DotmSquare3Pattern, DotmSquare3Phase, DotmSquare3Props, } from './motion/DotmSquare3'; export { IconsProvider, useIcons, useIcon } from '../icons/context'; export type { IconKey, IconComponent, IconProps } from '../icons/types'; export type { IconsContextValue } from '../icons/context'; export { ThemeStyleProvider, useThemeStyle, type Appearance, type ThemePreset, type CustomTheme, type Theme, type StylePreset, type CustomStyle, type Style, type ThemeStyleContextValue, type ThemeStyleProviderProps, type ThemeStyleValue, } from '../lib/ThemeStyleContext'; export { MOTION_DURATION, MOTION_EASE, MOTION_SPRING, MOTION_FADE, MOTION_SLIDE_UP, MOTION_SCALE_IN, MOTION_EXPAND, getReducedMotion, getMotionMultiplier, } from '../lib/motion'; export { FILE_TYPE_MAP, SETI_CHAR_MAP, SETI_COLOR_MAP, TYPE_TO_TOKEN_CLASS, getSetiIconType, getSetiIcon, getSetiIconColor, getFileIconColorClass, } from '../lib';