wheel-picker-block-02
ncdai-chirags/wheel-picker-block-02FreeBlock
ncdai publishes no description for this item.
Install it
npx shadcn@latest add https://www.chirags.dev/r/wheel-picker-block-02.jsonSource
1"use client";23import { zodResolver } from "@hookform/resolvers/zod";4import type { SubmitHandler } from "react-hook-form";5import { useForm } from "react-hook-form";6import { toast } from "sonner";7import { z } from "zod";89import { Button } from "@/components/ui/button";10import {11 Form,12 FormControl,13 FormField,14 FormItem,15 FormLabel,16 FormMessage,17} from "@/components/ui/form";18import type { WheelPickerOption } from "@/registry/wheel-picker";19import { WheelPicker, WheelPickerWrapper } from "@/registry/wheel-picker";2021const formSchema = z.object({22 framework: z.string(),23});2425type FormSchema = z.infer<typeof formSchema>;2627const options: WheelPickerOption[] = [28 {29 label: "Vite",30 value: "vite",31 },32 {33 label: "Laravel",34 value: "laravel",35 },36 {37 label: "React Router",38 value: "react-router",39 },40 {41 label: "Next.js",42 value: "nextjs",43 },44 {45 label: "Astro",46 value: "astro",47 },48 {49 label: "TanStack Start",50 value: "tanstack-start",51 },52 {53 label: "TanStack Router",54 value: "tanstack-router",55 },56 {57 label: "Gatsby",58 value: "gatsby",59 },60];6162export default function WheelPickerFormDemo() {63 const form = useForm<FormSchema>({64 resolver: zodResolver(formSchema),65 defaultValues: {66 framework: "nextjs",67 },68 });6970 const onSubmit: SubmitHandler<FormSchema> = (values) => {71 toast("You submitted the following values:", {72 description: (73 <pre className="mt-2 w-80 rounded-lg bg-zinc-950 p-4">74 <code className="text-white">{JSON.stringify(values, null, 2)}</code>75 </pre>76 ),77 });78 };7980 return (81 <Form {...form}>82 <form83 onSubmit={form.handleSubmit(onSubmit)}84 className="w-56 max-w-full space-y-4"85 >86 <FormField87 control={form.control}88 name="framework"89 render={({ field }) => (90 <FormItem>91 <FormLabel>Framework</FormLabel>9293 <FormControl>94 <WheelPickerWrapper>95 <WheelPicker96 options={options}97 value={field.value}98 onValueChange={field.onChange}99 />100 </WheelPickerWrapper>101 </FormControl>102103 <FormMessage />104 </FormItem>105 )}106 />107108 <div className="flex justify-center">109 <Button type="submit">Submit</Button>110 </div>111 </form>112 </Form>113 );114}
What it pulls in
npm packages
Other registry items
Files it writes
More from ncdai
All 28 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| scroll-fade-effect-block-01scroll-fade-effect-block-01 | ncdai | Blocks | Free | no deps | |
| scroll-fade-effect-block-02scroll-fade-effect-block-02 | ncdai | Blocks | Free | no deps | |
| scroll-fade-effect-block-03scroll-fade-effect-block-03 | ncdai | Blocks | Free | no deps | |
| scroll-fade-effect-block-04scroll-fade-effect-block-04 | ncdai | Blocks | Free | no deps | |
| shimmering-text-block-01shimmering-text-block-01 | ncdai | Blocks | Free | no deps | |
| shimmering-text-block-02shimmering-text-block-02 | ncdai | Blocks | Free | no deps | |
| slide-to-unlock-block-01slide-to-unlock-block-01 | ncdai | Blocks | Free | no deps | |
| slide-to-unlock-block-02slide-to-unlock-block-02 | ncdai | Blocks | Free | no deps |
