Skip to Content
AuroraDesign System
ChatMessage
Foundations
Color TokensTypographySpacing & RadiiBrand & MarkDirection
Controls
ButtonsButton GroupBadgesToggle SwitchToggleToggle GroupAvatarProgressSpinnerSeparatorToolbarKbd
Form Elements
Inputs & SelectsInputFieldLabelInput GroupInput OTPNative SelectSelectComboboxCheckbox & RadioRadio GroupSliderNumber InputTextareaCalendarDate PickerTabs & Pills
Feedback
AlertBannersCalloutToastsSonnerTooltipEmpty StatesSkeletonStatus IndicatorShimmerConfirmation
Navigation
BreadcrumbPaginationCommandNavigation MenuMenubar
Data
Stat CardsTablesData TableFilter BarsTimelineDescription ListSearch ResultsListboxMarketplace
Overlays
Modal & DialogAlert DialogAccordionCollapsibleDropdownsContext MenuPopoverHover CardSheetDrawerShare Dialog
Chat & AI
Prompt InputAI ElementsMessageConversationModel SelectorPersonaOpen in ChatReasoningTool CallsToolThinkingChain of ThoughtPlanTaskQueueSuggestionCode BlockArtifactTerminalPermission PromptAsk User QuestionPermissions ConfigCommand PaletteSidebar
Runtime & Execution
AgentCheckpointCommitContext PanelEnvironment VariablesPackage InfoSchema DisplaySandboxSnippetJSX PreviewStack TraceTest ResultsPanelControl StripCanvasConnectionEdgeNode
Media & Voice
Audio PlayerMic SelectorSpeech InputTranscriptionVoice Selector
Content
Attachment ChipAI AttachmentsSourcesInline CitationFile PickerFile TreeCode EditorCode WorkspaceWeb PreviewAspect RatioCardCarouselChartImageItemResizable PanelsScroll Area
Auth & Errors
LoginOAuth FlowError Pages
Themes
Light Mode
AI Elements (new)
ActionActionsAiImageGridBranchLoaderMessageAvatarMessageContentResponseSource
Aurora Extensions
ChatMessageChatSidebarColorPickerComponentCardCopyButtonMultiSelectOperationIconProgressRingRangeSliderRatingSegmentedSpotlightStatusDotStepperTagInput

Components

Chat Message

How does serde derive work?
Axon14:32

Serde derives compile `Serialize` and `Deserialize` implementations from your Rust types, so the reflection work happens before the binary ships.

docs.rs/serdeserde.rs

Use Retry to swap between response variants.

Aurora ChatMessage — Claude Design parity.

Install

npx shadcn@latest add https://aurora.tootie.tv/r/aurora-chat-message.json
Requires@aurora/aurora-tokens@aurora/aurora-button@aurora/aurora-components@aurora/aurora-safe-url
npmlucide-react