\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?",[2897,2900],{"name":2898,"color":2899},"question","d876e3",{"name":2871,"color":2872},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":2908,"labels":2909,"number":2918,"owner":2874,"repository":2874,"state":2902,"title":2919,"updated_at":2920,"url":2921,"score":2922},"### 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).",[2910,2912,2915],{"name":2868,"color":2911},"8DEF37",{"name":2913,"color":2914},"3.x","29bc7f",{"name":2916,"color":2917},"🍰 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":2924,"labels":2925,"number":2930,"owner":2874,"repository":2874,"state":2902,"title":2931,"updated_at":2932,"url":2933,"score":2934},"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>",[2926,2927],{"name":2868,"color":2911},{"name":2928,"color":2929},"2.x","d4c5f9",1385,"[internals] improve options module","2023-01-18T15:41:42Z","https://github.com/nuxt/nuxt/issues/1385",0.76524806,{"description":2936,"labels":2937,"number":2947,"owner":2874,"repository":2948,"state":2902,"title":2949,"updated_at":2950,"url":2951,"score":2952},"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",[2938,2941,2944],{"name":2939,"color":2940},"vitest-environment","b60205",{"name":2942,"color":2943},"needs reproduction","DE7793",{"name":2945,"color":2946},"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":2954,"labels":2955,"number":2959,"owner":2874,"repository":2960,"state":2902,"title":2961,"updated_at":2962,"url":2963,"score":2964},"If a website don't have background, it will look like this:\n",[2956],{"name":2957,"color":2958},"bug","ff281a",488,"nuxt.com","Set background on preview iframe","2022-05-11T14:44:35Z","https://github.com/nuxt/nuxt.com/issues/488",0.7780567,{"description":2966,"labels":2967,"number":2959,"owner":2874,"repository":2948,"state":2902,"title":2968,"updated_at":2969,"url":2970,"score":2964},"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":2972,"labels":2973,"number":2979,"owner":2874,"repository":2875,"state":2902,"title":2980,"updated_at":2981,"url":2982,"score":2983},"### 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",[2974,2977,2978],{"name":2975,"color":2976},"duplicate","cfd3d7",{"name":2898,"color":2899},{"name":2871,"color":2872},2924,"[v3] select type only string?","2024-12-17T15:56:57Z","https://github.com/nuxt/ui/issues/2924",0.7875556,{"description":2985,"labels":2986,"number":2990,"owner":2874,"repository":2875,"state":2902,"title":2991,"updated_at":2992,"url":2993,"score":2994},"### 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```",[2987,2989],{"name":2957,"color":2988},"d73a4a",{"name":2871,"color":2872},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",2996],{},["Set"],["ShallowReactive",2999],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f6M7UbFcgRMCDyu0q2rms68SwsVIj9the33IKT1b_4UE":-1},"/nuxt/ui/3106"]