Gftd Japan株式会社 / デザインシステム
Gftd Japan株式会社の「高い知性と倫理観に基づき、最先端の科学技術を用いた、サイバーセキュリティ技術を用いて、我らと我らの子孫が豊かで情緒的な暮らしを送ることができるよう、いい感じの社会を作る」の実現に寄与するデザインアセットです。
特徴
- Rust + Sycamore: 安全で高速なWebフロントエンドを実現
- アクセシビリティ: JIS X 8341-3:2016(WCAG 2.0)に準拠したアクセシブルなコンポーネント
- Sycamoreコンポーネント: 型安全なコンポーネントAPIで開発効率を向上
- WASMサポート: WebAssemblyで高速な実行を実現
インストール方法
Cargo.tomlに依存関係を追加:
[]
= "0.1.0"
使用例
use *;
use *;
use add_button_styles;
利用可能なコンポーネント
ボタン (Button)
デジタル庁デザインシステムに準拠したボタンコンポーネント:
- スタイル: SolidFill(塗り), Outlined(アウトライン), Text(テキスト)
- サイズ: XSmall(極小), Small(小), Medium(中), Large(大)
- 状態: Default(通常), Hover(ホバー), Active(アクティブ), Focus(フォーカス), Disabled(無効), FocusOnDisabled(無効時フォーカス)
各スタイル、サイズ、状態の組み合わせに対応し、アクセシビリティに配慮した実装となっています。
use *;
use *;
use add_button_styles;
// ボタンの使用例
add_button_styles; // グローバルボタンスタイルを追加
view!
リンク (Link)
テキストリンクコンポーネント:
- バリアント: Standard, Dense, Outline
- サイズ: Small, Medium
- 太さ: Normal, Bold
- 状態: Default, Hover, Active, Visited, Focus
- 機能: 外部リンクアイコン表示、新しいウィンドウで開く
use *;
use *;
use add_link_styles;
// リンクの使用例
add_link_styles; // グローバルリンクスタイルを追加
view!
カード (Card)
コンテンツをまとめて表示するカードコンポーネント:
- バリアント: WithoutLink, WithOneLink, WithFunction
- レイアウト: Vertical, Horizontal
- 状態: Default, Hover, Focus
- エリアタイプ: Main, Image, Sub
- 機能: リンク、アクション、背景画像、カスタムボーダー半径
use *;
use *;
use add_card_styles;
// カードの使用例
add_card_styles; // グローバルカードスタイルを追加
view!
エレベーション (Elevation)
コンテンツに立体感を与えるためのシャドウコンポーネント:
- スタイル: Style1 ~ Style8 (影の強さを表す)
- 用途: コンテンツの重要性や階層を表現
use *;
use *;
view!
緊急バナー (EmergencyBanner)
緊急情報を表示するためのバナーコンポーネント:
- プラットフォーム: Desktop, Mobile
- リンク: True, False (ボタンの有無)
- 状態: Default, Hover
- コンテンツ: タイトル、日付、説明文、ボタン
use *;
use *;
use add_banner_styles;
// バナーの使用例
add_banner_styles; // グローバルバナースタイルを追加
view!
プロジェクト構成
/
├── src/
│ ├── components/ # UIコンポーネント
│ │ ├── button.rs # ボタンコンポーネント
│ │ └── mod.rs # コンポーネントモジュール定義
│ ├── styles/ # スタイリング関連
│ │ ├── tokens.rs # デザイントークン
│ │ ├── utils.rs # CSSユーティリティ
│ │ └── mod.rs # スタイルモジュール定義
│ ├── lib.rs # ライブラリエントリポイント
│ └── main.rs # デモアプリケーション
└── tests/ # テストファイル
└── button_test.rs # ボタンテスト
セットアップと開発
-
依存関係のインストール:
-
開発サーバーの起動:
-
テストの実行:
パブリッシュ方法
- Cargo.tomlの内容を確認(バージョンなど)
- Cargo.lockを更新:
cargo update - パッケージをチェック:
cargo package --list - テストを実行:
cargo test - クレートを公開:
cargo publish
参考リソース
進捗状況
- プロジェクト初期化
- 基本設計
- ボタンコンポーネント実装
- ボタンテスト実装
- リンクコンポーネント実装
- カードコンポーネント実装
- カードコンポーネントテスト実装
- その他コンポーネントの実装
- ドキュメント整備
ライセンスと責任
このクレートの開発と保守、および法的責任は Gftd Japan 株式会社 が負っています。Gftd Japan株式会社 / デザインシステムの実装に関するご質問やサポートについては、Gftd Japan 株式会社までお問い合わせください。