-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Remove daisy UI #1095
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Remove daisy UI #1095
Conversation
|
In general, I created components like Some simple or one-time daisy-ui classNames like Pros:
Cons
What do you think about that approach at all? Is it fit for us? Maybe some other ideas? You can see done/todos at the first message + I know about some small colors and styles which I’ll try to make better. |
|
Thanks for exploring this, Rinat! Great job!! Took a quick high-level look as you suggested. I think it's good to discuss and have a consensus before moving forward
I like the approach, and I think this could make a lot of sense. I agree with the PROS / CONS. Something that we could discuss: where should we draw the line between just tailwind classes & components. => It's clear to me that modals (and similar) should be a Component (because they have some custom styling + "JS" functionality). => On the other side, it's not that clear for things like buttons, since it's only styling. I guess the alternative would be to create some extra utility classes (using I wonder if there would be a nice dynamic way to create variations with themes/colors/sizes for all of these utility classes. Pushing back on myself: if we are expecting people to use either raw TW or Shadcn, maybe the approach of having But yes, for me, not relying on custom components for simpler things seems better. I feel that it makes SE-2 less opinionated and closer to HTML / CSS. People can always create their own components (custom, shadcn, etc) Anyway, just opening the discussion! Let me know what you all think! Thanks again!!! |
I'll try to add more pros/cons. How I see it with utility classes:
Cons:
With components:
Cons:
Non of these are critical but I'm still voting for components
If I undersood you right, It could be implemented the same way as in the daisy, relying on CSS variables. Example: |
100% agree on this!
Was thinking about this a lot and not sure how beneficial it would be leaving this in peoples hands. Because If they start making their own custom components or plan to use shadcn or daisyUI this thing won't go with the whole app (maybe borders, colors or something) will be a bit different. Devs again would need to go through our codebase or docs to understand how to integrate similar styling in their custom stuff. The above could be solved if we have nice themeing doc explaining how to use same border radius etc to match it with whole app. We could have very minimal components like modal, dropdown etc but again we would require docs for them.
This is also problem but we could solve it with Like shadCN already does this for us (themeing, easy merge utils, sensible variants but also since code is in codebase direct tweaking is allowed) (similar to we building our own components and telling devs to use it. The CONs:
We didn't like this. We could have regular/valid HTML + classes. Researching more shadCN is not actually tied to above and we could replace radix UI with our own HTML CSS / daisyUI, checkout this tweet So actually we could go with shadCN way of doing things (following its theme handling etc) and replace radix with our own HTML CSS things. The benefits of going with shadCN way of doing thing is:
If we are fine with dealing with this downside then we can even use shadCN with radix UI so that we don't need to build or own modal (custom js), dropdown components be fully inline with design system and accessbility. The downside with this approach is if we shadCN updates any component then we need to carefully merge things. But I feel since we will be using very less components from shadCN it's fine? Anywhich way if we plan to create our own components then we have to maintain them? thinking of Scaffold-UI too I think shadCN cli and registry is actually nice, it will allows to add component nd hooks to any react tailwind project also give minimal API to override / customize that's project CSS vars etc so that our components looks good out of the box incase we need to use CSS vars etc checkout Sorry for late realization but I am just paranoid if we don't use daisyUI or do shadCN way of doing things or any other library it would be hard to make consistent apps with SE-2 unless you are in weeds of SE-2 / how things are structured internally or we need to educate people nicely. Benefits of using this seems libraries / shadcn consistent API's and some already familiarity of people. Maybe I am too concerned or bit biased and missing more disadvantages of shadCN Other research links:
|
|
This is great stuff!!! I'll sleep on it a bit and will reply with some thoughts too. |
Could you add more details, please? As I understand you're proposing to do something like this, but not sure
something like https://www.jollyui.dev/docs ? |
|
So here are the path which we have: Doing things our custom way:Creating our own custom css variables nd components where required. Pros:
Cons:
Doing things shadcn way:ShadCN mainly provides themeing, utilites to merge class names and have variants, cli. By default on shadCN website example components are build using RadixUI but we can swap that or not use any library at all. We now have two paths in shadCN:
(lol sorry for extra rows / cols my weird Obsidian note app had it) Also, another thing which Carlos mentioned was if we go with 1. We have to make sure that if people use just instead we could have some default styles to such directly using looks similar to . So the next step would be we create a new PR with basic theme and stuff setup and two components from it button and Modal and let's see how it feels to us 🙌 |




[In progress]
Mostly completed
Todo
Fixes #1079