Skip to content

Instantly share code, notes, and snippets.

@vnys
Last active March 7, 2024 12:26
Show Gist options
  • Save vnys/38d0035a1b9044ecfd69e985c14d83e4 to your computer and use it in GitHub Desktop.
Save vnys/38d0035a1b9044ecfd69e985c14d83e4 to your computer and use it in GitHub Desktop.
eds tokens 1.0 json design tokens rules
Title:  EDS Tokens naming rules
Status: Draft
Author: vnys
Date:   Nov 20 2022

EDS 2.0 token naming

Token names should be descriptive enough to understand the context, but not overly elaborate when the meaning is clear – unless it makes using the tokens easier. For example, including typography and font-size in the same token is uneccessary. All tokens are namespaced with eds. While this adds a seemingly uneccessary layer for EDS authors, it ensures that the EDS tokens can be used by product teams who build their own tokens on top of EDS who can then use their own namespace to make it clear internally what’s in the EDS domain and what’s in their product’s domain.

The method used is based on the original “Naming Tokens in Design Systems” article by Nathan Curtis from 2018, the “Naming design tokens” article by Lukas Oppermann from 2022, In the file - Building a headless design system on YouTube by Esther Cheran from the Figma Tokens team, Token Zen Garden, also by Esther Cheran – as well as looking at the tokens from Adobe Spectrum and others.

There’s a companion spreadsheet that’s been used in this work, ask for permission if you need access.

Conventions that emerged during creating this document

  • Some keywords can appear in more than one segment
    • In some cases it makes sense to change the wording slightly as a consequence of this, for example:
      • Categories are plural, i.e. font-families, line-heights
      • Properties are singular, i.e. font-family, line-height
  • The tier names core and semantic are included in the token name
  • The tier name component is left out of the token name, because the name of the component makes the tier obvious
  • The segments in a token name should conceptually be similar
    • For example: A developer should be able to iterate over all the variants of a component without having to filter out properties on the same level
    • Note: Is this doable? 🤔

Tokens Zen Garden

  • Tokens makes sense for designers, perhaps less so for developers
  • For example, the list-item component tokens has the following structure:
{
  "list-item": {
    "text-color": {},
    "default": {
      "label": {}
    },
    "featured": {
      "label": {}
    },
    "icon-color": {},
    "space-between": {}
  }
}

In this case properties and variants are mixed at the same level, which can be confusing and hard to iterate over in code. Perhaps adding a semantic layer would make it easier to work with:

{
  "list-item": {
    "props": {
      "icon-color": {},
      "space-between": {},
      "text-color": {}
    },
    "variants": {
      "default": {
        "label": {}
      },
      "featured": {
        "label": {}
      }
    }
  }
}

Perhaps this is also an indicator that creating / editing tokens in JSON leads to a better structure? 🤔

If we aim to group tokens semantically it does lead to longer token names, and also make the following token names problematic:

  --eds-button-primary-filled-hover-background-color
  --eds-button-primary-filled-hover-label-text-color

One solution to this problem would be to remove label from the second token, as the label would inherit the colour from the parent anyway.

  --eds-button-primary-filled-hover-background-color
  --eds-button-primary-filled-hover-text-color

Another solution would be to add a semantic layer:

  --eds-button-primary-filled-hover-props-background-color
  --eds-button-primary-filled-hover-elements-label-text-color

⚠️ Warning Adding a semantic layer breaks with other token conventions, an investigation needs to take place to uncover why nobody else seem to do this

Tiers

Component tokens

  • Identifier to the left
  • Common properties are grouped into semantic tokens
  • The object segments component and element are separated by the modifier segments variant, type and state
    • The rationale behind this is that in the case of the button label for example, it’s not the label that’s in a primary variant, filled type and hover state, but it’s parent.
    • For properties that are common for several types, variants and states, we use allTypes, allVariants and allStates. That way the button token name always has six segments, and knowing that the state always is segment number 5 makes the tokens predictable to work with. The exception to this rule are the composition tokens, which are used for the shapes – and are grouped under the keyword “elements”.
system group component type variant state element concept property
eds  button primary ghost  hover border-color
eds  button primary ghost  hover label text-color
eds  button allTypes allVariants  disabled text-color
eds  button   padding-x
eds button   label padding-x
eds button element ...properties

An alternative syntax that we want to test on the product teams is to introduce an optional group level after the component name. The advantage of this syntax is that it’s easier to work with in code, in Figma, however, the result is more levels before getting to the actual value.

system component group type variant group state element concept property
eds button states background-color
eds button types primary filled props text-color
eds button types primary filled states hover text-color
eds button elements label ...properties

Semantic tokens

Some names can be both categories and properties. One example would be background. In this case, using background as a category name can be shortened to bg. In some cases we also need to combine two categories. One example would be color and fg.

Semantic tokens

Some names can be both categories and properties. One example would be background. In this case, using background as a category name can be shortened to bg. In some cases we also need to combine two categories. One example would be color and fg.

There are two different categories of semantic tokens, one simple and one complex. Observe, for example, the difference between the following two examples:

--eds-spacing
  • Has category
  • Adds tier name
  • Less specific tokens have category in the name
    • More specific tokens does not
system tier group category category variant type  state concept property
eds semantic forms inputs border-color
eds semantic color fg warning
eds semantic typography font-families default
eds semantic font-families default
eds semantic font-families mono
eds semantic color

Core tokens

While semantic tokens are decisions, core tokens are options that are referenced, or aliased, in semantic tokens. Core tokens are never referenced directly in a component or a component token, as that would make theming impossible.

Some examples of core tokens are:

system tier group category category color name variant type  state concept property scale
eds core typography line-heights tight
eds core color moss-green 100

Miscelanous

ℹ️ Note to self: The tokens in Figma has a “type” attribute, so adding the type to the token name is not strictly necessary – it can be added in code. The upside of skipping it is shorter token names, the downside is when you’re looking for a value in a list, it’s nice to be able to filter on type. Also having the same structure in Figma and in code could be beneficial.

{
"spacing": {
"jumbo__base": "88px",
"default__base": "48px",
"default__input": "56px",
"compact__standard": "32px",
"compact__input": "44px"
},
"color": {
"text": {
"static_icons__default": "hsla(0, 0%, 23.9%, 1)",
"static_icons__secondary": "hsla(0, 0%, 33.7%, 1)",
"static_icons__tertiary": "hsla(0, 0%, 43.5%, 1)",
"static_icons__primary_white": "hsla(0, 0%, 100%, 1)"
},
"ui": {
"background__default": "hsla(0, 0%, 100%, 1)",
"background__semitransparent": "hsla(0, 0%, 100%, 0.2)",
"background__light": "hsla(0, 0%, 96.9%, 1)",
"background__scrim": "hsla(0, 0%, 0%, 0.4)",
"background__overlay": "hsla(0, 0%, 0%, 0.8)",
"background__medium": "hsla(0, 0%, 86.3%, 1)",
"background__info": "hsla(199, 58.5%, 89.6%, 1)",
"background__warning": "hsla(25, 100%, 92%, 1)",
"background__danger": "hsla(0, 100%, 87.8%, 1)"
},
"infographic": {
"substitute__purple_berry": "hsla(325, 78.3%, 30.8%, 1)",
"substitute__pink_rose": "hsla(344, 72.5%, 58.6%, 1)",
"substitute__pink_salmon": "hsla(348, 100%, 78.6%, 1)",
"substitute__green_cucumber": "hsla(175, 100%, 18.6%, 1)",
"substitute__green_succulent": "hsla(169, 100%, 29.6%, 1)",
"substitute__green_mint": "hsla(152, 62.6%, 53.9%, 1)",
"substitute__blue_ocean": "hsla(212, 100%, 26.7%, 1)",
"substitute__blue_overcast": "hsla(200, 100%, 38.4%, 1)",
"substitute__blue_sky": "hsla(202, 100%, 66.1%, 1)",
"primary__moss_green_100": "hsla(184, 100%, 23.7%, 1)",
"primary__moss_green_55": "hsla(184, 30.8%, 58%, 1)",
"primary__moss_green_34": "hsla(184, 30.8%, 73.9%, 1)",
"primary__moss_green_21": "hsla(185, 30.1%, 83.7%, 1)",
"primary__moss_green_13": "hsla(184, 32%, 90.2%, 1)",
"primary__energy_red_100": "hsla(346, 100%, 46.1%, 1)",
"primary__energy_red_55": "hsla(348, 100%, 74.5%, 1)",
"primary__energy_red_34": "hsla(347, 100%, 84.1%, 1)",
"primary__energy_red_21": "hsla(348, 100%, 90.2%, 1)",
"primary__energy_red_13": "hsla(346, 100%, 93.9%, 1)",
"primary__weathered_red": "hsla(343, 100%, 24.5%, 1)",
"primary__slate_blue": "hsla(206, 32.1%, 20.8%, 1)",
"primary__spruce_wood": "hsla(25, 100%, 92%, 1)",
"primary__mist_blue": "hsla(199, 58.5%, 89.6%, 1)",
"primary__lichen_green": "hsla(138, 66.7%, 94.1%, 1)"
},
"logo": {
"fill_positive": "hsla(346, 100%, 46.1%, 1)",
"fill_negative": "hsla(0, 0%, 100%, 1)"
},
"interactive": {
"primary__selected_highlight": "hsla(138, 66.7%, 94.1%, 1)",
"primary__selected_hover": "hsla(139, 66.7%, 85.9%, 1)",
"primary__resting": "hsla(184, 100%, 23.7%, 1)",
"primary__hover": "hsla(184, 100%, 16.7%, 1)",
"primary__hover_alt": "hsla(184, 32%, 90.2%, 1)",
"secondary__highlight": "hsla(199, 58.5%, 89.6%, 1)",
"secondary__resting": "hsla(206, 32.1%, 20.8%, 1)",
"secondary__link_hover": "hsla(208, 34.3%, 13.7%, 1)",
"danger__highlight": "hsla(0, 100%, 87.8%, 1)",
"danger__resting": "hsla(0, 100%, 46.1%, 1)",
"danger__hover": "hsla(348, 86.5%, 37.6%, 1)",
"danger__text": "hsla(348, 86.5%, 37.6%, 1)",
"warning__highlight": "hsla(25, 100%, 92%, 1)",
"warning__resting": "hsla(34, 100%, 50%, 1)",
"warning__hover": "hsla(34, 100%, 33.9%, 1)",
"warning__text": "hsla(34, 100%, 33.9%, 1)",
"success__highlight": "hsla(138, 66.7%, 94.1%, 1)",
"success__resting": "hsla(118, 43.5%, 50%, 1)",
"success__hover": "hsla(118, 44.1%, 35.1%, 1)",
"success__text": "hsla(118, 44.1%, 35.1%, 1)",
"table__cell__fill_resting": "hsla(0, 0%, 100%, 1)",
"table__cell__fill_hover": "hsla(0, 0%, 91.8%, 1)",
"table__cell__fill_activated": "hsla(138, 66.7%, 94.1%, 1)",
"table__header__fill_activated": "hsla(0, 0%, 91.8%, 1)",
"table__header__fill_hover": "hsla(0, 0%, 86.3%, 1)",
"table__header__fill_resting": "hsla(0, 0%, 96.9%, 1)",
"disabled__text": "hsla(0, 0%, 74.5%, 1)",
"text_highlight": "hsla(199, 58.5%, 89.6%, 1)",
"focus": "hsla(184, 100%, 23.7%, 1)",
"disabled__border": "hsla(0, 0%, 86.3%, 1)",
"disabled__fill": "hsla(0, 0%, 91.8%, 1)",
"link_on_interactive_colors": "hsla(0, 0%, 100%, 1)",
"icon_on_interactive_colors": "hsla(0, 0%, 100%, 1)",
"link_in_snackbars": "hsla(184, 35.9%, 70%, 1)",
"pressed_overlay_dark": "hsla(0, 0%, 0%, 0.2)",
"pressed_overlay_light": "hsla(0, 0%, 100%, 0.2)"
}
},
"elevation": {
"raised": "0 1px 5px rgba(0, 0, 0, 0.2),0 3px 4px rgba(0, 0, 0, 0.12),0 2px 4px rgba(0, 0, 0, 0.14)",
"none": "0 0 1px rgba(0, 0, 0, 0.14)",
"overlay": "0 1px 10px rgba(0, 0, 0, 0.2),0 4px 5px rgba(0, 0, 0, 0.12),0 2px 4px rgba(0, 0, 0, 0.14)",
"sticky": "0 4px 5px rgba(0, 0, 0, 0.2),0 3px 14px rgba(0, 0, 0, 0.12),0 8px 10px rgba(0, 0, 0, 0.14)",
"temporary_nav": "0 7px 8px rgba(0, 0, 0, 0.2),0 5px 22px rgba(0, 0, 0, 0.12),0 12px 17px rgba(0, 0, 0, 0.14)",
"above_scrim": "0 11px 15px rgba(0, 0, 0, 0.2),0 9px 46px rgba(0, 0, 0, 0.12),0 24px 38px rgba(0, 0, 0, 0.14)"
},
"interaction": {
"_modes": {
"compact": {
"pressed_dark_overlay": {
"blendMode": "pass_through",
"pressedColor": "transparent"
},
"focused": {
"style": "dashed",
"color": "rgba(0, 112, 121, 1)",
"width": "2px"
},
"pressed_light_overlay": {
"blendMode": "pass_through",
"pressedColor": "rgba(255, 255, 255, 1)"
}
}
},
"pressed_dark_overlay": {
"blendMode": "darken",
"pressedColor": "rgba(0, 0, 0, 0.2)"
},
"focused": {
"style": "dashed",
"color": "rgba(0, 112, 121, 1)",
"width": "2px"
},
"pressed_light_overlay": {
"blendMode": "pass_through",
"pressedColor": "rgba(255, 255, 255, 0.2)"
}
},
"spacings": {
"_modes": {
"compact": {
"rounded": {
"minHeight": "24px",
"minWidth": "80px",
"borderRadius": "100px"
},
"button": {
"minHeight": "24px",
"minWidth": "112px",
"borderRadius": "4px"
},
"toggle": {
"minHeight": "24px",
"minWidth": "112px",
"borderRadius": ""
},
"corners": {
"minHeight": "24px",
"minWidth": "112px",
"borderRadius": "4px"
},
"icon_button": {
"minHeight": "32px",
"minWidth": "32px",
"borderRadius": "100px"
},
"straight": {
"minHeight": "24px",
"minWidth": "112px",
"borderRadius": ""
},
"toggle_rounded_border": {
"minHeight": "24px",
"minWidth": "2px",
"borderRadius": ""
},
"toggle_straight_border": {
"minHeight": "24px",
"minWidth": "2px",
"borderRadius": ""
},
"circle": {
"minHeight": "24px",
"minWidth": "24px",
"borderRadius": "100px"
}
}
},
"toggle_straight_border": {
"minHeight": "36px",
"minWidth": "4px",
"borderRadius": ""
},
"toggle_rounded_border": {
"minHeight": "36px",
"minWidth": "4px",
"borderRadius": ""
},
"circle": {
"minHeight": "40px",
"minWidth": "40px",
"borderRadius": "100px"
},
"rounded": {
"minHeight": "40px",
"minWidth": "80px",
"borderRadius": "100px"
},
"button": {
"minHeight": "36px",
"minWidth": "112px",
"borderRadius": "4px"
},
"toggle": {
"minHeight": "36px",
"minWidth": "112px",
"borderRadius": ""
},
"corners": {
"minHeight": "36px",
"minWidth": "112px",
"borderRadius": "4px"
},
"icon_button": {
"minHeight": "40px",
"minWidth": "40px",
"borderRadius": "100px"
},
"field": {
"minHeight": "56px",
"minWidth": "294px",
"borderRadius": ""
},
"straight": {
"minHeight": "36px",
"minWidth": "112px",
"borderRadius": ""
},
"caret": {
"minHeight": "8px",
"minWidth": "6px",
"borderRadius": ""
}
},
"typography": {
"heading": {
"h1_bold": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "2.000rem",
"fontWeight": 700,
"lineHeight": "1.250em",
"textAlign": "left"
},
"h1": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "2.000rem",
"fontWeight": 400,
"lineHeight": "1.250em",
"textAlign": "left"
},
"h2": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.750rem",
"fontWeight": 400,
"lineHeight": "1.250em",
"textAlign": "left"
},
"h3": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.500rem",
"fontWeight": 400,
"lineHeight": "1.250em",
"textAlign": "left"
},
"h4": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.250rem",
"fontWeight": 400,
"lineHeight": "1.600em",
"textAlign": "left"
},
"h5": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.125rem",
"fontWeight": 500,
"letterSpacing": "0.013em",
"lineHeight": "1.333em",
"textAlign": "left"
},
"h6": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 500,
"letterSpacing": "0.013em",
"lineHeight": "1.500em",
"textAlign": "left"
}
},
"navigation": {
"menu_title": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 400,
"letterSpacing": "0.013em",
"lineHeight": "1.000em",
"textAlign": "left"
},
"menu_tabs": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 500,
"letterSpacing": "0.013em",
"lineHeight": "1.000em",
"textAlign": "left"
},
"label": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.750rem",
"fontWeight": 500,
"lineHeight": "1.333em",
"textAlign": "left"
},
"drawer_active": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 700,
"letterSpacing": "0.006em",
"lineHeight": "1.000em",
"textAlign": "left"
},
"drawer_inactive": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 500,
"letterSpacing": "0.013em",
"lineHeight": "1.000em",
"textAlign": "left"
},
"button": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 500,
"lineHeight": "1.143em",
"textAlign": "left"
},
"breadcrumb": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 500,
"lineHeight": "1.143em",
"textAlign": "left"
},
"breadcrumb_hover": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 500,
"lineHeight": "1.143em",
"textDecoration": "underline",
"textAlign": "left"
},
"menu_title_hover": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 400,
"letterSpacing": "0.013em",
"lineHeight": "1.000em",
"textAlign": "left"
}
},
"input": {
"label": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.750rem",
"fontWeight": 500,
"lineHeight": "1.333em",
"textAlign": "left"
},
"text": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 400,
"letterSpacing": "0.025em",
"lineHeight": "1.500em",
"textAlign": "left"
},
"text_monospaced": {
"fontFeature": "'tnum' on,'lnum' on",
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 400,
"letterSpacing": "0.063em",
"lineHeight": "1.500em",
"textAlign": "left"
},
"helper": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.750rem",
"fontWeight": 500,
"letterSpacing": "0.013em",
"lineHeight": "1.333em",
"textAlign": "left"
}
},
"paragraph": {
"body_short_italic": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 400,
"lineHeight": "1.250em",
"fontStyle": "italic",
"textAlign": "left"
},
"caption": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 500,
"lineHeight": "1.143em",
"textAlign": "left"
},
"meta": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "0.625rem",
"fontWeight": 500,
"lineHeight": "1.600em",
"textAlign": "left"
},
"body_short": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 400,
"lineHeight": "1.250em",
"textAlign": "left"
},
"body_short_bold_italic": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 700,
"lineHeight": "1.250em",
"fontStyle": "italic",
"textAlign": "left"
},
"body_short_bold": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 700,
"lineHeight": "1.250em",
"textAlign": "left"
},
"body_short_link": {
"color": "rgba(0, 112, 121, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 400,
"lineHeight": "1.250em",
"textDecoration": "underline",
"textAlign": "left"
},
"overline": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "0.625rem",
"fontWeight": 500,
"letterSpacing": "0.069em",
"lineHeight": "1.600em",
"textTransform": "uppercase",
"textAlign": "left"
},
"ingress": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.125rem",
"fontWeight": 400,
"lineHeight": "1.333em",
"textAlign": "left"
},
"body_long": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 400,
"lineHeight": "1.500em",
"textAlign": "left"
},
"body_long_link": {
"color": "rgba(0, 112, 121, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 400,
"lineHeight": "1.500em",
"textDecoration": "underline",
"textAlign": "left"
},
"body_long_italic": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 400,
"lineHeight": "1.500em",
"fontStyle": "italic",
"textAlign": "left"
},
"body_long_bold": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 700,
"lineHeight": "1.500em",
"textAlign": "left"
},
"body_long_bold_italic": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 700,
"lineHeight": "1.500em",
"fontStyle": "italic",
"textAlign": "left"
}
},
"table": {
"cell_header": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 700,
"lineHeight": "1.429em",
"textAlign": "left"
},
"cell_text": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 500,
"lineHeight": "1.429em",
"textAlign": "left"
},
"cell_text_bold": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 700,
"lineHeight": "1.429em",
"textAlign": "left"
},
"cell_text_link": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 500,
"lineHeight": "1.429em",
"textDecoration": "underline",
"textAlign": "left"
},
"cell_numeric_monospaced": {
"fontFeature": "'tnum' on,'lnum' on",
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 500,
"lineHeight": "1.429em",
"textAlign": "left"
}
},
"_modes": {
"compact": {
"table": {
"cell_header": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 700,
"lineHeight": "1.143em",
"textAlign": "left"
},
"cell_text": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 500,
"lineHeight": "1.143em",
"textAlign": "left"
},
"cell_text_bold": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 700,
"lineHeight": "1.143em",
"textAlign": "left"
},
"cell_text_link": {
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 500,
"lineHeight": "1.143em",
"textDecoration": "underline",
"textAlign": "left"
},
"cell_numeric_monospaced": {
"fontFeature": "'tnum' on,'lnum' on",
"color": "rgba(0, 0, 0, 1)",
"fontFamily": "Equinor",
"fontSize": "0.875rem",
"fontWeight": 500,
"lineHeight": "1.143em",
"textAlign": "left"
}
}
}
},
"ui": {
"tooltip": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "0.750rem",
"fontWeight": 500,
"lineHeight": "1.333em",
"textAlign": "left"
},
"snackbar": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "0.750rem",
"fontWeight": 500,
"lineHeight": "1.333em",
"textAlign": "left"
},
"accordion_header": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "1.000rem",
"fontWeight": 500,
"lineHeight": "1.500em",
"textAlign": "left"
},
"chip__badge": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "0.750rem",
"fontWeight": 500,
"lineHeight": "1.333em",
"textAlign": "left"
},
"chart": {
"color": "rgba(61, 61, 61, 1)",
"fontFamily": "Equinor",
"fontSize": "0.750rem",
"fontWeight": 500,
"lineHeight": "1.333em",
"textAlign": "left"
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment