背景
- →はじめに
- ページのレイアウトは要素が多く、どう整理すれば良いか分からない
- 「ページタイトル-コンテンツ」ぐらいであれば迷わないが、実際は2つの間に説明文があったりする
- ページの横にサブメニュー的なものや検索フォームを置くことも多く、ますますどう整理すれば良いか分からない
目的
- ページレイアウトのコンポーネント開発方針を決める
デザインシステムの比較
各デザインシステムのサイトの「Layout」や「Pattern」などを確認した。
Primer
- Foundation→Layout→Page types
- 主に3種類としている
- Full pages
- 基本的なタイプ
- Header、Content、Pane、Footer
- Split pages
- Pane、Content
- Interstitial pages
- Header、Content
- Full pages
- コンポーネントとしてPage layoutを提供している
Material Design
- Foundations→Overview
- 主に3種類としている
- Feed
- ページいっぱいにグリッドレイアウト
- List-detail
- ListとDetailの2エリア
- 親子関係があるコンテンツの表示に使う
- Supporting pane
- プライマリコンテンツとセカンダリコンテンツの2エリア
- 親子関係はないが、関連のあるコンテンツの表示に使う
- Feed
Polaris
- Patterns
- ページレイアウトについては主に3種類としている
- App settings layout
- 2カラム
- ラベルや説明があるカラム
- 入力欄のカラム
- 2カラム
- Resource index layout
- 1カラムで、下記の3エリアに分かれる
- タイトルやアクション
- フィルタやソート
- リスト
- 1カラムで、下記の3エリアに分かれる
- Resource details layout
- 1カラムで、ページヘッダとメインコンテンツの2エリアに分かれる
- メインコンテンツは下記の2カラム
- プライマリコンテンツ
- セカンダリコンテンツ
- App settings layout
自分のページレイアウト方針
- PrimerのInterstitial pagesとPolarisを合わせたようなページレイアウトを作成する
- 命名はPolarisに合わせる
- Material Designのようにリストと詳細を同時に表示する実装は多くやるわけではないので、今回は考えない
自分のコンポーネント開発方針
- 4つのページレイアウトコンポーネントを作成する
- InterstitialPageLayout
- スロットとして、Header、Contentがある
- 中央揃えにする
- SettingPageLayout
- スロットとして、Header、Contentがある
- IndexPageLayout
- スロットとして、Header、Content、Paneがある
- DetailPageLayout
- スロットとして、Header、Content、Paneがある
- InterstitialPageLayout
次にやること
- PageHeaderコンポーネントの開発方針を決める