Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
775a701
chore(github): deduplicate issue templates
benjamincanac Aug 6, 2025
2282e8f
chore(github): update workflows to use `v4` branch
benjamincanac Aug 6, 2025
55a1b35
chore(readme): update branch to `v4`
benjamincanac Aug 6, 2025
250295c
chore(renovate): update branch to `v4`
benjamincanac Aug 6, 2025
2e7837e
docs: update branch to `v4`
benjamincanac Aug 6, 2025
f1d79b7
chore: reorganize under `playgrounds/`
benjamincanac Aug 6, 2025
8e511c3
feat: import `@nuxt/ui-pro` components (#4675)
benjamincanac Aug 11, 2025
62f6343
feat(components)!: upgrade `ai-sdk` to v5 (#4698)
HugoRCD Aug 11, 2025
21d4304
chore(vercel): enable deployments
benjamincanac Aug 11, 2025
d31d57b
feat(ButtonGroup)!: rename to FieldGroup (#4596)
J-Michalek Aug 12, 2025
b6cbd44
fix(ContentSearch/DashboardSearch): make `ui.modal` work
benjamincanac Aug 12, 2025
bc60b86
fix(ProseImg): ensure unique motion layout id for images (#4720)
HugoRCD Aug 12, 2025
0d63fc1
chore(deps): update dependency @nuxt/icon to v2
benjamincanac Aug 12, 2025
849302d
docs(figma): merge free and pro kits (#4707)
HugoRCD Aug 12, 2025
9b94e15
docs(app): improve navigation links
benjamincanac Aug 12, 2025
7df742e
docs(components): add index page
benjamincanac Aug 12, 2025
ff7293c
docs(templates): improve marketing
benjamincanac Aug 12, 2025
031e987
chore(deps): remove wrangler dependency
benjamincanac Aug 13, 2025
84879d2
fix(PageCard): improve keyboard accessibility (#4733)
HugoRCD Aug 13, 2025
d5ca3e7
docs(components): add changelog section
benjamincanac Aug 13, 2025
1eb0191
docs(getting-started): improve categories
benjamincanac Aug 13, 2025
6231ac3
docs(app): add `key` on navigation
benjamincanac Aug 13, 2025
5830d8c
fix(AuthForm): use `error` from form field (#4738)
Barbapapazes Aug 14, 2025
0161247
feat: split typography page
HugoRCD Aug 14, 2025
4a210b4
up
HugoRCD Aug 14, 2025
3d97fbd
up
HugoRCD Aug 14, 2025
9447132
up
HugoRCD Aug 14, 2025
3d5aea1
fix(AuthForm): use `error` from form field (#4738)
Barbapapazes Aug 14, 2025
9a31c4d
fix(BlogPost): ensure date slot renders (#4743)
EvanSchleret Aug 14, 2025
54bc366
up
HugoRCD Aug 14, 2025
f3699e5
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Aug 14, 2025
018ae65
chore(github): deduplicate issue templates
benjamincanac Aug 6, 2025
ec9b2fa
chore(github): update workflows to use `v4` branch
benjamincanac Aug 6, 2025
d010270
chore(readme): update branch to `v4`
benjamincanac Aug 6, 2025
1ea40a1
chore(renovate): update branch to `v4`
benjamincanac Aug 6, 2025
a0c0beb
docs: update branch to `v4`
benjamincanac Aug 6, 2025
4e27f6a
chore: reorganize under `playgrounds/`
benjamincanac Aug 6, 2025
e774d11
feat: import `@nuxt/ui-pro` components (#4675)
benjamincanac Aug 11, 2025
666569a
feat(components)!: upgrade `ai-sdk` to v5 (#4698)
HugoRCD Aug 11, 2025
9356763
chore(vercel): enable deployments
benjamincanac Aug 11, 2025
03bb16f
feat(FieldGroup)!: rename from `ButtonGroup` (#4596)
J-Michalek Aug 12, 2025
0f73480
fix(ContentSearch/DashboardSearch): make `ui.modal` work
benjamincanac Aug 12, 2025
25e8f3b
fix(ProseImg): ensure unique motion layout id for images (#4720)
HugoRCD Aug 12, 2025
7e98d22
chore(deps): update dependency @nuxt/icon to v2
benjamincanac Aug 12, 2025
6660350
docs(figma): merge free and pro kits (#4707)
HugoRCD Aug 12, 2025
7faea44
docs(app): improve navigation links
benjamincanac Aug 12, 2025
cae7d70
docs(components): add index page
benjamincanac Aug 12, 2025
c24017b
docs(templates): improve marketing
benjamincanac Aug 12, 2025
0648cd3
chore(deps): remove wrangler dependency
benjamincanac Aug 13, 2025
e2e2499
fix(PageCard): improve keyboard accessibility (#4733)
HugoRCD Aug 13, 2025
8d0bb81
docs(components): add changelog section
benjamincanac Aug 13, 2025
819719b
docs(getting-started): improve categories
benjamincanac Aug 13, 2025
c58954c
docs(app): add `key` on navigation
benjamincanac Aug 13, 2025
a680609
fix(AuthForm): use `error` from form field (#4738)
Barbapapazes Aug 14, 2025
392e8fe
fix(BlogPost): ensure date slot renders (#4743)
EvanSchleret Aug 14, 2025
32ccf86
feat(Marquee)!: rename from `PageMarquee` (#4741)
HugoRCD Aug 14, 2025
2fff559
feat(PageAccordion)!: remove in favor of `Accordion` (#4734)
HugoRCD Aug 14, 2025
169fe41
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Aug 14, 2025
b9dd7e2
up
HugoRCD Aug 14, 2025
51845b3
docs(nuxt.config): update route rules
benjamincanac Aug 14, 2025
76cb075
docs(app): remove `module` field from content collection
benjamincanac Aug 14, 2025
1b9ebc5
docs(app): wrong og image on components index page
benjamincanac Aug 14, 2025
7c448d4
up
HugoRCD Aug 14, 2025
40e8b4a
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Aug 14, 2025
dab37fa
up
HugoRCD Aug 14, 2025
42efc03
up
HugoRCD Aug 14, 2025
ca0a379
up
HugoRCD Aug 14, 2025
c706d36
chore(github): deduplicate issue templates
benjamincanac Aug 6, 2025
709e9d3
chore(github): update workflows to use `v4` branch
benjamincanac Aug 6, 2025
9d925e5
chore(readme): update branch to `v4`
benjamincanac Aug 6, 2025
1e0bf6f
chore(renovate): update branch to `v4`
benjamincanac Aug 6, 2025
fa1007a
docs: update branch to `v4`
benjamincanac Aug 6, 2025
d3cb9c1
chore: reorganize under `playgrounds/`
benjamincanac Aug 6, 2025
f6ae153
feat: import `@nuxt/ui-pro` components (#4675)
benjamincanac Aug 11, 2025
9545fdd
feat(components)!: upgrade `ai-sdk` to v5 (#4698)
HugoRCD Aug 11, 2025
9fbe306
chore(vercel): enable deployments
benjamincanac Aug 11, 2025
8aa96d1
feat(FieldGroup)!: rename from `ButtonGroup` (#4596)
J-Michalek Aug 12, 2025
99d3227
fix(ContentSearch/DashboardSearch): make `ui.modal` work
benjamincanac Aug 12, 2025
841c369
fix(ProseImg): ensure unique motion layout id for images (#4720)
HugoRCD Aug 12, 2025
4926c97
chore(deps): update dependency @nuxt/icon to v2
benjamincanac Aug 12, 2025
5d51785
docs(figma): merge free and pro kits (#4707)
HugoRCD Aug 12, 2025
1ef53f6
docs(app): improve navigation links
benjamincanac Aug 12, 2025
96c8306
docs(components): add index page
benjamincanac Aug 12, 2025
d88019e
docs(templates): improve marketing
benjamincanac Aug 12, 2025
7f705a3
chore(deps): remove wrangler dependency
benjamincanac Aug 13, 2025
6606fa3
fix(PageCard): improve keyboard accessibility (#4733)
HugoRCD Aug 13, 2025
f618af5
docs(components): add changelog section
benjamincanac Aug 13, 2025
79ae89a
docs(getting-started): improve categories
benjamincanac Aug 13, 2025
e780a03
docs(app): add `key` on navigation
benjamincanac Aug 13, 2025
314e661
fix(AuthForm): use `error` from form field (#4738)
Barbapapazes Aug 14, 2025
44e0178
fix(BlogPost): ensure date slot renders (#4743)
EvanSchleret Aug 14, 2025
0a4d9b4
feat(Marquee)!: rename from `PageMarquee` (#4741)
HugoRCD Aug 14, 2025
1c63aab
feat(PageAccordion)!: remove in favor of `Accordion` (#4734)
HugoRCD Aug 14, 2025
731e136
docs(nuxt.config): update route rules
benjamincanac Aug 14, 2025
2a5fbc8
docs(app): remove `module` field from content collection
benjamincanac Aug 14, 2025
35c84c5
docs(app): wrong og image on components index page
benjamincanac Aug 14, 2025
e0e9d52
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Aug 15, 2025
abd2584
test: update snapshots
benjamincanac Aug 15, 2025
ef8be11
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Aug 15, 2025
1ddff36
up
HugoRCD Aug 15, 2025
53c4831
chore: prepare for `alpha`
benjamincanac Aug 15, 2025
f1a0166
chore(release): v4.0.0-alpha.0
benjamincanac Aug 15, 2025
5f3b6d4
docs: use `@nuxt/ui@alpha` package
benjamincanac Aug 16, 2025
e978f0d
docs: use `https://ui4.nuxt.com` url
benjamincanac Aug 16, 2025
9820424
docs(app): hide banner
benjamincanac Aug 16, 2025
a572927
docs(server): fix raw route collection
benjamincanac Aug 16, 2025
fc466ec
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Aug 16, 2025
38808e7
docs(ColorMode): fix `framework-only` display (#4780)
HugoRCD Aug 19, 2025
cbad32d
Merge branch 'v4' into feat/split-typography
HugoRCD Aug 19, 2025
674e3dd
fix(docs): never display empty components category (#4792)
HugoRCD Aug 19, 2025
25d1422
Merge branch 'v4' into feat/split-typography
HugoRCD Aug 19, 2025
b910dac
make components changelog work for prose
HugoRCD Aug 20, 2025
90d9417
up
HugoRCD Aug 20, 2025
3ee5424
chore(github): deduplicate issue templates
benjamincanac Aug 6, 2025
5cc883c
chore(github): update workflows to use `v4` branch
benjamincanac Aug 6, 2025
d38f3f2
chore(readme): update branch to `v4`
benjamincanac Aug 6, 2025
674f8b4
chore(renovate): update branch to `v4`
benjamincanac Aug 6, 2025
9edce97
docs: update branch to `v4`
benjamincanac Aug 6, 2025
1765425
chore: reorganize under `playgrounds/`
benjamincanac Aug 6, 2025
ec71baf
feat: import `@nuxt/ui-pro` components (#4675)
benjamincanac Aug 11, 2025
a3be6ad
feat(components)!: upgrade `ai-sdk` to v5 (#4698)
HugoRCD Aug 11, 2025
3105d60
chore(vercel): enable deployments
benjamincanac Aug 11, 2025
c2c1c26
feat(FieldGroup)!: rename from `ButtonGroup` (#4596)
J-Michalek Aug 12, 2025
7f8d919
fix(ContentSearch/DashboardSearch): make `ui.modal` work
benjamincanac Aug 12, 2025
1015430
fix(ProseImg): ensure unique motion layout id for images (#4720)
HugoRCD Aug 12, 2025
0d552cb
chore(deps): update dependency @nuxt/icon to v2
benjamincanac Aug 12, 2025
4aa443c
docs(figma): merge free and pro kits (#4707)
HugoRCD Aug 12, 2025
be8f287
docs(app): improve navigation links
benjamincanac Aug 12, 2025
2a72b32
docs(components): add index page
benjamincanac Aug 12, 2025
0a0ec21
docs(templates): improve marketing
benjamincanac Aug 12, 2025
38a14a4
chore(deps): remove wrangler dependency
benjamincanac Aug 13, 2025
203b59b
fix(PageCard): improve keyboard accessibility (#4733)
HugoRCD Aug 13, 2025
f52f470
docs(components): add changelog section
benjamincanac Aug 13, 2025
343465c
docs(getting-started): improve categories
benjamincanac Aug 13, 2025
be190ae
docs(app): add `key` on navigation
benjamincanac Aug 13, 2025
db44a06
fix(AuthForm): use `error` from form field (#4738)
Barbapapazes Aug 14, 2025
84a78e7
fix(BlogPost): ensure date slot renders (#4743)
EvanSchleret Aug 14, 2025
7a99712
feat(Marquee)!: rename from `PageMarquee` (#4741)
HugoRCD Aug 14, 2025
0d5baae
feat(PageAccordion)!: remove in favor of `Accordion` (#4734)
HugoRCD Aug 14, 2025
9c65b7b
docs(nuxt.config): update route rules
benjamincanac Aug 14, 2025
ee7a26f
docs(app): remove `module` field from content collection
benjamincanac Aug 14, 2025
1887f93
docs(app): wrong og image on components index page
benjamincanac Aug 14, 2025
a055d5d
test: update snapshots
benjamincanac Aug 15, 2025
a756017
chore: prepare for `alpha`
benjamincanac Aug 15, 2025
f204f4d
chore(release): v4.0.0-alpha.0
benjamincanac Aug 15, 2025
677380d
docs: use `@nuxt/ui@alpha` package
benjamincanac Aug 16, 2025
9b364e2
docs: use `https://ui4.nuxt.com` url
benjamincanac Aug 16, 2025
472ddc8
docs(app): hide banner
benjamincanac Aug 16, 2025
b82f53d
docs(server): fix raw route collection
benjamincanac Aug 16, 2025
f9e0148
docs(color-mode): typo in MDC syntax (#4780)
HugoRCD Aug 19, 2025
f34d636
fix(ChangelogVersion/ChangelogVersions): handle RTL mode (#4777)
malik-jouda Aug 25, 2025
c9765ca
docs(app): never display empty components category (#4792)
HugoRCD Aug 19, 2025
c14fccb
docs(typography) : update `@nuxt/content` installation guide link (#4…
maximepvrt Aug 25, 2025
400a8c9
docs(getting-started): add `llms.txt` page (#4799)
HugoRCD Aug 25, 2025
fe66e83
fix(unplugin): handle components overrides in subdirectories (#4781)
HugoRCD Aug 25, 2025
268871d
chore(deps): update dependencies unplugin-auto-import and unplugin-vu…
benjamincanac Aug 25, 2025
3e38fac
feat(module)!: update compatibility to nuxt 4
benjamincanac Aug 25, 2025
2d5d1fa
docs(app): hide empty categories using class
benjamincanac Aug 26, 2025
c14be22
docs(templates): add framework select
benjamincanac Aug 26, 2025
3480408
docs(index): improve page
benjamincanac Aug 26, 2025
75f4ad6
docs(getting-started): rewrite introduction
benjamincanac Aug 26, 2025
e2d6567
fix(module): add `@source` on components
benjamincanac Aug 27, 2025
bc88513
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Aug 27, 2025
bf88215
remove old typography page
HugoRCD Aug 27, 2025
1b2c2dd
docs(migration): write guide from v3 to v4 (#4802)
HugoRCD Aug 27, 2025
5575ff6
Merge branch 'v4' into feat/split-typography
HugoRCD Sep 1, 2025
3ea7a34
up
HugoRCD Sep 1, 2025
2cd2be3
up
HugoRCD Sep 1, 2025
b742c6e
feat(Icon): allow passing a component instead of a name (#4766)
rijenkii Sep 1, 2025
fdc3165
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Sep 1, 2025
25be4e7
up
HugoRCD Sep 1, 2025
9fc887c
up
HugoRCD Sep 1, 2025
673448e
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Sep 1, 2025
53dd526
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Sep 1, 2025
661577e
correct surround
HugoRCD Sep 1, 2025
2346ea3
up
HugoRCD Sep 1, 2025
431a38d
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Sep 2, 2025
1f6d020
up
HugoRCD Sep 2, 2025
46d713c
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Sep 2, 2025
48b7224
up
HugoRCD Sep 2, 2025
87452dc
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Sep 2, 2025
0620f4a
up
HugoRCD Sep 2, 2025
4ce8273
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Sep 3, 2025
8d5926d
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Sep 3, 2025
63f6283
up
HugoRCD Sep 3, 2025
ab9ef09
Merge branch 'v4' into feat/split-typography
benjamincanac Sep 5, 2025
416f0ca
docs(content): improve
benjamincanac Sep 5, 2025
b5d49f7
docs(nuxt.config): improve redirect
benjamincanac Sep 5, 2025
126e73b
docs(app): update navigation variant
benjamincanac Sep 5, 2025
bb4df50
docs(app): fix incorrect redirect
benjamincanac Sep 5, 2025
88151d9
docs(typography): add framework nuxt
benjamincanac Sep 5, 2025
7e8f296
up
benjamincanac Sep 5, 2025
bddb732
up
benjamincanac Sep 5, 2025
38e549e
up
benjamincanac Sep 5, 2025
c012a7b
up
benjamincanac Sep 5, 2025
cbd063b
Merge remote-tracking branch 'origin/v4' into feat/split-typography
HugoRCD Sep 8, 2025
04e544f
up
benjamincanac Sep 8, 2025
d0a1f8b
up
benjamincanac Sep 8, 2025
c36bbbd
up
benjamincanac Sep 8, 2025
f34a035
up
benjamincanac Sep 8, 2025
7772b29
Merge branch 'v4' into feat/split-typography
benjamincanac Sep 8, 2025
eadced0
up
benjamincanac Sep 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions docs/app/app.vue
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ const { data: files } = useLazyAsyncData('search', () => queryCollectionSearchSe
server: false
})

const links = useHeaderLinks()
const searchLinks = useSearchLinks()
const color = computed(() => colorMode.value === 'dark' ? (colors as any)[appConfig.ui.colors.neutral][900] : 'white')
const radius = computed(() => `:root { --ui-radius: ${appConfig.theme.radius}rem; }`)
const blackAsPrimary = computed(() => appConfig.theme.blackAsPrimary ? `:root { --ui-primary: black; } .dark { --ui-primary: white; }` : ':root {}')
Expand Down Expand Up @@ -45,7 +43,8 @@ useServerSeoMeta({
useFaviconFromTheme()

const { frameworks } = useSharedData()
const { mappedNavigation, filteredNavigation } = useContentNavigation(navigation)
const links = useSearchLinks()
const { mappedNavigation, filteredNavigation } = useSearchNavigation(navigation)

provide('navigation', mappedNavigation)
</script>
Expand All @@ -60,7 +59,7 @@ provide('navigation', mappedNavigation)
<template v-if="!route.path.startsWith('/examples')">
<!-- <Banner /> -->

<Header :links="links" />
<Header />
</template>

<NuxtLayout>
Expand All @@ -72,7 +71,7 @@ provide('navigation', mappedNavigation)

<ClientOnly>
<LazyUContentSearch
:links="searchLinks"
:links="links"
:files="files"
:groups="[{
id: 'framework',
Expand Down
22 changes: 1 addition & 21 deletions docs/app/components/Footer.vue
Original file line number Diff line number Diff line change
@@ -1,26 +1,6 @@
<script setup lang="ts">
const route = useRoute()

const links = [{
label: 'Docs',
to: '/docs'
}, {
label: 'Figma',
to: '/figma'
}, {
label: 'Templates',
to: '/templates'
}, {
label: 'Showcase',
to: '/showcase'
}, {
label: 'Team',
to: '/team'
}, {
label: 'Releases',
to: 'https://github.com/nuxt/ui/releases',
target: '_blank'
}]
const links = useFooterLinks()
</script>

<template>
Expand Down
146 changes: 0 additions & 146 deletions docs/app/components/Header.vue

This file was deleted.

34 changes: 34 additions & 0 deletions docs/app/components/VersionMenu.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<script setup lang="ts">
const config = useRuntimeConfig().public

const items = computed(() => {
return [
{ label: `v${config.version}`, active: true, color: 'primary' as const, checked: true, type: 'checkbox' as const },
{ label: 'v3.x', to: 'https://ui.nuxt.com' },
{ label: 'v2.x', to: 'https://ui2.nuxt.com' }
]
})
</script>

<template>
<UDropdownMenu
v-slot="{ open }"
:modal="false"
:items="items"
:content="{ align: 'start' }"
:ui="{ content: 'min-w-fit' }"
size="xs"
>
<UButton
:label="`v${config.version}`"
variant="subtle"
trailing-icon="i-lucide-chevron-down"
size="xs"
class="-mb-[6px] font-semibold rounded-full truncate"
:class="[open && 'bg-primary/15 ']"
:ui="{
trailingIcon: ['transition-transform duration-200', open ? 'rotate-180' : undefined].filter(Boolean).join(' ')
}"
/>
</UDropdownMenu>
</template>
8 changes: 7 additions & 1 deletion docs/app/components/content/ComponentChangelog.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,17 @@
import type { CommitInfo } from '#build/changelog'
import { changelog } from '#build/changelog'

const props = defineProps<{
prose?: boolean
}>()

const route = useRoute()
const name = route.path.split('/').pop()

const commits = computed(() => {
const related = changelog.filter(c => c.version || c.components?.some(i => i === name))
const componentName = props.prose ? `prose-${name}` : name
const related = changelog.filter(c => c.version || c.components?.some(i => i === componentName))

return related.filter((i, idx) => !(i.version && (!related[idx + 1] || related[idx + 1]?.version)))
})

Expand Down
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
<script setup lang="ts">
const items = [
{
label: 'What are the main considerations when upgrading to Nuxt UI v3?',
label: 'Is Nuxt UI free to use?',
icon: 'i-lucide-circle-help',
content: 'The transition to v3 involves significant changes, including new component structures, updated theming approaches, and revised TypeScript definitions. We recommend a careful, incremental upgrade process, starting with thorough testing in a development environment.'
content: 'Yes! Nuxt UI is completely free and open source under the MIT license. All 100+ components are available to everyone.'
},
{
label: 'Is Nuxt UI v3 compatible with standalone Vue projects?',
label: 'Can I use Nuxt UI with Vue without Nuxt?',
icon: 'i-lucide-circle-help',
content: 'Nuxt UI is now compatible with Vue! You can follow the [installation guide](/docs/getting-started/installation/vue) to get started.'
content: 'Yes! While optimized for Nuxt, Nuxt UI works perfectly with standalone Vue projects via our Vite plugin. You can follow the [installation guide](/docs/getting-started/installation/vue) to get started.'
},
{
label: 'Will Nuxt UI v3 work with other CSS frameworks like UnoCSS?',
label: 'Will Nuxt UI work with other CSS frameworks like UnoCSS?',
icon: 'i-lucide-circle-help',
content: 'Nuxt UI v3 is currently designed to work exclusively with Tailwind CSS. While there\'s interest in UnoCSS support, implementing it would require significant changes to the theme structure due to differences in class naming conventions. As a result, we don\'t have plans to add UnoCSS support in v3.'
content: 'No. Nuxt UI is designed exclusively for Tailwind CSS. UnoCSS support would require significant architecture changes due to different class naming conventions.'
},
{
label: 'How does Nuxt UI v3 handle accessibility?',
label: 'How does Nuxt UI handle accessibility?',
icon: 'i-lucide-circle-help',
content: 'Nuxt UI v3 enhances accessibility through Reka UI integration. This provides automatic ARIA attributes, keyboard navigation support, intelligent focus management, and screen reader announcements. While offering a strong foundation, proper implementation and testing in your specific use case remains crucial for full accessibility compliance. For more detailed information, refer to [Reka UI\'s accessibility documentation](https://reka-ui.com/docs/overview/accessibility).'
content: 'Through [Reka UI](https://reka-ui.com/docs/overview/accessibility) integration, Nuxt UI provides automatic ARIA attributes, keyboard navigation, focus management, and screen reader support. While offering a strong foundation, testing in your specific use case remains important.'
},
{
label: 'What is the testing approach for Nuxt UI v3?',
label: 'How is Nuxt UI tested?',
icon: 'i-lucide-circle-help',
content: 'Nuxt UI v3 ensures reliability with 1000+ Vitest tests, covering core functionality and accessibility. This robust testing suite supports the library\'s stability and serves as a reference for developers.'
content: 'Nuxt UI ensures reliability with 1000+ Vitest tests covering core functionality and accessibility.'
},
{
label: 'Is this version stable and suitable for production use?',
label: 'Is Nuxt UI production-ready?',
icon: 'i-lucide-circle-help',
content: 'As Nuxt UI v3 is currently in alpha, we recommend thorough testing before using it in production environments. We\'re actively working on stabilization and welcome feedback from early adopters to improve the library. Feel free to report any issues you encounter on our [GitHub repository](https://github.com/nuxt/ui/issues).'
content: 'Yes! Nuxt UI is used in production by thousands of applications with extensive tests, regular updates, and active maintenance.'
}
]
</script>
Expand All @@ -38,7 +38,7 @@ const items = [
type="multiple"
:items="items"
:unmount-on-hide="false"
:default-value="['0']"
:default-value="['3']"
:ui="{
trigger: 'text-base',
body: 'text-base text-muted'
Expand Down
43 changes: 43 additions & 0 deletions docs/app/components/header/Header.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<script setup lang="ts">
const route = useRoute()
const { desktopLinks } = useHeaderLinks()
</script>

<template>
<UHeader :ui="{ left: 'min-w-0' }" class="flex flex-col">
<template #left>
<HeaderLogo />

<VersionMenu />
</template>

<UNavigationMenu :items="desktopLinks" variant="link" />

<template #right>
<ThemePicker />

<UTooltip text="Search" :kbds="['meta', 'K']">
<UContentSearchButton />
</UTooltip>

<UTooltip text="Open on GitHub" class="hidden lg:flex">
<UButton
color="neutral"
variant="ghost"
to="https://github.com/nuxt/ui"
target="_blank"
icon="i-simple-icons-github"
aria-label="GitHub"
/>
</UTooltip>
</template>

<template #body>
<HeaderBody />
</template>

<template v-if="route.path.startsWith('/docs/')" #bottom>
<HeaderBottom />
</template>
</UHeader>
</template>
20 changes: 20 additions & 0 deletions docs/app/components/header/HeaderBody.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<script setup lang="ts">
import type { ContentNavigationItem } from '@nuxt/content'

const navigation = inject<Ref<ContentNavigationItem[]>>('navigation')

const { mobileLinks } = useHeaderLinks()
const { groupedNavigation } = useGroupNavigation(navigation!)
</script>

<template>
<UNavigationMenu orientation="vertical" :items="mobileLinks" class="-mx-2.5" />

<USeparator type="dashed" class="mt-4 mb-6" />

<div class="flex flex-col gap-2 mb-5.5">
<FrameworkTabs />
</div>

<UContentNavigation :navigation="groupedNavigation" highlight :ui="{ linkTrailingBadge: 'font-semibold uppercase' }" />
</template>
Loading
Loading