包详细信息

@maggioli-design-system/design-tokens

moodysmiles16.4kISC13.7.1

This is the Design Token library of Maggioli Design System, here you'll find all the visual data used around the libraries.

amazon, data-driven, design-token, json

自述文件

@maggioli-design-system/design-tokens

Generates design tokens for colors and other type of agnostic tokens targeted on specific plaforms, like web, Dart, Android or iOS formats.

This library is based on Adobe Leonardo and Amazon Style Dictionary.

Installation

Install the component via npm by running the following command:

npm i @maggioli-design-system/design-tokens

This package works also with yarn:

yarn add @maggioli-design-system/design-tokens

Generate Custom Palette

you can generate custom palettes via cli command, it takes a configuration file to create palettes

Usage

npx magma-design-tokens

Options

Option Alias Description
--config [configFile] -c Path to configuration file if not respect default naming
--outDir [dirPath] -d Path destination for generated palettes
--generate [platform] -g Output format for palette, choose one or more between css, tailwind, dart
--export-tokens -t export palette as JSON design tokens format
--outTokensDir [tokensDir] Directory path for JSON tokens, required if --export-tokens is presents

Configuration file

You can include configuration in a configuration file or a field in package.json named magma-design-tokens

Naming convention

Naming standard for configuration file:

  • .magma-design-tokensrc.json
  • .magma-design-tokensrc.js
  • .magma-design-tokensrc.cjs
  • .magma-design-tokensrc.mjs
  • .config/magma-design-tokensrc
  • .config/magma-design-tokensrc.json
  • .config/magma-design-tokensrc.js
  • .config/magma-design-tokensrc.cjs
  • .config/magma-design-tokensrc.mjs
  • magma-design-tokens.config.js
  • magma-design-tokens.config.cjs
  • .magma-design-tokens.config.mjs

If you change configuration file name you need to set with --config option

Configuration

Basic config

{
  "colors": [
    { "color": "#94a3b8", "name": "tone.slate" },
    { "color": "#EA3464", "name": "label.amaranth" }
  ]
}

You can export different color in different output file defining export field

{
  "colors": [
    { "color": "#94a3b8", "name": "tone.slate", "export": ["tones"] },
    { "color": "#EA3464", "name": "label.amaranth", "export": ["label"] }
  ]
}

You can choose the ratio with which to generate the color scale with ratios field

{
  "colors": [
    { "color": "#94a3b8", "name": "tone.slate", "ratios": "tone" },
    { "color": "#EA3464", "name": "label.amaranth", "ratios": "v1" }
  ]
}

NOTE: there are four different ratios as follow value contrast

{
  "v1": [
      1.05, 1.1, 1.17, 1.24, 1.32, 1.41, 1.51, 1.65, 1.9, 2.25, 2.7, 3.3,
      4, 4.8, 5.75, 7, 8.5, 10.3, 12.45, 15
    ],
  "v2": [1.09, 1.22, 1.42, 1.82, 2.57, 3.71, 5.13, 6.71, 8.75, 10.29],
  "default": [1.09, 1.22, 1.42, 1.82, 3.29, 5.13, 6.71, 8.45, 10.29, 17.22],
  "tone": [1.05, 1.1, 1.24, 1.47, 2.54, 4.83, 7.56, 10.31, 14.68, 16]
}

Cli example

  • takes ./color.js as configuration file

    npx design-tokens --config ./color.js
  • export palette only on css format

    npx design-tokens --generate css
  • export palette on css and tailwind format

    npx design-tokens --generate 'css, tailwind'