コンテンツにスキップ

カラーパレット

これらは primitive カラーランプ — 4 レイヤートークンモデルの最下層です。 すべての semantic・component・theme トークンは、最終的に以下のいずれかの シェードに解決されます。

各ランプは標準的な 50–950 スケールです。5 つのニュートラル ランプには調整済みの 350 ステップを追加しています — ダークテーマの text-muted 用シェードで、muted テキストが muted-bg(ランプの 700)の 上でも 4.5:1 以上のコントラストを保つよう選定されています。gray ランプが プロジェクトのデフォルトニュートラルで、slate / zinc / neutral / stoneテーマビルダーが 提供する代替ニュートラルです。アクセント / ステータスの色相は、組み込みの data-color テーマと、固定の semantic info / success / warning / error カラーを支えています。

7 つの彩度ランプは手で選んだ値ではなく生成されたものです。それぞれ 1 つの 色相角を共有ラダーに通し、oklch(L C H) として書き出しています:

  • L はステップが決め、色相をまたいで同一です。したがって 600 は blue でも amber でも同じ暗さを意味します。
  • C はステップごとの絶対目標値で、その色相がその明度で sRGB 内に 保持できる範囲にクランプされます。彩度を色域最大値に対する比率に すると色域境界の形をなぞることになり、その形は色相で大きく振れます — green の色域は明るい側で最も広いため、比率固定では green.200green.500 より鮮やかになり、淡いティントがネオン調になります。
  • H はランプを通じて一定なので、ランプの途中で色相がずれません。

これがアクセントテーマが 1 つの形と 1 つの前景ルールを共有できる理由です。値の再生成は scripts/build-ramp.mjs が行い、test/ramp.test.mjs がコミット済みトークンと ラダーの一致を検証します。

5 つのニュートラルランプは生成対象ではありません。これらは元から 知覚的に均一で(どのステップでも明度のばらつきは最大 1.8 ポイント。変更前の 彩度ランプは 18.3)、ダークモードは完全にニュートラルから構成されるため、 手を加えていません。

スウォッチのラベルは他ツールへ貼り付けやすいよう sRGB hex を表示しています。 ホバーするとトークンパスと、実際に記述されている oklch() 値が見られます。

white oklch(1 0 0)black oklch(0 0 0)

Neutrals

color.gray
50#f9fafb
100#f3f4f6
200#e5e7eb
300#d0d5dd
350#a7aeb9
400#9ca3af
500#6b7280
600#4b5563
700#374151
800#1f2937
900#111827
950#030712
color.slate
50#f8fafc
100#f1f5f9
200#e2e8f0
300#cbd5e1
350#a1aec1
400#94a3b8
500#64748b
600#475569
700#334155
800#1e293b
900#0f172a
950#020617
color.zinc
50#fafafa
100#f4f4f5
200#e4e4e7
300#d4d4d8
350#acacb4
400#a1a1aa
500#71717a
600#52525b
700#3f3f46
800#27272a
900#18181b
950#09090b
color.neutral
50#fafafa
100#f5f5f5
200#e5e5e5
300#d4d4d4
350#adadad
400#a3a3a3
500#737373
600#525252
700#404040
800#262626
900#171717
950#0a0a0a
color.stone
50#fafaf9
100#f5f5f4
200#e7e5e4
300#d6d3d1
350#b2ada9
400#a8a29e
500#78716c
600#57534e
700#44403c
800#292524
900#1c1917
950#0c0a09

Accent & status hues

color.blue
50#f0f5ff
100#e2ebff
200#cadbfe
300#a8c4fe
400#77a2fd
500#477cfd
600#2c60e9
700#1f4cc7
800#163ba2
900#102d79
950#091b48
color.indigo
50#f2f4ff
100#e6eaff
200#d1d8fe
300#b5bffe
400#8f9afd
500#6c71fd
600#5755e7
700#4642c6
800#3733a0
900#282678
950#171747
color.violet
50#f5f3ff
100#ebe8ff
200#dbd4fe
300#c6b9fe
400#a98ffd
500#8f65f3
600#7947dd
700#6435bd
800#502899
900#3b1f72
950#221344
color.fuchsia
50#fdf1f9
100#fae4f3
200#f5cdea
300#f0aadd
400#e17ac9
500#cd48b3
600#b5239c
700#981083
800#7b0769
900#5c0a4e
950#37092e
color.rose
50#fff1f1
100#ffe4e4
200#fecccd
300#feaaac
400#f8767f
500#e73e56
600#cd0c3e
700#aa0832
800#880526
900#68021b
950#3f050f
color.red
50#fff2f0
100#ffe4e0
200#fecdc7
300#feaba1
400#f8786c
500#e7413a
600#ce0e18
700#ac0812
800#8a050c
900#690307
950#3f0605
color.orange
50#fff2ec
100#fee5d9
200#fcd0b9
300#fcb088
400#f2823f
500#d2600a
600#ae4f07
700#904004
800#733203
900#582401
950#371300
color.amber
50#fcf4ea
100#fae8d5
200#f5d5b1
300#f0b877
400#e09110
500#b8760b
600#986107
700#7e4f04
800#643e03
900#4c2e01
950#2e1a00
color.lime
50#f3f7eb
100#e8efd7
200#d5e1b6
300#bbcf81
400#98b227
500#7b920b
600#657907
700#536305
800#414f03
900#303b01
950#1c2300
color.green
50#ecf9f2
100#d9f2e5
200#b8e8d0
300#81dab1
400#14c189
500#0e9e6f
600#0a835b
700#066c4b
800#04553a
900#02402b
950#012718
color.teal
50#eaf9f8
100#d4f2f1
200#aee8e5
300#67dad6
400#14bcb9
500#0e9a97
600#0a7f7d
700#066966
800#045351
900#023e3d
950#002524

カスタムテーマを書くとき (独自テーマの作成を参照)、 DTCG トークンをパスで primitive に向けます:

{
"color": {
"action": {
"primary": {
"bg": { "$type": "color", "$value": "{primitive.color.violet.600}" }
}
}
}
}

上のスウォッチにホバーすると、正確な {primitive.color.*} パスと hex が 表示されます。ビルドが参照を具体的な値に解決し、primitive 自体は決して 出力されません。

  • テーマ概要 — 4 レイヤーモデル。
  • カラーテーマ — これらのランプの上に構築された data-color アクセント軸。
  • テーマビルダー — カスタムテーマの生成。ニュートラルランプのピッカーは上のランプを使います。