Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Release Yamada UI v2
Search
Hirotomo Yamada
October 17, 2025
Technology
660
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Release Yamada UI v2
Hirotomo Yamada
October 17, 2025
More Decks by Hirotomo Yamada
See All by Hirotomo Yamada
React ABC Questions
hirotomoyamada
0
1k
Other Decks in Technology
See All in Technology
タスクの複雑さでモデルを選ぶ ── Thompson Samplingで動かす“トークン/コスト最適化
satohy0323
0
430
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
240
CDKで書くECSのベストプラクティス、 改めて考え直す2026 #cdkconf2026
makies
1
490
Data + AI Summit 2026 イベントレポート: 「AIがビジネスで意思決定するデータ基盤」へ
nek0128
0
160
シンガポールで登壇してきます
yama3133
0
180
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
430
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
240
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
300
Claude Code 珍プレー好プレー
shinyasaita
0
330
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
2
3.9k
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.3k
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
2.8k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
710
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Navigating Team Friction
lara
192
16k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
How STYLIGHT went responsive
nonsquared
100
6.2k
Technical Leadership for Architectural Decision Making
baasie
3
440
Believing is Seeing
oripsolob
1
170
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Transcript
Yamada UI v2をリリースする
Profile Produced Contributing Hirotomo Yamada Developer of Yamada UI. Designer,
design system and UI engineer. I work for
Yamada UI v2をリリースする
リリースします
🎉
Yamada UI とは 他は、省略します。 日本発のReact UIライブラリです
新しい機能
CLI - セットアップ CLIを使用すると、プロジェクトで Yamada UIのセットアップを簡単に行うことができるようになりました。 initコマンドを実行すると、次のプロンプトが表示されます。
CLI - ダウンロード 2つの方法でコンポーネントを提供します。 1つは、CLIからコンポーネントをダウンロードする新しい方法。もう 1つは、 モジュールからコンポーネントをインポートする従来通りの方法です。 ソースコードをダウンロードすることにより、コンポーネントやフックの 初期値やロジックをカスタマイズすることがで き、ロジックなどで不具合があった場合は、直接修正する
ことができます。
CLI - ダウンロード ソースコードをダウンロードしてカスタマイズしても、 CLIのdiffやupdateを行うことで、ソースコードを簡単に更新する ことができます。もし、あなたの修正と競合しても Gitの競合の提示方法と同じ ように表示され、簡単に解決することが できます。
コンポーネント - 名前空間インポート 名前空間を使用してコンポーネントをインポートすることができるようになりました。 従来のコンポーネントを個別にインポートすることは、引き続き可能です。 但し、名前空間の兼ね合いで名前が変更されたコンポーネントがあります。 例えば、Accordionの場合は、AccordionRootに変更されています。
コンポーネント - createComponent createComponentを使用すると、バリアントなど条件付きスタイル をサポートするコンポーネントを作成することがで きます。createSlotComponentを使用すると、スロット付きコンポーネントを簡単に作成できます。 • BEMの命名規則に準拠した classNameを自動で生成する。 •
柔軟な記述方法ができる。 • 条件付きスタイルの条件は、 OR・AND・正規表現が選択でき、柔軟にマッチさせることができる。 • 条件付きスタイルで使用する propsは、スタイルを計算した後、 自動的に除外される。 • propsを多段階計算する。 • propsは、mergePropsを使用して、消失を防ぎながらマージ される。 • コンテキストを生成するので、コンテキスト内の同コンポーネントに propsを一括設定できる。
defineComponentStyleでスタイルを定義し、 createComponentから提供されるメソッドでコンポーネントを作成しま す。 コンポーネント - createComponent
BEMの命名規則に準拠した classNameを自動で生成する。 コンポーネント - createComponent
コンポーネントは柔軟な記述ができます。 コンポーネント - createComponent 条件付きスタイルのみ使用し、ロジックを持たないコンポーネントは、 HTMLの要素を指定するだけです。 従来のような関数コンポーネントも定義できます。
条件付きスタイルの条件は、 OR・AND・正規表現が選択でき、柔軟にマッチさせることができる。 コンポーネント - createComponent 配列にすることでORになります。 正規表現を使用できます。
propsを多段階計算する。 コンポーネント - createComponent 第一引数は、初期値の propsです。提供されるpropsによって上書きされるか、 マージされます。 今回のケースは、aria-labelは上書きされ、onClickの処理はマージされます。 第二引数以降は、オブジェクトまたは関数を設定されることで 多段階計算またはマージされます。
今回のケースの場合、 orientationはdata-orientationに変換され、DOMの要素にセットされません。
コンポーネント - createComponent 提供されたPropsContextを使用すると、子要素にあるコンポーネントの propsを一括で設定することができます。 上記の例では、BadgePropsContextの子要素にあるBadgeは、すべてvariantが”outline”になります。
コンポーネント - mergeProps mergePropsを使用すると、propsの消失を防ぎながらマージ を簡単に行うことができます。従来は、提供される props を配慮しながらコンポーネントを作成する必要がありました。 mergePropsを使用すると、提供される propsを配慮する ことなく、コンポーネントの作成に集中することができます。
Before After
コンポーネント - ポリモーフィズム 従来のasに加えて、asChildを追加しました。asは、コンポーネント自体の要素を変更するに対して、 asChildは、コン ポーネントの機能やスタイルを子要素に組み込む ために使用します。 as asChild
Style Props - CSSカスタムプロパティ・値関数 Style Propsで簡単にCSSカスタムプロパティを設定できるようになりました。 また、テーマのトークンを参照することができます。 Style Propsの値でCSS値関数を使用する場合に、各関数が対応するテーマの トークンを参照することができるように
なりました。
Style Props - インターポレーション Style Propsの値で簡単にCSSカスタムプロパティを参照することができるようになりました。 また、テーマのトークンを参照することができます。これは、テーマのトークンと紐づいていないプロパティに、別の テーマのトークンを設定するのに便利です。 borderなどの一括指定プロパティ で使用すると便利です。
Style Props - アットルール Style Propsにアットルールが追加されました。 コンテナクエリもサポートしています。
Style Props - アニメーション 以前のアニメーションは、 useAnimationを使用していました。これからは、 Style Propsから直接設定することができる ようになりました。 After
Before
アクセシビリティ - 国際化 アクセシビリティを向上させるため、すべてのコンポーネントで組み込まれている文字列から日付・数値のフォーマット まで、30以上の言語をサポートしました。 日本語(日本) 英語(イギリス) 英語(米国) アラビア語(アラブ首長国連邦) ブルガリア語(ブルガリア)
クロアチア語(クロアチア) チェコ語(チェコ共和国) デンマーク語(デンマーク) オランダ語(オランダ) エストニア語(エストニア) フィンランド語(フィンランド) フランス語(カナダ) フランス語(フランス) ドイツ語(ドイツ) ギリシャ語(ギリシャ) ヘブライ語(イスラエル) ハンガリー語(ハンガリー) イタリア語(イタリア) ラトビア語(ラトビア) リトアニア語(リトアニア) ノルウェー語(ノルウェー) ポーランド語(ポーランド) ポルトガル語(ブラジル) ルーマニア語(ルーマニア) ロシア語(ロシア) セルビア語(セルビア) スロバキア語(スロバキア) スロベニア語(スロベニア) スペイン語(スペイン) スウェーデン語(スウェーデン) トルコ語(トルコ) ウクライナ語(ウクライナ) 中国語(簡体字) 中国語(繁体字) 韓国語(韓国) これらの言語は、I18nProviderの言語データから簡単に更新することができ、新しい言語データを追加することも可 能です。また、バンドルサイズは言語データを削除すれば最適化できます。
ありがとうございました X @hirotomoyamada https://x.com/hirotomoyamada GitHub リポジトリ https://github.com/yamada-ui/yamada-ui ドキュメントサイト https://yamada-ui.com