This documentation is a work in progress and may contain incomplete or outdated
information. If you have any feedback or suggestions, please
open an issue on GitHub .
Tokens
Standardized design system values that define consistent visual properties across message components. These tokens ensure visual coherence while enabling flexible theme customization for messaging and conversational interfaces.
Theming Tokens
Design tokens organized by category with color-coded labels indicating their scope and impact level. Each token includes detailed specifications with values, usage guidelines, and customization options.
Legend: Granular tokens that affect only this component.
Granular tokens that affect other components.
Semantic tokens that affect the whole application.
Base tokens that affect the whole application.
Color
Component Token Base Token color.message.bg-chat {color.context.default.bg-evident} color.message.fg-form {color.context.primary.base-color} color.message.bg-form {color.context.default.bg-even} color.message.fg-received {color.context.default.fg-main} color.message.bg-received {color.context.default.bg-main} color.message.fg-sent {color.context.default.fg-main} color.message.bg-sent {color.context.primary.bg-even} color.message.fg-embed {color.context.default.fg-main} color.message.bg-embed {color.context.default.dim-slight} color.message.fg-status {color.context.default.fg-main} color.message.bg-status {color.context.default.dim-slight} color.context.default.fg-subtle {color.base.context.light.default.fg-subtle} color.context.default.border-subtle {color.base.context.light.default.border-subtle}
Typography
Component Token Base Token font.text.medium.normal {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.normal}, lineHeight: {typography.lineHeight.text.medium}, fontSize: {typography.fontSize.text.medium}, letterSpacing: {typography.letterSpacing.text.base}, paragraphSpacing: {typography.paragraphSpacing.text.base}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} font.text.medium.strong {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.strong}, lineHeight: {typography.lineHeight.text.medium}, fontSize: {typography.fontSize.text.medium}, letterSpacing: {typography.letterSpacing.text.base}, paragraphSpacing: {typography.paragraphSpacing.text.base}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} font.text.small.normal {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.normal}, lineHeight: {typography.lineHeight.text.small}, fontSize: {typography.fontSize.text.small}, letterSpacing: {typography.letterSpacing.text.base}, paragraphSpacing: {typography.paragraphSpacing.text.base}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} font.text.xsmall.normal {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.normal}, lineHeight: {typography.lineHeight.text.xsmall}, fontSize: {typography.fontSize.text.xsmall}, letterSpacing: {typography.letterSpacing.text.base}, paragraphSpacing: {typography.paragraphSpacing.text.base}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}}
Border Width
Component Token Base Token borderWidth.asset.separator {size.asset.separator} borderWidth.asset.indicator {size.asset.indicator}
Border Radius
Component Token Base Token borderRadius.context.medium {borderRadius.base.medium} borderRadius.context.small {borderRadius.base.small}
Box Shadow
Component Token Base Token shadow.message.main {shadow.elevation.default.10}
Opacity
Component Token Base Token opacity.context.fg-subtle 0.5