Skip to content
Draft
Show file tree
Hide file tree
Changes from 64 commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
f9aaa99
feat(FormField): add required field support across form components
rdjanuar Jul 16, 2025
448b264
Merge branch 'v3' into fix/issues-4529
rdjanuar Jul 16, 2025
6889618
fix(form): simplify required field logic by moving it to useFormField
rdjanuar Jul 16, 2025
52e4dad
Merge branch 'v3' into fix/issues-4529
rdjanuar Jul 16, 2025
9846225
Merge branch 'v3' into pr/4534
benjamincanac Jul 16, 2025
1759c52
up
benjamincanac Jul 16, 2025
de43537
up
benjamincanac Jul 16, 2025
52303fe
Merge branch 'v3' into fix/issues-4529
rdjanuar Jul 17, 2025
a79bb6f
test(FormField): add required binding test
rdjanuar Jul 19, 2025
ef955d4
refactor(FormField): improve type safety for required fields
rdjanuar Jul 19, 2025
0b09606
up
rdjanuar Jul 19, 2025
d6914fb
up
rdjanuar Jul 19, 2025
e5ab984
up
rdjanuar Jul 19, 2025
27ad4b8
up
rdjanuar Jul 19, 2025
cacb095
fix(FormField): revert FieldProps
rdjanuar Jul 23, 2025
8519389
fix(docs): revert form component example
rdjanuar Jul 24, 2025
9cd9960
Merge branch 'v3' into fix/issues-4529
rdjanuar Jul 24, 2025
dc84947
Merge branch 'v3' into fix/issues-4529
rdjanuar Jul 28, 2025
778e62b
up
rdjanuar Jul 28, 2025
885bb1d
test(FormField): fix missing import
rdjanuar Jul 31, 2025
38ff468
test(FormField): update test to handle FileUpload component
rdjanuar Jul 31, 2025
720e2e2
Merge branch 'v3' into fix/issues-4529
rdjanuar Aug 1, 2025
f9884cb
Merge branch 'v3' into fix/issues-4529
rdjanuar Aug 9, 2025
eed4511
fix: lint
rdjanuar Aug 9, 2025
fdcd0fa
update: snapshot
rdjanuar Aug 9, 2025
5a13184
test: update snapshot
rdjanuar Aug 9, 2025
0090f58
Merge branch 'v3' into pr/4534
benjamincanac Aug 14, 2025
8a44e29
test: update snapshots
benjamincanac Aug 14, 2025
87c0f11
up
benjamincanac Aug 14, 2025
dd10323
up
benjamincanac Aug 14, 2025
16b39b6
chore(readme): add link to v4 branch
benjamincanac Sep 1, 2025
6ccc060
chore(deps): update @nuxt/ui-pro
benjamincanac Sep 1, 2025
901bf7c
chore(github): remove `documentation` label from pr labeler workflow
benjamincanac Sep 1, 2025
3bff833
docs(templates): use `nuxt-ui-templates` org
benjamincanac Sep 2, 2025
0da1854
docs: update figma links
benjamincanac Sep 2, 2025
fc915a5
docs: update social links
benjamincanac Sep 2, 2025
730bc2b
chore(vercel): remove deprecated flag
benjamincanac Sep 2, 2025
b0cf86d
docs: prepare vercel deployment
benjamincanac Sep 2, 2025
05a7b5d
docs: enable vercel analytics
benjamincanac Sep 2, 2025
25f93a3
chore(scripts): add ignore build step for vercel
benjamincanac Sep 2, 2025
819b7dd
docs(templates): clean urls
benjamincanac Sep 2, 2025
3eb8b2b
docs(app): hide banner
benjamincanac Sep 5, 2025
81ffc74
chore(deps): update actions/stale action to v10 (v3) (#4911)
renovate[bot] Sep 8, 2025
e69c21c
chore(deps): update actions/labeler action to v6 (v3) (#4909)
renovate[bot] Sep 8, 2025
16c22ca
chore(deps): update actions/setup-node action to v5 (v3) (#4910)
renovate[bot] Sep 8, 2025
51719d2
chore(deps): update tailwindcss to ^4.1.13 (v3) (#4908)
renovate[bot] Sep 8, 2025
bdb9f44
chore(deps): update all non-major dependencies (v3) (#4861)
renovate[bot] Sep 8, 2025
0996e3b
chore(deps): move pnpm config in workspace
benjamincanac Sep 8, 2025
e38f8d9
docs(avatar/avatar-group): add mask example (#4897)
maximepvrt Sep 8, 2025
5b9d9d8
fix(InputMenu/Select/SelectMenu): show falsy value when model value i…
rdjanuar Sep 8, 2025
91f86d9
fix(FileUpload): add missing `button` type
benjamincanac Sep 9, 2025
0a8ead7
fix(Form): handling race condition on `clear` function (#4843)
rdjanuar Sep 12, 2025
e5cb55b
fix(locale): improve `id` name (#4890)
reinacchi Sep 5, 2025
c39c34c
chore(deps): update all non-major dependencies (v3) (#4920)
renovate[bot] Sep 15, 2025
3060e3d
chore(deps): update vue-tsc to ^3.0.7 (v3) (#4980)
renovate[bot] Sep 15, 2025
082f9ad
chore(deps): update dependency capture-website to v5 (v3) (#4983)
renovate[bot] Sep 15, 2025
53bc5a6
docs(team): update grid
benjamincanac Sep 15, 2025
296feac
chore(release): v3.3.4
benjamincanac Sep 15, 2025
7da16e2
chore(deps): update dependency @nuxt/ui-pro to ^3.3.4 (v3) (#4989)
renovate[bot] Sep 15, 2025
526cb81
fix(types): resolve ambient declaration error in `icons` type (#4991)
vitpetricak Sep 16, 2025
1e95408
chore(deps): add `wrangler` for playground
benjamincanac Sep 16, 2025
dc28907
chore(deps): bump vue-sfc-transformer + mkdist
benjamincanac Sep 16, 2025
5456b8c
fix(Progress): improve `status-position` when 0 (#4994)
HugoRCD Sep 16, 2025
7ef124c
Merge branch 'v3' into fix/issues-4529
rdjanuar Sep 17, 2025
f33718f
fix: conflict
rdjanuar Oct 13, 2025
cbe27f0
up
rdjanuar Oct 13, 2025
a0a5a28
up
rdjanuar Oct 13, 2025
a2b6a77
up
rdjanuar Oct 13, 2025
b016e7a
fix: conflict
rdjanuar Oct 13, 2025
e8d871f
up
rdjanuar Oct 13, 2025
30f0d0d
up
rdjanuar Oct 13, 2025
a34192b
up
rdjanuar Oct 13, 2025
d56466e
up
rdjanuar Oct 13, 2025
61f7959
Merge branch 'v4' into fix/issues-4529
rdjanuar Oct 13, 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
6 changes: 0 additions & 6 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,3 @@ v3:

v4:
- base-branch: 'v4'

documentation:
- changed-files:
- any-glob-to-any-file:
- 'docs/**/*'
- '**/*.md'
47 changes: 0 additions & 47 deletions .github/workflows/docs.yml

This file was deleted.

10 changes: 5 additions & 5 deletions .github/workflows/module.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
uses: pnpm/action-setup@v4

- name: Install node
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node }}
cache: pnpm
Expand Down Expand Up @@ -99,7 +99,7 @@ jobs:
uses: pnpm/action-setup@v4

- name: Install node
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: 22
cache: pnpm
Expand Down Expand Up @@ -144,7 +144,7 @@ jobs:
uses: pnpm/action-setup@v4

- name: Install node
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: 22
cache: pnpm
Expand Down Expand Up @@ -189,7 +189,7 @@ jobs:
uses: pnpm/action-setup@v4

- name: Install node
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: 22
cache: pnpm
Expand Down Expand Up @@ -241,7 +241,7 @@ jobs:
uses: pnpm/action-setup@v4

- name: Install node
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: 22
cache: pnpm
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/playground.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
uses: pnpm/action-setup@v4

- name: Install node
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node }}
cache: pnpm
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

steps:
- name: Label PRs based on base branch
uses: actions/labeler@v5
uses: actions/labeler@v6
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: .github/labeler.yml
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
uses: pnpm/action-setup@v4

- name: Install node
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node }}
cache: pnpm
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reproduction.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
issues: write

steps:
- uses: actions/stale@v9
- uses: actions/stale@v10
with:
days-before-stale: -1 # Issues and PR will never be flagged stale automatically.
stale-issue-label: 'needs reproduction' # Label that flags an issue as stale.
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## [3.3.4](https://github.com/nuxt/ui/compare/v3.3.3...v3.3.4) (2025-09-15)

### Bug Fixes

* **FileUpload:** add missing `button` type ([91f86d9](https://github.com/nuxt/ui/commit/91f86d9da2a614bd37a12f2ece9ff3ce176e8cb2)), closes [#4935](https://github.com/nuxt/ui/issues/4935)
* **Form:** handling race condition on `clear` function ([#4843](https://github.com/nuxt/ui/issues/4843)) ([0a8ead7](https://github.com/nuxt/ui/commit/0a8ead72b53019969cf28d91549b9495ccc89f02))
* **InputMenu/Select/SelectMenu:** show falsy value when model value is falsy ([#4882](https://github.com/nuxt/ui/issues/4882)) ([5b9d9d8](https://github.com/nuxt/ui/commit/5b9d9d8135fe5b4c3f9298161dbd0c59c511897a))
* **locale:** improve `id` name ([#4890](https://github.com/nuxt/ui/issues/4890)) ([e5cb55b](https://github.com/nuxt/ui/commit/e5cb55be7d5ac2690c95f05f56462b16d453670f))

## [3.3.3](https://github.com/nuxt/ui/compare/v3.3.2...v3.3.3) (2025-09-01)

### Features
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
Nuxt UI harnesses the combined strengths of [Reka UI](https://reka-ui.com/), [Tailwind CSS](https://tailwindcss.com/), and [Tailwind Variants](https://www.tailwind-variants.org/) to offer developers an unparalleled set of tools for creating sophisticated, accessible, and highly performant user interfaces.

> [!NOTE]
> You are on the `v3` development branch, check out the [v2 branch](https://github.com/nuxt/ui/tree/v2) for Nuxt UI v2.
> You are on the `v3` branch, check out the [v4 branch](https://github.com/nuxt/ui/tree/v4) for Nuxt UI v4 or [v2 branch](https://github.com/nuxt/ui/tree/v2) for Nuxt UI v2.

> [!TIP]
> **Looking for more components ?**
Expand Down
4 changes: 3 additions & 1 deletion docs/app/app.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<script setup lang="ts">
import { withoutTrailingSlash } from 'ufo'
import colors from 'tailwindcss/colors'
import { Analytics } from '@vercel/analytics/nuxt'

const route = useRoute()
const appConfig = useAppConfig()
Expand Down Expand Up @@ -51,9 +52,10 @@ provide('navigation', mappedNavigation)
<template>
<UApp :toaster="appConfig.toaster">
<NuxtLoadingIndicator color="var(--ui-primary)" :height="2" />
<Analytics />

<template v-if="!route.path.startsWith('/examples')">
<Banner />
<!-- <Banner /> -->

<Header :links="links" />
</template>
Expand Down
8 changes: 4 additions & 4 deletions docs/app/components/Footer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ const links = [{
size="sm"
/>
<UButton
aria-label="Nuxt UI on Discord"
aria-label="Nuxt on Discord"
icon="i-simple-icons-discord"
to="https://chat.nuxt.dev"
to="https://go.nuxt.com/discord"
target="_blank"
color="neutral"
variant="ghost"
Expand All @@ -51,7 +51,7 @@ const links = [{
<UButton
aria-label="Nuxt on X"
icon="i-simple-icons-x"
to="https://x.com/nuxt_js"
to="https://go.nuxt.com/x"
target="_blank"
color="neutral"
variant="ghost"
Expand All @@ -60,7 +60,7 @@ const links = [{
<UButton
aria-label="Nuxt on BlueSky"
icon="i-simple-icons-bluesky"
to="https://bsky.app/profile/nuxt.com"
to="https://go.nuxt.com/bluesky"
target="_blank"
color="neutral"
variant="ghost"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<template>
<UAvatarGroup :ui="{ base: 'rounded-none squircle' }">
<UAvatar
src="https://github.com/benjamincanac.png"
alt="Benjamin Canac"
class="rounded-none squircle"
/>

<UAvatar
src="https://github.com/romhml.png"
alt="Romain Hamel"
class="rounded-none squircle"
/>

<UAvatar
src="https://github.com/noook.png"
alt="Neil Richter"
class="rounded-none squircle"
/>
</UAvatarGroup>
</template>

<style>
.squircle {
mask-image: url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 0C20 0 0 20 0 100s20 100 100 100 100-20 100-100S180 0 100 0Z'/%3e%3c/svg%3e");
mask-size: contain;
mask-position: center;
mask-repeat: no-repeat;
}
</style>
12 changes: 12 additions & 0 deletions docs/app/components/content/examples/avatar/AvatarMaskExample.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<template>
<UAvatar class="rounded-none squircle" src="https://avatars.githubusercontent.com/u/739984?v=4" alt="Benjamin Canac" />
</template>

<style>
.squircle {
mask-image: url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 0C20 0 0 20 0 100s20 100 100 100 100-20 100-100S180 0 100 0Z'/%3e%3c/svg%3e");
mask-size: contain;
mask-position: center;
mask-repeat: no-repeat;
}
</style>
2 changes: 1 addition & 1 deletion docs/app/error.vue
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ provide('navigation', mappedNavigation)
<UApp>
<NuxtLoadingIndicator color="#FFF" />

<Banner />
<!-- <Banner /> -->

<Header :links="links" />

Expand Down
22 changes: 11 additions & 11 deletions docs/app/pages/figma/.figma.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ hero:
to: 'https://nuxt.lemonsqueezy.com/buy/17213c49-621b-4c2c-9478-3a50a099003d'
target: _blank
- label: Free Figma Kit
to: 'https://go.nuxt.com/figma'
to: 'https://go.nuxt.com/figma-ui3'
icon: i-logos-figma
color: neutral
variant: outline
Expand All @@ -28,9 +28,9 @@ features1:
icon: i-lucide-files
cta1:
title: Everything you need in a [single file]{class="text-primary"}.
description: Design and development in perfect sync with our [Free](https://www.figma.com/community/file/1288455405058138934/nuxt-ui-v3-official-design-kit-free) and Pro files. Developers can implement designs faster, while designers work with production-ready components.
description: Design and development in perfect sync with our [Free](https://go.nuxt.com/figma-ui3) and Pro files. Developers can implement designs faster, while designers work with production-ready components.
section1:
title: Customize inΒ aΒ fewΒ clicks to fit your needs
title: Customize in a few clicks to fit your needs
description: Control your entire design system with Figma Variables. Update primitive tokens once and watch your changes spread across the entire system.
reverse: true
features:
Expand All @@ -53,7 +53,7 @@ section1:
alt: Use color variables in the Nuxt UI Figma design kit
links:
- label: Preview UI Pro Design Kit
to: 'https://go.nuxt.com/figma-pro'
to: 'https://go.nuxt.com/figma-ui-pro3'
target: _blank
icon: i-logos-figma
color: neutral
Expand All @@ -75,7 +75,7 @@ section2:
alt: A component in the Nuxt UI Figma design kit
links:
- label: Preview UI Pro Design Kit
to: 'https://go.nuxt.com/figma-pro'
to: 'https://go.nuxt.com/figma-ui-pro3'
target: _blank
icon: i-logos-figma
color: neutral
Expand All @@ -98,7 +98,7 @@ section3:
alt: A screenshot of Nuxt UI Code & Figma Kit
links:
- label: Preview UI Pro Design Kit
to: 'https://go.nuxt.com/figma-pro'
to: 'https://go.nuxt.com/figma-ui-pro3'
icon: i-logos-figma
color: neutral
variant: outline
Expand All @@ -121,7 +121,7 @@ section4:
- label: Get access now
to: 'https://nuxt.lemonsqueezy.com/buy/17213c49-621b-4c2c-9478-3a50a099003d'
- label: Preview UI Pro Design Kit
to: 'https://go.nuxt.com/figma-pro'
to: 'https://go.nuxt.com/figma-ui-pro3'
icon: i-logos-figma
color: neutral
variant: outline
Expand Down Expand Up @@ -172,7 +172,7 @@ pricing:
button:
label: Open in Figma
icon: i-logos-figma
to: https://go.nuxt.com/figma
to: https://go.nuxt.com/figma-ui3
color: neutral
terms: Used by 17,000+ designers.
- title: Solo License
Expand All @@ -194,7 +194,7 @@ pricing:
to: https://nuxt.lemonsqueezy.com/buy/17213c49-621b-4c2c-9478-3a50a099003d
extraButton:
label: Preview in Figma
to: 'https://go.nuxt.com/figma-pro'
to: 'https://go.nuxt.com/figma-ui-pro3'
target: _blank
icon: i-logos-figma
- title: Team License
Expand All @@ -216,7 +216,7 @@ pricing:
to: https://nuxt.lemonsqueezy.com/buy/2979099c-b7a0-4ba1-90e0-a0d60509b92d
extraButton:
label: Preview in Figma
to: 'https://go.nuxt.com/figma-pro'
to: 'https://go.nuxt.com/figma-ui-pro3'
target: _blank
icon: i-logos-figma
customers:
Expand Down Expand Up @@ -260,7 +260,7 @@ faq:
content: Yes. You don't need Figma's paid plan to use our UI kits.
defaultOpen: true
- label: Do you have a free trial?
content: We don't offer a free trial for the Pro Figma Kit, you can [preview it](https://go.nuxt.com/figma-pro).
content: We don't offer a free trial for the Pro Figma Kit, you can [preview it](https://go.nuxt.com/figma-ui-pro3).
- label: How do I access the files after purchasing?
content: After purchasing, just extract the ZIP file and drag & drop it directly into Figma.
- label: Can I upgrade my Solo license to the Team license?
Expand Down
4 changes: 2 additions & 2 deletions docs/app/pages/pro/.content/pricing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ pricing:
- 'Templates: Starter, Landing, Docs, SaaS and Dashboard'
- Auto-layout & responsive ready
- Tailwind CSS assets & icons included
- Free [preview available](https://www.figma.com/design/mxXR9binOSLU3rYKZZRPXs/PREVIEW---NuxtUIPro-V3-BETA?m=auto&t=c4598Wr0rZwKPs5M-1)
- Includes Nuxt UI [Figma Kit](https://www.figma.com/community/file/1288455405058138934)
- Free [preview available](https://go.nuxt.com/figma-ui-pro3)
- Includes Nuxt UI [Figma Kit](https://go.nuxt.com/figma-ui3)
button:
label: Buy Figma Kit
to: 'https://nuxt.lemonsqueezy.com/buy/17213c49-621b-4c2c-9478-3a50a099003d'
Expand Down
Loading
Loading