{"id":21381161,"url":"https://github.com/zecat/google-recaptcha","last_synced_at":"2025-04-15T17:42:31.988Z","repository":{"id":57741659,"uuid":"91282579","full_name":"Zecat/google-recaptcha","owner":"Zecat","description":"A Polymer element for google recaptcha V2 and invisible (Polymer 1.9 - 2.x)","archived":false,"fork":false,"pushed_at":"2017-08-01T13:46:21.000Z","size":2928,"stargazers_count":5,"open_issues_count":8,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T10:12:09.420Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.webcomponents.org/element/Zecat/google-recaptcha","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Zecat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-15T01:18:18.000Z","updated_at":"2018-03-10T23:25:16.000Z","dependencies_parsed_at":"2022-09-09T07:23:52.453Z","dependency_job_id":null,"html_url":"https://github.com/Zecat/google-recaptcha","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zecat%2Fgoogle-recaptcha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zecat%2Fgoogle-recaptcha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zecat%2Fgoogle-recaptcha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zecat%2Fgoogle-recaptcha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zecat","download_url":"https://codeload.github.com/Zecat/google-recaptcha/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249121475,"owners_count":21216129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T10:44:41.768Z","updated_at":"2025-04-15T17:42:31.967Z","avatar_url":"https://github.com/Zecat.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://www.webcomponents.org/element/Zecat/google-recaptcha)\n\n# \\\u003cgoogle-recaptcha\\\u003e\n\nA Polymer element for google recaptcha V2 and invisible.\n\n\u003c!--\n```\n\u003ccustom-element-demo height=\"500\"\u003e\n\u003ctemplate\u003e\n\u003clink rel=\"import\" href=\"google-recaptcha.html\"\u003e\n\u003clink rel=\"import\" href=\"../promise-polyfill/promise-polyfill-lite.html\"\u003e\n\u003cnext-code-block\u003e\u003c/next-code-block\u003e\n\u003c/template\u003e\n\u003c/custom-element-demo\u003e\n```\n--\u003e\n```html\n\u003cdom-bind\u003e\n  \u003ctemplate is=\"dom-bind\"\u003e\n    \u003cgoogle-recaptcha\n      force-in-body\n      value=\"{{token}}\"\n      sitekey=\"6LdHISEUAAAAAN0FxtC5OBGQv-zrtj1tQ1Z_KUWf\"\n    \u003e\u003c/google-recaptcha\u003e\n    \u003cspan\u003e[[token]]\u003c/span\u003e\n  \u003c/template\u003e\n\u003c/dom-bind\u003e\n```\n\n## Install\n```\n  bower install -S Zecat/google-recaptcha\n```\n\n## Notes\n\n- Promise polyfill is a dev dependency.\n- Visit [https://www.google.com/recaptcha/admin](https://www.google.com/recaptcha/admin) to get a sitekey.\n\n## Shadow DOM work-around\n\nBy-design, the google recaptcha doesn't work inside shadow dom, so we detect\nwhen it has a ShadowRoot parent and if so, the recaptcha is placed in a\ncontainer light DOM, which sync its size and screen position with its original\n\\\u003cgoogle-recaptcha\\\u003e parent, and the container is moved into the body.\nThe container is refit every time the user scroll or the \\\u003cgoogle-recaptcha\\\u003e is\nnotified of resize. This is an expensive task but the only solution so far.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzecat%2Fgoogle-recaptcha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzecat%2Fgoogle-recaptcha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzecat%2Fgoogle-recaptcha/lists"}