{"_id":"@reactfast/forms","_rev":"29-6d53597d97fb67dc0468af9b01746b78","name":"@reactfast/forms","dist-tags":{"latest":"0.1.35"},"versions":{"0.1.0":{"name":"@reactfast/forms","version":"0.1.0","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.0","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"f278bb5b10d4f6ea71210f25e61fe9811c442e49","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.0.tgz","fileCount":7,"integrity":"sha512-upmd43HOdxwnzgGh8DQv3FWdWrM1r6fbIcqhXfyPc+QPwmTSv1V+o4bEe9qVagY6hJRtF1IeSt3qPIK4w9IoMg==","signatures":[{"sig":"MEQCIF+0xb+yJq46mBxxhKwyI3IdKytO7c0kUogWiAi+METfAiAm4b+r6iZSLtgWsFqVUfRy37QYMiGvlobt+IfwPGorUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1371232},"main":"dist/ctrlform.cjs.js","type":"module","types":"index.d.ts","module":"dist/ctrlform.es.js","gitHead":"c2b8ccd87f3d9d820a655aee87f937acd36eb8fc","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.0_1762557013237_0.4202570359079012","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@reactfast/forms","version":"0.1.4","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.4","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"88dd127ea03b7aabf25fa3a3d8bab15dc6328e2a","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.4.tgz","fileCount":7,"integrity":"sha512-NkVIGWc3lWlArr9HDfNHLwpZYVe+lhR0W5lFwTjMkg3BwOxDET9fSwqGUmTxZSDjTI2d9JSoh2Zdvip+H3R9Sw==","signatures":[{"sig":"MEUCICECQnRvLfgcZ/9ABXEf1M3sQtDnKBerqL22MVJUmVqKAiEA5oauzQE/ZvoYml/xFDYT1OaiJHdU4LyRVxKb4jUlETE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1373962},"main":"dist/ctrlform.cjs.js","type":"module","types":"index.d.ts","module":"dist/ctrlform.es.js","gitHead":"50b096461b61e8c6e13ca41cf4c335739c739cdc","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.4_1766605554175_0.8110803122378261","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@reactfast/forms","version":"0.1.6","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.6","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"964830be30a139a847f7000f05391d14f9d914ef","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.6.tgz","fileCount":7,"integrity":"sha512-wuWKAOVCWv6ZHpqYOiayLBw4nh0r+HzdisODBBY+/04ppeXsv8HdHbrUmeZLS34TBup1yyc6In8/4zFkgkjXfQ==","signatures":[{"sig":"MEQCID3SGhypQHRtZS7Z7ItZ30XqKCz9q0Ca0N7ZDaBJiw1xAiAK0bhuz7QXJOC7Ng0Nm5ibSYOvgz7s/7b97ukVkBW9Kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1374273},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.6_1767988363247_0.3424160331170425","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@reactfast/forms","version":"0.1.7","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.7","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"c4eb633785139db0d6cb45dd871650ad75fd4953","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.7.tgz","fileCount":7,"integrity":"sha512-JiyseqUsAREbJ4QojIsIKs+w1iQYSqhuk7JWCOYXORyG/d5+6hCxoTpYU9yM2kJaBtjsIEQD0+sfxU3FZjq7HQ==","signatures":[{"sig":"MEUCIQD8iMsJga+koeh+zngHIju/f+KwgE8OmBboAwLaXBDNVgIgK5LPMPxlzfvAh8ypoOmV/IFFoIeSndtEN0NiC1VrTD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1374275},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.7_1767988753320_0.23337472746690913","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@reactfast/forms","version":"0.1.8","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.8","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"447d6e89eeac802424bc4be814c3d4d53b2e1012","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.8.tgz","fileCount":11,"integrity":"sha512-dhWsrr0T4Cr8jYfhOLOcAB0JcIan9LnRSy9T5gY7kyDnrFchcNu2o55HW2xfMvRDXj7OsQfUwJ76JEHr5/295A==","signatures":[{"sig":"MEUCICA1cbnEUOBswYBTESBbcwUYg43KzmFD6bg/F7ocJLNqAiEAyNJxPMFWQ8TMq4HWIkuBQauvrsQrXy87wNjAsA5Nzl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1382052},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.8_1767989131947_0.8331893370088597","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@reactfast/forms","version":"0.1.9","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.9","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"3fe6780df60d566ef55d9b1c2652dd04927f0176","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.9.tgz","fileCount":7,"integrity":"sha512-Jxv6U1Y1Zl7NiCCBCu6tFlty4DlvePbXH1Pj1D9PdDnTH7E75Qnam1SVkWT1htmCNpK41bm+4OxVUiON8KuquA==","signatures":[{"sig":"MEUCIBwtnwDUs2Jps9xJzpx1RXM7eUk2wUlcxaNtxBi4ZJlEAiEAi0TjcOxxVvlGuB14RAnIowhxj6F3SsgXe7WiaRz3f/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1374786},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.9_1767991996704_0.9064868015352516","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@reactfast/forms","version":"0.1.10","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.10","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"5ea964cd26a1943f407c68906180aea1052c7912","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.10.tgz","fileCount":7,"integrity":"sha512-91itDNuF4RrW/k0CSD6z4rvY1D8m85Ej+4uPQAS7tpbSXxSOows0Q33JdSUE6oVQs6OhTz1JOpbR6tXpG+6v8g==","signatures":[{"sig":"MEUCIQC0INJ78l6whpU4ntztfeub4gjOBxM2aDousNqAlFAVIAIgaEaZP1IujAe53Lf9Oqxa4Sw2Uk0JLLcRJGUmlv7pSi8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1374242},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.10_1767993078830_0.574328805379233","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@reactfast/forms","version":"0.1.11","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.11","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"04a5d3e34888efca6de2d7e09c32244b5864effa","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.11.tgz","fileCount":7,"integrity":"sha512-6/751uir+57SqF6Nkb1LDpUCGPpVjf7oBGH8WNBCScAywMbPWsAMFKBeBtEASdXLI2frbIOm2ut03D9EkPFxLw==","signatures":[{"sig":"MEUCIQD+oI0RJC4k2+DvDsSmGeHN4CQHe9uhobmqY+GSmF0KtgIgdPrg1wlknTR2m2tF/ZC0O5TIQ+Nuzr1TqzrWQ3FTynk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1324518},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.11_1767993501735_0.34664676594107213","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@reactfast/forms","version":"0.1.13","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.13","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"7316a6f41b8785fa778bdb0e45322a4b851d6925","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.13.tgz","fileCount":7,"integrity":"sha512-tEpNgTpli4b0e5IO/5uvDfrm2zxXzkiUSbs4umsjnLTlL9S+tuESfAiKw5Q5HPEkLeQoZkbeg9m8pdavgC4XyQ==","signatures":[{"sig":"MEYCIQCjG0zS6I7j3W+RnK8Lv7aCvxDoNhVssqQzhbn9o+n62gIhAKxGDqbaynprZvaTjGfHZoV+sSOFNGneQB60iGAp5N5C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1347461},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.13_1771264388206_0.817794974508399","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@reactfast/forms","version":"0.1.14","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.14","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"dfab8e6b990b0dc62b50fd7257d92dccec100ef4","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.14.tgz","fileCount":7,"integrity":"sha512-iAlsTCSj4scf1QWQXmmc5osysETH2kBn4MiHq0SVZX/P23v+fPA08t8onSLeqO0F8gbodz2z/mLakX5HLJ/QLg==","signatures":[{"sig":"MEQCIHggKJ98wZ4j2TOlZdwKzbIyrcK7/x9rr0V46yS4oc5YAiBJL0eU43febb73ad4z1jlFFqZLzGPw8F8nCKytylmQhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1347236},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.14_1771267030442_0.8668825036851184","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@reactfast/forms","version":"0.1.16","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.16","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"b27b551672eee39705b7e4bbccb27ceaa9b3a519","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.16.tgz","fileCount":7,"integrity":"sha512-jUJBgUb7pINKzpJPTKtRyoGB7IrQgzhg8c/w4msXDSTRrb0X/xLKOncHlgcBPUGusC6I+xe0Ze8ON3ZfO0mqxw==","signatures":[{"sig":"MEQCIDoMsWO7Z/Y9gf9oZNLkQckhxHq97CcZbtcBAI3a0RyMAiAajksTv1WBcecM+SVOnHMT+JUnpxvCWc5XyQXGJ2pE8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1347110},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.16_1771267983548_0.16264601225710318","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@reactfast/forms","version":"0.1.17","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.17","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"c172fbdd0c12ae70e776ead029e3fcec12a19408","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.17.tgz","fileCount":7,"integrity":"sha512-PVa8JL4Axq6mqj2GUKUcXZrpb6HAjp7sAeMCzSkQQ4112Pa4zkYE62nxDV6CcZU5hBql7y6fNfdG+xylNWED8w==","signatures":[{"sig":"MEQCIA07Oe7c65663xOwr0Mt5MqBT0AyGan+Zzmn0mSRHUhLAiA/cu/UG+sHdlaNQIShM54ZtFV45egAQKUm27ld6wxA/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1347053},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.17_1771268180265_0.3265904118786407","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@reactfast/forms","version":"0.1.18","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.18","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"31a023477be100cac01d4c9ae9a954114c77ef2b","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.18.tgz","fileCount":7,"integrity":"sha512-IbFhsFgR7W/OUnxqOdfMCQaylUHrTR29DmMdbeOxNnh+vmyBZdtxuQBOnbT5OkrVoO53heRu/2SMuO1r1sRgGg==","signatures":[{"sig":"MEQCICfwIesWGnaUcO1hsj+yzmi/8DTaxifAAJADmyGHi3uYAiA65NTUo/AatIPhOWK8bIcydEIHn7lF12QU8RMlO85Kgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1347073},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.18_1771269295657_0.46724632507206443","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@reactfast/forms","version":"0.1.19","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.19","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"1fe1b4d97684a3db0f70d471c3fe36fd31eea16b","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.19.tgz","fileCount":7,"integrity":"sha512-v4saIDnKRvWvRkXhgpVK2+wLDqtNreK6iesjmY/TUQLrSt3zAkChpbxR/tSKq6PnL0HwfjvXYD4jzPH1ITbssA==","signatures":[{"sig":"MEUCICbvk9btBP1dUiqgYO2bslk9wDacsOdU/V0KVEAVT4YrAiEA92rGlNK65zdUGcsRmB+MiIFLYmO44V03vUt4FhHLtiA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1348017},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.19_1771273273974_0.9920705691673286","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"@reactfast/forms","version":"0.1.21","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.21","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"cbdd33da24d0c516b99d726ad28f5c01850fd458","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.21.tgz","fileCount":7,"integrity":"sha512-YItvnG/Irs49zWY/LBr4dqx27j6hH5IRZ/5MIgN2waiLXDMu2xsmmcO0mrHEPZo1vEZ+XisaH2accfzjXv6CqQ==","signatures":[{"sig":"MEUCIBNU+4/7gjgEzIIgoaDzacOZ4P8/bfe8fpKudURzBa1vAiEAwHSOUf6dibPXXu09cbI8ErDECJqxMMQYPZkLoyjWl3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1347968},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.21_1771444996746_0.6127569320015662","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@reactfast/forms","version":"0.1.22","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.22","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"a546c86d7f611ff37ccac349c9f31be5fe9614ec","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.22.tgz","fileCount":7,"integrity":"sha512-l0W97l9zBk0EXBf2DsV7NwZW01vg4gdjuUlcyfeFRiKqCEM5bJAGkYR6iGHEonkgT0DjN5zz1KnBRulZ0Ar+uw==","signatures":[{"sig":"MEQCIGM1pMhJBVZ5M429skKqOGbHmZMlpT0xsFtuScrHljzJAiBZmMG1RKozuvBZj+EBaJU3uOL77MlbD1DFzX+ZxgcDEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1349427},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.22_1771948355186_0.7574211737151406","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"@reactfast/forms","version":"0.1.23","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.23","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"12078ce05fb4c55719e421586a48c8c33e226172","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.23.tgz","fileCount":7,"integrity":"sha512-/QAJa3ftvdivWClo0REr3QBwGiH84hYyKXFvH3ET9xAhvaS4En+ebBfYIjDQ6Npnn2kh2ulDXwVHv5lE2lIVfQ==","signatures":[{"sig":"MEQCID/wL9SjMrysX/8f65/gO7l/Pu00T4mSPOhaFpd4V/6bAiAOXhZuAn7TPf4WGNF/UQqUokoHtKhhzyu5fivFnsFdcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1354185},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.23_1772665863190_0.2695324021069918","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"@reactfast/forms","version":"0.1.24","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.24","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"fa878c5df726762b112709a8f44add8209ca11b9","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.24.tgz","fileCount":7,"integrity":"sha512-lz3Yt9TR/GIOHKlslUfXG4h/hN7HgcgKPYC8oY7DXPzuXtI2po64cF9fBQbn/b5qhoacsWJiwYKU+nhCpQqyug==","signatures":[{"sig":"MEUCIFjtyGEkccyiT97LtI0UXPbyqAV4UCEWTciho+Jy09HRAiEAsHaRBTk4VDz2FE1Ry5P4l3Vqc43ucRsaFzamhetLuNk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1381812},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"5f2a0dd61faa57d68bba0c1e6860691460b9ca8c","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.24_1772666191175_0.6782983229977355","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"@reactfast/forms","version":"0.1.25","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.25","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"0229b2220cf0eb9e1c4eee87332d45f5057e24f4","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.25.tgz","fileCount":7,"integrity":"sha512-J64NV5CVzndx0v1yy6XBCPbmYa4SjpHS9w5i/BeY35AiUuIEIcXazIPRBCZPum1Wrm0TgNTW1Ve43jPTx/pXSw==","signatures":[{"sig":"MEYCIQD+dQ88qn4hLcUTZXHGGigjdp/ARcbdSNspC8+Rwt2NGgIhAN4BdsHcZEGYaW2XEufcA0HkssyEZTLkIrLiBIIi+ICI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1405014},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"55d2ac2c00bc207bd58bda4752ece1159daf79f4","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.25_1775086751775_0.12944002661774223","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"@reactfast/forms","version":"0.1.26","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.26","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"d267d85c0ff851efc0eb4e54f4b10e3d8a6c7d35","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.26.tgz","fileCount":7,"integrity":"sha512-GMMZkmET69qU84LGWhybfmgYWTQD8Ssd6JguUWq4qZtgeEB9hdT0UoGR1q8offIhfNrpBd/mESdSzlZzVlIU/g==","signatures":[{"sig":"MEQCICuGYVsoWsirxokOZ1BAKxeJ9/sNQGWyuxJLo3XKRI1cAiBT7Yg9ShAKTbBXhIsZb4JtX0Gp8XD8vT1p1tS94N/MdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1395714},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"55d2ac2c00bc207bd58bda4752ece1159daf79f4","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.26_1775151706478_0.021824638645844274","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"@reactfast/forms","version":"0.1.27","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.27","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"31781bb7e73d47a279d5ba7b30ac3cdd23c77fda","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.27.tgz","fileCount":7,"integrity":"sha512-wxacLYP9wohgo1yg3mLu4pMtq3vKDG/oU9k/QTqE/3J6iLRzEZrSZlwUprADvIPfgOdKiDxAzC4YN5+mxl0tOA==","signatures":[{"sig":"MEQCIGFPosRcFU8X1Zwc47tcqTXuQ4v3rMqqACd5KdzhAGGzAiBz9yV8eBm1LxkIpHk7aOu0ZlHwqcKtHM80y+L+i8D6HQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1410037},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"55d2ac2c00bc207bd58bda4752ece1159daf79f4","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.27_1775152243856_0.7486005170421735","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"@reactfast/forms","version":"0.1.28","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.28","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"862a96cd8c720900075586546b850aee6636aa4f","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.28.tgz","fileCount":7,"integrity":"sha512-VC6PGpO9ybJfDABMRzj3k9x/RB8zzaQnRVzQJRasQ5MW8WTlN9KxRCyPhd9n0v23345DJfUb3wJyMffu/PW5aA==","signatures":[{"sig":"MEUCIGq3rgS9gmZ8CUvbjh3WqU0wbzdz+Ehq+DvN+kAsVv4SAiEA1Mz+gfpBCJPWVQiQkV1iuuckFjXnzZHZqS1g/LmzaNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1401731},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"55d2ac2c00bc207bd58bda4752ece1159daf79f4","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.28_1775163205182_0.609761966457171","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"@reactfast/forms","version":"0.1.29","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.29","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"da10091693499235b02325c83b90e3d8556446c6","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.29.tgz","fileCount":7,"integrity":"sha512-CXM791wQe47Yxu1LQuTy6NPEd+ySy0n13RQY/NhvYMgL9x9vcXlQabQvdsWUNr0g6LZtcje4irRX9ksplMB1IA==","signatures":[{"sig":"MEYCIQCvvAqWp2+gO7583CDIKsCVC38o+5ns4zQcXebJ7YL7SgIhALPrgy3K89RzOJsO7Fs7a9pffZlMI8phJ/i2oP8CZZio","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1401663},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"55d2ac2c00bc207bd58bda4752ece1159daf79f4","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.29_1775163855001_0.16118920338192488","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"@reactfast/forms","version":"0.1.30","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.30","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"5181f3a40f24d99210f75b8d01be3733b0437931","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.30.tgz","fileCount":7,"integrity":"sha512-9vHxK59dw4Fyfr1kMRKuecSHsYujQCV+2D+yZbN+YFzx75pGnKU+ljf6QvTXJSWNgH+VqJqJp9VJ7pSyoNk0Pg==","signatures":[{"sig":"MEUCIQCQseDyspUSav7IomkAfbtk6aUq9zDrZUVb/3S6oGLSJQIgewpCIoMjLaNhKXjTjh5SIPzhdqIZN/B0U8WO330NYRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1401357},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"55d2ac2c00bc207bd58bda4752ece1159daf79f4","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.30_1778100289163_0.5310064839821038","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"@reactfast/forms","version":"0.1.31","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.31","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"cfaa9fef8871cdf37e2e189f8a76dbe37c8d8c61","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.31.tgz","fileCount":7,"integrity":"sha512-CMoRJq5Fb+EMY6wAwvgb0lCZr9sjXfwTmTOg1oUsgjdQguunPXihG6U0zddh56dp2YWqphbNIzYv1+IuPBVzDQ==","signatures":[{"sig":"MEUCIQDwx2EEL1mqgDTng5163NcR0h8cpINkP4u/6V4n7SvmrQIgJKSGLMklAJbkpXjF+b+kRumhR9qv3toEicRljABW+6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1401245},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"55d2ac2c00bc207bd58bda4752ece1159daf79f4","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.31_1778101865154_0.7968940534562277","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"@reactfast/forms","version":"0.1.32","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.32","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"06a35bbcca9b74a9a735fe861102e5b6d651b955","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.32.tgz","fileCount":7,"integrity":"sha512-PCx0HVtMNRnpygBD3HH+TWRpz2yNnQQ0PwQvaEaaVYKOXhLb6YC1n+VaEN9CPaDNhOo7w/CKxuUFiO/52VjYMA==","signatures":[{"sig":"MEQCIGAtwW5eenIecqehASnltjyLMiMayy9FkyWtZlOQIvl3AiAtb1OgRfqnK51RfrQkGVPF6+mXrfOTFGXaLQo1YAh4HA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1402279},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"55d2ac2c00bc207bd58bda4752ece1159daf79f4","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.32_1782314360159_0.632507830759165","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"@reactfast/forms","version":"0.1.33","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.33","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"3f2979cc73afeb351146f9dbc8ef71d16b57bea1","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.33.tgz","fileCount":7,"integrity":"sha512-ueg46wA/MclCVzhAwsdghBYvygPvZqSNM/ZROZX36R4GmV8OnKh3ksKw0I86+fq1pIXNQSQ1YxboFvltZy5MBg==","signatures":[{"sig":"MEQCIEEmiRnVFJIxKs3smy61GnS/CkpmitYkADM0Go290xwBAiAP6IGaaREFHbKgGHthk9aTD5tOZqODMlMGevgRK/ZeEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1401982},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"55d2ac2c00bc207bd58bda4752ece1159daf79f4","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.33_1782314920424_0.27319071031993114","host":"s3://npm-registry-packages-npm-production"}},"0.1.34":{"name":"@reactfast/forms","version":"0.1.34","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"author":{"name":"Jonathon McClendon"},"license":"MIT","_id":"@reactfast/forms@0.1.34","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"dist":{"shasum":"8a60d4d166f5bbb5ca784d3da3fdcef9fb8949b4","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.34.tgz","fileCount":7,"integrity":"sha512-qn7T9VgkaSusU0eBxxozOgs79RFjBYLipQG8Kn+uZ2uw7zeT5ie4OzhFcKFdLg4d9GMI06HMb3LTn0+Zn2HPVw==","signatures":[{"sig":"MEQCIFvkFIZo8f0Lvat8ie9/OTUdEC6hNfQATO5kWOu5vcD/AiBnNcWAEZphgp8h5TxBWuiRTiep1wy/uaog8pAiTWsPiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1404239},"main":"dist/forms.cjs","type":"module","types":"index.d.ts","module":"dist/forms.es.js","gitHead":"f10e02db36308de4e44a5939b3615811d181462f","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/forms_0.1.34_1787725028946_0.763143139401173","host":"s3://npm-registry-packages-npm-production"}},"0.1.35":{"_id":"@reactfast/forms@0.1.35","dist":{"shasum":"407266f9f790e7bb0c36822fa9fc8c6596401e46","tarball":"https://registry.npmjs.org/@reactfast/forms/-/forms-0.1.35.tgz","fileCount":7,"integrity":"sha512-NC1mNUsqTn3R2izbaCYaUMI9STzA/eQME6vQrcIi5+oOdvmnIENsbDQfRmFBE2+qvaFCKyxK09e+qkb6iTaQUA==","signatures":[{"sig":"MEUCIEWrV7TIBgAebbaOW46jJalAUzNE/mtNwUHQLqG3pGIDAiEAtuyqnGsc+NDG6vUFfvlatN4Nwo0E+VKq1as8ov9X8mE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD7bdX9BtTaIeQhxwsOuzctyeGeu/XFUDCjA7Pu/F/C7QIhALkc8S0RFMVsS+ib+Pun8BFFWY51NmTeq4GcYNp0BgUb"}],"unpackedSize":1404295},"main":"dist/forms.cjs","name":"@reactfast/forms","type":"module","types":"index.d.ts","author":{"name":"Jonathon McClendon"},"module":"dist/forms.es.js","gitHead":"f10e02db36308de4e44a5939b3615811d181462f","license":"MIT","scripts":{"dev":"vite","lint":"eslint src --ext .js,.jsx,.ts,.tsx","build":"vite build","release:major":"npm version major --no-git-tag-version && pnpm build && npm publish --access public","release:minor":"npm version minor --no-git-tag-version && pnpm build && npm publish --access public","release:patch":"npm version patch --no-git-tag-version && pnpm build && npm publish --access public"},"version":"0.1.35","_npmUser":{"name":"jonathonscott","email":"jonathonscott688@gmail.com"},"keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"_npmVersion":"10.9.3","description":"Dynamic React forms with JSON schema, modifiers, and subforms","directories":{},"maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"_nodeVersion":"22.20.0","browserslist":"defaults, not ie <= 11","dependencies":{"react-icons":"^5.2.1","signature_pad":"^5.1.1","@heroicons/react":"^2.1.3","@headlessui/react":"^2.1.0","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.0.0","vite":"^5.4.20","eslint":"^8.56.0","prettier":"^3.3.2","typescript":"^5.0.0","@types/react":"^18.3.3","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/forms_0.1.35_1789600524123_0.9209514711513429"}}},"time":{"created":"2025-11-07T23:10:13.109Z","modified":"2026-09-16T23:15:24.452Z","0.1.0":"2025-11-07T23:10:13.576Z","0.1.4":"2025-12-24T19:45:54.368Z","0.1.6":"2026-01-09T19:52:43.433Z","0.1.7":"2026-01-09T19:59:13.514Z","0.1.8":"2026-01-09T20:05:32.183Z","0.1.9":"2026-01-09T20:53:16.885Z","0.1.10":"2026-01-09T21:11:19.031Z","0.1.11":"2026-01-09T21:18:21.970Z","0.1.13":"2026-02-16T17:53:08.435Z","0.1.14":"2026-02-16T18:37:10.665Z","0.1.16":"2026-02-16T18:53:03.755Z","0.1.17":"2026-02-16T18:56:20.489Z","0.1.18":"2026-02-16T19:14:55.847Z","0.1.19":"2026-02-16T20:21:14.209Z","0.1.21":"2026-02-18T20:03:16.934Z","0.1.22":"2026-02-24T15:52:35.434Z","0.1.23":"2026-03-04T23:11:03.366Z","0.1.24":"2026-03-04T23:16:31.432Z","0.1.25":"2026-04-01T23:39:11.975Z","0.1.26":"2026-04-02T17:41:46.762Z","0.1.27":"2026-04-02T17:50:44.031Z","0.1.28":"2026-04-02T20:53:25.412Z","0.1.29":"2026-04-02T21:04:15.255Z","0.1.30":"2026-05-06T20:44:49.340Z","0.1.31":"2026-05-06T21:11:05.374Z","0.1.32":"2026-06-24T15:19:20.303Z","0.1.33":"2026-06-24T15:28:40.595Z","0.1.34":"2026-08-26T06:17:09.101Z","0.1.35":"2026-09-16T23:15:24.274Z"},"author":{"name":"Jonathon McClendon"},"license":"MIT","keywords":["react","forms","dynamic-forms","json-schema","react-components","form-builder","validation","subforms"],"description":"Dynamic React forms with JSON schema, modifiers, and subforms","maintainers":[{"name":"jonathonscott","email":"jonathonscott688@gmail.com"}],"readme":"# 🎛️ @reactfast/forms\n\ntest auto publish\n\n**Dynamic React forms powered by JSON schemas, modifiers, and subforms.**  \nCreate complex, adaptive form systems without boilerplate — designed for scale, simplicity, and composability.\n\n[![npm version](https://img.shields.io/npm/v/@reactfast/forms.svg)](https://www.npmjs.com/package/@reactfast/forms)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Build](https://github.com/jonathonmcclendon/NovaForms/actions/workflows/build.yml/badge.svg)](https://github.com/jonathonmcclendon/NovaForms/actions)\n[![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](https://github.com/jonathonmcclendon/NovaForms/issues)\n\n### 📚 [**View Live Documentation**](https://nova-forms-next.vercel.app/) 📚\n\n---\n\n## ⚙️ Installation\n\n```bash\nnpm install @reactfast/forms\n# or\nyarn add @reactfast/forms\n```\n\nCtrlForm requires **React 18+** and **React DOM 18+** as peer dependencies.\n\n---\n\n## 🚀 Quick Start\n\nThe simplest way to get started:\n\n```jsx\nimport { useState } from \"react\";\nimport { Form, createFormHandler } from \"@reactfast/forms\";\n\nconst fields = [\n  { name: \"firstName\", title: \"First Name\", type: \"string\", width: 50 },\n  { name: \"lastName\", title: \"Last Name\", type: \"string\", width: 50 },\n  { name: \"email\", title: \"Email\", type: \"email\", width: 100 },\n  { name: \"subscribe\", title: \"Subscribe?\", type: \"boolean\", width: 100 },\n];\n\nexport default function App() {\n  const [formData, setFormData] = useState({});\n\n  const handleChange = createFormHandler({\n    fields,\n    setState: setFormData,\n  });\n\n  return <Form fields={fields} onChange={handleChange} formData={formData} />;\n}\n```\n\n---\n\n## ✨ Features\n\n- ⚡ **Controlled forms** — simple `value`/`onChange` pattern like React inputs\n- 🧩 **Composable** — each field is a reusable React component\n- 🔄 **Advanced conditional logic** — dynamic show/hide, disable, and field dependencies\n- 📱 **Responsive layout** — automatic width handling with Tailwind classes\n- 🧱 **Subforms & arrays** — nested or repeated field groups are first-class citizens\n- 🎨 **Theming-ready** — customize UI with Tailwind or your own design system\n- 🔌 **Extensible** — register your own field components via `registerField()`\n- 🧠 **Smart rules system** — powerful top-level rules with field-level triggers\n- 🔢 **Math operations** — automatic calculations with add, subtract, multiply, divide\n- 📝 **String operations** — concatenation and text manipulation\n- ✅ **Pattern validation** — client-side regex validation with custom messages\n- 🎯 **Multiple field types** — 20+ built-in field types from text to file uploads\n\n---\n\n## 🎯 Built-in Field Types\n\nNova Forms comes with 20+ field types ready to use:\n\n| Type           | Description                 | Example                                     |\n| -------------- | --------------------------- | ------------------------------------------- |\n| `string`       | Text input                  | `{ type: \"string\", title: \"Name\" }`         |\n| `text`         | Textarea                    | `{ type: \"text\", title: \"Description\" }`    |\n| `email`        | Email input with validation | `{ type: \"email\", title: \"Email\" }`         |\n| `tel`          | Phone number input          | `{ type: \"tel\", title: \"Phone\" }`           |\n| `url`          | URL input                   | `{ type: \"url\", title: \"Website\" }`         |\n| `number`       | Number input                | `{ type: \"number\", title: \"Age\" }`          |\n| `boolean`      | Checkbox                    | `{ type: \"boolean\", title: \"Subscribe\" }`   |\n| `toggle`       | Toggle switch               | `{ type: \"toggle\", title: \"Enable\" }`       |\n| `date`         | Date picker                 | `{ type: \"date\", title: \"Birth Date\" }`     |\n| `datetime`     | Date and time picker        | `{ type: \"datetime\", title: \"Event Time\" }` |\n| `time`         | Time picker                 | `{ type: \"time\", title: \"Start Time\" }`     |\n| `color`        | Color picker                | `{ type: \"color\", title: \"Theme Color\" }`   |\n| `select`       | Single select dropdown      | `{ type: \"select\", options: [...] }`        |\n| `multiselect`  | Multi-select dropdown       | `{ type: \"multiselect\", options: [...] }`   |\n| `radio`        | Radio button group          | `{ type: \"radio\", options: [...] }`         |\n| `file`         | File upload                 | `{ type: \"file\", title: \"Upload\" }`         |\n| `fileV2`       | Enhanced file upload        | `{ type: \"fileV2\", title: \"Photo\" }`        |\n| `uploadToBase` | Base64 image upload         | `{ type: \"uploadToBase\", title: \"Avatar\" }` |\n| `array`        | Dynamic subform/array       | `{ type: \"array\", fields: [...] }`          |\n| `subForm`      | Nested form group           | `{ type: \"subForm\", fields: [...] }`        |\n| `signature`    | Signature pad               | `{ type: \"signature\", title: \"Signature\" }` |\n| `rating`       | Star rating                 | `{ type: \"rating\", title: \"Rating\" }`       |\n| `scale`        | Likert scale                | `{ type: \"scale\", title: \"Satisfaction\" }`  |\n| `captcha`      | reCAPTCHA                   | `{ type: \"captcha\" }`                       |\n| `header`       | Section header              | `{ type: \"header\", title: \"Section\" }`      |\n| `paragraph`    | Static text                 | `{ type: \"paragraph\", content: \"Text\" }`    |\n| `image`        | Static image                | `{ type: \"image\", image: { src: \"...\" } }`  |\n\n---\n\n## 🧩 Example: Registering Custom Fields\n\nYou can extend Nova Forms with your own field types:\n\n```jsx\nimport { registerField } from \"@reactfast/forms\";\n\nfunction QRCodeScannerField({ field, value, onChange }) {\n  return (\n    <div>\n      <p>Scan QR Code for {field.title}</p>\n      {/* Your scanner logic */}\n    </div>\n  );\n}\n\nregisterField(\"qrScanner\", QRCodeScannerField);\n```\n\nNow use it in your fields array:\n\n```jsx\nconst fields = [\n  {\n    name: \"eventCheckIn\",\n    title: \"Check In\",\n    type: \"qrScanner\",\n    width: 100,\n  },\n];\n```\n\n---\n\n## 🧠 API Overview\n\n### `Form`\n\nRenders a form based on your field array with integrated modifiers and conditions.\n\n| Prop           | Type                   | Description                             |\n| -------------- | ---------------------- | --------------------------------------- |\n| `fields`       | `array`                | Array of field definitions              |\n| `onChange`     | `function`             | Change handler (from createFormHandler) |\n| `formData`     | `object`               | Form data object from parent state      |\n| `theme`        | `object` _(optional)_  | Custom theme overrides                  |\n| `isMobileView` | `boolean` _(optional)_ | Force mobile layout (full width)        |\n\n### `createFormHandler`\n\nCreates a change handler that manages state and applies modifiers.\n\n| Prop       | Type                 | Description                                  |\n| ---------- | -------------------- | -------------------------------------------- |\n| `fields`   | `array`              | Array of field definitions                   |\n| `setState` | `function`           | React setState function                      |\n| `rules`    | `array` _(optional)_ | Top-level rules referenced by field triggers |\n\n### Field Schema\n\nEach field object supports:\n\n| Property                  | Type                                                      | Description                                       |\n| ------------------------- | --------------------------------------------------------- | ------------------------------------------------- |\n| `name`                    | `string`                                                  | Field name (required)                             |\n| `type`                    | `string`                                                  | Field type (string, email, boolean, etc.)         |\n| `title`                   | `string`                                                  | Display label (preferred over `label`)            |\n| `label`                   | `string`                                                  | Display label (legacy, use `title`)               |\n| `width`                   | `number`                                                  | Width percentage (25, 50, 75, 100)                |\n| `default`                 | `any`                                                     | Default value                                     |\n| `readOnly`                | `boolean`                                                 | Make field read-only                              |\n| `required`                | `boolean`                                                 | Mark field as required                            |\n| `placeholder`             | `string`                                                  | Placeholder text                                  |\n| `description`             | `string`                                                  | Help text below field                             |\n| `helper`                  | `string`                                                  | Additional help text                              |\n| `error`                   | `string`                                                  | Error message to display                          |\n| `leadingIcon`             | `Component`                                               | Icon component before input                       |\n| `trailingIcon`            | `Component`                                               | Icon component after input                        |\n| `modifiers`               | `array`                                                   | (Legacy) field-local modifiers for values         |\n| `triggers`                | `array`                                                   | Triggers that reference top-level rules           |\n| `conditions.hiddenWhen`   | `array or object`                                         | Conditions to hide (rendered with `hidden` class) |\n| `conditions.hiddenMode`   | `any or all`                                              | Mode for hidden conditions (default any)          |\n| `conditions.readOnlyWhen` | `array or object`                                         | Conditions to set readOnly                        |\n| `conditions.readOnlyMode` | `any or all`                                              | Mode for readOnly conditions (default any)        |\n| `pattern`                 | `RegExp \\| string \\| Array<{ regex, message } \\| string>` | Client-side pattern checks with messages          |\n| `options`                 | `array`                                                   | Options for select, radio, multiselect fields     |\n| `fields`                  | `array`                                                   | Sub-fields for array/subForm types                |\n\n### Modifiers (legacy)\n\nField-local modifiers automatically update dependent field values. These are still supported for backward compatibility, but the preferred approach is to use top-level rules and field-level triggers.\n\n```jsx\n{\n  name: \"firstName\",\n  type: \"string\",\n  modifiers: [\n    {\n      target: \"fullName\",\n      type: \"concat\",\n      when: \"true\",\n      value: \" \" // adds space\n    }\n  ]\n}\n```\n\n### Conditions\n\nControl field visibility and state:\n\n```jsx\n{\n  name: \"subscribe\",\n  type: \"boolean\",\n  conditions: {\n    hiddenWhen: {\n      field: \"age\",\n      when: \"less than\",\n      value: 18\n    }\n  }\n}\n```\n\n---\n\n### Rules & Triggers\n\n- Rules live at the top level and have unique names. A rule contains one or more effects that target a field and either change its value or attributes.\n- Triggers live on fields and reference a rule by name. When the trigger's conditions match, the rule's effects are applied.\n- Value effects are applied inside `createFormHandler`. Attribute effects (e.g., `hidden`, `readOnly`, `title`) are applied in `NovaForm`.\n\nRules shape:\n\n```js\nconst rules = [\n  {\n    name: \"fullNameRule\",\n    effects: [\n      {\n        targetField: \"displayName\",\n        prop: \"value\",\n        type: \"concat\",\n        kind: \"string\",\n        value: \" \",\n      },\n      { targetField: \"age\", prop: \"readOnly\", value: true },\n    ],\n  },\n];\n```\n\nTrigger shape on a field:\n\n```js\n{\n  name: \"firstName\",\n  type: \"string\",\n  triggers: [\n    {\n      rule: \"fullNameRule\",\n      when: [\n        { field: \"firstName\", when: \"not empty\" },\n        { field: \"lastName\", when: \"not empty\" },\n      ],\n      mode: \"all\", // all = AND, any = OR (default)\n    },\n  ],\n}\n```\n\nPass `rules` to both `createFormHandler` and `Form`:\n\n```jsx\nconst handleChange = createFormHandler({\n  fields,\n  rules,\n  setState: setFormData,\n});\n\n<Form\n  fields={fields}\n  rules={rules}\n  onChange={handleChange}\n  formData={formData}\n/>;\n```\n\nHidden fields remain mounted and use Tailwind's `hidden` class so values still update.\n\n---\n\n## 🧱 Architecture Overview\n\nNova Forms is organized for **extensibility** and **maintainability**:\n\n```\nsrc/\n├── core/              → field registry and evaluation\n├── formFields/        → built-in field components\n├── handlers/          → form handlers and modifiers\n├── utils/             → shared utilities\n├── NovaForm.jsx       → main form component\n└── returnFields.jsx   → field renderer\n```\n\n---\n\n## 🔄 Migration from Manual Field Mapping\n\nIf you're currently mapping fields manually:\n\n**Before:**\n\n```jsx\nimport {\n  ReturnFieldsV2,\n  createFormHandler,\n  initializeFormData,\n} from \"@reactfast/forms\";\n\nconst [formData, setFormData] = useState(() => initializeFormData(fields));\nconst handleChange = createFormHandler({ fields, setState: setFormData });\n\nreturn (\n  <div className=\"-mx-2 flex flex-wrap\">\n    {fields.map((field) => (\n      <div\n        key={field.name}\n        className={`${getWidthClass(field.width)} mb-4 px-2`}\n      >\n        <ReturnFieldsV2\n          field={field}\n          value={formData[field.name]}\n          onChange={handleChange}\n        />\n      </div>\n    ))}\n  </div>\n);\n```\n\n**After:**\n\n```jsx\nimport { Form, createFormHandler } from \"@reactfast/forms\";\n\nconst [formData, setFormData] = useState({});\nconst handleChange = createFormHandler({ fields, setState: setFormData });\n\nreturn <Form fields={fields} onChange={handleChange} formData={formData} />;\n```\n\n---\n\n## 📚 Documentation\n\nFor comprehensive guides and examples, see our documentation:\n\n- **Live Documentation**: [nova-forms-next.vercel.app](https://nova-forms-next.vercel.app/)\n- **Docs Repository**: [jonathonmcclen/NovaForms-Next](https://github.com/jonathonmcclen/NovaForms-Next)\n\n- **[Introduction](documentation/intro.md)** - Complete overview of Nova Forms\n- **[Quick Start](documentation/quickstart.md)** - Get up and running quickly\n- **[createFormHandler](documentation/createFormHandler.md)** - Understanding the form handler system\n- **[Fields & Schemas](documentation/fields-schemas.md)** - Complete field reference and schema guide\n- **[Rules System](documentation/rules.md)** - Advanced rules and effects\n- **[Triggers & Conditions](documentation/triggers.md)** - Conditional logic and triggers\n- **[Dynamic Hide](documentation/dynamic-hide.md)** - Show/hide fields dynamically\n- **[Dynamic Disable](documentation/dynamic-disable.md)** - Enable/disable fields dynamically\n- **[Custom Fields](documentation/custom-fields.md)** - Creating and registering custom field types\n- **[Styling with Tailwind](documentation/styling-tailwind.md)** - Tailwind CSS integration\n- **[Theme Styling](documentation/styling-theme.md)** - Custom theming system\n\n---\n\n## 🤝 Contributing\n\nWe welcome pull requests and feature suggestions!\n\n1. Fork the repo\n2. Create a feature branch\n\n   ```bash\n   git checkout -b feature/your-feature\n   ```\n\n3. Commit your changes\n\n   ```bash\n   git commit -m \"Add new feature\"\n   ```\n\n4. Push to your branch\n\n   ```bash\n   git push origin feature/your-feature\n   ```\n\n5. Open a pull request\n\n> 🔒 Only approved code owners can merge to main.\n> See `.github/CODEOWNERS` for details.\n\n---\n\n## 🪪 License\n\nLicensed under the [MIT License](LICENSE).\nCopyright © 2025 [Jonathon McClendon](https://github.com/jonathonmcclendon)\n\n---\n\n## 💡 Maintained by\n\n**Jonathon McClendon**\nCreator of Nova Forms — building high-performance tools for scalable React ecosystems.\n\n---\n\n### 🌟 Support the Project\n\nIf Nova Forms helps you ship faster or cleaner React code:\n\n- ⭐ Star the repo\n- 🐛 Open an issue for bugs or feature ideas\n- 💬 Share it with other developers\n\n---\n\n> _\"A form library that feels invisible — flexible, composable, and future-proof.\"_\n\n---\n\n### 🧭 Next Steps (Roadmap Ideas)\n\n- [ ] Advanced validation layer (Yup / Zod integration)\n- [ ] Enhanced theming system (context-aware)\n- [ ] Multi-Step Forms / Wizard support\n- [ ] TypeScript definitions (optional)\n\n---\n","readmeFilename":"README.md"}