🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

@arnog/chromatic

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@arnog/chromatic

A build system for managing cross-platform design systems using design tokens.

0.8.0
latest
Source
npm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

Chromatic

A tool to help manage design systems by generating platform-specific files from a source file describing design tokens.

Expressive Design Tokens

Tokens can contain rich expressions in a natural syntax, including arithmetic operations, units (12px), function (rgb(), mix(), saturate()...) and references to other tokens.

tokens:
    primary-hue: '210deg'
    primary: 'hsl({primary-hue}, 100%, 40%)'
    primary-dark: 'darken({primary}, 20%)'

    line-height: '18pt + 5px'

Themes

Each token can have a theme variant, such as dark/light, or compact/cozy layouts. The necessary output artifacts are generated automatically.

tokens:
    cta-button-background:
        value:
            dark: '#004082'
            light: '#0066ce'

Zero-conf

Get going quickly. A simple token file written YAML or JSON file is all you need.

But Chromatic is also customizable when you need to. You can write or modify the format of the output files to suit your needs.

Chromatic is also available as an API that can be invoked from a build system.

Multi-platform

From a single token file, generate platform specific artifacts:

  • for the web (Sass, CSS)
  • for iOS (JSON, plist)
  • for Android (XML)

Chromatic can also generate a style guide as a HTML file.

Getting started with Chromatic

$ npm install -g @arnog/chromatic

To create a directory with an example:

$ chromatic example ./test
$ chromatic ./test -o tokens.scss
$ chromatic ./test -o tokens.html

Or writing your own token file:

# tokens.yaml
tokens:
    background: '#f1f1f1'
    body-color: '#333'
$ chromatic tokens.yaml -o tokens.scss
$background: #f1f1f1 !default;
$body-color: #333 !default;

Now, let's create a dark theme:

# tokens-dark.yaml
theme: dark
tokens:
    background: '#222'
    body-color: '#a0a0a0'
# tokens.yaml
import: ./tokens-dark.yaml
tokens:
    background: '#f1f1f1'
    body-color: '#333'
$ chromatic tokens.yaml -o tokens.scss
:root {
    --background: #f1f1f1;
    --body-color: #333;
}
body[data-theme='dark'] {
    --background: #222;
    --body-color: #a0a0a0;
}

Keywords

design tokens

FAQs

Package last updated on 14 Dec 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts