card
Container components that group related content and actions about a single subject, presenting information in scannable, visually distinct blocks.
On this page
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.
Standardized design system values that define consistent visual properties across card components. These tokens ensure visual coherence while enabling flexible theme customization and brand adaptation.
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.context.default.bg-main | {color.base.context.light.default.bg-main} |
| color.context.default.fg-main | {color.base.context.light.default.fg-main} |
| color.context.default.fg-subtle | {color.base.context.light.default.fg-subtle} |
| color.context.default.border-subtle | {color.base.context.light.default.border-subtle} |
| color.context.default.icon-main | {color.base.context.light.default.icon-main} |
Typography
| Component Token | Value |
|---|---|
| font.context.title.medium | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.strong}, lineHeight: {typography.lineHeight.text.large}, fontSize: {typography.fontSize.text.large}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.medium}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| font.context.title.large | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.strong}, lineHeight: {typography.lineHeight.text.xlarge}, fontSize: {typography.fontSize.text.xlarge}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.large}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| font.context.title.small | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.strong}, lineHeight: {typography.lineHeight.text.medium}, fontSize: {typography.fontSize.text.medium}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.small}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| font.context.body.medium | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.normal}, lineHeight: {typography.lineHeight.text.medium}, fontSize: {typography.fontSize.text.medium}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.medium}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| font.context.body.large | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.normal}, lineHeight: {typography.lineHeight.text.large}, fontSize: {typography.fontSize.text.large}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.large}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| font.context.body.small | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.normal}, lineHeight: {typography.lineHeight.text.small}, fontSize: {typography.fontSize.text.small}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.small}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| font.context.label.medium | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.strong}, lineHeight: {typography.lineHeight.text.small}, fontSize: {typography.fontSize.text.small}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.zero}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| font.context.label.large | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.strong}, lineHeight: {typography.lineHeight.text.medium}, fontSize: {typography.fontSize.text.medium}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.zero}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| font.context.label.small | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.strong}, lineHeight: {typography.lineHeight.text.xsmall}, fontSize: {typography.fontSize.text.xsmall}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.zero}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| font.text.large.normal | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.normal}, lineHeight: {typography.lineHeight.text.large}, fontSize: {typography.fontSize.text.large}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.zero}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| font.text.large.strong | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.strong}, lineHeight: {typography.lineHeight.text.large}, fontSize: {typography.fontSize.text.large}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.zero}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| 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.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.zero}, 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.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.zero}, 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.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.zero}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
| font.text.small.strong | {fontFamily: {typography.fontFamily.text}, fontWeight: {typography.fontWeight.text.strong}, lineHeight: {typography.lineHeight.text.small}, fontSize: {typography.fontSize.text.small}, letterSpacing: {typography.letterSpacing.base.zero}, paragraphSpacing: {typography.paragraphSpacing.base.zero}, textCase: {typography.textCase.base.none}, textDecoration: {typography.textDecoration.base.none}} |
Sizing
| Component Token | Base Token |
|---|---|
| size.icon.glyph.large | {size.unit.28} |
| size.icon.glyph.medium | {size.unit.24} |
| size.icon.glyph.small | {size.unit.20} |
Spacing
| Component Token | Base Token |
|---|---|
| space.context.large | {size.unit.20} |
| space.context.medium | {size.unit.16} |
| space.context.small | {size.unit.12} |
| space.context.xsmall | {size.unit.8} |
| space.context.2xsmall | {size.unit.4} |
Border Width
| Component Token | Base Token |
|---|---|
| borderWidth.card.main | {borderWidth.context.medium} |
Border Radius
| Component Token | Base Token |
|---|---|
| borderRadius.card.main | {borderRadius.context.medium} |