Commit Graph

5678 Commits

Author SHA1 Message Date
Estéban be67bf9275 docs(mcp): add github copilot cli (#6526)
Co-authored-by: Benjamin Canac <canacb1@gmail.com>
2026-06-01 12:08:52 +02:00
renovate[bot] 7d88221f75 chore(deps): update tiptap to ^3.24.0 (#6532) 2026-06-01 12:08:18 +02:00
renovate[bot] c19f1039e3 chore(deps): update all non-major dependencies (#6529) 2026-06-01 10:47:06 +02:00
Benjamin Canac 00aded736a chore(release): v4.8.1 v4.8.1 2026-05-28 17:26:05 +02:00
Benjamin Canac 80bd0cc05e docs(search): improve relevance and tooltip behavior (#6521) 2026-05-28 17:21:27 +02:00
Benjamin Canac ffaf163f77 fix(module): expose component theme keys in AppConfig type (#6520) 2026-05-28 14:41:24 +02:00
Benjamin Canac c9fc7a4183 docs: fix missing CSS variables on prerendered pages (#6519) 2026-05-28 12:54:36 +02:00
Benjamin Canac 564adbfcb4 docs(toast): remove misleading AppConfig notes from examples
Resolves #6496
2026-05-28 10:46:07 +02:00
Benjamin Canac 7a0825ad6a fix(Form): add method="post" to prevent credential leaking via GET before hydration (#6512) 2026-05-28 10:27:15 +02:00
Benjamin Canac fc6295b233 chore(playground): update vite optimizeDeps include list 2026-05-27 15:22:40 +02:00
Benjamin Canac a4dfa9e6b6 chore: add .cursor to .gitignore 2026-05-27 15:21:18 +02:00
Benjamin Canac 2dac778034 fix(module): revert tagPriority to -2 for inline style tag 2026-05-27 12:12:18 +02:00
Benjamin Canac 5b9a9c90e7 chore(repl): use Vue-compatible component overrides for Icon and Link 2026-05-27 12:03:36 +02:00
Jitender Bansal 78cc1ce5e9 docs(showcase): add Pitchwall to showcase section (#6510) 2026-05-27 10:52:47 +02:00
Thanet S. 5d82418c56 fix(locale): improve Thai translation accuracy and consistency (#6509) 2026-05-27 10:20:46 +02:00
Benjamin Canac f4d7cbe71f fix(Select/SelectMenu/InputMenu): add fallback for max-height (#6503) 2026-05-26 16:11:49 +02:00
renovate[bot] 595ba8b043 chore(deps): update tiptap to ^3.23.6 (#6498) 2026-05-26 16:05:29 +02:00
Maxime Pauvert d0cfc2b1b2 docs(showcase): add croix-rouge (#6502)
Co-authored-by: Benjamin Canac <canacb1@gmail.com>
2026-05-26 16:01:24 +02:00
Benjamin Canac 631f5dc543 fix(ContentSearch/DashboardSearch): proxy missing CommandPalette props (#6505) 2026-05-26 15:41:14 +02:00
renovate[bot] 17a9d04f30 chore(deps): update dependency reka-ui to v2.9.8 (#6485) 2026-05-26 10:52:15 +02:00
Akuria d50c121c05 fix(Icon): avoid recursive icon resolution (#6495) 2026-05-26 10:36:21 +02:00
renovate[bot] ca5accf336 chore(deps): update all non-major dependencies (#6497) 2026-05-26 10:17:24 +02:00
Benjamin Canac 09f9cd0142 docs(content): update badges 2026-05-21 16:47:08 +02:00
Benjamin Canac 24b23fdfe8 chore(release): v4.8.0 v4.8.0 2026-05-21 16:25:00 +02:00
Maxime Pauvert eb468e6095 fix(ChatMessage): add wrap-break-word to content slot (#6476) 2026-05-21 15:36:21 +02:00
Maxime Pauvert 48685b6fa6 feat(ChatMessage): add body slot and improve actions alignment (#6460)
Co-authored-by: Benjamin Canac <canacb1@gmail.com>
2026-05-21 14:57:26 +02:00
Benjamin Canac fd24978578 chore(repl): expose @nuxt/ui/composables subpath
Re-export all composables from the REPL entry and alias `@nuxt/ui/composables`
to the same bundle in the import map, so docs snippets that import from
`@nuxt/ui/composables` (e.g. `useScrollShadow`) work in the REPL.
2026-05-21 12:22:30 +02:00
Benjamin Canac 2799fa6f2b fix(InputMenu)!: rename autocomplete prop to mode to free up HTML attribute (#6474) 2026-05-21 11:59:05 +02:00
renovate[bot] 9ea1b21982 chore(deps): update pnpm to v11 (#6471)
Co-authored-by: Benjamin Canac <canacb1@gmail.com>
2026-05-21 10:31:39 +02:00
Benjamin Canac b0461e72dc docs: preserve component-code implementation details in raw markdown (#6472) 2026-05-20 19:01:40 +02:00
renovate[bot] 527b438995 chore(deps): update vite (#6263) 2026-05-20 16:16:39 +02:00
renovate[bot] 3736eeeb2d chore(deps): update nuxt framework to ^4.4.6 (#6408)
Co-authored-by: Benjamin Canac <canacb1@gmail.com>
2026-05-20 15:43:32 +02:00
renovate[bot] 0523359489 chore(deps): update all non-major dependencies (#6468) 2026-05-20 15:26:46 +02:00
renovate[bot] dc3141cf16 chore(deps): update pnpm/action-setup action to v6 (#6469) 2026-05-20 15:26:07 +02:00
Benjamin Canac f639b19db2 fix(ContentSearch): preserve intermediate ancestors in breadcrumb prefix (#6466) 2026-05-20 14:09:22 +02:00
Benjamin Canac f51b1e8809 fix(components): apply theme.prefix to hardcoded utility classes
Static utility classes inside Nuxt UI's own components (e.g.
`class="hidden lg:block"`, `class="dark:hidden"`,
`class="focus:outline-none peer"`) bypassed `applyPrefixToObject`,
which only walks theme objects. When a consumer set `theme.prefix`
(and Tailwind's matching `prefix(...)`), these classes silently
stopped applying — both light and dark variants of
ColorModeImage/Avatar/Button rendered simultaneously, mobile and
desktop ContentToc both showed, card overlay anchors lost focus
styles, etc.

Add an internal `usePrefix()` composable that reads
`appConfig.ui.prefix` and returns a `(classString) => prefixedClassString`
function, then wrap literal utility strings across affected
components: Page*, Color*, Content*, Banner, BlogPost,
ChangelogVersion, PageCard, PageFeature, User.
2026-05-19 17:16:05 +02:00
Benjamin Canac 083c2a9846 fix(module): ship stripped #build/ui.css fallback for tooling
Tools that resolve `#build/ui.css` via Node's `imports` field (Prettier
with `prettier-plugin-tailwindcss`, Tailwind IntelliSense) were reading
the shipped `.nuxt/ui.css`, which contained an unprefixed `@apply`
directive. With `theme.prefix` set, Tailwind threw `Cannot apply
unprefixed utility class 'antialiased'`, breaking Prettier and killing
IntelliSense.

Split the template in two: keep the dynamic `.nuxt/ui.css` for the
consumer's runtime (Vite alias resolves to their generated file with the
prefix correctly interpolated), and ship a new stripped `.nuxt/ui.static.css`
containing only the `@theme` blocks — no `@source` directives (paths
don't exist on consumer machines) and no body rule (handled at runtime).

Resolves #5504, resolves #6070.
2026-05-19 16:44:53 +02:00
Benjamin Canac a1bef8babc feat(ContentSearch): add async search support via useSearchCollection (#6432) 2026-05-19 15:52:39 +02:00
Akuria 65b47ce7b4 fix(InputMenu/Select/SelectMenu): respect trailing: false over default trailingIcon (#6457) 2026-05-19 10:55:34 +02:00
renovate[bot] 081cf01acb chore(deps): update all non-major dependencies (#6458) 2026-05-19 10:41:11 +02:00
renovate[bot] 807de5be09 chore(deps): update vue-tsc to ^3.3.0 (#6459) 2026-05-18 17:01:21 +02:00
Benjamin Canac f317c7f6b2 fix(ProseKbd): add default slot and make value optional 2026-05-13 14:27:23 +02:00
Benjamin Canac e96a0b6294 fix(Textarea): autoresize on mount with pre-filled value
Closes #5962
2026-05-13 12:36:48 +02:00
Benjamin Canac 252b90659c fix(ContentToc): apply ui.trigger prop to trigger elements
Resolves #6428
2026-05-13 12:27:33 +02:00
Benjamin Canac 2890c8334b fix(FileUpload): pass disabled attribute to button variant
Resolves #6420
2026-05-13 12:23:43 +02:00
Benjamin Canac 8dbddf9387 chore(playground): add share button to repl 2026-05-13 12:13:52 +02:00
Benjamin Canac 73daec1af1 test(components): add highlight coverage across all form controls 2026-05-13 12:03:24 +02:00
Benjamin Canac a0deee4d85 feat(Checkbox/RadioGroup/Switch): add highlight prop for error ring styling 2026-05-13 12:03:10 +02:00
Benjamin Canac 507640490f docs(app): extract playground button into shared component 2026-05-13 12:00:49 +02:00
Benjamin Canac b597f909aa feat(ChatPrompt): add submitOnEnter prop to control Enter behavior
Resolves #6177
2026-05-13 11:06:06 +02:00