Could not find requested resource
9 | 10 | Return Home 11 | 12 |24 | This form includes special components, add the component in your 25 | directory. 26 |
27 |36 | {description} 37 |
38 | )} 39 |,
29 | },
30 | ]
31 |
32 | export default function Component() {
33 | return (
34 |
32 | {tokens.map((line: any, i: number) => {
33 | const lineProps = getLineProps({ line })
34 | return (
35 |
36 | {line.map((token: any, tokenIndex: number) => {
37 | const tokenProps = getTokenProps({ token })
38 | return
39 | })}
40 |
41 | )
42 | })}
43 |
44 | )}
45 | Loading preview...
, 27 | // Handle import errors gracefully 28 | ssr: true, 29 | }, 30 | ) 31 | 32 | return ( 33 |53 | Unofficial shadcn components that you asked for and we could not find 54 | better so far. 55 |
56 |54 | Minimalist templates for building your next product. Built with React, 55 | NextJS, TailwindCSS, Framer Motion and Typescript. 56 |
57 |
34 | {JSON.stringify(data, null, 2)}
35 | ,
36 | )
37 | }
38 |
39 | return (
40 |
60 |
61 | )
62 | }
63 |
--------------------------------------------------------------------------------
/components/sections/problem.tsx:
--------------------------------------------------------------------------------
1 | import BlurFade from '@/components/magicui/blur-fade'
2 | import Section from '@/components/section'
3 | import { Card, CardContent } from '@/components/ui/card'
4 | import { Repeat2, ShieldClose, Workflow } from 'lucide-react'
5 |
6 | const problems = [
7 | {
8 | title: 'Tedious Repetition',
9 | description:
10 | 'Manual form-building processes lead to inefficiencies, wasting time on repetitive tasks that could be automated for faster delivery.',
11 | icon: Repeat2,
12 | },
13 | {
14 | title: 'Inefficient Workflow',
15 | description:
16 | 'Outdated tools slow down form creation, causing delays in project timelines and missed opportunities for optimization.',
17 | icon: Workflow,
18 | },
19 | {
20 | title: 'Complex Validation Setup',
21 | description:
22 | 'Implementing robust form validation is often cumbersome and prone to errors, increasing the risk of invalid data submission.',
23 | icon: ShieldClose,
24 | },
25 | ]
26 |
27 | export default function Component() {
28 | return (
29 | {problem.description}
43 |
36 | {JSON.stringify(data, null, 2)}
37 | ,
38 | )
39 | }
40 |
41 | return (
42 |
65 |
66 | )
67 | }
68 |
--------------------------------------------------------------------------------
/components/ui/tabs.tsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import * as React from 'react'
4 | import * as TabsPrimitive from '@radix-ui/react-tabs'
5 |
6 | import { cn } from '@/lib/utils'
7 |
8 | const Tabs = TabsPrimitive.Root
9 |
10 | const TabsList = React.forwardRef<
11 | React.ElementRef
38 | {JSON.stringify(data, null, 2)}
39 | ,
40 | )
41 | }
42 |
43 | return (
44 |
79 |
80 | )
81 | }
82 |
--------------------------------------------------------------------------------
/lib/json-schema-generator.ts:
--------------------------------------------------------------------------------
1 | import { z } from 'zod'
2 | import zodToJsonSchema from 'zod-to-json-schema'
3 |
4 | export interface JsonSchemaOptions {
5 | title?: string
6 | description?: string
7 | definitions?: Record{error}
48 |
78 | {tokens.map((line: any, i: number) => (
79 |
80 | {line.map((token: any, key: any) => (
81 |
82 | ))}
83 |
84 | ))}
85 |
86 | )}
87 | Signature captured!
52 |53 | Data URL length: {data.signature?.length} characters 54 |
55 | {data.signature && ( 56 | // eslint-disable-next-line @next/next/no-img-element 57 |91 | Add form fields to generate a JSON Schema 92 |
93 | )} 94 |58 | As a developer, I’ve grown tired of repeatedly creating forms 59 | throughout my career. Thanks to Shadcn, the process is now much easier 60 | and the results look far better. After dedicating significant time to 61 | working on forms, I decided to invest even more and create this 62 | open-source project (coming soon) to share my work with the community. 63 |
64 |65 | The goal of this project is to build the ultimate form builder using 66 | Shadcn, React Hook Form, and Zod—so you can spend less time wrestling 67 | with forms and more time enjoying life (or debugging something else). 68 | Sure, you might say, “Hey, there’s already a v0 for that,” or “AI can 69 | handle this!” And yes, you’d be right… but as an engineer, I have a 70 | soft spot for overengineering. Why take the easy route when you can 71 | make it extra? 72 |
73 |74 | I plan to open source this project as soon as I complete my roadmap, 75 | so stay tuned! In the meantime, feel free to DM me on{' '} 76 | 77 | Twitter 78 | {' '} 79 | (yes, it’s still Twitter for me). 80 |
81 |85 | A huge thanks to the following developers! I truly appreciate their 86 | contributions to the community. I want to clarify that I haven’t 87 | reached out to ask for permission to use their work, but if they 88 | contact me with any concerns about removal, I will address it 89 | immediately. 90 |
91 |Loading preview...
, 34 | // Handle import errors gracefully 35 | ssr: true, 36 | }, 37 | ) 38 | 39 | return ( 40 |74 | This form includes special component, add the component in your 75 | directory. {''} 76 |
77 |