Docs
VNL Works Labs — 設計方針
ここは「パーツを増やしても破綻しない」ための約束事をまとめたページです。 Tailwind Motion Kit(mk)の思想をベースに、VNL Works のサイト群(VNL Works / Nyano / 将来の配布ページ)へ横展開できる形を想定しています。
現在の実装状況(概要)
Labs に登録されている部品は 22 件です。 (カテゴリ別の件数は以下)
フルスクリーンデモ: 1 件(/labs/demo)
motion
11
ui
6
patterns
5
より詳細なチェックリストは、リポジトリ内の docs/IMPLEMENTATION_STATUS.md を参照してください。
1. モーションの“言語化”
部品が増えるほど、個別の気分で duration / easing / distance を決めるとサイトがバラつきます。 mk は CSS 変数(tokens)で「標準の速さ・距離・イージング」を定義し、各部品はそれを参照します。
- • 速度: --mk-duration-* を基準にする
- • 距離: --mk-distance-* を基準にする
- • イージング: --mk-ease-* を基準にする
2. data属性で“挙動”を渡す
Tailwind の utility だけで済ませると「どれがアニメ用の値か」が埋もれがちです。 mk の部品は data-mk-* で挙動を宣言し、JS が必要な場合のみ最小限で反映します。
例: reveal で距離・遅延を指定 → data-mk-distance / data-mk-delay
3. “少しだけ”で効かせる
上品さは、派手さではなく「微細な一貫性」で生まれます。 目安として、移動量は 6〜20px 程度、duration は 160〜600ms 程度に抑えると扱いやすいです。
- • Hover は lift(小さな浮き) + shadow の組み合わせが堅い
- • Reveal は blur を多用しない(読みやすさ優先)
- • “遊び”は局所的に。全ページで bounce すると疲れます
4. アクセシビリティ(必須)
mk は prefers-reduced-motion を尊重し、動きを最小化する設計です。 また、Dialog / Tabs などは ARIA / フォーカス操作を前提にしています。
- • focus-visible のリングは “見える” 状態を守る
- • Dialog は ESC / 背景クリック / フォーカストラップが必要
- • Tabs は矢印キー(←→)と Home/End を扱えると丁寧
5. UI設計の観点(レポート参照)
添付のUIレポート(7階層モデル)を “実装側のチェックリスト” に落とし、以下の順で改善します。 まずは 知覚(Perception) と 構造(Architecture)を優先し、最後に 感情(Emotional) を足していきます。
- • コントラスト / 余白 / 境界(カード、セクション)の統一
- • 現在地が分かるナビ(/labs 配下なども active 表示)
- • タップ領域 44×44px を下回らない(特にモバイル)
- • モーションは理解の補助(移動量/速度を tokens で統一)
参考: docs/UI_ANALYSIS_REFERENCE.md / docs/UI_DESIGN_NOTES.md
6. 部品を追加する手順
- tailwind-motion-kit に CSS / JS を追加(必要なら tokens も追加)
- motion-labs/registry/items に slug.json を追加
- motion-labs/registry/index.json に一覧項目を追記
- /labs/components に表示されることを確認
Tip: 各コンポーネント詳細ページの Download ZIP から、必要ファイルだけをまとめた zip を取得できます。 (配布・社内共有の導線としても使えます)
7. リポジトリ内ドキュメント
Tailwind Motion Kit の詳細は、リポジトリ内の markdown にまとまっています。
/tailwind-motion-kit/docs(概要 / 導入 / カタログ / カスタマイズ)
