{"_id":"@astroapps/schemas-recaptcha","_rev":"3-955df8c9ec5f8bcd704de8730533b361","name":"@astroapps/schemas-recaptcha","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@astroapps/schemas-recaptcha","version":"1.0.0","author":{"name":"Astrolabe Enterprises"},"license":"ISC","_id":"@astroapps/schemas-recaptcha@1.0.0","maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"dist":{"shasum":"0f4624b618f93c5e867921039060c89ea025caea","tarball":"https://registry.npmjs.org/@astroapps/schemas-recaptcha/-/schemas-recaptcha-1.0.0.tgz","fileCount":8,"integrity":"sha512-exiyJMFceTw+132w/Aww6nwa2QMdA7fONOq13M05PFZR0uX27PYJmVlAC8N7PuuiaCdHQTDyQZnZv0cHblz7cg==","signatures":[{"sig":"MEQCIA7hVxEqHfnzdYoZYUrBF/0Q8G8iIX9Tg18oWYS+9G0vAiAhdxGsptOEWye2u739T1ISr7VCINDF76PGP9Ls1Ry7mA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35296},"main":"lib/index.cjs","type":"module","_from":"file:astroapps-schemas-recaptcha-1.0.0.tgz","types":"lib/index.d.ts","module":"lib/index.js","exports":{"types":"./lib/index.d.ts","default":"./lib/index.js","require":"./lib/index.cjs"},"gitHead":"68a9438e3e8d760ae455a72a47c9e35784d995ae","scripts":{"build":"rimraf ./lib/ ./node_modules/.cache && microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment","watch":"microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"},"_npmUser":{"name":"doolse","email":"doolse@gmail.com"},"_resolved":"/tmp/017d0dfabee24547acdb1d3ce6ef647c/astroapps-schemas-recaptcha-1.0.0.tgz","_integrity":"sha512-exiyJMFceTw+132w/Aww6nwa2QMdA7fONOq13M05PFZR0uX27PYJmVlAC8N7PuuiaCdHQTDyQZnZv0cHblz7cg==","_npmVersion":"11.6.2","description":"Google reCAPTCHA captcha control for @react-typed-forms/schemas","directories":{},"_nodeVersion":"24.12.0","dependencies":{"clsx":"^2","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0 || ^19","rimraf":"^5.0.7","prettier":"^3.0.3","typescript":"^5.6.2","microbundle":"^0.15.1","@types/react":"^18.2.37","@react-typed-forms/core":"^4.4.0","@react-typed-forms/schemas":"^17.0.0","@react-typed-forms/transform":"^0.2.0","@types/react-google-recaptcha":"^2.1.9"},"peerDependencies":{"react":"^18.2.0 || ^19","@react-typed-forms/core":"^4.4.0","@react-typed-forms/schemas":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/schemas-recaptcha_1.0.0_1768877328158_0.03761425941843877","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@astroapps/schemas-recaptcha","version":"1.0.1","author":{"name":"Astrolabe Enterprises"},"license":"ISC","_id":"@astroapps/schemas-recaptcha@1.0.1","maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"dist":{"shasum":"2770613ba1b34f63b47f96e7b3fcf52a26a42edd","tarball":"https://registry.npmjs.org/@astroapps/schemas-recaptcha/-/schemas-recaptcha-1.0.1.tgz","fileCount":11,"integrity":"sha512-Nxtug2g7CC8jJQBcp+4KzfzRYrFwLefBbVgN+vr13Z+duyWrAkwA9E/aIz3FFpzZeKofZQxPM2WmHxbdWDy/oA==","signatures":[{"sig":"MEUCIDGF5jEuNO2xL1jIJ/ABtto+MK5/1Qf0LLtW3vi+ir4vAiEAmDYKW9NJenvUmDMNn2f5WucRWwV/PCZypeAK/df0MwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36224},"main":"lib/index.cjs","type":"module","_from":"file:astroapps-schemas-recaptcha-1.0.1.tgz","types":"lib/index.d.ts","module":"lib/index.js","exports":{"types":"./lib/index.d.ts","default":"./lib/index.js","require":"./lib/index.cjs"},"gitHead":"23e86fbab1ecde06a74d1a3f2718a3b32a873fdc","scripts":{"build":"rimraf ./lib/ ./node_modules/.cache && microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment","watch":"microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"},"_npmUser":{"name":"doolse","email":"doolse@gmail.com"},"_resolved":"/tmp/648cf2c0257e538e00f3ff6c56465ccd/astroapps-schemas-recaptcha-1.0.1.tgz","_integrity":"sha512-Nxtug2g7CC8jJQBcp+4KzfzRYrFwLefBbVgN+vr13Z+duyWrAkwA9E/aIz3FFpzZeKofZQxPM2WmHxbdWDy/oA==","_npmVersion":"11.6.1","description":"Google reCAPTCHA captcha control for @react-typed-forms/schemas","directories":{},"_nodeVersion":"24.11.0","dependencies":{"clsx":"^2","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0 || ^19","rimraf":"^5.0.7","prettier":"^3.0.3","typescript":"^5.6.2","microbundle":"^0.15.1","@types/react":"^18.2.37","@react-typed-forms/core":"^4.4.0","@react-typed-forms/schemas":"^18.0.0","@react-typed-forms/transform":"^0.2.0","@types/react-google-recaptcha":"^2.1.9"},"peerDependencies":{"react":"^18.2.0 || ^19","@react-typed-forms/core":"^4.4.0","@react-typed-forms/schemas":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/schemas-recaptcha_1.0.1_1778202750459_0.39667244850414796","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"_id":"@astroapps/schemas-recaptcha@2.0.0","bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"dist":{"shasum":"c3bf1115e680bb237c5f651e6214cbcce87a37df","tarball":"https://registry.npmjs.org/@astroapps/schemas-recaptcha/-/schemas-recaptcha-2.0.0.tgz","fileCount":11,"integrity":"sha512-j1ktsI7Y6lzeG6Gf9kMkFiW9AZYwA2uFInd4Mty5t0AlLqEjNZoLwFIxnwf5RW7bBxvkqotnB9weaxt4N3V1Mg==","signatures":[{"sig":"MEUCIFj2ivuPlIoO+/nq4Q+Svm50mtg1W4YiHn4Mvz4d9waTAiEAhbIOQWOMHVslRUp3ocat+0v1PRzn/65SsgdC/gXk/Lc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDoBpUAhZcC1iVz4nbzzf/Qs7gNT5owrjy3W8mPg8HlQQIgYqy1a14Fq40KqA+GOA3KlcFsgo3MoyGhk9bRGkBVl5k="}],"unpackedSize":37445},"main":"lib/index.cjs","name":"@astroapps/schemas-recaptcha","type":"module","_from":"file:astroapps-schemas-recaptcha-2.0.0.tgz","types":"lib/index.d.ts","author":{"name":"Astrolabe Enterprises"},"module":"lib/index.js","exports":{"types":"./lib/index.d.ts","default":"./lib/index.js","require":"./lib/index.cjs"},"gitHead":"53c623dc38a2e9ed167751ed99ea67f93c981bba","license":"ISC","scripts":{"build":"rimraf ./lib/ ./node_modules/.cache && microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment","watch":"microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"},"version":"2.0.0","_npmUser":{"name":"doolse","email":"doolse@gmail.com"},"homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","_resolved":"/tmp/a97a8490eb3a8032b94b046126a1961d/astroapps-schemas-recaptcha-2.0.0.tgz","_integrity":"sha512-j1ktsI7Y6lzeG6Gf9kMkFiW9AZYwA2uFInd4Mty5t0AlLqEjNZoLwFIxnwf5RW7bBxvkqotnB9weaxt4N3V1Mg==","_npmVersion":"11.6.2","description":"Google reCAPTCHA captcha control for @react-typed-forms/schemas","directories":{},"maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"_nodeVersion":"24.11.1","dependencies":{"clsx":"^2","react-google-recaptcha":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0 || ^19","rimraf":"^5.0.7","prettier":"^3.0.3","typescript":"^5.6.2","microbundle":"^0.15.1","@types/react":"^18.2.37","@react-typed-forms/core":"^5.0.0","@react-typed-forms/schemas":"^19.0.0","@react-typed-forms/transform":"^0.2.0","@types/react-google-recaptcha":"^2.1.9"},"peerDependencies":{"react":"^18.2.0 || ^19","@react-typed-forms/core":"^5.0.0","@react-typed-forms/schemas":"^19.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/schemas-recaptcha_2.0.0_1790230033537_0.4315821562191462"}}},"time":{"created":"2026-01-20T02:48:48.055Z","modified":"2026-09-24T06:07:13.762Z","1.0.0":"2026-01-20T02:48:48.300Z","1.0.1":"2026-05-08T01:12:30.626Z","2.0.0":"2026-09-24T06:07:13.609Z"},"bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"author":{"name":"Astrolabe Enterprises"},"license":"ISC","homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","description":"Google reCAPTCHA captcha control for @react-typed-forms/schemas","maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"readme":"# @astroapps/schemas-recaptcha\n\nGoogle reCAPTCHA v2 control for `@react-typed-forms/schemas`.\n\n## Installation\n\n```bash\nnpm install @astroapps/schemas-recaptcha\n```\n\n## Usage\n\n```tsx\nimport { createRecaptchaRenderer, RecaptchaExtension } from \"@astroapps/schemas-recaptcha\";\n\n// Add the extension to your form editor\nconst extensions = [RecaptchaExtension];\n\n// Add the renderer to your form renderer\nconst renderer = createFormRenderer([\n  createRecaptchaRenderer({\n    sitekey: \"your-site-key\",\n  }),\n  // ... other renderers\n]);\n```\n\n## Options\n\n### Renderer Options\n\n| Option           | Type | Description |\n|------------------|------|-------------|\n| `sitekey`        | `string` | Default site key (can be overridden per-field) |\n| `theme`          | `\"light\" \\| \"dark\"` | Widget theme (default: `\"light\"`) |\n| `size`           | `\"normal\" \\| \"compact\" \\| \"invisible\"` | Widget size (default: `\"normal\"`) |\n| `badge`          | `\"bottomright\" \\| \"bottomleft\" \\| \"inline\"` | Badge position for invisible reCAPTCHA |\n| `containerClass` | `string` | CSS class for the container element |\n\n### Field Options (in schema editor)\n\n- **Site Key**: Override the default site key\n- **Theme**: Light or Dark\n- **Size**: Normal, Compact, or Invisible\n- **Badge Position**: For invisible mode positioning\n- **Challenge Type**: Image or Audio preference\n\n## Test Keys\n\nFor development and testing, you can use Google's test keys:\n\n| Key | Value |\n|-----|-------|\n| Site Key | `6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI` |\n| Secret Key | `6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe` |\n\nThese keys will always pass verification and should only be used for testing.\n\n## Server-side Verification\n\nThe control stores the verification token in the form control value. This token should be verified server-side using Google's siteverify API:\n\n```bash\nPOST https://www.google.com/recaptcha/api/siteverify\n  secret=your-secret-key\n  response=token-from-client\n```\n\nSee [Google's reCAPTCHA documentation](https://developers.google.com/recaptcha/docs/verify) for more details.\n","readmeFilename":"README.md"}