Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Headless Components Design
Search
takanorip
December 18, 2020
Design
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Headless Components Design
takanorip
December 18, 2020
More Decks by takanorip
See All by takanorip
AI-Slopなデザインを生まないためのデザインプロセス戦略
takanorip
10
5.9k
「見せる」登壇資料デザインの極意
takanorip
7
1.6k
Design System Documentation Tooling 2025
takanorip
3
3k
デザインエンジニアの延長にデザインマネージャーとしての可能性を探る
takanorip
1
1.3k
Tools for Design Engineers other than LLM in the LLM era
takanorip
1
880
Bulletproof Design System with TypeScript
takanorip
7
5.4k
Eleventy3.0 で始める爆速個人ブログ開発!
takanorip
0
320
Webフォント選定の極意!フォントの基本から最新トレンドまで徹底解説
takanorip
6
1.2k
効果的な管理画面を デザインをするために 避けるべき5つの罠
takanorip
15
8k
Other Decks in Design
See All in Design
組織で働く大人が「知らないままにやってみる」を取り戻す方法とその意味〜企業で働く実務家による実践知の言語化を事例とした考察〜
chiemitaki
1
380
クリエイティブディレクター 両角 高寛 の自己紹介
morogyro
0
130
デザインツールを開く前に その画面は誰に何と言わせたい?受託UIデザイナーが顧客解像度を高める 「打ち合わせの場での確かめ方」
garyuten
1
220
Frontier
rwang05
0
200
AVI 2026 Keynote "Vision-Driven Design"
ishii_mit
0
140
The Art of Caring
klemens
0
450
デザインワークフローの最前線。 ログラスでのAI活用の現在地
ukaoli
1
2.9k
ボタンUIの冪等性の話をしたらVimmerに刺さっちゃった
ottatto
3
1.8k
JBUG大阪#9_登壇資料_引き継ぎで困らないためのBacklogWikiの整え方_ミスと属人化を防ぐために、 “次の人が動ける状態”をどう残すか
webnaut
2
250
A Corrida Maluca - Comedy Storyboard
gioli
0
110
Basket_of_love.pdf
terencebasart
0
300
デザインハーネス 〜AIが生成する"デザイン"の妥当性を、誰がどう担保するのか〜 / PdEConf2026 Design Harness
kgsi
12
20k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Automating Front-end Workflow
addyosmani
1369
210k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Rails Girls Zürich Keynote
gr2m
96
14k
Believing is Seeing
oripsolob
1
210
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Paper Plane
katiecoart
PRO
3
53k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
The SEO Collaboration Effect
kristinabergwall1
1
550
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
Transcript
Headless Components Design takanorip / 20201218 / UIT紅白歌合戦
Self Introduction • takanorip / Takanori Oki • UI designer
@ClassDo Inc. / Frontend developer • Organizer of WPSG(Web Platform Study Group) ◦ YouTube ◦ Spotify
CSS in JS…?
We don’t want to write CSS anymore
Headless UI • https://headlessui.dev/ • “Completely unstyled, fully accessible UI
components, designed to integrate beautifully with Tailwind CSS.”
import { useState } from 'react' import { Switch }
from '@headlessui/react' function NotificationsToggle() { const [enabled, setEnabled] = useState(false) return ( <Switch checked={enabled} onChange={setEnabled} className={`${ enabled ? 'bg-blue-600' : 'bg-gray-200' } relative inline-flex h-6 rounded-full w-8`} > <span className="sr-only">Enable notifications</span> <span className={`${ enabled ? 'translate-x-4' : 'translate-x-0' } inline-block w-4 h-4 transform bg-white rounded-full`} /> </Switch> ) }
tailwindcss “A utility-first CSS framework packed with classes” <div class="p-6
max-w-sm mx-auto bg-white rounded-xl shadow-md flex items-center"> <div class="flex-shrink-0"> <img class="h-12 w-12" src="/img/logo.svg" alt="ChitChat Logo"> </div> <div> <div class="text-xl font-medium text-black">ChitChat</div> <p class="text-gray-500">You have a new message!</p> </div> </div>
Issues in Components Design
What do we do when the style boundary and the
function boundary are slightly different?
Let’s make Original Headless UI?
Current Design System Basic Components with style Organism Components
Original utility-first CSS Original Function Components Headless Design System
Design tokens -> Utility-first CSS • Color • Fonts •
Spaces • etc...