\n\n// filter by tags\nconst items = [\n {\n label: \"Show all tags\",\n value: \"\"\n },\n {\n label: \"Only Red Tags\",\n value: \"red\"\n },\n {\n label: \"Only Green Tags\",\n value: \"green\"\n }\n]\n\nconst tagFilter = ref(null)\n```\n\nbut in v3 I now get this error:\n\n> Error: A \u003CSelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\n\nHow would I add this option in?",[3226,3229],{"name":3227,"color":3228},"question","d876e3",{"name":3200,"color":3201},3647,"closed","How do I use an empty string with a USelect value?","2025-03-21T21:54:20Z","https://github.com/nuxt/ui/issues/3647",0.70874333,{"description":3237,"labels":3238,"number":3247,"owner":3203,"repository":3203,"state":3231,"title":3248,"updated_at":3249,"url":3250,"score":3251},"### Describe the feature\r\n\r\nIn specific scenarios, it might be handy to reset the state and cancel any pending promises of a declared data fetching composable. \r\n\r\nFor example, it would come useful when we declare a data fetching composable inside a dialog which remains in the DOM when closed AND yet we would like to conveniently reset everything inside a dialog to prepare it for when it becomes opened by the user again. Otherwise, I need to reset everything by hand.\r\n\r\nAn alternative approach is to pass a key explicitly and use it when calling `clearNuxtData`:\r\n\r\n```\r\nconst key = '...'\r\nconst fn = useAsyncData(key, ...)\r\nconst isDialogOpen = defineModel\u003Cboolean>({ required: true })\r\n\r\nwhenever(\r\n () => !isDialogOpen.value,\r\n {\r\n clearNuxtData(key)\r\n }\r\n)\r\n```\r\n\r\n### Additional information\r\n\r\n- [X] Would you be willing to help implement this feature?\r\n- [ ] Could this feature be implemented as a module?\r\n\r\n### Final checks\r\n\r\n- [X] Read the [contribution guide](https://nuxt.com/docs/community/contribution).\r\n- [X] Check existing [discussions](https://github.com/nuxt/nuxt/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[3239,3241,3244],{"name":3197,"color":3240},"8DEF37",{"name":3242,"color":3243},"3.x","29bc7f",{"name":3245,"color":3246},"🍰 p2-nice-to-have","0E8A16",26195,"Add `reset` fn to data fetching composables","2024-03-17T00:19:45Z","https://github.com/nuxt/nuxt/issues/26195",0.76466537,{"description":3253,"labels":3254,"number":3259,"owner":3203,"repository":3203,"state":3231,"title":3260,"updated_at":3261,"url":3262,"score":3263},"Hello,\r\n\r\nSince using default export of `Options` as option initializer, I have a question that is it a good way to use a Class-like naming style to name a function?\r\n\r\nI found members in `options.js` like `Modes` and `defaultOptions` are also put in `Options` now, maybe leave `Options` as a pure Object, and rename the init function to `Options.from(_options)` is a better choice?\r\n\r\nhttps://github.com/nuxt/nuxt.js/blob/d7d85d3b4763eacf4a25155c08a01fab3ee5746a/lib/core/nuxt.js#L18\n\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This feature request is available on \u003Ca href=\"https://nuxtjs.cmty.io\">Nuxt.js\u003C/a> community (\u003Ca href=\"https://nuxtjs.cmty.io/nuxt/nuxt.js/issues/c1229\">#c1229\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3255,3256],{"name":3197,"color":3240},{"name":3257,"color":3258},"2.x","d4c5f9",1385,"[internals] improve options module","2023-01-18T15:41:42Z","https://github.com/nuxt/nuxt/issues/1385",0.76524806,{"description":3265,"labels":3266,"number":3276,"owner":3203,"repository":3277,"state":3231,"title":3278,"updated_at":3279,"url":3280,"score":3281},"I'm setting up the nuxt-vitest module in my project. Though I'm running into some issues getting a simple test, I use mountSuspended(Logo) to test the mounting of a Logo component. This component uses i18n. Whereas when I'm using mount from Vitest the test passes.\r\n\r\nThe error I'm getting is as follows:\r\n```\r\nVitest caught 1 unhandled error during the test run.\r\nThis might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\nSyntaxError: Need to install with `app.use` function\r\n ❯ Module.createCompileError ../node_modules/.pnpm/@intlify+message-compiler@9.3.0-beta.17/node_modules/@intlify/message-compiler/dist/message-compiler.mjs:54:19\r\n ❯ createI18nError ../node_modules/.pnpm/vue-i18n@9.3.0-beta.17_vue@3.3.4/node_modules/vue-i18n/dist/vue-i18n.runtime.mjs:97:34\r\n 96| [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\r\n 97| [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\r\n 98| [I18nErrorCodes.NOT_INSLALLED]: 'Need to install with `app.use` function',\r\n | ^\r\n 99| [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\r\n 100| [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: 'Not available in legacy mode',\r\n ❯ Module.useI18n ../node_modules/.pnpm/vue-i18n@9.3.0-beta.17_vue@3.3.4/node_modules/vue-i18n/dist/vue-i18n.runtime.mjs:2253:15\r\n ❯ setup app.vue:33:40\r\n```\r\n\r\nAnd while we are at it. Is there a way to test with the translated i18n messages iso the keys?\r\n\r\n######\r\n\r\nHere are some snippets from my configuration.\r\nvitest.config.js\r\n```\r\n...\r\nexport default defineVitestConfig({\r\n resolve: {\r\n alias\r\n },\r\n test: {\r\n dir: tests,\r\n setupFiles: ['tests/unit.setup.ts'],\r\n environment: 'jsdom',\r\n globals: true,\r\n root: rootDir,\r\n environmentOptions: {\r\n nuxt: {\r\n rootDir\r\n }\r\n }\r\n }\r\n})\r\n```\r\n\r\n./test/nuxt/components/Logo.nuxt.spec.ts (with mountSuspended)\r\n```\r\nimport { describe, it, expect } from 'vitest'\r\n\r\nimport { mountSuspended } from 'vitest-environment-nuxt/utils'\r\nimport Logo from '@/components/header/Logo.vue'\r\n\r\ndescribe('HeaderLogo', () => {\r\n it('can mount some component', async () => {\r\n const component = await mountSuspended(Logo)\r\n expect(component.vm).toBeTruthy()\r\n expect(component.text()).toMatchInlineSnapshot(\r\n '\"global.logo-brand-name.global.logo-brand-localehomepage.logo-tagline\"'\r\n )\r\n })\r\n})\r\n```\r\n./tests/unit.setup.ts\r\n```\r\nimport { config } from '@vue/test-utils'\r\nimport { createI18n } from 'vue-i18n'\r\n\r\nimport nlNL from '~/locales/nl_NL.json'\r\n\r\nconst i18n = createI18n({\r\n legacy: false,\r\n locale: 'nl_NL',\r\n missing: (_, key) => key,\r\n messages: {\r\n nlNL\r\n }\r\n})\r\n\r\nconfig.global.mocks = {\r\n t: msg => msg\r\n}\r\nconfig.global.plugins.push(i18n)\r\n```\r\n\r\n\r\n./tests/nuxt/components/Logo.nuxt.spec.ts (without mountSuspended)\r\n```\r\nimport { mount } from '@vue/test-utils'\r\nimport { describe, it, expect } from 'vitest'\r\n\r\nimport Logo from '@/components/header/Logo.vue'\r\n\r\ndescribe('HeaderLogo', () => {\r\n it('can mount some component', () => {\r\n const component = mount(Logo)\r\n expect(component.vm).toBeTruthy()\r\n expect(component.text()).toMatchInlineSnapshot(\r\n '\"global.logo-brand-name.global.logo-brand-localehomepage.logo-tagline\"'\r\n )\r\n })\r\n})\r\n```\r\n\r\n",[3267,3270,3273],{"name":3268,"color":3269},"vitest-environment","b60205",{"name":3271,"color":3272},"needs reproduction","DE7793",{"name":3274,"color":3275},"closed-by-bot","ededed",585,"test-utils","mountSuspended with i18n","2025-01-22T12:49:12Z","https://github.com/nuxt/test-utils/issues/585",0.767034,{"description":3283,"labels":3284,"number":3288,"owner":3203,"repository":3289,"state":3231,"title":3290,"updated_at":3291,"url":3292,"score":3293},"If a website don't have background, it will look like this:\n",[3285],{"name":3286,"color":3287},"bug","ff281a",488,"nuxt.com","Set background on preview iframe","2022-05-11T14:44:35Z","https://github.com/nuxt/nuxt.com/issues/488",0.77805674,{"description":3295,"labels":3296,"number":3288,"owner":3203,"repository":3277,"state":3231,"title":3297,"updated_at":3298,"url":3299,"score":3293},"Hi,\r\n\r\nI was trying to integrate @nuxt/test-utils in my Nuxt application in order to test pages.\r\nI already have a bunch of tests written for the components that use @vue/test-utils.\r\n\r\nAfter following the documentation and adding the `@nuxt/test-utils` preset to my jest configuration, all my components tests started failing with the same error:\r\n\r\n```shell\r\n[vue-test-utils]: window is undefined, vue-test-utils needs to be run in a browser environment. \r\n You can run the tests in node using jsdom \r\n See https://vue-test-utils.vuejs.org/guides/#browser-environment for more details.\r\n```\r\n\r\nAny idea how to solve this and be able to use both tools within the same project ?\r\n\r\nThanks!",[],"Conflict between @nuxt/test-utils jest preset and @vue/test-utils","2023-12-02T00:13:13Z","https://github.com/nuxt/test-utils/issues/488",{"description":3301,"labels":3302,"number":3308,"owner":3203,"repository":3204,"state":3231,"title":3309,"updated_at":3310,"url":3311,"score":3312},"### For what version of Nuxt UI are you asking this question?\n\nv3.0.0-alpha.x\n\n### Description\n\nFor example if I use something like this,\n\n`const items=[{label:'option 1', value:1},{label:'option 2',value:2}]`\n\n the value that is always assigned is string '1'\n\n`const typeData=ref(1)`\n\n ``\n \u003CUSelect v-model=\"form.productType\" class=\"w-full\" :items=\"items\" />\n```\n",[3303,3306,3307],{"name":3304,"color":3305},"duplicate","cfd3d7",{"name":3227,"color":3228},{"name":3200,"color":3201},2924,"[v3] select type only string?","2024-12-17T15:56:57Z","https://github.com/nuxt/ui/issues/2924",0.7875556,{"description":3314,"labels":3315,"number":3319,"owner":3203,"repository":3204,"state":3231,"title":3320,"updated_at":3321,"url":3322,"score":3323},"### Environment\n\nn/a\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nn/a\n\n### Reproduction\n\nif you go https://ui3.nuxt.dev/getting-started/license and then change `ui-pro` to `ui` it doesn't redirect. and on refresh it changes `ui` to `ui-pro`\n\n### Description\n\nto behave like https://ui3.nuxt.dev/getting-started/fonts when you change from `nuxt` to `vue`\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3316,3318],{"name":3286,"color":3317},"d73a4a",{"name":3200,"color":3201},2840,"docs: not redirecting after changine the UI pro to UI","2024-12-09T11:21:47Z","https://github.com/nuxt/ui/issues/2840",0.7885881,["Reactive",3325],{},["Set"],["ShallowReactive",3328],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f6M7UbFcgRMCDyu0q2rms68SwsVIj9the33IKT1b_4UE":-1},"/nuxt/ui/3106"]