import{b as i}from"./components-bhnhfXrR.js";import{a as s,c as a}from"./vue-CNz3Gjml.js";const d={props:{modelValue:String,ready:{type:Boolean,default:!1}},data(){return{complete:!1,rendered:!1,responseKey:"",widgetId:null,onCompleteCallback:()=>{}}},computed:{_uid(){let e=100;return"turnstile-"+Math.floor(Math.random()*(1e4-e)+e)}},watch:{ready:{handler(e){e&&this.render()},immediate:!0}},methods:{render(){if(typeof window.turnstile>"u")return setTimeout(this.render,100);this.rendered&&this.widgetId&&window.turnstile.reset(this.widgetId),this.widgetId=window.turnstile.render("#"+this._uid,{sitekey:this.$page.props.recaptchaKey,callback:this.onComplete}),this.rendered=!0},onComplete(e){this.responseKey=e,this.complete=!0,this.$emit("update:modelValue",e),this.$emit("completed",e),this.onCompleteCallback(e)}}},o=["id","data-sitekey"];function n(e,t,l,p,c,r){return s(),a("div",{id:r._uid,class:"cf-turnstile","data-sitekey":e.$page.props.recaptchaKey},null,8,o)}const h=i(d,[["render",n]]);export{h as R};