Component Tokens
This reference documentation is AI-generated and may contain errors.
interface ComponentTokens {
accordion: AccordionTokens;
alertDialog: AlertDialogTokens;
button: ButtonTokens;
buttonGroup: ButtonGroupTokens;
card: CardTokens;
carousel: CarouselTokens;
checkbox: CheckboxTokens;
container: ContainerTokens;
dialog: DialogTokens;
divider: DividerTokens;
drawer: DrawerTokens;
expansionPanel: ExpansionPanelTokens;
figure: FigureTokens;
formField: FormFieldTokens;
grid: GridTokens;
hero: HeroTokens;
icon: IconTokens;
iconButton: IconButtonTokens;
info: InfoTokens;
input: InputTokens;
link: LinkTokens;
menu: MenuTokens;
modal: ModalTokens;
section: SectionTokens;
select: SelectTokens;
slider: SliderTokens;
snackbar: SnackbarTokens;
surface: SurfaceTokens;
text: TextTokens;
textArea: TextAreaTokens;
tooltip: TooltipTokens;
videoControls: VideoControlsTokens;
}type ResponsiveTokens<T> = T & {
"@media": {
[key: `screen and (min-width: ${Breakpoints[Breakpoint]}px)`]: T;
};
};
const Breakpoints = {
small: 640,
medium: 1024,
large: 1366,
} as const;
type Breakpoint = keyof typeof Breakpoints;type InteractiveTokens<T> = T & {
":hover": T;
":focus-visible": T & OutlineTokens;
":active": T;
":disabled": T;
};
type OutlineTokens = {
outlineWidth: string;
outlineStyle: string;
outlineColor: string;
outlineOffset: string;
};Accordion
type AccordionTokens = {
column: AccordionColumnTokens;
};accordion.column
type AccordionColumnTokens = {
base: ResponsiveTokens<{
gap: string;
}>;
};Alert Dialog
type AlertDialogTokens = {
surface: AlertDialogSurfaceTokens;
};alertDialog.surface
type AlertDialogSurfaceTokens = {
base: {
paddingLeft: string;
paddingTop: string;
paddingRight: string;
paddingBottom: string;
};
};Button
type ButtonTokens = {
row: ButtonRowTokens;
text: ButtonTextTokens;
};button.row
type ButtonRowTokens = {
base: {
borderWidth: string;
borderStyle: string;
borderRadius: string;
};
variants: {
variant: {
primary: ButtonRowVariantTokens;
secondary: ButtonRowVariantTokens;
tertiary: ButtonRowVariantTokens;
};
size: {
small: ButtonRowSizeTokens;
medium: ButtonRowSizeTokens;
large: ButtonRowSizeTokens;
};
};
};
type ButtonRowVariantTokens = InteractiveTokens<{
backgroundColor: string;
borderColor: string;
color: string;
boxShadow: string;
opacity: string;
}>;
type ButtonRowSizeTokens = {
paddingTop: string;
paddingBottom: string;
paddingLeft: string;
paddingRight: string;
gap: string;
};button.text
type ButtonTextTokens = {
variants: {
size: {
small: ButtonTextSizeTokens;
medium: ButtonTextSizeTokens;
large: ButtonTextSizeTokens;
};
};
};
type ButtonTextSizeTokens = {
font: string;
};Button Group
type ButtonGroupTokens = {
flex: ButtonGroupFlexTokens;
};buttonGroup.flex
type ButtonGroupFlexTokens = {
base: {
gap: string;
};
};Card
type CardTokens = {
surface: CardSurfaceTokens;
content: CardContentTokens;
};card.surface
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
*/
type CardSurfaceTokens = {
base: {
borderRadius: string;
borderWidth: string;
borderStyle: string;
};
variants: {
interaction: {
static: CardSurfaceInteractionTokens;
interactive: CardSurfaceInteractionTokens & {
":hover": CardSurfaceInteractionTokens;
":focus-visible": CardSurfaceInteractionTokens & OutlineTokens;
":active": CardSurfaceInteractionTokens;
};
};
disabled: {
true: CardSurfaceDisabledTokens;
};
};
};
type CardSurfaceInteractionTokens = {
backgroundColor: string;
borderColor: string;
boxShadow: string;
};
type CardSurfaceDisabledTokens = CardSurfaceStaticTokens & {
opacity: string;
};card.content
type CardContentTokens = {
base: {
paddingLeft: string;
paddingTop: string;
paddingRight: string;
paddingBottom: string;
};
};Carousel
type CarouselTokens = {
column: CarouselColumnTokens;
slides: CarouselSlidesTokens;
slide: CarouselSlideTokens;
indicators: CarouselIndicatorsTokens;
};carousel.column
type CarouselColumnTokens = {
base: {
backgroundColor: string;
gap: string;
};
};carousel.slides
type CarouselSlidesTokens = {
base: {
gap: string;
};
};carousel.slide
type CarouselSlideTokens = {
base: {
backgroundColor: string;
borderRadius: string;
};
};carousel.indicators
type CarouselIndicatorsTokens = {
base: {
backgroundColor: string;
borderRadius: string;
width: string;
height: string;
gap: string;
};
variants: {
active: {
true: {
backgroundColor: string;
};
};
};
};Checkbox
type CheckboxTokens = {
row: CheckboxRowTokens;
input: CheckboxInputTokens;
label: CheckboxLabelTokens;
};checkbox.row
type CheckboxRowTokens = {
base: {
gap: string;
alignItems: string;
};
variants: {
error: {
true: {
color: string;
};
};
disabled: {
true: {
opacity: string;
};
};
};
};checkbox.input
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
* @todo Move the non-error interactive states to a `variants.error.false`
* variant.
*/
type CheckboxInputTokens = {
base: {
color: string;
backgroundColor: string;
paddingLeft: string;
paddingRight: string;
paddingTop: string;
paddingBottom: string;
borderRadius: string;
borderWidth: string;
borderStyle: string;
borderColor: string;
":hover": {
borderColor: string;
};
":focus-within": {
borderColor: string;
};
":active": {
borderColor: string;
};
};
variants: {
error: {
true: CheckboxInputErrorTokens;
};
};
};
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
*/
type CheckboxInputErrorTokens = _CheckboxInputStateTokens & {
":hover": _CheckboxInputStateTokens;
":focus-visible": _CheckboxInputStateTokens;
":active": _CheckboxInputStateTokens;
":disabled": _CheckboxInputStateTokens;
};
type _CheckboxInputStateTokens = {
backgroundColor: string;
borderColor: string;
color: string;
};checkbox.label
type CheckboxLabelTokens = {
base: {
font: string;
};
};Container
type ContainerTokens = {
container: ContainerContainerTokens;
};container.container
type ContainerContainerTokens = {
variants: {
bleed: {
false: {
maxWidth: string;
} & ResponsiveTokens<{
paddingLeft: string;
paddingRight: string;
}>;
};
};
};Dialog
type DialogTokens = {
scrim: DialogScrimTokens;
surface: DialogSurfaceTokens;
};dialog.scrim
type DialogScrimTokens = {
base: {
paddingLeft: string;
paddingTop: string;
paddingRight: string;
paddingBottom: string;
};
};dialog.surface
type DialogSurfaceTokens = {
base: {
backgroundColor: string;
color: string;
borderWidth: string;
borderStyle: string;
borderColor: string;
borderRadius: string;
boxShadow: string;
maxWidth: string;
};
};Divider
type DividerTokens = {
divider: DividerDividerTokens;
};divider.divider
type DividerDividerTokens = {
base: {
borderWidth: string;
borderStyle: string;
borderColor: string;
};
};Drawer
type DrawerTokens = {
surface: DrawerSurfaceTokens;
};drawer.surface
type DrawerSurfaceTokens = {
base: {
paddingLeft: string;
paddingTop: string;
paddingRight: string;
paddingBottom: string;
};
variants: {
edge: {
left: {
maxWidth: string;
};
top: {
maxHeight: string;
};
right: {
maxWidth: string;
};
bottom: {
maxHeight: string;
};
};
};
};Expansion Panel
type ExpansionPanelTokens = {
surface: ExpansionPanelSurfaceTokens;
header: ExpansionPanelHeaderTokens;
panel: ExpansionPanelPanelTokens;
};expansionPanel.surface
type ExpansionPanelSurfaceTokens = {
base: {
backgroundColor: string;
borderTopWidth: string;
borderBottomWidth: string;
borderColor: string;
borderTopLeftRadius: string;
borderTopRightRadius: string;
borderBottomLeftRadius: string;
borderBottomRightRadius: string;
};
variants: {
disabled: {
true: {
opacity: string;
};
};
};
};expansionPanel.header
type ExpansionPanelHeaderTokens = {
base: {
borderTopWidth: string;
borderBottomWidth: string;
borderStyle: string;
borderColor: string;
borderTopLeftRadius: string;
borderTopRightRadius: string;
borderBottomLeftRadius: string;
borderBottomRightRadius: string;
paddingTop: string;
paddingRight: string;
paddingBottom: string;
paddingLeft: string;
gap: string;
} & ResponsiveTokens<{
font: string;
}> &
InteractiveTokens<{
backgroundColor: string;
color: string;
}>;
};expansionPanel.panel
type ExpansionPanelPanelTokens = {
base: {
font: string;
backgroundColor: string;
borderTopWidth: string;
borderBottomWidth: string;
borderTopLeftRadius: string;
borderTopRightRadius: string;
borderBottomLeftRadius: string;
borderBottomRightRadius: string;
borderColor: string;
boxShadow: string;
color: string;
paddingTop: string;
paddingRight: string;
paddingBottom: string;
paddingLeft: string;
gap: string;
};
};Figure
type FigureTokens = {
column: FigureColumnTokens;
caption: FigureCaptionTokens;
};figure.column
type FigureColumnTokens = {
base: {
gap: string;
alignItems: string;
};
};figure.caption
type FigureCaptionTokens = {
base: {
font: string;
};
};Form Field
type FormFieldTokens = {
column: FormFieldColumnTokens;
label: FormFieldLabelTokens;
indicator: FormFieldIndicatorTokens;
error: FormFieldErrorTokens;
hint: FormFieldHintTokens;
};formField.column
type FormFieldColumnTokens = {
base: {
gap: string;
};
};formField.label
type FormFieldLabelTokens = {
base: {
font: string;
color: string;
};
variants: {
disabled: {
true: {
opacity: string;
};
};
};
};formField.indicator
type FormFieldIndicatorTokens = {
base: {
font: string;
color: string;
};
variants: {
disabled: {
true: {
opacity: string;
};
};
};
};formField.error
type FormFieldErrorTokens = {
base: {
font: string;
color: string;
};
variants: {
disabled: {
true: {
opacity: string;
};
};
};
};formField.hint
type FormFieldHintTokens = {
base: {
font: string;
color: string;
};
variants: {
disabled: {
true: {
opacity: string;
};
};
};
};Grid
type GridTokens = {
grid: GridGridTokens;
};grid.grid
type GridGridTokens = {
base: ResponsiveTokens<{
gap: string;
}>;
};Hero
type HeroTokens = {
scrim: HeroScrimTokens;
container: HeroContainerTokens;
card: HeroCardTokens;
};hero.scrim
type HeroScrimTokens = {
base: {
background: string;
};
};hero.container
type HeroContainerTokens = {
base: ResponsiveTokens<{
paddingTop: string;
paddingBottom: string;
}>;
};hero.card
type HeroCardTokens = {
base: {
maxWidth: string;
};
};Icon
type IconTokens = {
icon: IconIconTokens;
};icon.icon
type IconIconTokens = {
variants: {
size: {
small: IconIconSizeTokens;
medium: IconIconSizeTokens;
large: IconIconSizeTokens;
};
};
};
type IconIconSizeTokens = {
height: string;
width: string;
padding: string;
};Icon Button
type IconButtonTokens = {
button: IconButtonButtonTokens;
icon: IconButtonIconTokens;
};iconButton.button
type IconButtonButtonTokens = {
variants: {
variant: {
primary: IconButtonButtonVariantTokens;
secondary: IconButtonButtonVariantTokens;
tertiary: IconButtonButtonVariantTokens;
};
size: {
small: IconButtonButtonSizeTokens;
medium: IconButtonButtonSizeTokens;
large: IconButtonButtonSizeTokens;
};
};
};
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
*/
type IconButtonButtonVariantTokens = {
backgroundColor: string;
color: string;
borderWidth: string;
borderStyle: string;
borderColor: string;
borderRadius: string;
boxShadow: string;
":hover": _IconButtonButtonStateTokens;
":focus-visible": _IconButtonButtonStateTokens & OutlineTokens;
":active": _IconButtonButtonStateTokens;
":disabled": {
opacity: string;
};
};
type _IconButtonButtonStateTokens = {
backgroundColor: string;
color: string;
borderColor: string;
boxShadow: string;
};
type IconButtonButtonSizeTokens = {
width: string;
height: string;
};iconButton.icon
/**
* @todo Remove all of the interactive states from the icon itself, as the color
* can be inherited from the `iconButton.button` tokens. The only thing we may
* need in the `iconButton.icon` element tokens is to optionally set the color
* to "inherit" in case this was changed on the `Icon` component tokens.
*/
type IconButtonIconTokens = {
base: {
color: string;
":hover": {
color: string;
};
":focus-visible": {
color: string;
};
":active": {
color: string;
};
":disabled": {
color: string;
};
};
};Info
type InfoTokens = {
column: InfoColumnTokens;
content: InfoContentTokens;
titleGroup: InfoTitleGroupTokens;
overline: InfoOverlineTokens;
title: InfoTitleTokens;
subtitle: InfoSubtitleTokens;
body: InfoBodyTokens;
};info.column
type InfoColumnTokens = {
base: {
gap: string;
};
};info.content
type InfoContentTokens = {
variants: {
emphasis: {
low: InfoContentEmphasisTokens;
medium: InfoContentEmphasisTokens;
high: InfoContentEmphasisTokens;
};
};
};
type InfoContentEmphasisTokens = ResponsiveTokens<{
gap: string;
}>;info.titleGroup
type InfoTitleGroupTokens = {
variants: {
emphasis: {
low: InfoTitleGroupEmphasisTokens;
medium: InfoTitleGroupEmphasisTokens;
high: InfoTitleGroupEmphasisTokens;
};
};
};
type InfoTitleGroupEmphasisTokens = ResponsiveTokens<{
gap: string;
}>;info.overline
type InfoOverlineTokens = {
base: {
font: string;
color: string;
};
};info.title
type InfoTitleTokens = {
base: {
color: string;
};
variants: {
emphasis: {
low: InfoTitleEmphasisTokens;
medium: InfoTitleEmphasisTokens;
high: InfoTitleEmphasisTokens;
};
};
};
type InfoTitleEmphasisTokens = ResponsiveTokens<{
font: string;
}>;info.subtitle
type InfoSubtitleTokens = {
base: {
color: string;
};
variants: {
emphasis: {
low: InfoSubtitleEmphasisTokens;
medium: InfoSubtitleEmphasisTokens;
high: InfoSubtitleEmphasisTokens;
};
};
};
type InfoSubtitleEmphasisTokens = ResponsiveTokens<{
font: string;
}>;info.body
type InfoBodyTokens = {
variants: {
emphasis: {
low: InfoBodyEmphasisTokens;
medium: InfoBodyEmphasisTokens;
high: InfoBodyEmphasisTokens;
};
};
};
type InfoBodyEmphasisTokens = {
font: string;
};Input
type InputTokens = {
row: InputRowTokens;
input: InputInputTokens;
};input.row
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
* @todo Move the non-error interactive states to a `variants.error.false`
* variant.
*/
type InputRowTokens = {
base: {
paddingLeft: string;
paddingRight: string;
paddingTop: string;
paddingBottom: string;
borderWidth: string;
borderStyle: string;
borderRadius: string;
gap: string;
} & _InputRowStateTokens & {
":hover": _InputRowStateTokens;
":focus-within": _InputRowStateTokens & OutlineTokens;
":active": _InputRowStateTokens;
};
variants: {
error: {
true: _InputRowStateTokens & {
":hover": _InputRowStateTokens;
":focus-within": _InputRowStateTokens & OutlineTokens;
":active": _InputRowStateTokens;
};
};
disabled: {
true: {
opacity: string;
};
};
};
};
type _InputRowStateTokens = {
backgroundColor: string;
borderColor: string;
color: string;
};input.input
type InputInputTokens = {
base: {
font: string;
paddingLeft: string;
paddingRight: string;
paddingTop: string;
paddingBottom: string;
};
};Link
type LinkTokens = {
anchor: LinkAnchorTokens;
row: LinkRowTokens;
icon: LinkIconTokens;
};link.anchor
type LinkAnchorTokens = {
base: {
borderRadius: string;
};
variants: {
inline: {
true: LinkAnchorInlineTokens;
false: LinkAnchorInlineTokens;
};
};
};
/**
* @todo Either remove the `backgroundColor` from the `:focus-visible` state or
* add it to all of the other states as well.
*/
type LinkAnchorInlineTokens = InteractiveTokens<{
color: string;
opacity: string;
font: string;
}> & {
":focus-visible": {
backgroundColor: string;
};
};link.row
type LinkRowTokens = {
base: {
gap: string;
};
};link.icon
type LinkIconTokens = {
variants: {
inline: {
true: LinkIconInlineTokens;
false: LinkIconInlineTokens;
};
};
};
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
*/
type LinkIconInlineTokens = {
color: string;
":hover": {
color: string;
};
":focus-visible": {
color: string;
};
":active": {
color: string;
};
":disabled": {
color: string;
};
};Menu
type MenuTokens = {
surface: MenuSurfaceTokens;
item: MenuItemTokens;
label: MenuLabelTokens;
};menu.surface
type MenuSurfaceTokens = {
base: {
backgroundColor: string;
borderRadius: string;
borderWidth: string;
borderStyle: string;
borderColor: string;
};
};menu.item
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
*/
type MenuItemTokens = {
base: {
gap: string;
paddingLeft: string;
paddingTop: string;
paddingRight: string;
paddingBottom: string;
borderRadius: string;
backgroundColor: string;
color: string;
":hover": {
backgroundColor: string;
color: string;
};
":focus-visible": {
backgroundColor: string;
color: string;
};
":active": {
backgroundColor: string;
color: string;
};
};
};menu.label
type MenuLabelTokens = {
base: {
font: string;
};
};Modal
type ModalTokens = {
scrim: ModalScrimTokens;
};modal.scrim
type ModalScrimTokens = {
base: {
backgroundColor: string;
};
};Section
type SectionTokens = {
container: SectionContainerTokens;
};section.container
type SectionContainerTokens = {
variants: {
bleed: {
false: ResponsiveTokens<{
paddingTop: string;
paddingBottom: string;
}>;
};
};
};Select
type SelectTokens = {
row: SelectRowTokens;
input: SelectInputTokens;
popover: SelectPopoverTokens;
option: SelectOptionTokens;
};select.row
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
* @todo Move the non-error interactive states to a `variants.error.false`
* variant.
*/
type SelectRowTokens = {
base: {
gap: string;
color: string;
backgroundColor: string;
paddingLeft: string;
paddingRight: string;
paddingTop: string;
paddingBottom: string;
borderRadius: string;
borderWidth: string;
borderStyle: string;
borderColor: string;
":hover": {
borderColor: string;
};
":focus-within": {
borderColor: string;
};
":active": {
borderColor: string;
};
};
variants: {
error: {
true: {
backgroundColor: string;
borderColor: string;
color: string;
":hover": {
backgroundColor: string;
borderColor: string;
color: string;
};
":focus-visible": {
backgroundColor: string;
borderColor: string;
color: string;
};
":active": {
backgroundColor: string;
borderColor: string;
color: string;
};
":disabled": {
backgroundColor: string;
borderColor: string;
color: string;
};
};
};
disabled: {
true: {
opacity: string;
};
};
};
};select.input
type SelectInputTokens = {
base: {
font: string;
paddingLeft: string;
paddingRight: string;
paddingTop: string;
paddingBottom: string;
};
};select.popover
type SelectPopoverTokens = {
base: {
backgroundColor: string;
borderRadius: string;
borderWidth: string;
borderStyle: string;
borderColor: string;
};
};select.option
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
*/
type SelectOptionTokens = {
base: {
gap: string;
paddingLeft: string;
paddingTop: string;
paddingRight: string;
paddingBottom: string;
borderRadius: string;
backgroundColor: string;
color: string;
":hover": {
backgroundColor: string;
color: string;
};
":focus-visible": {
backgroundColor: string;
color: string;
};
":active": {
backgroundColor: string;
color: string;
};
};
};Slider
type SliderTokens = {
row: SliderRowTokens;
track: SliderTrackTokens;
handle: SliderHandleTokens;
};slider.row
type SliderRowTokens = {
base: {
borderRadius: string;
};
variants: {
disabled: {
true: {
opacity: string;
};
};
};
};slider.track
type SliderTrackTokens = {
base: {
height: string;
};
variants: {
active: {
true: SliderTrackActiveTokens;
false: SliderTrackActiveTokens;
};
};
};
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
*/
type SliderTrackActiveTokens = {
backgroundColor: string;
":hover": {
backgroundColor: string;
};
":focus-visible": {
backgroundColor: string;
};
":active": {
backgroundColor: string;
};
":disabled": {
backgroundColor: string;
};
};slider.handle
type SliderHandleTokens = {
base: {
borderRadius: string;
height: string;
width: string;
} & InteractiveTokens<{
backgroundColor: string;
}>;
};Snackbar
type SnackbarTokens = {
column: SnackbarColumnTokens;
row: SnackbarRowTokens;
message: SnackbarMessageTokens;
};snackbar.column
type SnackbarColumnTokens = {
base: {
paddingLeft: string;
paddingTop: string;
paddingRight: string;
paddingBottom: string;
};
};snackbar.row
type SnackbarRowTokens = {
base: {
gap: string;
};
};snackbar.message
type SnackbarMessageTokens = {
base: {
font: string;
};
};Surface
type SurfaceTokens = {
surface: SurfaceSurfaceTokens;
};surface.surface
type SurfaceSurfaceTokens = {
base: {
backgroundColor: string;
color: string;
borderRadius: string;
borderWidth: string;
borderStyle: string;
borderColor: string;
};
variants: {
variant: {
primary: SurfaceSurfaceVariantTokens;
secondary: SurfaceSurfaceVariantTokens;
tertiary: SurfaceSurfaceVariantTokens;
info: SurfaceSurfaceVariantTokens;
success: SurfaceSurfaceVariantTokens;
warning: SurfaceSurfaceVariantTokens;
error: SurfaceSurfaceVariantTokens;
lowest: SurfaceSurfaceVariantTokens;
low: SurfaceSurfaceVariantTokens;
medium: SurfaceSurfaceVariantTokens;
high: SurfaceSurfaceVariantTokens;
highest: SurfaceSurfaceVariantTokens;
};
elevation: {
0: SurfaceSurfaceElevationTokens;
100: SurfaceSurfaceElevationTokens;
200: SurfaceSurfaceElevationTokens;
300: SurfaceSurfaceElevationTokens;
400: SurfaceSurfaceElevationTokens;
500: SurfaceSurfaceElevationTokens;
};
interactive: {
true: SurfaceSurfaceInteractiveTokens;
};
};
};
type SurfaceSurfaceVariantTokens = {
backgroundColor: string;
borderColor: string;
color: string;
};
type SurfaceSurfaceElevationTokens = {
boxShadow: string;
};
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
*/
type SurfaceSurfaceInteractiveTokens = {
":hover": {
backgroundColor: string;
borderColor: string;
};
":focus-visible": OutlineTokens;
":active": {
backgroundColor: string;
borderColor: string;
};
":disabled": {
opacity: string;
};
};Text
type TextTokens = {
text: TextTextTokens;
};text.text
type TextTextTokens = {
variants: {
variant: {
displayLarge: ResponsiveTokens<TextTextVariantTokens>;
displayMedium: ResponsiveTokens<TextTextVariantTokens>;
displaySmall: ResponsiveTokens<TextTextVariantTokens>;
headlineLarge: ResponsiveTokens<TextTextVariantTokens>;
headlineMedium: ResponsiveTokens<TextTextVariantTokens>;
headlineSmall: ResponsiveTokens<TextTextVariantTokens>;
titleLarge: ResponsiveTokens<TextTextVariantTokens>;
titleMedium: ResponsiveTokens<TextTextVariantTokens>;
titleSmall: ResponsiveTokens<TextTextVariantTokens>;
bodySmall: TextTextVariantTokens;
bodyMedium: TextTextVariantTokens;
bodyLarge: TextTextVariantTokens;
labelLarge: TextTextVariantTokens;
labelMedium: TextTextVariantTokens;
labelSmall: TextTextVariantTokens;
};
};
};
type TextTextVariantTokens = {
font: string;
};Text Area
type TextAreaTokens = {
input: TextAreaInputTokens;
};textArea.input
/**
* @todo Align these states using the standard `InteractiveTokens<T>` pattern.
* @todo Move the non-error interactive states to a `variants.error.false`
* variant.
*/
type TextAreaInputTokens = {
base: {
backgroundColor: string;
borderWidth: string;
borderStyle: string;
borderColor: string;
borderRadius: string;
paddingLeft: string;
paddingRight: string;
paddingTop: string;
paddingBottom: string;
font: string;
color: string;
":hover": _TextAreaInputStateTokens;
":focus-visible": _TextAreaInputStateTokens & OutlineTokens;
":active": _TextAreaInputStateTokens;
":disabled": {
opacity: string;
};
};
variants: {
error: {
true: _TextAreaInputStateTokens & {
":hover": _TextAreaInputStateTokens;
":focus-visible": _TextAreaInputStateTokens & OutlineTokens;
":active": _TextAreaInputStateTokens;
};
};
};
};
type _TextAreaInputStateTokens = {
backgroundColor: string;
borderColor: string;
color: string;
};Tooltip
type TooltipTokens = {
tooltip: TooltipTooltipTokens;
arrow: TooltipArrowTokens;
};tooltip.tooltip
type TooltipTooltipTokens = {
base: {
backgroundColor: string;
borderRadius: string;
color: string;
font: string;
maxWidth: string;
paddingTop: string;
paddingBottom: string;
paddingLeft: string;
paddingRight: string;
};
};tooltip.arrow
type TooltipArrowTokens = {
base: {
width: string;
height: string;
};
};Video Controls
type VideoControlsTokens = {
row: VideoControlsRowTokens;
group: VideoControlsGroupTokens;
timecode: VideoControlsTimecodeTokens;
};videoControls.row
type VideoControlsRowTokens = {
base: {
backgroundColor: string;
padding: string;
gap: string;
};
};videoControls.group
type VideoControlsGroupTokens = {
base: {
gap: string;
};
};videoControls.timecode
type VideoControlsTimecodeTokens = {
base: {
color: string;
font: string;
};
};