❌ Not an alternative to Tailwind UI
❌ Not a predesigned UI kit
❌ Not styled at all
❌ Not in any way tied to Tailwind, there is no CSS or classes or anything of any kind in the library
Instead, it’s a set of low-level completely unstyled primitives that let you build *custom* versions of common components faster, *with your own design you bring yourself*.
This is what a menu button renders by default (that’s the default browser focus ring, not bundled CSS):
The underlying motivation for building these libraries is so we can offer React, Vue, and other versions of what we offer in Tailwind UI, without making you copy and paste a ton of gnarly JS.
Instead you’ll still just copy the markup and styles, but the behavior will just work.
These are *headless* components, they have no styles, they render nothing, they have no visual opinion at all.
Tailwind UI on the other hand is design and CSS implementation. This is the JavaScript that will make designs like that magically come to life.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Last month, over 200 people got together in my hometown of Cambridge, Ontario to hang out, talk shop, and get a peek behind the curtain at some of the new stuff we’ve been working on.
Tailwind Connect started out as an idea for throwing a little local meetup while the team was in town, but naturally ballooned into us renting a massive hall, hiring a crew of four videographers, and racking up a catering bill that put my own wedding to shame.
But even though we got a little carried away with the production, we tried to make it feel more like a meetup than a conference. We ran the event in the evening and kept it to just one presentation, leaving as much time as possible for people to just hang out and connect.
I've never worked on a site where dark mode was as simple as "replace every instance of hex code A with hex code B."
The color changes are very often context-specific, so if you're using CSS variables to support themes, you need to name those contexts, like GitHub has:
Notice the "Show All Properties (389 more)" at the bottom? Yeah, there are a _lot_ of context-dependent color tweaks that need to happen in every supported theme.
This is why dark mode support works the way it does in Tailwind. It lets you make context-specific design decisions for dark mode right in the template, without identifying, naming, and hoisting every single context out of the design.
It’s weird that anyone thinks Tailwind isn’t suitable for super custom designs. That’s literally the reason I made the framework, to build super custom designs faster.
I've always loved how much polish a subtle animation like the one on this Stripe button can add to a UI 😍
Let me show you how to recreate it with Tailwind CSS! 🧵
First, let's create the button! We'll use `rounded-full` for the pill shape, add padding with `px-4` and `py-1.5`, set the font-weight with `font-semibold`, add color with `text-white` and `bg-slate-900`, then set a hover color with `hover:bg-slate-700`.
Are there any email marketing/newsletter tools designed for technical people? All I want in the world is to write emails in markdown and include code snippets.
I want to do a lot more newsletter writing but the friction with all the WYSIWYG crap is brutal 😞
"HEY World" is by far the closest thing I've found to the right level of friction-free newsletter publishing (even without markdown or code support), but for sending stuff to the Tailwind newsletter it feels weird to not come from our domain.
This is my current oh-my-god-I-want-to-blow-my-brains-out workflow:
1. Write in Markdown in my editor, leaving little comments where I need to add images.
2. Optimize images myself and upload to DigitalOcean Spaces (to bypass brutal compression applied by newsletter software.)
For better or worse my entire approach to business is “make whatever I want, and hope enough people pay for it for it to work.”
Like a band making music — write songs you’re excited about, not the songs people want you to write. Might fail but at least you’ll have fun.
To be clear this isn’t advice, and it’s the furthest thing from a recipe for success. But if you’re lucky enough to have this, I would be careful to fall into the trap of doing what people ask you to do instead of just continuing to live the dream.
As an example, we released these Tailwind CSS templates earlier this week and we used Next.js because we like using Next.js. I’ve gotten lots of feedback like “not all your customers use React” and yeah that’s true! But that assumes we’re customer-driven, and we’re not.