You guys are cooking recently. Can't wait to see what the new docs look like!
Posts by Adam Aho
Will this work in library mode as well?
This is sick
All the shadcn peeps are sleeping on react aria. Devon and team continues to deliver incredible value. Its by far the most comprehensive react component library out there. That is the reason I have chosen it as the foundation for Winnie React.
Oh Devon, this is music to my ears. Amazing work!
I can see how cursor can cause you to stop thinking. I finally got around to trying it today. Once it learned my codebase, I found my self just tabbing to complete most things. I know I am just scratching the surface here, but I already miss typing lol.
Thanks to react aria, Winnie React can benefit from defining the tanstack router types on components that use `href`. This means Winnie's Link, ButtonLink, NavigationItem, and many others will have typesafe `href` props. Super cool stuff.
Decided to swap out the react aria disclosure for the base ui collapsible for NavigationDisclosure component in Winnie React. I needed an easier way to change the rendered elements to maintain accessibility. Still going to use react-aria for pretty much everything else.
Working on Navigation next for Winnie React
Menu uses the listbox primitive from Winnie CSS.
Initial iteration of Menu component done for Winnie React. I am really really liking some of the abstractions Winnie affords. You can dive into the tools at any level and make them what you want. Winnie React just represents one way to do things.
React Aria doesn't use polymorphism to transition behaviour across components, instead they use context. It takes a bit to get used to, but I think it is the right abstraction in this case if you lean heavily into using css to fill the gaps.
I'm convinced that polymorphism in components is not needed when you have the right style abstractions. Need an anchor that looks like a button? In Winnie, just add `data-component="button"` to it, and now it looks like a button.
I like to use tailwind as the utility layer in application development. It is the best way to apply styles for layout to components that have been hand-crafted with raw css. The upcoming Winnie React will support this workflow out of the box.
Winnie strikes a nice balance with the support of tailwind. Only works in v4 though thanks to the css only config. Get all the power of Winnie CSS with tailwind.
lol zero is sick. Just set it up for client only data storage for the winnie showcase. Took 5 mins...
Link
For example, native support for tanstack router in their components that are navigatable react-spectrum.adobe.com/react-aria/r...
PS. In the world of React components, React Aria really needs more love. It's the only unstyled library with almost everything you need. With the addition of Autocomplete, I think it might get even closer
Cooking something new for Winnie.
All of these things are the end goal of Winnie. I want people to be able choose whatever journey helps them get from 0-1 on their next project.
Or finally, you can use Winnie Themes. A thin layer on top of the React components that applies the colors and opinions for you, all you need to do is choose your accent color, radius and scale.
But remember, components in Winnie are spatial. They have no opinions on the color, borders, font weight, family, etc. So you can add your own skin on those components to match your brand.
winnie provides entry for developers on on different levels. Want total control over the system? use only Winnie css and integrate with any framework you want. Next step up is React. I’m currently working on a wrapper of Winnie components in react with the help of react aria.
Update: manage to update to react 19. But needed to change client:load to client:only=react to get rid of the duplicate react error. Seems fine for now.
Yeah sharding playwright component tests has done wonders for us, definitely a good suggestion. I haven’t looked much into the Vitest browser integration, but from what I can see it’s using playwright as the runner correct?
Yeah I find that to be tricky even in the module federation world. It becomes too cumbersome to manage. Really neat idea though!
This is an unreal idea. 🤯 is that something you think parcel would be able to support natively? I can see how useful it would be in organizations with many teams working on the same application.
Lol. I user Twitter on web only, even on my phone. Apparently it doesn’t like safari