From a4429eee091c17c1debc3f2da4462614572bc5bf Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Wed, 14 May 2025 19:05:06 +0200 Subject: [PATCH 1/7] docs(app): add `theme` query in examples page --- docs/app/pages/examples/[...slug].vue | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/app/pages/examples/[...slug].vue b/docs/app/pages/examples/[...slug].vue index 71fe2be3..98f3b8f3 100644 --- a/docs/app/pages/examples/[...slug].vue +++ b/docs/app/pages/examples/[...slug].vue @@ -1,8 +1,20 @@ From d79da9d7b60c9972af64acd8e6eef4ae7d6bc3eb Mon Sep 17 00:00:00 2001 From: Romain Hamel Date: Wed, 14 May 2025 19:24:47 +0200 Subject: [PATCH 2/7] fix(FormField): block form field injection after use (#4150) --- src/runtime/composables/useFormField.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/runtime/composables/useFormField.ts b/src/runtime/composables/useFormField.ts index 2645545f..e750bf3e 100644 --- a/src/runtime/composables/useFormField.ts +++ b/src/runtime/composables/useFormField.ts @@ -1,4 +1,4 @@ -import { inject, computed, type InjectionKey, type Ref, type ComputedRef } from 'vue' +import { inject, computed, type InjectionKey, type Ref, type ComputedRef, provide } from 'vue' import { type UseEventBusReturn, useDebounceFn } from '@vueuse/core' import type { FormFieldProps } from '../types' import type { FormEvent, FormInputEvents, FormFieldInjectedOptions, FormInjectedOptions } from '../types/form' @@ -15,7 +15,7 @@ type Props = { export const formOptionsInjectionKey: InjectionKey> = Symbol('nuxt-ui.form-options') export const formBusInjectionKey: InjectionKey, string>> = Symbol('nuxt-ui.form-events') -export const formFieldInjectionKey: InjectionKey>> = Symbol('nuxt-ui.form-field') +export const formFieldInjectionKey: InjectionKey> | undefined> = Symbol('nuxt-ui.form-field') export const inputIdInjectionKey: InjectionKey> = Symbol('nuxt-ui.input-id') export const formInputsInjectionKey: InjectionKey>> = Symbol('nuxt-ui.form-inputs') export const formLoadingInjectionKey: InjectionKey>> = Symbol('nuxt-ui.form-loading') @@ -27,6 +27,9 @@ export function useFormField(props?: Props, opts?: { bind?: boolean, defer const formInputs = inject(formInputsInjectionKey, undefined) const inputId = inject(inputIdInjectionKey, undefined) + // Blocks the FormField injection to avoid duplicating events when nesting input components. + provide(formFieldInjectionKey, undefined) + if (formField && inputId) { if (opts?.bind === false) { // Removes for="..." attribute on label for RadioGroup and alike. From f2fd778c0a604f2d65aec9f3fe2d54b6d4e8c3a2 Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Thu, 15 May 2025 11:32:15 +0200 Subject: [PATCH 3/7] fix(Checkbox/RadioGroup): render correct element without `variant` Resolves #3998 --- src/runtime/components/Checkbox.vue | 4 +- src/runtime/components/RadioGroup.vue | 4 +- .../__snapshots__/Checkbox-vue.spec.ts.snap | 119 +++-- .../__snapshots__/Checkbox.spec.ts.snap | 119 +++-- .../CheckboxGroup-vue.spec.ts.snap | 480 +++++++++--------- .../__snapshots__/CheckboxGroup.spec.ts.snap | 480 +++++++++--------- .../__snapshots__/RadioGroup-vue.spec.ts.snap | 480 +++++++++--------- .../__snapshots__/RadioGroup.spec.ts.snap | 480 +++++++++--------- .../__snapshots__/Table-vue.spec.ts.snap | 48 +- .../__snapshots__/Table.spec.ts.snap | 48 +- 10 files changed, 1142 insertions(+), 1120 deletions(-) diff --git a/src/runtime/components/Checkbox.vue b/src/runtime/components/Checkbox.vue index 3691619e..95029b8d 100644 --- a/src/runtime/components/Checkbox.vue +++ b/src/runtime/components/Checkbox.vue @@ -101,7 +101,7 @@ function onUpdate(value: any) {