Skip to content
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

Vue compatibility #2129

Open
Tracked by #1289
benjamincanac opened this issue Aug 23, 2024 · 9 comments
Open
Tracked by #1289

Vue compatibility #2129

benjamincanac opened this issue Aug 23, 2024 · 9 comments
Assignees
Labels

Comments

@benjamincanac
Copy link
Member

benjamincanac commented Aug 23, 2024

After many requests from the community (#187, #298, #543, #850, #1514, etc.), the goal would be to make @nuxt/ui compatible for non-Nuxt apps as a Vite plugin I guess.

The minimal features would be to:

  • Run Tailwind CSS vite plugin
  • Inject components
  • Inject composables
  • Use @iconify/vue instead of @nuxt/icon (we don't need that much complexity I guess)
  • Use VueUse https://vueuse.org/core/useDark/#usedark instead of @nuxtjs/color-mode
  • Make Nuxt specific imports (#imports, #build, etc.) work
  • Make Nuxt specific composables (useAppConfig, useId, etc.) work
  • Make theming with app.config.ts work in some way
@GalacticHypernova
Copy link

GalacticHypernova commented Aug 26, 2024

It would probably be worth it to keep the Nuxt config for Nuxt apps and the non-Nuxt config for non-Nuxt apps. It could probably be done with a few wrapper functions that would dynamically determine if it's running in a Nuxt context. I assume using something more tightly-integrated with the Nuxt ecosystem (like an actual Nuxt module) would offer better capabilities for Nuxt apps than generic Vue/non-Nuxt tools (not that I think that non-Nuxt tools are less capable, but it's just better coupled, like using Nitro vs Express as the server).

If you'd like, I can do my best to assist in making this change

@benjamincanac benjamincanac added the v3 #1289 label Sep 6, 2024
@benjamincanac benjamincanac transferred this issue from benjamincanac/ui3 Sep 6, 2024
@TechAkayy
Copy link

Very happy to see this happening. Thank you! ☺️ I can help with any testing, please let me know.

@ManukMinasyan
Copy link

@benjamincanac @danielroe Could you please confirm if you plan to support Vue applications? If so, could you provide guidance on how to install and test this with Vue 3? Additionally, if needed, how can I assist in extending support to Vue? Thanks

@danielroe
Copy link
Member

i’ll provide guidance once i implement it 😆

@ManukMinasyan
Copy link

i’ll provide guidance once i implement it 😆

They are any deadline?

@benjamincanac benjamincanac mentioned this issue Oct 2, 2024
7 tasks
@ddahan
Copy link

ddahan commented Oct 13, 2024

What a great news! Congrats on this.
I'm curious to know if you have already found another name?
I guess keeping "Nuxt UI" would be misleading regarding to the compatibility.

Copy link
Member Author

benjamincanac commented Oct 14, 2024

We have no plan to rename it, this is a module built and thought for Nuxt that will support Vue 😊

@danielroe
Copy link
Member

danielroe commented Oct 17, 2024

made some good progress today - just need to implement icon + color mode support!

cursorful-video.mp4

you can see the progress in a livestream at https://youtube.com/live/KRYFcyNNxDk?feature=share if you want

  • Run Tailwind CSS vite plugin
  • Inject components
  • Inject composables
  • Use @iconify/vue instead of @nuxt/icon (we don't need that much complexity I guess)
  • Use VueUse https://vueuse.org/core/useDark/#usedark instead of @nuxtjs/color-mode
  • Make Nuxt specific imports (#imports, #build, etc.) work
  • Make Nuxt specific composables (useAppConfig, useId, etc.) work
  • Make theming with app.config.ts work in some way

@lewebsimple
Copy link

Wow thanks Daniel « Heroe » !!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants