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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
今さら理解するウェブフォントver.2026
takanorip
3
680
AI-Slopなデザインを生まないためのデザインプロセス戦略
takanorip
10
6.2k
「見せる」登壇資料デザインの極意
takanorip
7
1.7k
Design System Documentation Tooling 2025
takanorip
3
3.1k
デザインエンジニアの延長にデザインマネージャーとしての可能性を探る
takanorip
1
1.4k
Tools for Design Engineers other than LLM in the LLM era
takanorip
1
910
Bulletproof Design System with TypeScript
takanorip
7
5.4k
Eleventy3.0 で始める爆速個人ブログ開発!
takanorip
0
320
Webフォント選定の極意!フォントの基本から最新トレンドまで徹底解説
takanorip
6
1.2k
Other Decks in Design
See All in Design
エンジニア経験0のデザイナーが アプリを0からリリースまで 作ってみる
abokadotyann
2
380
RawrXD: The Sword
seanvraj_arts
0
180
少人数チームで_使われるプロダクトにたどり着くための_デザインハーネス.pdf
nishame
1
1.6k
トランジションの冒険 自分と世界を変える冒険の書 / Transition Adventure
dmattsun
2
770
Webブラウザで動く VJツールをつくる
akirafukuoka
0
120
HeartLanguage - DesignProcess
heartlanguage
0
210
デザインハーネス 〜AIが生成する"デザイン"の妥当性を、誰がどう担保するのか〜 / PdEConf2026 Design Harness
kgsi
14
22k
図書館書架のオンライン閲覧サービス 「honbaco library」の開発 Code4Lib JAPAN カンファレンス 2026
sugi2000
0
110
設計の進め方と 品質特性品質特性
harakeishi
0
1.4k
Findy - デザインチーム紹介 / Findy Design Team Culture Deck
findyinc
14
150k
デザなに#1「問いのデザイン」の紹介LT
garyuten
0
140
Webデザイナー中田美穂_ポートフォリオ
omy
0
170
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
516
110k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
620
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
Making Projects Easy
brettharned
120
6.8k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
Testing 201, or: Great Expectations
jmmastey
46
8.3k
How to build a perfect <img>
jonoalderson
1
6.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
980
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...