Figma の新機能「Variables」の Mode が面白そうだったので遊んでみた


こんにちは、上條(mk-0A0)です。
今回はコードの記事ではなく、Figma の新機能「Variables」を触ってみた感想を書きたいと思います。

Figma の大型アップデート

6/21に Figma の大型アップデートがありました。

https://www.figma.com/ja/whats-new/

内容としては、

  • Dev モードの追加
  • Variables の追加
  • Prototype の進化

などがあります。
なかでも Variables が面白そうだったので、ちょこっと遊んでみました。

Variables とは

簡単に言うと Figma で使える変数です。Color・Number・String・Boolean の値に対して名前をつけて管理することができます。

Variables in Figma design store reusable values that can be applied to all kinds of design properties and prototyping actions. They help save time and effort when building designs, managing design systems, and creating complex prototyping flows.
日本語訳(deepL):
Figmaデザインの変数は、あらゆる種類のデザイン・プロパティやプロトタイピング・アクションに適用できる、再利用可能な値を格納します。これらは、デザインの構築、デザイン・システムの管理、複雑なプロトタイピング・フローの作成において、時間と労力の節約に役立ちます。

Guide to variables in Figma

Variables の使い方

右のサイドバーにある “Local variables” から Variables を作成します。

色と変数名を登録します。

“Fill” の横にある①のボタンから登録した色を選択できます。

今までのやり方

右のサイドバーにある “Local styles” を使って Typography や Color を設定していましたが、Variables のように Number・String・Boolean を扱うことはできませんでした。

Local styles と Variables の違い

先にも少し触れましたが、設定できる要素が異なります。

  • Local styles
    • Typography
    • Color
    • Shadow
    • Grid
  • Variables
    • Color
    • Number
    • String
    • Boolean

そして、Variables を使った Mode という機能があります。

Mode とは

Mode を追加することでコンポーネントの状態(ステート)を設定できます。
Twitter で話題になった、ポケモンが進化するサンプルをご覧になった方も多いのではないでしょうか。

https://twitter.com/yannglt/status/1671614082254876673?s=20

こちらは、3レベルあるフレーム間でポケモンを移動すると、合わせてポケモンが進化して見た目が変化します。これは、コンポーネント名と Mode で設定した名前が一致して切り替わることで実現しているようです。実装は、『Learn Variables in 4 steps (with Pokémon!) / バリアブルの使い方かんたん4ステップ』のページで解説されています。

Mode の使い方

Variables のポップアップから、カラムの隣にある+ボタンをから新しい Mode を追加します。

カラムが増えて新しい Mode が追加されました。

要件に沿って Mode を設定します。サンプルではライトモード・ダークモードの Color を設定してみました。

Mode を使ってみる

  1. ライトモード・ダークモードの切り替え

light / dark の Mode を作成し、それぞれの Mode にテキスト・背景の色を設定しました。

2. フォームのステートの切り替え

normal / error / disabled の Mode を作成し、それぞれの Mode でテキスト・線・背景の色を設定しました。

まとめ

こちらのブログの内容は、弊社が月1で開催している「LT練習会(仮)」に先日登壇したときの再構成です。登壇の様子は 2:30-『Figma の Variables で遊んでみた』からご覧ください!

登壇者も絶賛募集中なので、LT の練習にぜひご活用ください!
次回LT練習会の詳細は以下をご覧ください。
第11回LT練習会(仮)

Gaji-Labo は Next.js, React, TypeScript 開発の実績と知見があります

フロントエンド開発の専門家である私たちが御社の開発チームに入ることで、バックエンドも含めた全体の開発効率が上がります。

「既存のサイトを Next.js に移行したい」
「人手が足りず信頼できるエンジニアを探している」
「自分たちで手を付けてみたがいまいち上手くいかない」

フロントエンド開発に関わるお困りごとがあれば、まずは一度お気軽に Gaji-Labo にご相談ください。

オンラインでのヒアリングとフルリモートでのプロセス支援にも対応しています。

Next.js, React, TypeScript の相談をする!

投稿者 Kamijo Momoka

フロントエンドエンジニア。
HTML/CSS/JavaScript/WordPressでのサイト制作からNext.js/TypeScriptなどを使ったWebアプリ開発、FigmaでのUIデザインまで広く経験しています。 デザインエンジニアと名乗るのが夢です。