{"_id":"@jiin.seok/formkit-react","_rev":"16-2a8f53da862845606a723deebc5a08cb","name":"@jiin.seok/formkit-react","dist-tags":{"latest":"0.6.2"},"versions":{"0.1.0":{"name":"@jiin.seok/formkit-react","version":"0.1.0","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.1.0","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/yourusername/formkit-react#readme","bugs":{"url":"https://github.com/yourusername/formkit-react/issues"},"dist":{"shasum":"c1bd637086604e164a43f0ce03809743afeeb9ca","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.1.0.tgz","fileCount":17,"integrity":"sha512-Yq3asc9PNvwCb7Ge8ZjRiCT4+V60X739aaNJjudiPOyNIbqIWJM7FeACjdQN3Ix1MSjR3ELwVeOxM8YHd/vjDQ==","signatures":[{"sig":"MEYCIQDHrRVbsAeAOIBY2KlAVyC1iuBA28kqAqsc6ozmqJxWlAIhALhRLNgsFBaE6Qr81/tpFV2Wxv5cVXdRQ7gItNdBy34v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497555},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css"},"gitHead":"d08c1cad12be32902664ac136acf887cf9934a71","scripts":{"dev":"vite","lint":"eslint src --ext ts,tsx","test":"vitest","build":"tsc && vite build","preview":"vite preview","type-check":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/yourusername/formkit-react.git","type":"git"},"_npmVersion":"11.3.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"_nodeVersion":"23.7.0","dependencies":{"clsx":"^2.1.0","lucide-react":"^0.300.0","tailwind-merge":"^2.2.0","react-hook-form":"^7.48.0","@hookform/resolvers":"^3.3.4","@radix-ui/react-select":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.0","vite":"^5.4.19","jsdom":"^23.0.0","react":"^18.2.0","eslint":"^8.55.0","terser":"^5.43.1","vitest":"^1.0.0","postcss":"^8.4.32","react-dom":"^18.2.0","typescript":"^5.3.0","@types/node":"^20.10.0","tailwindcss":"^3.3.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.2.0","eslint-plugin-react":"^7.33.0","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^14.1.2","@testing-library/jest-dom":"^6.1.5","@typescript-eslint/parser":"^6.13.0","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"zod":"^3.22.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.1.0_1755071020904_0.3598249423666784","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@jiin.seok/formkit-react","version":"0.1.1","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.1.1","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/yourusername/formkit-react#readme","bugs":{"url":"https://github.com/yourusername/formkit-react/issues"},"dist":{"shasum":"81edc1c1a24e14fc93ab603eeb6c70933a6fa333","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.1.1.tgz","fileCount":17,"integrity":"sha512-k4AaVMvoS3RumsliUSpCyuufLt9QZfcn/9SGfZr0A51ZsELuF5oA0uPwAZkdLV5ZAqbhoT8/MgvCZ0edFO9M4Q==","signatures":[{"sig":"MEQCIC79GIxrJTQw+qdXKa2yd0bH/G3eWn1eWznrPlrD1gioAiBzcEp9f1f6b69zgdlPpl/gxeQd7xNaiL62b33ljilsFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497655},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css"},"gitHead":"d08c1cad12be32902664ac136acf887cf9934a71","scripts":{"dev":"vite","lint":"eslint src --ext ts,tsx","test":"vitest","build":"tsc && vite build","preview":"vite preview","type-check":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/yourusername/formkit-react.git","type":"git"},"_npmVersion":"11.3.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"_nodeVersion":"23.7.0","dependencies":{"clsx":"^2.1.0","lucide-react":"^0.300.0","tailwind-merge":"^2.2.0","react-hook-form":"^7.48.0","@hookform/resolvers":"^3.3.4","@radix-ui/react-select":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.0","vite":"^5.4.19","jsdom":"^23.0.0","react":"^18.2.0","eslint":"^8.55.0","terser":"^5.43.1","vitest":"^1.0.0","postcss":"^8.4.32","react-dom":"^18.2.0","typescript":"^5.3.0","@types/node":"^20.10.0","tailwindcss":"^3.3.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.2.0","eslint-plugin-react":"^7.33.0","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^14.1.2","@testing-library/jest-dom":"^6.1.5","@typescript-eslint/parser":"^6.13.0","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"zod":"^3.22.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.1.1_1755074117926_0.31966622840758063","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@jiin.seok/formkit-react","version":"0.1.2","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.1.2","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"756f875f8e8c9093e8939f57fb02d62bd60ca3a8","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.1.2.tgz","fileCount":17,"integrity":"sha512-fFLFsOXCjTFby0iZUe0Lhpp7TT6ZpJm7Nj48a0aDQhYmZLGKjLWwwIrrhHIykOPr6tgjFMREdY8rkOulwSSIZQ==","signatures":[{"sig":"MEYCIQCYV8SQrLbKME222B3AchiCtlbU7TQMPzEb1o8ytxZSAQIhAMAaVlr4j5C9mAbMruEmxff43sgTjrj1KiIlyZlCeLMD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":500974},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css"},"gitHead":"d08c1cad12be32902664ac136acf887cf9934a71","scripts":{"dev":"vite","lint":"eslint src --ext ts,tsx","test":"vitest","build":"tsc && vite build","preview":"vite preview","type-check":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"11.3.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"_nodeVersion":"23.7.0","dependencies":{"clsx":"^2.1.0","lucide-react":"^0.300.0","tailwind-merge":"^2.2.0","react-hook-form":"^7.48.0","@hookform/resolvers":"^3.3.4","@radix-ui/react-select":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.0","vite":"^5.4.19","jsdom":"^23.0.0","react":"^18.2.0","eslint":"^8.55.0","terser":"^5.43.1","vitest":"^1.0.0","postcss":"^8.4.32","react-dom":"^18.2.0","typescript":"^5.3.0","@types/node":"^20.10.0","tailwindcss":"^3.3.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.2.0","eslint-plugin-react":"^7.33.0","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^14.1.2","@testing-library/jest-dom":"^6.1.5","@typescript-eslint/parser":"^6.13.0","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"zod":"^3.22.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.1.2_1755074286461_0.11275887113524186","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@jiin.seok/formkit-react","version":"0.1.3","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.1.3","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"7b066674ad26beb8acac51d13190fc264d5002e4","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.1.3.tgz","fileCount":17,"integrity":"sha512-9DYT03Z13QgMqQyDZXScY20ApOt7u56uCDEr/lSwopk0vwx8Ucom2E6cOAFzBe50RVBquPnsd8ACNSg2lcy0ng==","signatures":[{"sig":"MEUCIDDYyuDRX2bYrOzxZ68mvXngX3LEpQfqQJ5Bolnglm0BAiEA2VIDcur5IYRzsboVVLaSawRkcCGvMaX052AB0BcggIs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501530},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css"},"gitHead":"4a1240d09d784b919d84b3c837209d699fae2845","scripts":{"dev":"vite","lint":"eslint src --ext ts,tsx","test":"vitest","build":"tsc && vite build","preview":"vite preview","type-check":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"11.3.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"_nodeVersion":"23.7.0","dependencies":{"clsx":"^2.1.0","lucide-react":"^0.300.0","tailwind-merge":"^2.2.0","react-hook-form":"^7.48.0","@hookform/resolvers":"^3.3.4","@radix-ui/react-select":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.0","vite":"^5.4.19","jsdom":"^23.0.0","react":"^18.2.0","eslint":"^8.55.0","terser":"^5.43.1","vitest":"^1.0.0","postcss":"^8.4.32","react-dom":"^18.2.0","typescript":"^5.3.0","@types/node":"^20.10.0","tailwindcss":"^3.3.0","@types/react":"^18.2.0","autoprefixer":"^10.4.16","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.2.0","eslint-plugin-react":"^7.33.0","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^14.1.2","@testing-library/jest-dom":"^6.1.5","@typescript-eslint/parser":"^6.13.0","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@typescript-eslint/eslint-plugin":"^6.13.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"zod":"^3.22.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.1.3_1755077853040_0.5816154622472887","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@jiin.seok/formkit-react","version":"0.1.4","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.1.4","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"9887fa677b9bda1dbb30b5ad5ad3feea54d9c501","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.1.4.tgz","fileCount":17,"integrity":"sha512-LSVJRinY57NnSMv36G+C+sWVsl6vaTjjkuLL/cLLE6iSEGZMP1z9ZRjpxd4E7G3zEAOFg5wpRXVOV28yXnfTjQ==","signatures":[{"sig":"MEUCIQD8FKwTqgcg1vKssEVj/lle/HMpJDzPR1/ZaXaR01bD7AIgZbHe9Y+ZJ4yTVT8jZ7GAl5wSCWqtl4wGhW9R5sDOvB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":533598},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css"},"gitHead":"fb8606894f0c8793e21ed7304dd224ecaef60a47","scripts":{"dev":"vite","lint":"eslint src --ext ts,tsx","test":"vitest","build":"tsc && vite build","preview":"vite preview","type-check":"tsc --noEmit","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"11.3.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{"example":"examples"},"_nodeVersion":"23.7.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.542.0","tailwind-merge":"^3.3.1","react-hook-form":"^7.62.0","@hookform/resolvers":"^5.2.1","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.5","vite":"^7.1.3","jsdom":"^26.1.0","react":"^19.1.1","eslint":"^9.34.0","terser":"^5.43.1","vitest":"^3.2.4","postcss":"^8.5.6","react-dom":"^19.1.1","typescript":"^5.9.2","@types/node":"^24.3.0","tailwindcss":"^4.1.12","@types/react":"^19.1.12","autoprefixer":"^10.4.21","vite-plugin-dts":"^4.5.4","@types/react-dom":"^19.1.9","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.0.2","@testing-library/react":"^16.3.0","@testing-library/jest-dom":"^6.8.0","@typescript-eslint/parser":"^8.41.0","eslint-plugin-react-hooks":"^5.2.0","@testing-library/user-event":"^14.6.1","@typescript-eslint/eslint-plugin":"^8.41.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"zod":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.1.4_1756670660084_0.9160795544420086","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@jiin.seok/formkit-react","version":"0.2.0","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.2.0","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"cd683d6999f7782f559292ef5f45c20c9b0a4b1f","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.2.0.tgz","fileCount":18,"integrity":"sha512-lEzJeDKKwYiPJNfC+xdaHF0y82XilUq6G8cRuWTki1nJoJFCAqxWn2POqj9vMKhWHKRbpVKf94XSaxh8J/qczA==","signatures":[{"sig":"MEUCIG8dVkL70WYl3Q8H27njM6+ffgMDn0Aav663AcwQq+y+AiEA1FoLLRJa4ANVnFWwbHAYbrXNSsUeB+rok+wfYBjiK/4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62119},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"4a652cd9adf5d444d229d267a99bba4492478139","scripts":{"dev":"vite","lint":"eslint src","test":"vitest run","build":"tsc --noEmit && vite build && npm run build:css","preview":"vite preview","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"11.8.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.0 || ^4.0.0","clsx":"^2.1.1","lucide-react":"^1.17.0","tailwind-merge":"^3.6.0","react-hook-form":"^7.77.0","@hookform/resolvers":"^5.4.0","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.0","eslint":"^9.39.0","terser":"^5.44.0","vitest":"^4.1.8","postcss":"^8.5.6","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^25.9.1","tailwindcss":"^3.4.19","@types/react":"^19.2.16","autoprefixer":"^10.4.21","vite-plugin-dts":"^5.0.2","@types/react-dom":"^19.2.0","typescript-eslint":"^8.60.1","eslint-plugin-react":"^7.37.5","tailwindcss-animate":"^1.0.7","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.2.0_1780554394930_0.22528773019171577","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@jiin.seok/formkit-react","version":"0.2.1","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.2.1","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"14511724bc6e77f081902397fd69445303e6bdc4","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.2.1.tgz","fileCount":18,"integrity":"sha512-+8iQCNVL8+cWWXPqZkhOqtCGCzWOIaLsnIqMMiVnApKJgKU9pATrSUdue6vljGc6JRyVKTAOMOGJBaeS7yLudQ==","signatures":[{"sig":"MEUCIQCa/pcyh5BELfn3myAJSYAJ13qz8IrckWRiGg3K+CC65AIgE6zK2bmQ7z7kEanZdw95SaVDEP3id4IiIJhIqFbWIGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62250},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"08157c58c080678920567855cd9f80643c38e3c0","scripts":{"dev":"vite","lint":"eslint src","test":"vitest run","build":"tsc --noEmit && vite build && npm run build:css","preview":"vite preview","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"11.8.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.0 || ^4.0.0","clsx":"^2.1.1","lucide-react":"^1.17.0","tailwind-merge":"^3.6.0","react-hook-form":"^7.77.0","@hookform/resolvers":"^5.4.0","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.0","eslint":"^9.39.0","terser":"^5.44.0","vitest":"^4.1.8","postcss":"^8.5.6","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^25.9.1","tailwindcss":"^3.4.19","@types/react":"^19.2.16","autoprefixer":"^10.4.21","vite-plugin-dts":"^5.0.2","@types/react-dom":"^19.2.0","typescript-eslint":"^8.60.1","eslint-plugin-react":"^7.37.5","tailwindcss-animate":"^1.0.7","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.2.1_1783048586601_0.08951172263626828","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@jiin.seok/formkit-react","version":"0.2.2","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.2.2","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"8997fb3635959d564d90024931518df4bb80e445","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.2.2.tgz","fileCount":18,"integrity":"sha512-hLzaf7T3SUWGBt5ePuXmAWDoy6m1YUPCjvIPYP0H4jq/N5C3Ng58PnrZ+y9LK5I7Lp5m69qXAF8OC7HuBNfFmQ==","signatures":[{"sig":"MEQCIBSQn1dJYVl7+uvCLT1CSpWs6DLCKseaHDX8CLZhXdjYAiBSsvJTsgL2GHEtklf818rSLwUvvbvz0YDQaE1359FtMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62194},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"08157c58c080678920567855cd9f80643c38e3c0","scripts":{"dev":"vite","lint":"eslint src","test":"vitest run","build":"tsc --noEmit && vite build && npm run build:css","preview":"vite preview","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"11.8.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.0 || ^4.0.0","clsx":"^2.1.1","lucide-react":"^1.17.0","tailwind-merge":"^3.6.0","react-hook-form":"^7.77.0","@hookform/resolvers":"^5.4.0","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.0","eslint":"^9.39.0","terser":"^5.44.0","vitest":"^4.1.8","postcss":"^8.5.6","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^25.9.1","tailwindcss":"^3.4.19","@types/react":"^19.2.16","autoprefixer":"^10.4.21","vite-plugin-dts":"^5.0.2","@types/react-dom":"^19.2.0","typescript-eslint":"^8.60.1","eslint-plugin-react":"^7.37.5","tailwindcss-animate":"^1.0.7","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.2.2_1783049470288_0.18060841913043535","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@jiin.seok/formkit-react","version":"0.2.3","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.2.3","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"5633b03a1fba66cf408b9cb86146fe7096dae986","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.2.3.tgz","fileCount":18,"integrity":"sha512-H5sEAmR3RRQqb7I4jIOJwanU+mNH7U6aYPGBKQxPWkKDmZGdc4F4eViE/nqF2KExBOa4cnj1eUvX+ULRnFcVRQ==","signatures":[{"sig":"MEYCIQCwJmh+iK5x3mUV3gq2RkMqw/i3cdJk8eSVhdbovaRm3QIhAOl/QrnMn+NvBkNQUH2D47S/YR3pa1Zw1/8TwbwR3pEi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62207},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"55e7abd3cc6d1ca3580b395c7f7ead0933d418b3","scripts":{"dev":"vite","lint":"eslint src","test":"vitest run","build":"tsc --noEmit && vite build && npm run build:css","preview":"vite preview","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"11.8.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.0 || ^4.0.0","clsx":"^2.1.1","lucide-react":"^1.17.0","tailwind-merge":"^3.6.0","react-hook-form":"^7.77.0","@hookform/resolvers":"^5.4.0","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.0","eslint":"^9.39.0","terser":"^5.44.0","vitest":"^4.1.8","postcss":"^8.5.6","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^25.9.1","tailwindcss":"^3.4.19","@types/react":"^19.2.16","autoprefixer":"^10.4.21","vite-plugin-dts":"^5.0.2","@types/react-dom":"^19.2.0","typescript-eslint":"^8.60.1","eslint-plugin-react":"^7.37.5","tailwindcss-animate":"^1.0.7","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.2.3_1783064383660_0.9231641745812165","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@jiin.seok/formkit-react","version":"0.2.4","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.2.4","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"20cc8b4d7d3dbf1e14f4eff37857fe95806a2176","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.2.4.tgz","fileCount":18,"integrity":"sha512-lU4n7pKyKHqULVLhyoHS+Zvmegaa+Cq2uTEGVH/dTeLKXV75KeBSk2T0C+HQteUrEdorXd3ua7HNiUqvY1blVw==","signatures":[{"sig":"MEUCIHLhWtlC1jksGl2l6nZESULrXgityiFjHXTzYkemSSowAiEA1l0a7lbPJmScFPeEr+MR3FPORtSwnLQXXKQfJmhNPYk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62207},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"318905cb73ec6b84a19a740b6394e6b1ec66260e","scripts":{"dev":"vite","lint":"eslint src","test":"vitest run","build":"tsc --noEmit && vite build && npm run build:css","preview":"vite preview","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"11.8.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.0 || ^4.0.0","clsx":"^2.1.1","lucide-react":"^1.17.0","tailwind-merge":"^3.6.0","react-hook-form":"^7.77.0","@hookform/resolvers":"^5.4.0","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.0","eslint":"^9.39.0","terser":"^5.44.0","vitest":"^4.1.8","postcss":"^8.5.6","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^25.9.1","tailwindcss":"^3.4.19","@types/react":"^19.2.16","autoprefixer":"^10.4.21","vite-plugin-dts":"^5.0.2","@types/react-dom":"^19.2.0","typescript-eslint":"^8.60.1","eslint-plugin-react":"^7.37.5","tailwindcss-animate":"^1.0.7","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.2.4_1783064560647_0.7096585946365372","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@jiin.seok/formkit-react","version":"0.3.0","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.3.0","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"a3aa300dc336133af5c4f985deb9a48d8363f1cf","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.3.0.tgz","fileCount":20,"integrity":"sha512-zYa/gz9zFvppMeF4vsFxEzzpP/NrDxnVewcLm/S/14ApHKudVgn02u2ETQBjyzUgQO7PgCYYllBtk7nnjrpudg==","signatures":[{"sig":"MEYCIQDfHuoee1RbSzv335aSE5f6Uh1QQvAe1YPOAizrDpIySAIhANXwBPGdofUpC3qW+MIOJQ4qGKqJFmb76zH/1hilkVPM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65159},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"318905cb73ec6b84a19a740b6394e6b1ec66260e","scripts":{"dev":"vite","lint":"eslint src","test":"vitest run","build":"tsc --noEmit && vite build && npm run build:css","preview":"vite preview","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"11.8.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.0 || ^4.0.0","clsx":"^2.1.1","lucide-react":"^1.17.0","tailwind-merge":"^3.6.0","react-hook-form":"^7.77.0","@hookform/resolvers":"^5.4.0","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.0","eslint":"^9.39.0","terser":"^5.44.0","vitest":"^4.1.8","postcss":"^8.5.6","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^25.9.1","tailwindcss":"^3.4.19","@types/react":"^19.2.16","autoprefixer":"^10.4.21","vite-plugin-dts":"^5.0.2","@types/react-dom":"^19.2.0","typescript-eslint":"^8.60.1","eslint-plugin-react":"^7.37.5","tailwindcss-animate":"^1.0.7","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.3.0_1783308387895_0.982088129363816","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@jiin.seok/formkit-react","version":"0.4.0","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.4.0","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"46162c7554442387c5921b712e1723577b2a1812","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.4.0.tgz","fileCount":20,"integrity":"sha512-VTdPVLd5IvYp1PE15tMUEb7Z9P0+pfyj+soCZhJjaFi3k3NEXDJ2DqgjXIO6HwXrXaABmqrPIhsHKeFU87yavg==","signatures":[{"sig":"MEUCIDwOd276JlEOEPHNe7/tKTGwntXg7bt6vU8huvoz4h2bAiEA0oVQjQxPk07PDRVvB7z3U+O2NBhWH2HXD92kyaaVkXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65968},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"318905cb73ec6b84a19a740b6394e6b1ec66260e","scripts":{"dev":"vite","lint":"eslint src","test":"vitest run","build":"tsc --noEmit && vite build && npm run build:css","preview":"vite preview","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jiin.seok","email":"seokjiin1073@gmail.com"},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"11.8.0","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.0 || ^4.0.0","clsx":"^2.1.1","lucide-react":"^1.17.0","tailwind-merge":"^3.6.0","react-hook-form":"^7.77.0","@hookform/resolvers":"^5.4.0","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.0","eslint":"^9.39.0","terser":"^5.44.0","vitest":"^4.1.8","postcss":"^8.5.6","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^25.9.1","tailwindcss":"^3.4.19","@types/react":"^19.2.16","autoprefixer":"^10.4.21","vite-plugin-dts":"^5.0.2","@types/react-dom":"^19.2.0","typescript-eslint":"^8.60.1","eslint-plugin-react":"^7.37.5","tailwindcss-animate":"^1.0.7","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.4.0_1783308779610_0.46078005328393923","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@jiin.seok/formkit-react","version":"0.5.0","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.5.0","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"e7bd531017ad9a16908a22877b4215d57bbf4def","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.5.0.tgz","fileCount":20,"integrity":"sha512-o4mdPLKfwuGJ2aekC5KANldjZY9Pm6kE6iJ3FkjIAB0+z+s7WalMwTqO92HESnVd11mZbDi60LdxNgG1+7BN3Q==","signatures":[{"sig":"MEYCIQDks2I3U7MmsAccduM6gZSp3XME4wdutP8IlAmnzK0DugIhAPArxJmQXfBb54+uaVjte2k6zelrrudCsamVjnRfaNnv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jiin.seok%2fformkit-react@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68409},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"dbe7ababc524aa6684987a1bd5927890f5b45f61","scripts":{"dev":"vite","lint":"eslint src","test":"vitest run","build":"tsc --noEmit && vite build && npm run build:css","preview":"vite preview","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:88faacdb-6ab2-4e3f-a001-a4ae6d2814ee"}},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"12.0.2","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.0 || ^4.0.0","clsx":"^2.1.1","lucide-react":"^1.17.0","tailwind-merge":"^3.6.0","react-hook-form":"^7.77.0","@hookform/resolvers":"^5.4.0","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.0","eslint":"^9.39.0","terser":"^5.44.0","vitest":"^4.1.8","postcss":"^8.5.6","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^25.9.1","tailwindcss":"^3.4.19","@types/react":"^19.2.16","autoprefixer":"^10.4.21","vite-plugin-dts":"^5.0.2","@types/react-dom":"^19.2.0","typescript-eslint":"^8.60.1","eslint-plugin-react":"^7.37.5","tailwindcss-animate":"^1.0.7","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.5.0_1785756413970_0.18715222991597913","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@jiin.seok/formkit-react","version":"0.6.0","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.6.0","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"4d30806d68919f98691a837983e1e2c37d314d39","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.6.0.tgz","fileCount":20,"integrity":"sha512-mlrRzJ0rkdez50PjkwElRRqTRS63YnC+yJObaBP8EFPV6QsZp8+ubsnk4KYmDYhpiFLDdz6l6blEJNJwC1qnKQ==","signatures":[{"sig":"MEYCIQC5motYnlcPcWCNuz87Myf5zwkWrzzaBVDOrSMcXAlNTgIhAIWFwfNiQmm5jedGhZiGDQXKnwCLSfEKwZG+jhF/hhSg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jiin.seok%2fformkit-react@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59277},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"2d91a60601fe8ca97ffba55c2cb99faf70e34c7e","scripts":{"dev":"vite","lint":"eslint src","test":"vitest run","build":"tsc --noEmit && vite build && npm run build:css","preview":"vite preview","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:88faacdb-6ab2-4e3f-a001-a4ae6d2814ee"}},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"12.0.2","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.25.0 || ^4.0.0","clsx":"^2.1.1","lucide-react":"^1.17.0","tailwind-merge":"^3.6.0","react-hook-form":"^7.77.0","@hookform/resolvers":"^5.4.0","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.0","eslint":"^9.39.0","terser":"^5.44.0","vitest":"^4.1.8","postcss":"^8.5.6","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^25.9.1","tailwindcss":"^3.4.19","@types/react":"^19.2.16","autoprefixer":"^10.4.21","vite-plugin-dts":"^5.0.2","@types/react-dom":"^19.2.0","typescript-eslint":"^8.60.1","eslint-plugin-react":"^7.37.5","tailwindcss-animate":"^1.0.7","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.6.0_1785757078883_0.6805653281517972","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@jiin.seok/formkit-react","version":"0.6.1","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"author":{"name":"Jiin Seok"},"license":"MIT","_id":"@jiin.seok/formkit-react@0.6.1","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"homepage":"https://github.com/JiinSeok/formkit-react#readme","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"0811c2d98386cfbeca00d66bfdec69c48ea95729","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.6.1.tgz","fileCount":20,"integrity":"sha512-h9tuwl21d65CziQ1Zatrt8sk3jelUQtdR/sjbBgjFK43sYefzqzPbTsVRTtaP4melKc6QGsl1zxvmWlPG8O+Ow==","signatures":[{"sig":"MEYCIQDRS7qIwVbAChiHxoXj7FYG4IFbyHf6QSaSbflEHOC2bQIhAJ/eKe04arlmOmNVOxMJcu44MMzHpmi8bMz4Gk4IoZJ7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDX6iUU8tIrwqItu+RhMJ5rOT5ysvq47MeObV/MqrPZowIgakzEdcLIVzTm3XhylxXK61lyJH1M0Hopmu+iecNLRO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jiin.seok%2fformkit-react@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59299},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"8666fa4847757e6142ce9a87ffc3208bc9d379dc","scripts":{"dev":"vite","lint":"eslint src","test":"vitest run","build":"tsc --noEmit && vite build && npm run build:css","preview":"vite preview","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:88faacdb-6ab2-4e3f-a001-a4ae6d2814ee"}},"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"12.0.2","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.25.0 || ^4.0.0","clsx":"^2.1.1","lucide-react":"^1.17.0","tailwind-merge":"^3.6.0","react-hook-form":"^7.77.0","@hookform/resolvers":"^5.4.0","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.0","eslint":"^9.39.0","terser":"^5.44.0","vitest":"^4.1.8","postcss":"^8.5.25","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^25.9.1","tailwindcss":"^3.4.19","@types/react":"^19.2.16","autoprefixer":"^10.4.21","vite-plugin-dts":"^5.0.2","@types/react-dom":"^19.2.0","typescript-eslint":"^8.60.1","eslint-plugin-react":"^7.37.5","tailwindcss-animate":"^1.0.7","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/formkit-react_0.6.1_1789531504838_0.7227884299723117","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"_id":"@jiin.seok/formkit-react@0.6.2","bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"dist":{"shasum":"24111cce52b71dda6c98cb3ea75d84c27e0c91fa","tarball":"https://registry.npmjs.org/@jiin.seok/formkit-react/-/formkit-react-0.6.2.tgz","fileCount":20,"integrity":"sha512-BdjIE9gZLrJhOw74IXQA068nOTsZA0Bgobh176KRj0d2d7h8Knxnz98E1nCTX4YzseVgabfaQrtDFR3qzqFPzQ==","signatures":[{"sig":"MEUCIGy3kKExhCOCNR+Kij2fZf/DewZVwa9OR5BXdwDulr/1AiEAoRr/5ZPWTRS5AlbE57QEwWcBTbb4G7+z1YMkKPKWjbY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHkqN0RuNUSc4C4aS910acIyZgwFC7DNA852qVChYsM/AiEA3a2HaGF2V3mA0/zJ1IWPF/9WLZYcICWHcfwIA9S2lfc="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@jiin.seok%2fformkit-react@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59319},"main":"dist/index.js","name":"@jiin.seok/formkit-react","types":"dist/index.d.ts","author":{"name":"Jiin Seok"},"module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"9055e939e47c99fadd606dd33cf812c9641489a2","license":"MIT","scripts":{"dev":"vite","lint":"eslint src","test":"vitest run","build":"tsc --noEmit && vite build && npm run build:css","preview":"vite preview","build:css":"tailwindcss -i src/styles.css -o dist/styles.css --minify","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"version":"0.6.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:88faacdb-6ab2-4e3f-a001-a4ae6d2814ee"}},"homepage":"https://github.com/JiinSeok/formkit-react#readme","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"_npmVersion":"12.0.2","description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","directories":{},"maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"sideEffects":["**/*.css"],"_nodeVersion":"22.23.2","dependencies":{"clsx":"^2.1.1","lucide-react":"^1.17.0","tailwind-merge":"^3.6.0","react-hook-form":"^7.77.0","@hookform/resolvers":"^5.4.0","@radix-ui/react-select":"^2.2.6"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.4.3","vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.0","eslint":"^9.39.0","terser":"^5.44.0","vitest":"^4.1.8","postcss":"^8.5.25","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^25.9.1","tailwindcss":"^3.4.19","@types/react":"^19.2.16","autoprefixer":"^10.4.21","vite-plugin-dts":"^5.0.2","@types/react-dom":"^19.2.0","typescript-eslint":"^8.60.1","eslint-plugin-react":"^7.37.5","tailwindcss-animate":"^1.0.7","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/formkit-react_0.6.2_1789533122204_0.6983136743866187"}}},"time":{"created":"2025-08-13T07:43:40.814Z","modified":"2026-09-16T04:32:02.646Z","0.1.0":"2025-08-13T07:43:41.086Z","0.1.1":"2025-08-13T08:35:18.082Z","0.1.2":"2025-08-13T08:38:06.648Z","0.1.3":"2025-08-13T09:37:33.231Z","0.1.4":"2025-08-31T20:04:20.289Z","0.2.0":"2026-06-04T06:26:35.082Z","0.2.1":"2026-07-03T03:16:26.748Z","0.2.2":"2026-07-03T03:31:10.436Z","0.2.3":"2026-07-03T07:39:43.861Z","0.2.4":"2026-07-03T07:42:40.778Z","0.3.0":"2026-07-06T03:26:28.041Z","0.4.0":"2026-07-06T03:32:59.729Z","0.5.0":"2026-08-03T11:26:54.144Z","0.6.0":"2026-08-03T11:37:59.013Z","0.6.1":"2026-09-16T04:05:04.931Z","0.6.2":"2026-09-16T04:32:02.281Z"},"bugs":{"url":"https://github.com/JiinSeok/formkit-react/issues"},"author":{"name":"Jiin Seok"},"license":"MIT","homepage":"https://github.com/JiinSeok/formkit-react#readme","keywords":["react","form","forms","validation","react-hook-form","zod","compound-components","typescript","accessibility","a11y"],"repository":{"url":"git+https://github.com/JiinSeok/formkit-react.git","type":"git"},"description":"A powerful React form library with Compound Component Pattern, built-in validation, and TypeScript support","maintainers":[{"name":"jiin.seok","email":"seokjiin1073@gmail.com"}],"readme":"# @jiin.seok/formkit-react\n\n🚀 Compound Component Pattern과 내장 검증, TypeScript 지원을 갖춘 강력한 React 폼 라이브러리\n\n[![npm version](https://img.shields.io/npm/v/@jiin.seok/formkit-react.svg)](https://www.npmjs.com/package/@jiin.seok/formkit-react)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[English Documentation](./README-EN.md)\n\n## ✨ 주요 기능\n\n- 🎯 **Compound Component Pattern** - 깔끔하고 조합 가능한 API\n- 🔄 **React Hook Form 통합** - 성능 최적화\n- 🛡️ **Zod 스키마 지원** - 타입 안전 검증\n- ♿ **접근성 우선** - ARIA 준수\n- 🎨 **켜고 끄는 기본 테마** - 스타일시트를 불러오면 바로 쓸 만한 모양, 안 불러오면 순수 HTML\n- 📝 **TypeScript** - 완전한 타입 안정성\n- 🔒 **비밀번호 토글** - 내장 가시성 토글\n- 🎛️ **Select 컴포넌트** - Radix UI 기반\n\n## 📦 설치\n\n```bash\nnpm install @jiin.seok/formkit-react\n# 또는\nyarn add @jiin.seok/formkit-react\n# 또는\npnpm add @jiin.seok/formkit-react\n```\n\n### Peer Dependencies\n\n```bash\nnpm install react react-dom\n```\n\n> `react-hook-form`, `zod`, `@hookform/resolvers` 등은 패키지 의존성으로 자동 설치됩니다.\n\n### 스타일 불러오기\n\n기본 테마를 쓰려면 앱 진입점(예: `main.tsx`, `layout.tsx`)에서 한 번 불러옵니다.\n\n```tsx\nimport '@jiin.seok/formkit-react/styles.css'\n```\n\n이 줄을 넣지 않으면 컴포넌트는 아무 스타일도 얹지 않은 순수 HTML로 그려집니다. 처음부터 직접\n그리고 싶으면 불러오지 않으면 됩니다. 스타일시트는 Tailwind를 요구하지 않으므로 어떤 앱에서도\n동작합니다.\n\n## 🚀 빠른 시작\n\n### 기본 예제\n\n```tsx\nimport FormKit from '@jiin.seok/formkit-react'\n\nfunction LoginForm() {\n  const handleSubmit = (data) => {\n    console.log('폼 데이터:', data)\n  }\n\n  return (\n    <FormKit.Root formId=\"login\" onSubmit={handleSubmit}>\n      <FormKit.Title>로그인</FormKit.Title>\n      \n      <FormKit.Field>\n        <FormKit.Label>이메일</FormKit.Label>\n        <FormKit.Input name=\"email\" type=\"email\" required />\n      </FormKit.Field>\n      \n      <FormKit.Field>\n        <FormKit.Label>비밀번호</FormKit.Label>\n        <FormKit.Input name=\"password\" type=\"password\" required />\n      </FormKit.Field>\n      \n      <FormKit.SubmitButton>로그인</FormKit.SubmitButton>\n    </FormKit.Root>\n  )\n}\n```\n\n### Zod 검증과 함께 사용\n\n```tsx\nimport FormKit from '@jiin.seok/formkit-react'\nimport { z } from 'zod'\n\nconst loginSchema = z.object({\n  email: z.string().email('유효하지 않은 이메일 주소입니다'),\n  password: z.string().min(8, '비밀번호는 최소 8자 이상이어야 합니다')\n})\n\nfunction LoginForm() {\n  const handleSubmit = (data) => {\n    console.log('검증된 데이터:', data)\n  }\n\n  return (\n    <FormKit.Root \n      formId=\"login\" \n      schema={loginSchema} \n      onSubmit={handleSubmit}\n    >\n      <FormKit.Field>\n        <FormKit.Label>이메일</FormKit.Label>\n        <FormKit.Input name=\"email\" type=\"email\" />\n      </FormKit.Field>\n      \n      <FormKit.Field>\n        <FormKit.Label>비밀번호</FormKit.Label>\n        <FormKit.Input name=\"password\" type=\"password\" />\n      </FormKit.Field>\n      \n      <FormKit.SubmitButton>로그인</FormKit.SubmitButton>\n    </FormKit.Root>\n  )\n}\n```\n\n### Select를 포함한 고급 폼\n\n```tsx\nimport FormKit from '@jiin.seok/formkit-react'\n\nfunction RegistrationForm() {\n  const countries = [\n    { value: 'kr', label: '대한민국' },\n    { value: 'us', label: '미국' },\n    { value: 'jp', label: '일본' },\n  ]\n\n  return (\n    <FormKit.Root formId=\"registration\" onSubmit={handleSubmit}>\n      <FormKit.Fieldset>\n        <FormKit.Legend required>개인 정보</FormKit.Legend>\n        \n        <FormKit.Field>\n          <FormKit.Label>이름</FormKit.Label>\n          <FormKit.Input name=\"fullName\" required />\n        </FormKit.Field>\n        \n        <FormKit.Field>\n          <FormKit.Label>국가</FormKit.Label>\n          <FormKit.Select \n            name=\"country\" \n            options={countries}\n            placeholder=\"국가를 선택하세요\"\n            required\n          />\n        </FormKit.Field>\n        \n        <FormKit.Field>\n          <FormKit.Label>자기소개</FormKit.Label>\n          <FormKit.Textarea \n            name=\"bio\" \n            placeholder=\"간단한 자기소개를 작성해주세요\"\n            maxLength={500}\n          />\n        </FormKit.Field>\n      </FormKit.Fieldset>\n      \n      <FormKit.SubmitButton>가입하기</FormKit.SubmitButton>\n    </FormKit.Root>\n  )\n}\n```\n\n## 📦 사용 가능한 컴포넌트\n\nFormKit은 포괄적인 폼 컴포넌트 세트를 제공합니다:\n\n### 📝 핵심 컴포넌트\n- **FormKit.Root** - 검증 컨텍스트를 포함한 메인 폼 컨테이너\n- **FormKit.Field** - 레이블-입력 연결이 있는 필드 래퍼\n- **FormKit.Fieldset** - 관련된 필드 그룹화\n- **FormKit.Legend** - 필수 표시가 선택적으로 포함된 필드셋 제목\n\n### 🎨 입력 컴포넌트\n- **FormKit.Input** - 비밀번호 토글, 이메일, 숫자 등을 지원하는 텍스트 입력\n- **FormKit.Textarea** - 여러 줄 텍스트 입력\n- **FormKit.Select** - 검색 기능이 있는 드롭다운 선택 (Radix UI 기반)\n\n### 🏷️ 표시 컴포넌트\n- **FormKit.Label** - 필드 레이블\n- **FormKit.Description** - 입력 예시·형식 안내\n- **FormKit.Title** - 폼 제목\n- **FormKit.Wrapper** - 커스텀 레이아웃용 컨테이너\n- **FormKit.Unit** - 단위 표시 (예: \"원\", \"kg\")\n- **FormKit.Error** - 오류 메시지 표시\n\n### 🎯 액션 컴포넌트\n- **FormKit.SubmitButton** - 로딩 상태가 있는 제출 버튼\n- **FormKit.ResetButton** - 폼을 초기값으로 재설정\n\n## 📚 API 레퍼런스\n\n### FormKit.Root\n\n모든 자식 컴포넌트에 컨텍스트를 제공하는 메인 폼 컨테이너입니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| formId | string | ✅ | 폼의 고유 식별자 |\n| onSubmit | (data) => void | ✅ | 폼 제출 핸들러 |\n| schema | ZodSchema | ❌ | 검증을 위한 Zod 스키마 |\n| defaultValues | object | ❌ | 기본 폼 값 |\n| locale | `'ko' \\| 'en'` | ❌ | 자동 노출 문구(Select placeholder·비밀번호 aria-label)의 기본 언어. 기본값 `'en'` |\n| messages | `Partial<FormMessages>` | ❌ | 개별 문구만 덮어쓰기. `locale` 기본값 위에 얕게 병합됨 |\n\n```tsx\n// 폼 전체의 기본 문구를 한국어로\n<FormKit.Root formId=\"signup\" locale=\"ko\" onSubmit={onSubmit}>\n  {/* Select 기본 placeholder가 '옵션을 선택하세요'로 나온다 */}\n  <FormKit.Select name=\"genre\" options={options} />\n</FormKit.Root>\n\n// 특정 문구만 커스텀\n<FormKit.Root\n  formId=\"signup\"\n  locale=\"ko\"\n  messages={{ selectPlaceholder: '장르를 골라주세요' }}\n  onSubmit={onSubmit}\n/>\n```\n\n### FormKit.Field\n\n자동 레이블-입력 연결이 있는 폼 입력용 컨테이너입니다.\n\n| Prop | Type | 기본값 | 설명 |\n|------|------|--------|------|\n| isInline | boolean | false | 레이블과 입력을 가로로 표시 |\n| hidden | boolean | false | 필드 숨기기 |\n| htmlFor | string | auto | 레이블-입력 연결을 위한 커스텀 ID |\n\n### FormKit.Input\n\n내장 기능이 있는 향상된 입력 컴포넌트입니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| name | string | ✅ | 필드 이름 |\n| type | string | ❌ | 입력 타입 (text, email, password 등) |\n| required | boolean | ❌ | 필드를 필수로 표시 |\n| minLength | number | ❌ | 최소 문자 길이 |\n| maxLength | number | ❌ | 최대 문자 길이 |\n\n**기능:**\n- 🔒 `type=\"password\"`에 대한 자동 비밀번호 가시성 토글\n- ✅ 확인 필드에 대한 자동 검증 (예: `confirmPassword`)\n- 🎯 완전한 TypeScript 지원\n\n### FormKit.Select\n\nRadix UI를 사용한 드롭다운 선택 컴포넌트입니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| name | string | ✅ | 필드 이름 |\n| options | Array<{value, label}> | ✅ | 선택 옵션 |\n| placeholder | string | ❌ | 플레이스홀더 텍스트. 넘기지 않으면 `FormKit.Root`의 `locale`에 맞는 기본값 사용 |\n| required | boolean | ❌ | 필드를 필수로 표시 |\n\n### FormKit.Textarea\n\n여러 줄 텍스트 입력 컴포넌트입니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| name | string | ✅ | 필드 이름 |\n| required | boolean | ❌ | 필드를 필수로 표시 |\n| minLength | number | ❌ | 최소 문자 길이 |\n| maxLength | number | ❌ | 최대 문자 길이 |\n| rows | number | ❌ | 표시되는 텍스트 줄 수 (기본값: 4) |\n\n### FormKit.Fieldset\n\n관련된 폼 필드를 함께 그룹화합니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| className | string | ❌ | 커스텀 CSS 클래스 |\n| children | ReactNode | ✅ | 자식 컴포넌트 |\n\n### FormKit.Legend\n\n필수 표시가 선택적으로 있는 필드셋 제목입니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| required | boolean | ❌ | 빨간색 별표(*) 표시 |\n| className | string | ❌ | 커스텀 CSS 클래스 |\n| children | ReactNode | ✅ | 범례 텍스트 |\n\n### FormKit.Label\n\n폼 입력을 위한 접근 가능한 레이블입니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| className | string | ❌ | 커스텀 CSS 클래스 |\n| children | ReactNode | ✅ | 레이블 텍스트 |\n\n### FormKit.Description\n\n입력 예시나 형식을 안내하는 설명입니다. 같은 Field 안의 입력이 `aria-describedby`로 이 설명을 가리키므로, 스크린리더는 칸에 들어갔을 때 설명을 함께 읽습니다. 오류가 함께 있으면 설명과 오류를 모두 가리킵니다.\n\n설명은 칸 이름에는 섞이지 않습니다. Field가 `label`이라 그냥 두면 이름이 \"예상 인원 수업에 참여하실 어르신 수\"처럼 길어져, 칸 목록을 훑을 때 방해가 되기 때문입니다.\n\n```tsx\n<FormKit.Field>\n  <FormKit.Legend required>예상 인원</FormKit.Legend>\n  <FormKit.Description>수업에 참여하실 어르신 수</FormKit.Description>\n  <FormKit.Input name=\"headcount\" type=\"number\" required />\n</FormKit.Field>\n```\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| className | string | ❌ | 커스텀 CSS 클래스 |\n| children | ReactNode | ✅ | 설명 텍스트 |\n\n### FormKit.Title\n\n폼 제목/헤더 컴포넌트입니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| className | string | ❌ | 커스텀 CSS 클래스 |\n| children | ReactNode | ✅ | 제목 텍스트 |\n\n### FormKit.SubmitButton\n\n내장 로딩 상태가 있는 제출 버튼입니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| variant | string | ❌ | 버튼 스타일 변형 |\n| disabled | boolean | ❌ | 버튼 비활성화 |\n| className | string | ❌ | 커스텀 CSS 클래스 |\n| children | ReactNode | ✅ | 버튼 텍스트 |\n\n### FormKit.ResetButton\n\n폼을 초기값으로 재설정합니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| onClick | function | ❌ | 추가 클릭 핸들러 |\n| className | string | ❌ | 커스텀 CSS 클래스 |\n| children | ReactNode | ✅ | 버튼 텍스트 |\n\n### FormKit.Wrapper\n\n커스텀 레이아웃용 컨테이너 컴포넌트입니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| className | string | ❌ | 커스텀 CSS 클래스 |\n| children | ReactNode | ✅ | 자식 컴포넌트 |\n\n### FormKit.Unit\n\n입력 필드 옆에 단위를 표시합니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| unit | string | ✅ | 단위 텍스트 (예: \"원\", \"kg\", \"%\") |\n\n### FormKit.Error\n\n검증 오류 메시지를 표시합니다.\n\n| Prop | Type | 필수 | 설명 |\n|------|------|------|------|\n| error | FieldError | ❌ | react-hook-form의 오류 객체 |\n\n## 🎨 스타일링\n\n### 색 바꾸기\n\n기본 테마는 호스트 앱의 CSS 변수를 먼저 읽고, 없을 때만 자체 기본값으로 떨어집니다. `:root`에\n아래 변수 중 있는 것만 정의하면 그대로 반영됩니다. 값은 완전한 색상값(`oklch(...)`·`hsl(...)`·\n`#hex`)으로 씁니다.\n\n```css\n:root {\n  --primary: oklch(0.53 0.15 215); /* 강조색: 기본 버튼·초점 테두리·필수 표시 */\n  --primary-foreground: oklch(0.99 0 0); /* 강조색 위 글자 */\n  --background: oklch(1 0 0); /* 초점이 온 입력칸 배경 */\n  --foreground: oklch(0.24 0.015 270); /* 본문 글자 */\n  --muted-foreground: oklch(0.52 0.012 270); /* 안내문·플레이스홀더 */\n  --input: oklch(0.9 0.006 270); /* 테두리 */\n  --destructive: oklch(0.55 0.2 25); /* 오류 */\n}\n```\n\n곡률·컨트롤 높이는 `--fk-` 변수로 바꿉니다.\n\n```css\n:root {\n  --fk-radius: 0.625rem;\n  --fk-control-height: 2.75rem;\n}\n```\n\n### 클래스로 덮어쓰기\n\n컴포넌트는 `className`을 그대로 흘려보내고, 기본 모양은 `@layer formkit` 안에서만 그립니다.\n레이어에 든 규칙은 레이어 밖 규칙과 프레임워크 유틸리티에 항상 지므로, 넘긴 클래스는 이름이\n무엇이든 특이성이 얼마든 기본값을 이깁니다.\n\n```tsx\n<FormKit.Input name=\"email\" className=\"rounded-none border-2 border-black\" />\n```\n\nTailwind를 쓰지 않는 앱이면 평범한 CSS 클래스를 넘겨도 같습니다.\n\n## 🧪 테스팅\n\n```tsx\nimport { render, screen } from '@testing-library/react'\nimport userEvent from '@testing-library/user-event'\nimport FormKit from '@jiin.seok/formkit-react'\n\ntest('폼 데이터 제출', async () => {\n  const handleSubmit = jest.fn()\n  \n  render(\n    <FormKit.Root formId=\"test\" onSubmit={handleSubmit}>\n      <FormKit.Field>\n        <FormKit.Input name=\"username\" />\n      </FormKit.Field>\n      <FormKit.SubmitButton>제출</FormKit.SubmitButton>\n    </FormKit.Root>\n  )\n  \n  await userEvent.type(screen.getByRole('textbox'), 'john')\n  await userEvent.click(screen.getByRole('button'))\n  \n  expect(handleSubmit).toHaveBeenCalledWith({ username: 'john' })\n})\n```\n\n## 📄 라이선스\n\nMIT © [Jiin Seok]\n\n## 🔗 링크\n\n- [문서](https://github.com/JiinSeok/formkit-react)\n- [예제](https://github.com/JiinSeok/formkit-react/tree/main/examples)\n- [이슈 리포트](https://github.com/JiinSeok/formkit-react/issues)\n","readmeFilename":"README.md"}