Ideas backlog for Nuxt UI #6667
Replies: 2 comments
🔗 Related PRs#5757 - feat(InputRating): new component [merged] 📝 Issue PlannerCheck the box below or use the
🧪 Issue enrichment is currently in open beta.You can configure auto-planning by selecting labels in the issue_enrichment configuration. To disable automatic issue enrichment, add the following to your issue_enrichment:
auto_enrich:
enabled: false💬 Have feedback or questions? Drop into our discord! |
|
Thanks for the thoughtful list! Most of these already exist:
Worth exploring:
|
Uh oh!
There was an error while loading. Please reload this page.
Package
v4.x
Description
First of all, thank you for building such an amazing library.
I've been using Nuxt UI in almost every project, and it's become one of my favorite UI libraries in the Vue/Nuxt ecosystem.
While working on different projects, I occasionally write down ideas for components and composables that could be useful in the future. Some of them may not fit the philosophy or scope of Nuxt UI—and that's completely fine. I simply wanted to share them in case they are useful as inspiration or for a future roadmap.
Think of this as a backlog of ideas rather than a feature request.
Components
UKanbanA Trello/Linear-style Kanban board for task management.
Example:
Possible features:
Drag & drop cards
Drag between columns
Custom card slots
Keyboard accessibility
Touch support
Optional virtualization for large boards
Configurable drag handles
Events such as:
card:movecolumn:movecard:addcard:removeUseful for:
USplitterResizable panels similar to VS Code or IDE layouts.
Example:
Possible API:
Useful for:
UJsonEditorA JSON editor with built-in validation.
Example:
Possible features:
Useful for:
UQrCodeGenerate QR codes directly from Vue.
Example:
Possible props:
Useful for:
USignaturePadCanvas-based signature component.
Possible API:
<USignaturePad pen-color="black" background="white" clearable />Methods:
Useful for:
UFabFloating Action Button inspired by Material Design.
<UFab icon="i-lucide-plus" />Possible features:
Useful for:
Composables
useDialog()Programmatic dialogs.
I know this can already be implemented using existing components, but having an official composable would provide a consistent developer experience while still allowing the dialog appearance to be customized via
app.config.ts.Example:
Possible methods:
usePrompt()Programmatic input dialogs.
Example:
Possible methods:
Useful for:
useNotification()A unified API on top of Toast.
Example:
Possible API:
useLoading()Global loading overlay.
Example:
Possible state:
Useful for:
Improvements to
defineShortcuts()Shortcut scopes
Currently all shortcuts are effectively global.
Example:
Imagine the page also contains a rich text editor.
Inside the editor we want:
Now
Ctrl+Bonly toggles bold while the editor is focused instead of triggering the global shortcut.Possible scopes:
global(default)editortabledialogShortcut groups
Groups make it easy to enable or disable an entire set of shortcuts.
Example:
When switching tabs:
No need to unregister every shortcut individually.
Useful for:
UShortcutRecorderA component that records keyboard shortcuts.
Example:
User presses:
Result:
No parsing required.
Possible features:
Useful for:
Shortcut Cheat Sheet
Automatically generate a list of shortcuts registered on the current page.
Example:
Then:
<UShortcutHelp />could display something similar to GitHub, VS Code, or Notion, making keyboard shortcuts easier to discover.
useTimer()A generic timer composable.
Example:
Methods:
Reactive state:
Possible modes:
or
Useful for:
useInterval()anduseTimeout()Simple wrappers with reactive controls.
Methods:
Timeout:
Methods:
useRateLimiter()A unified abstraction over debounce and throttle.
Example:
Or:
Possible features:
useBreakpoint()A composable that uses Nuxt UI's configured breakpoints instead of manually writing media queries.
Reactive state:
Instead of:
This would ensure that if breakpoints are customized in Nuxt UI, the composable automatically stays in sync.
useSticky()Make any element sticky while exposing reactive state.
Possible API:
Reactive state:
Useful for:
Again, these are simply ideas collected while using Nuxt UI across different projects. Some may overlap with existing libraries or fall outside the intended scope of Nuxt UI, and that's perfectly understandable. I hope at least a few of them can serve as inspiration for future discussions or roadmap planning.
Finally, thank you again for all the work you've put into Nuxt UI. It's an excellent library and a pleasure to use.
Additional context
No response
All reactions