UNPKG

@maggioli-design-system/design-tokens

Version:

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

134 lines (98 loc) 3.79 kB
# @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][adobe-leonardo] and [Amazon Style Dictionary][style-dictionary]. # Installation Install the component via `npm` by running the following command: ```bash npm i @maggioli-design-system/design-tokens ``` This package works also with yarn: ```bash 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 ```bash 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 ```json { "colors": [ { "color": "#94a3b8", "name": "tone.slate" }, { "color": "#EA3464", "name": "label.amaranth" } ] } ``` You can export different color in different output file defining export field ```json { "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 ```json { "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 ```json { "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 ```bash npx design-tokens --config ./color.js ``` - export palette only on css format ```bash npx design-tokens --generate css ``` - export palette on css and tailwind format ```bash npx design-tokens --generate 'css, tailwind' ``` [adobe-leonardo]: https://leonardocolor.io/ [style-dictionary]: https://amzn.github.io/style-dictionary/