deotalandAi/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv

14 KiB

1NoCategoryGuidelineDescriptionDoDon'tCode GoodCode BadSeverityDocs URL
21InstallationAdd Nuxt UI moduleInstall and configure Nuxt UI in your Nuxt projectpnpm add @nuxt/ui and add to modulesManual component importsmodules: ['@nuxt/ui']import { UButton } from '@nuxt/ui'Highhttps://ui.nuxt.com/docs/getting-started/installation/nuxt
32InstallationImport Tailwind and Nuxt UI CSSRequired CSS imports in main.css file@import tailwindcss and @import @nuxt/uiSkip CSS imports@import "tailwindcss"; @import "@nuxt/ui";No CSS importsHighhttps://ui.nuxt.com/docs/getting-started/installation/nuxt
43InstallationWrap app with UApp componentUApp provides global configs for Toast Tooltip and overlays<UApp> wrapper in app.vueSkip UApp wrapper<UApp><NuxtPage/></UApp><NuxtPage/> without wrapperHighhttps://ui.nuxt.com/docs/components/app
54ComponentsUse U prefix for componentsAll Nuxt UI components use U prefix by defaultUButton UInput UModalButton Input Modal<UButton>Click</UButton><Button>Click</Button>Mediumhttps://ui.nuxt.com/docs/getting-started/installation/nuxt
610ThemingConfigure colors in app.config.tsRuntime color configuration without restartui.colors.primary in app.config.tsHardcoded colors in componentsdefineAppConfig({ ui: { colors: { primary: 'blue' } } })<UButton class="bg-blue-500">Highhttps://ui.nuxt.com/docs/getting-started/theme/design-system
712ThemingExtend semantic colors in nuxt.configRegister new colors like tertiary in theme.colorstheme.colors array in ui configUse undefined colorsui: { theme: { colors: ['primary', 'tertiary'] } }<UButton color="tertiary"> without configMediumhttps://ui.nuxt.com/docs/getting-started/theme/design-system
813FormsUse UForm with schema validationUForm supports Zod Yup Joi Valibot schemas:schema prop with validation schemaManual form validation<UForm :schema="schema" :state="state">Manual @blur validationHighhttps://ui.nuxt.com/docs/components/form
914FormsUse UFormField for field wrapperProvides label error message and validation displayUFormField with name propManual error handling<UFormField name="email" label="Email"><div><label>Email</label><UInput/><span>error</span></div>Mediumhttps://ui.nuxt.com/docs/components/form-field
1015FormsHandle form submit with @submitUForm emits submit event with validated data@submit handler on UForm@click on submit button<UForm @submit="onSubmit"><UButton @click="onSubmit">Mediumhttps://ui.nuxt.com/docs/components/form
1118OverlaysUse useOverlay composable for programmatic overlaysOpen overlays programmatically without template refsuseOverlay().open(MyModal)Template ref and manual controlconst overlay = useOverlay(); overlay.open(MyModal, { props })const modal = ref(); modal.value.open()Mediumhttps://ui.nuxt.com/docs/components/modal
1221DashboardUse UDashboardGroup for layoutWraps dashboard components with sidebar state managementUDashboardGroup > UDashboardSidebar + UDashboardPanelManual layout flex containers<UDashboardGroup><UDashboardSidebar/><UDashboardPanel/></UDashboardGroup><div class="flex"><aside/><main/></div>Mediumhttps://ui.nuxt.com/docs/components/dashboard-group
1323TablesUse UTable with data and columns propsPowered by TanStack Table with built-in features:data and :columns propsManual table markup<UTable :data="users" :columns="columns"/><table><tr v-for="user in users">Highhttps://ui.nuxt.com/docs/components/table
1424TablesDefine columns with accessorKeyColumn definitions use accessorKey for data bindingaccessorKey: 'email' in column defString column names only{ accessorKey: 'email', header: 'Email' }['name', 'email']Mediumhttps://ui.nuxt.com/docs/components/table
1527NavigationUse UNavigationMenu for nav linksHorizontal or vertical navigation with dropdown supportUNavigationMenu with items arrayManual nav with v-for<UNavigationMenu :items="navItems"/><nav><a v-for="item in items">Mediumhttps://ui.nuxt.com/docs/components/navigation-menu
1628NavigationUse UBreadcrumb for page hierarchyAutomatic breadcrumb with NuxtLink support:items array with label and toManual breadcrumb links<UBreadcrumb :items="breadcrumbs"/><nav><span v-for="crumb in crumbs">Lowhttps://ui.nuxt.com/docs/components/breadcrumb
1729NavigationUse UTabs for tabbed contentTab navigation with content panelsUTabs with items containing slot contentManual tab state<UTabs :items="tabs"/><div><button @click="tab=1">Mediumhttps://ui.nuxt.com/docs/components/tabs
1831FeedbackUse UAlert for inline messagesStatic alert messages with icon and actionsUAlert with title description colorToast for static messages<UAlert title="Warning" color="warning"/>useToast for inline alertsMediumhttps://ui.nuxt.com/docs/components/alert
1933Color ModeUse UColorModeButton for theme toggleBuilt-in light/dark mode toggle buttonUColorModeButton componentManual color mode logic<UColorModeButton/><button @click="toggleColorMode">Lowhttps://ui.nuxt.com/docs/components/color-mode-button
2034Color ModeUse UColorModeSelect for theme pickerDropdown to select system light or dark modeUColorModeSelect componentCustom select for theme<UColorModeSelect/><USelect v-model="colorMode" :items="modes"/>Lowhttps://ui.nuxt.com/docs/components/color-mode-select
2136CustomizationConfigure default variants in nuxt.configSet default color and size for all componentstheme.defaultVariants in ui configRepeat props on every componentui: { theme: { defaultVariants: { color: 'neutral' } } }<UButton color="neutral"> everywhereMediumhttps://ui.nuxt.com/docs/getting-started/installation/nuxt
2237CustomizationUse app.config.ts for theme overridesRuntime theme customizationdefineAppConfig with ui keynuxt.config for runtime valuesdefineAppConfig({ ui: { button: { defaultVariants: { size: 'sm' } } } })nuxt.config ui.button.size: 'sm'Mediumhttps://ui.nuxt.com/docs/getting-started/theme/components
2338PerformanceEnable component detectionTree-shake unused component CSSexperimental.componentDetection: trueInclude all component CSSui: { experimental: { componentDetection: true } }ui: {} (includes all CSS)Lowhttps://ui.nuxt.com/docs/getting-started/installation/nuxt
2439PerformanceUse UTable virtualize for large dataEnable virtualization for 1000+ rows:virtualize prop on UTableRender all rows<UTable :data="largeData" virtualize/><UTable :data="largeData"/>Mediumhttps://ui.nuxt.com/docs/components/table
2540AccessibilityUse semantic component propsComponents have built-in ARIA supportUse title description label propsSkip accessibility props<UModal title="Settings"><UModal><h2>Settings</h2>Mediumhttps://ui.nuxt.com/docs/components/modal
2641AccessibilityUse UFormField for form accessibilityAutomatic label-input associationUFormField wraps inputsManual id and for attributes<UFormField label="Email"><UInput/></UFormField><label for="email">Email</label><UInput id="email"/>Highhttps://ui.nuxt.com/docs/components/form-field
2742ContentUse UContentToc for table of contentsAutomatic TOC with active heading highlightUContentToc with :linksManual TOC implementation<UContentToc :links="toc"/><nav><a v-for="heading in headings">Lowhttps://ui.nuxt.com/docs/components/content-toc
2844AI/ChatUse UChatMessages for chat UIDesigned for Vercel AI SDK integrationUChatMessages with messages arrayCustom chat message list<UChatMessages :messages="messages"/><div v-for="msg in messages">Mediumhttps://ui.nuxt.com/docs/components/chat-messages
2946EditorUse UEditor for rich textTipTap-based editor with toolbar supportUEditor with v-model:contentCustom TipTap setup<UEditor v-model:content="content"/>Manual TipTap initializationMediumhttps://ui.nuxt.com/docs/components/editor
3049LoadingUse loadingAuto on buttonsAutomatic loading state from @click promiseloadingAuto prop on UButtonManual loading state<UButton loadingAuto @click="async () => await save()"><UButton :loading="isLoading" @click="save">Lowhttps://ui.nuxt.com/docs/components/button
3150LoadingUse UForm loadingAutoAuto-disable form during submitloadingAuto on UForm (default true)Manual form disabled state<UForm @submit="handleSubmit"><UForm :disabled="isSubmitting">Lowhttps://ui.nuxt.com/docs/components/form