-
Notifications
You must be signed in to change notification settings - Fork 98
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
Migrate to reka-ui #55
base: main
Are you sure you want to change the base?
Conversation
Thanks @laserhybiz, Can you share with me where it states that the new ShadCNVue is using RekaUI as opposed to radix-vue. Give me a link where I can read up more about it. Do you know if this is going to be Tailwind V4 compatible as well? |
https://www.shadcn-vue.com/docs/changelog.html I also tested out a new shadcn-vue project and I got reka-ui by default |
I think reka is just version 2 of radix as for tailwind, I don't think it supports v4 yet |
I was about to create this PR. The Radix Vue v2.x release has been rebranded as Reka UI. Migration Guide: Radix Vue to Reka UI |
Thanks guys! @laserhybiz would you mind resolving the conflicts. We are going to test this out and discuss this a little more. Do you happen to know if Reka-ui and the new version of ShadCN vue have been updated to support Tailwind V4? Let us know. Appreciate it 😊 |
@tnylea ShadCN-Vue has not been updated to Tailwind V4 yet, but they seem to be working on it. Progress can be tracked on unovue/shadcn-vue#1076 |
@tnylea conflicts resolved |
Great! Thanks @laserhybiz. Will be discussing with Taylor this week. Because this is such a big PR we'll have to do some thorough testing. I'm wondering if it would be worth it to hold off until we have a Tailwind V4 compatible version. This way we can update ShadCN Vue to use Reka vs Radix and have TW4 at the same time. What are your thoughts on that? We'll be discussing the PR this week 👍 |
@tnylea I don't think this as such a big PR since most of it is only changes to the imports. |
@laserhybiz I'll be doing some thorough testing in the UI to make sure this doesn't cause any elements to be mis-aligned or positioned incorrectly. Have you made sure to go through all the screens and verified that everything looks as expected. The tests are passing which is good, but the tests will not pickup any UI inconsistencies. Let me know. I'll also be going through this starter kit and verify everything looks as expected, then the team and I will discuss before merging in. Thanks. |
I've tested this a few times to ensure everything stays consistent. One thing worth adding, (not for this pr but as a project kit), would be a view showing all the components to easily debug and test. As for me this PR seems good to go and I don't think v4 should be a worry as of now. |
If I start using this starter to built my frontend, does this mean I'll have to change everything again later after this PR? |
@francoism90 I think you misunderstand the idea of a starter kit. The idea is that you use it to start your app, you do not keep your app updated with the starter kit. Once you use the starter kit, you're free to do whatever you want with the code it provided. |
@Plytas I understand, but unfortunately this starter is already out-of-dated. That's my point. |
@francoism90 Well once this is merged you could just update? If that is what you are asking? |
@larson-carter Yes, because the starter-kits are basically a git clone. I do understand you'll have to sync this manually, but it feels like a breaking change. I'm just worried about that, so maybe it's not the case. Like when I create a Edit: it seems to be a lot of import changes, which isn't a big issue. Also a lot of other improvements, but so far everything seems to be easy to sync afterwards? :) |
@francoism90 starter kit is the same as just cloning this repo. Your application will look exactly as it looks when you visit https://github.com/laravel/vue-starter-kit. It has a Once this PR is merged, the Now if for some reason you want your application to be "synced" with this repo (not recommended), you would have to apply the changes manually, by going through PRs, looking at changes and implementing them in your own application. There's also an option of waiting until this PR is merged and only then starting a new project. |
@Plytas I do understand the starter-kits, and I do know it doesn't affect the current application. I'm also building a new Laravel-app, that's why I'm looking at the starter-kit. I was just asking if it would be a lot of changes, because it seems you'll have to upgrade when you want to use the latest version, which I would like since I'm starting from zero:
I do take a look at the starter-kit commits once in a while (did the same with Jetstream), as it offers changes and improvements you might have missed in your own application. |
I guess this depends on the PR. In this case you can see all the changes so it's up to you to evaluate and determine if this is "a lot" or not. Personally I have ideas for new projects, but I'm not in a rush to start them. Also, I would like to use the "new and shiny" things and don't want to go through a process of updating everything myself, so I'm simply waiting until those changes are merged to start a new project. |
just don't wanna wait laravel/vue-starter-kit#55 to be merged Signed-off-by: Fery Wardiyanto <ferywardiyanto@gmail.com>
Ok, this looks good to me. I've tested the UI thoroughly, and everything works as it did before. @joetannenbaum and @taylorotwell, this PR looks enormous; however, all the files except for two are inside the If either of you were not aware, the ShadCN UI library originally utilized RadixUI under the hood. When VueShadCN UI was ported, it was built on top of a Vue RadixUI fork since the original RadixUI is React-based. Moving forward, the maintainers have decided to base VueShadCN on RekaUI instead. Adopting this update makes sense to ensure this Starter Kit remains up to date and aligned with the UI library’s ongoing development. Let me know your thoughts. Everything looks good to me. Thanks again, @laserhybiz, for the contribution. |
Just to add to this it's extremely important that this pull request gets merged quickly. I've been using the starter kit and as I've added more shadcn-vue components some were using radix-vue, others were using reka-ui. These libraries are not inter-compatible and have some very annoying foot-guns when used together (specifically with selects & other popovers inside dialogs/sheets). The more projects that get created with this starter kit, the more developers will run into these hard to debug issues. Migration for existing projectsFor those who have already created an application using a starter kit, the migration is pretty simple just update each shadcn-vue component using the following command for each folder in
I also had to copy over the app.css file from the starter kit back into my project as it made my logo icon blue. If you're using Git you can run this command after you've updated the components:
|
The latest version of shadcn-vue now uses reka-ui instead of radix-vue (see changelog).
Most of this PR is only updates to the imports. Additionally, I included some of the recent style updates.