\n\u003C/UTooltip>\n\n=>\n\n\u003CUButton tooltip=\"Flip Chessboard\" icon=\"i-material-symbols-sync\" @click=\"flipChessboard()\" />\n```\n\n### Additional context\n\nI was thinking it could be a handy features since a lot of websites contain clickable/hoverable symbols for their social media/github link/settings/etc. a simple. default tooltip could be very handy. Thanks for your time!",[2885,2888,2889],{"name":2886,"color":2887},"enhancement","a2eeef",{"name":2869,"color":2870},{"name":2872,"color":2873},3121,"Tooltip API across multiple components (Button/Badge/Checkbox/Icon/...)","2025-01-16T23:27:53Z","https://github.com/nuxt/ui/issues/3121",0.7757041,{"description":2896,"labels":2897,"number":2901,"owner":2875,"repository":2876,"state":2877,"title":2902,"updated_at":2903,"url":2904,"score":2905},"### Description\n\nHey!\n\nCurrently, the form component requires defining a `schema` and a `state`. This means we need to duplicate each form field twice.\n\n```vue\n\u003Cscript setup lang=\"ts\">\n import * as z from 'zod'\n \n const schema = z.object({\n email: z.string().email('Invalid email'),\n password: z.string().min(8, 'Must be at least 8 characters')\n })\n \n type Schema = z.output\u003Ctypeof schema>\n \n // We have to repeat the keys again to define the state\n const state = reactive\u003CPartial\u003CSchema>>({\n email: undefined,\n password: undefined\n })\n\u003C/script>\n\n\u003Ctemplate>\n \u003CUForm :schema :state>\n ...\n \u003C/UForm>\n\u003C/template>\n```\n\n### Proposed Solution\n\nHaving a composable similar to that takes a standard validation object and returns both the schema and state will be much better DX. Below is the refactored version of the above example using the requested composable. \n\n```vue\n\u003Cscript setup lang=\"ts\">\n import * as z from 'zod'\n \n // Both `state` and `schema` are typed. `state` is also reactive\n const { state, schema } = useForm({\n schema: {\n email: z.string().email('Invalid email'),\n password: z.string().min(8, 'Must be at least 8 characters')\n },\n initialValues, {\n email: 'foo@bar.com'\n }\n })\n\u003C/script>\n\n\u003Ctemplate>\n \u003CUForm :schema :state>\n ...\n \u003C/UForm>\n\u003C/template>\n```\n\n### VeeValidate\n\nThis is similar to how `useForm` and `toTypedSchema` composables from VeeValidate ([source](https://vee-validate.logaretm.com/v4/guide/composition-api/typed-schema/#zod-default-values))\n\n```ts\nimport { useForm } from 'vee-validate';\nimport { object, string } from 'zod';\nimport { toTypedSchema } from '@vee-validate/zod';\n\n// `values` is the equivalent of `state` in nuxt/ui\nconst { values } = useForm({\n validationSchema: toTypedSchema(\n object({\n email: z.string().email('Invalid email'),\n password: z.string().min(8, 'Must be at least 8 characters')\n }),\n ),\n});\n```\n\nThe problem with integrating VeeValidate instead of a built-in helper is the `values` ref. It's the equivalent of `state` ref in nuxt/ui, which we pass to the `UForm` component to be mutated. VeeValidate discourages mutating `values` directly ([docs](https://vee-validate.logaretm.com/v4/api/use-form)).\n\n### Possible Workaround\n\nProvide docs on how to integrate VeeValidate or similar libraries that return a typed schema and a state ref in one go.\n\n### Additional context\n\n_No response_",[2898,2899,2900],{"name":2886,"color":2887},{"name":2869,"color":2870},{"name":2872,"color":2873},3876,"[Form] Composable to generate state based on a standard schema","2025-04-15T10:39:43Z","https://github.com/nuxt/ui/issues/3876",0.78347754,{"description":2907,"labels":2908,"number":2917,"owner":2875,"repository":2875,"state":2918,"title":2919,"updated_at":2920,"url":2921,"score":2922},"### What problem does this feature solve?\n\nThis solves the issue where some e2e test runners depend on the site being fully loaded when starting tests. Currently the site shows as loaded to the test framework which causes testing to prematurely start and fail.\n\n### What does the proposed changes look like?\n\nI propose to add a CLI flag to disable the loading screen for testing purposes.\n\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This feature request is available on \u003Ca href=\"https://cmty.app/nuxt\">Nuxt\u003C/a> community (\u003Ca href=\"https://cmty.app/nuxt/nuxt.js/issues/c9450\">#c9450\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[2909,2911,2914],{"name":2886,"color":2910},"8DEF37",{"name":2912,"color":2913},"question","cc317c",{"name":2915,"color":2916},"2.x","d4c5f9",6025,"closed","Add option to disable the loading screen","2023-01-22T15:50:56Z","https://github.com/nuxt/nuxt/issues/6025",0.77801114,{"description":2924,"labels":2925,"number":2929,"owner":2875,"repository":2876,"state":2918,"title":2930,"updated_at":2931,"url":2932,"score":2933},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v22.14.0`\n- Nuxt Version: `-`\n- CLI Version: `3.23.1`\n- Nitro Version: `-`\n- Package Manager: `bun@1.2.6`\n- Builder: `-`\n- User Config: `-`\n- Runtime Modules: `-`\n- Build Modules: `-`\n\n### Is this bug related to Nuxt or Vue?\n\nVue\n\n### Version\n\nv3.0.1\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/nostalgic-nash-3nysxx\n\n### Description\n\nWhen the form is successfully submitted the `dirty` state of the Form component never gets cleared.\n\nI would expect it to be cleared (for example by calling `dirtyFields.clear()`) when the `onSubmit` handler was called successfully and therefore the changes were persisted.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2926,2927,2928],{"name":2866,"color":2867},{"name":2869,"color":2870},{"name":2872,"color":2873},3680,"Dirty state of the Form component never gets cleared","2025-03-26T12:48:30Z","https://github.com/nuxt/ui/issues/3680",0.7836626,{"description":2935,"labels":2936,"number":2938,"owner":2875,"repository":2875,"state":2918,"title":2939,"updated_at":2940,"url":2941,"score":2942},"",[2937],{"name":2915,"color":2916},9296,"test","2023-01-18T22:05:26Z","https://github.com/nuxt/nuxt/issues/9296",0.785229,{"description":2944,"labels":2945,"number":2948,"owner":2875,"repository":2949,"state":2918,"title":2950,"updated_at":2951,"url":2952,"score":2953},"To accelerate deployment, would love to gather your feedback on it.\n\nDemo: https://www.youtube.com/watch?v=_sB2E1XnzOY",[2946],{"name":2886,"color":2947},"1ad6ff",186,"nuxt.com","Try Turborepo","2022-11-04T11:26:43Z","https://github.com/nuxt/nuxt.com/issues/186",0.7923273,{"description":2955,"labels":2956,"number":2969,"owner":2875,"repository":2875,"state":2918,"title":2970,"updated_at":2971,"url":2972,"score":2973},"Posted by @nathanchase https://github.com/nuxt/nuxt.js/issues/13367\r\n\r\n\r\nIt seems like adding `extends` - even to point to a local repository - has a pretty significant impact on Nitro's **_server_** build time.\r\n\r\nWith:\r\n```js\r\nextends: [\r\n '../base'\r\n ],\r\n```\r\nRunning `'pnpm dev' = Nitro built in 11284 ms\r\n\r\nWithout:\r\nRunning `'pnpm dev' = Nitro built in 411 ms\r\n\r\nI created a barebones reproduction here: https://github.com/nathanchase/nuxt-layers-test\r\n\r\n1. Git clone https://github.com/nathanchase/nuxt-layers-test.git\r\n2. `pnpm i` inside `/app` and `/base`\r\n3. `pnpm dev` inside `/app` - notice 11s server build time\r\n4. Comment out `extends` block from `/app/nuxt.config.ts`\r\n5. `pnpm dev` inside `/app` - notice \u003C1s server build time\r\n\r\n_Originally posted by @nathanchase in https://github.com/nuxt/nuxt.js/issues/13367\r\n ",[2957,2960,2963,2966],{"name":2958,"color":2959},"3.x","29bc7f",{"name":2961,"color":2962},"pending triage","E99695",{"name":2964,"color":2965},"❗ p4-important","D93F0B",{"name":2967,"color":2968},"layers","006B75",15589,"Using `extends` affects build time with bare layer","2023-07-26T14:05:59Z","https://github.com/nuxt/nuxt/issues/15589",0.80073404,{"labels":2975,"number":2978,"owner":2875,"repository":2875,"state":2918,"title":2979,"updated_at":2980,"url":2981,"score":2982},[2976,2977],{"name":2961,"color":2962},{"name":2915,"color":2916},10462,"Improve coding performance","2024-06-30T09:25:04Z","https://github.com/nuxt/nuxt/issues/10462",0.8024437,{"description":2955,"labels":2984,"number":2985,"owner":2875,"repository":2875,"state":2918,"title":2970,"updated_at":2986,"url":2987,"score":2988},[],15814,"2023-01-20T14:16:07Z","https://github.com/nuxt/nuxt/issues/15814",0.8028315,["Reactive",2990],{},["Set"],["ShallowReactive",2993],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fjh2VnQNURJILcLjBClLWajJ2q1xJ1ENUSg9XR3sxC48":-1},"/nuxt/ui/3965"]