ガイド
デザイントークンを、実際のファイルで解説
デザイントークンとは、名前を付けたデザイン上の決定のことです:色、余白、フォントサイズ。一度だけ保存し、デザインツールでもコードでも、あらゆる場所で使います。
トークンが重要な理由
トークンがなければ、ボタンの青はデザインファイルに書かれ、CSS にもう一度書かれ、アプリにもまた書かれます。一度変えようとすると、すべての箇所を探し出さなければなりません。トークンがあれば、color.brand を変えるだけで、それを使っているすべての箇所が追従します。
トークンファイルの中身
W3C Design Tokens Community Group は、各トークンが $value と $type を持つ JSON 形式を定めています。
{
"color": {
"brand": { "$value": "#2F5BEA", "$type": "color" },
"ink": { "$value": "#121214", "$type": "color" }
},
"space": {
"4": { "$value": "16px", "$type": "dimension" }
}
}同じ決定を、ブラウザが使える CSS 変数にするとこうなります:
:root {
--color-brand: #2F5BEA;
--color-ink: #121214;
--space-4: 16px;
}Kalka でのトークンの使い方
- ひとつのフォルダに:どのプロジェクトにも
design-system/フォルダがあり、W3C 形式のtokens.jsonと、その隣にtokens.cssが入っています。 - キャンバス上で使う:デザインパネルで色や余白を選ぶと、それはトークンを選んでいることになり、CSS ではその変数が使われます。
- Git でバージョン管理:ブランドカラーの変更は、ほかのコード変更と同じように、レビューできるひとつのコミットになります。
Kalka は開発中のオープンソースプロジェクトです。上記のフォルダ構成はプロダクト仕様に基づいています。