-
Notifications
You must be signed in to change notification settings - Fork 615
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
v3 #1289
Comments
I would like to help, if I'm able to. Is there going to be a dedicated branch or will it be done in the |
Once we start this, there will be indeed a new branch with auto-release so we can try it out and especially keep working on the |
I have few design ideas if you are open to this I would like to share it for the future of Nuxt UI 3. Should we discuss this in this issue or it'll be better to discuss design ideas in seperate discussion thread? |
@jd-solanki You can share them here! |
Since it is supposed to be a refactoring to all components, could we give the possibility of compatibility with unocss? |
@sawa-ko It will be made with Tailwind v4. To what end would you make it compatible with Uno? |
I've started working on this in a private repository of mine, I'll open-source it once I'm satisfied with the base so you guys can check it out 😊. A lot has changed since I'll post regular updates on this issue. |
Please tell me how long it will take for this upgrade to be available. |
I have no idea how long it will take and it's not entirely up to us, I hope to release it at the same time as the official release of Tailwind v4. |
That's awesome. The new version of nuxt-ui uses exactly the tech stack I expected. I tried to build my own UI library using radix-ui and tailwind-variants, but I immediately found that even with radix-ui, it is not easy to build a full UI library. But I got an idea with an API that works with any design language. If you are interested, here is my demo repository: |
@robin-dongbin It's already in the making. There are already 13 components done, 36 more to go 😅 |
Since the component library is based on radix-ui without styles, I thought it would be nice to provide an api that is abstracted from various design systems, so you can switch styles from one system to another at any time. If people want to implement another design system, they can just customize it, share files, or even contribute to a repository. Taking things a step further, it is possible to switch between different design systems at runtime. Of course, I'm just offering an idea, and if you think it's too late, that's fine |
This is actually already what we're doing with the App Config. You can customize the classes for every part of every component. |
Thanks for the work! Just one question :
|
No we keep the For example the export default {
base: 'inline-flex items-center justify-center text-gray-900 dark:text-white',
padding: 'px-1',
size: {
xs: 'h-4 min-w-[16px] text-[10px]',
sm: 'h-5 min-w-[20px] text-[11px]',
md: 'h-6 min-w-[24px] text-[12px]'
},
rounded: 'rounded',
font: 'font-medium font-sans',
background: 'bg-gray-100 dark:bg-gray-800',
ring: 'ring-1 ring-gray-300 dark:ring-gray-700 ring-inset',
default: {
size: 'sm'
}
} Here is the new version: export default {
base: 'inline-flex items-center justify-center text-gray-900 dark:text-white px-1 rounded font-medium font-sans bg-gray-50 dark:bg-gray-800 ring ring-gray-300 dark:ring-gray-700 ring-inset',
variants: {
size: {
xs: 'h-4 min-w-[16px] text-[10px]',
sm: 'h-5 min-w-[20px] text-[11px]',
md: 'h-6 min-w-[24px] text-[12px]'
}
},
defaultVariants: {
size: 'sm'
}
} This is a breaking change if you've overridden its config in your |
Ok ! Effectively, it's a breaking change but it seam ok for the future to have a better granularity with the variants. Thanks for the explanation and the example 🙏🏻 |
there was already an issue #2831 (comment) |
Ah ok, not a new one. |
Could possibly consider adding a |
I tried the method you suggested, and it indeed worked. Thank you very much. |
@benjamincanac i have an issue with drawer and modal . |
@benjamincanac the new stack and theming look great! Would you also be interested in migrating to a more modern-looking tailwindcss-motion? |
Hello everyone, are there any docs about upgrade the nuxt/ui from v2 to v3 ? |
I also have this bug with the drawer where it scrolls when closing it, but only sometimes. It seems do to it everytime if I just used a selectmenu. |
Button component is missing a cursor pointer in v3 |
I think they are ALL missing a pointer cursor. Not sure why, but it seems to be a feature not a bug. First thing I did was adding pointers to all components I use in app.config |
@Archetipo95 @MickL Watch this issue for more explanation on why there's no cursor-pointer on the buttons! #2332 |
Maybe I guess most, if not all, of the developers will want to have a pointer for buttons, tabs, etc |
This is a tailwind v4 change not something nuxt ui did in advance. Copy-pasting a CSS snippet is a way to go for now. |
Just add this to your app.config.ts |
Yes I know but maybe this can be done by default by Nuxt UI BUT be opted-out in nuxt config? Nuxt UI is all about convenience. It comes with Nuxt Icons and Nuxt Fonts, they dont need to be installed separately. Having no pointers will be something most, if not all, users will need to set manually. Therefore I would suggest to make this configurable and activated by default. |
Help I am getting this error ERROR Pre-transform error: [@vue/compiler-sfc] Failed to resolve extends base type. 8:06:20 PM interface Props extends /* @vue-ignore */ Base {} Note: both in 3.2 or with the ignore, the properties in the base type are treated as fallthrough attrs at runtime. /Users/gitamgadtaula/Desktop/work/freelance/mixtiles/node_modules/@nuxt/ui/dist/runtime/components/App.vue |
as pointed out in the upstream PR the CSS spec defines:
I invite you to have a read of the various sources shared in that PR to have a clear understanding why this is the standard. Also, as @madsh93 already replied, it is as simple as adding the following to your export default defineAppConfig({
ui: {
button: {
slots: {
base: 'cursor-pointer',
},
},
},
}) |
@gitamgadtaula please create a new issue with a reproduction link, as I need to see the context of UApp to understand this error. Feel free to tag me in once you open it |
Tailwind v4 has been release yesterday :) |
Is there a chance to make this library available for Laravel and Inertia too? The audience there is pretty big. At the moment no one can use it because of Link component tied to the vue-router dependency. |
May be something like this : https://github.com/gigerIT/vuetify-inertia-link#readme Or like that: https://uvr.esm.is/data-loaders/nuxt |
@gitamgadtaula your file path may be too long. I was having the same issue until I moved my project directory closer to the root of my C: drive. |
@benjamincanac Can you release the alpha 12 with the Tailwind v4 ? 😄 |
@bocooper-dev What OS are you using? I got the same error and this is blocking using a better way for #3177 😅 I'm on Windows and my path is short |
MuhammadM1998 I'm using windows as well. Originally my project was in my OneDrive folder. When I tried to reproduce the error here on codesandbox, everything worked flawlessly. So then I tried copying files into my OneDrive project and got a windows error message about some file paths in node_modules being too long. Once I re-cloned the project to my C: drive, I no longer had issues. If things still aren't working for you, you can also try increasing the Maximum Path Length Limitation in the Windows Registry. |
@bocooper-dev Thanks for the insights 🙏 I'll try that and get back to you |
@bocooper-dev @MuhammadM1998 Or, in alternative, use WSL. But if you want to talk about this feel free to start a discussion on Nuxt's Discord server and tag me in, I'll try to help as I can. |
Could we get an example of using a UCard in a radio group? Seems like we can't in this new version? |
@BlackDahlia313 A PR is underway to add the variant! #3178 |
Haha well would you look at that! insert meme here How awesome! Thank you! (I should have checked PRs first haha) |
The development is ongoing on the default branch of this repository: https://github.com/nuxt/ui.
A lot has changed since
@nuxt/ui
was made open-source (May 2023), so the plan here is to rewrite every component from scratch alongside their config.I'll post regular updates on this issue and on https://twitter.com/benjamincanac.
Documentation
https://ui3.nuxt.dev
Roadmap (Nov 20, 2024)
reka-ui@alpha
on@nuxt/ui
&@nuxt/ui-pro
(feat(module)!: migrate toreka-ui
#2448)@nuxt/ui-pro
components@nuxt/ui-pro
components (almost all are done except for Dashboard)@nuxt/ui
likeCalendar
(feat(Calendar): implement component #2618),DateInput
,Tree
(feat(Tree): implement component #2757),Stepper
(feat(Stepper): new component #2733), etc.@nuxt/ui
&@nuxt/ui-pro
officially oncetailwindcss
andreka-ui
are released@nuxt/ui-pro
components & templates like Changelog, Portfolio, etc.Breaking Changes
The biggest change is the switch to
tailwind-variants
, this will cause lots of breaking changes if you've used theui
prop orapp.config.ts
to override the config. I apologize in advance for this but I strongly believe this will be beneficial and will bring consistency across all components.The config will now have a
slots
amongst other keys that will specifically target dom nodes. Theui
prop will only allow you to target those slots.These changes alongside the refactor of all components will also improve the types, the
app.config.ts
andui
props are now perfectly typed, as well as all componentsprops
,slots
,emits
andexpose
.Components
The text was updated successfully, but these errors were encountered: