チューン (Tune)

3 つ目のスタイル軸。テーマが配色を、チューンが形・余白・書体・サイズを決めます。data-tune 属性 1 つで 13 プリセット、他のすべてと直交します。

直交する 3 つの軸

pinion-ui は UI の見た目を独立した 3 層に分けます。どのテーマ × どのチューン × どのコンポーネント variant でも自由に組み合わせられます。

  • Theme — 配色。パレット(55 × ライト / ダーク)を <html> の data-theme で指定。
  • Tune — 形・余白・書体・サイズ。全体の「間(ま)」を <html> の data-tune で指定。
  • Component — 要素ごとの variant / サイズ / 色。Blade の props(color・size・appearance)で指定。

チューンの指定

<html>(または任意の祖先要素)の属性 1 つが、配下のすべての pinion-ui コンポーネントに CSS カスタムプロパティ経由でカスケードします。コンポーネントごとの設定もリビルドも不要です。

html
<html data-theme="pinion" data-tune="editorial">

右上のテーマ / チューン切替でも data-tune がライブに変わり、このページの各サンプルも反応します。内側の任意の要素に data-tune を付ければ、その一部だけ上書きできます。

13 のプリセット

各プリセットは「形 × 余白 × 書体」空間の、一貫した排他的な 1 点です。下では同じカードのマークアップを各チューンで描画しています。違うのは祖先の data-tune だけです。

default バランスの取れた中立な基準
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

minimal 余白を詰めた、控えめで静かな調子
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

sharp 角丸ゼロ、シャープな直角
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

corporate 保守的でゆったり、信頼感
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

tech 等幅の見出し、密で技術的
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

brutal 硬い角・太い枠線・力強い
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

editorial セリフ見出し、ゆとりある読みのリズム
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

luxury 広々と洗練、高コントラストな書体
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

soft 丸くやさしく親しみやすい
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

plush 粘土のようにふっくら、大きな角丸とやわらかい影
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

pixel ピクセルフォント、レトロゲーム調
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

draft 手描き風、ゆらぎのあるスケッチ調
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

proto ドットマトリクスの見出し、カプセル形のタイル、四角いセレクター
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

強度 (Strength) — 効き具合を調整

data-tune-strength でチューンが基準からどれだけ離れるかを段階指定します: xs / sm / md(既定)/ lg / xl。下は同じ soft チューンを 5 段階の強度で表示したものです。

xs
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

sm
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

md 既定
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

lg
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

xl
New v2

Aa — Heading

The quick brown fox jumps over the lazy dog.

html
<html data-theme="pinion" data-tune="soft" data-tune-strength="xl">

レスポンシブなルート文字

v0.18.0 から使えるオプション。<html> に data-text-scale="a" か "b" を付けると、狭い画面でルートの font-size が段階的に下がります。rem で書かれた値(文字・t-shirt 余白・フィールドの高さ)がまとめて縮むので、要素ごとに縮め方がずれません。属性を付けなければ何も変わりません。

html
<html data-theme="pinion" data-tune="default" data-text-scale="b">
値 ≤768px ≤425px ≤375px ≤320px
a −0.8px · 15.2 −1.2px · 14.8 −1.6px · 14.4 −2.0px · 14.0
b −1.0px · 15.0 −1.0px · 15.0 −2.0px · 14.0 −3.0px · 13.0

a は細かい刻み、b は大きめの刻み。どちらもチューン自身の --font-size-base から --pn-text-trim を引く仕組みなので、minimal や pixel とも組み合わさり、読み手のブラウザの文字サイズ設定も尊重します。

確かめるにはウィンドウ幅を 768px 未満に縮めてください。刻みはルート要素のメディアクエリで効くため、枠の中ではプレビューできません。

仕組み

すべてのトークンは「base + チューン別 delta × 強度」で決まります。コンポーネントは var(--token) を読むだけで、どのチューンが有効かを知りません。4 つのトークン群が連動します:

  • 形 — 角丸(--radius-box / --radius-field)と枠線の太さ。
  • 余白 — T シャツサイズ(--spacing-3xs … --spacing-7xl)が p-md / gap-lg / py-4xl を駆動。
  • 書体 — 見出し・本文のフォント、字間、行間、タイプスケール比。
  • サイズと奥行き — 各種の高さと、多層のボックス / フィールド影。

すべて CSS カスタムプロパティなので、チューン変更はリビルド不要で即座にカスケードします。上のサンプルのような入れ子の上書きも含みます。

テーマ × チューンは自由に混ぜられる

2 つの軸は決して混ざりません。55 テーマ × 13 チューン = 同じコンポーネントから 715 通りの見た目。あとで pinion-ui を離れる場合も、php artisan ui:eject が選んだテーマ × チューンを素の Tailwind に凍結します(ロックインなし)。 導入方法 →