{"version":3,"file":"injectGoogleReCaptchaScript.cjs","sources":["../../../src/helpers/injectGoogleReCaptchaScript.ts"],"sourcesContent":["import type { GoogleReCaptcha } from '../types';\n\nimport { generateGoogleReCaptchaScriptSrc } from './generateGoogleReCaptchaScriptSrc';\n\ninterface InjectGoogleReCaptchaScriptParams extends GoogleReCaptcha.Script {\n  badge?: Exclude<GoogleReCaptcha.Badge, 'hidden'>;\n  hl?: string;\n  host?: GoogleReCaptcha.Host;\n  isEnterprise?: boolean;\n  render: string;\n  onload: () => void;\n}\n\n/**\n * Injects the Google ReCaptcha script into the DOM.\n *\n * @param {InjectGoogleReCaptchaScriptParams} params - The parameters for injecting the script.\n * @param {Function} params.onload - The callback function to execute when the script has finished loading.\n * @param {string} [params.appendTo] - The element to which the script should be appended.\n * @param {boolean} [params.isEnterprise] - Indicates whether the ReCaptcha is an enterprise version.\n * @param {string} [params.host] - The host URL for the ReCaptcha.\n * @param {string} [params.render] - The rendering method for the ReCaptcha.\n * @param {string} [params.badge] - The badge position for the ReCaptcha.\n * @param {string} [params.hl] - The language code for the ReCaptcha.\n * @return {void} This function does not return a value.\n */\nexport const injectGoogleReCaptchaScript = ({\n  onload,\n  appendTo = 'head',\n  isEnterprise = false,\n  host,\n  render,\n  badge,\n  hl,\n  ...params\n}: InjectGoogleReCaptchaScriptParams) => {\n  const googleReCaptchaSrc = generateGoogleReCaptchaScriptSrc({\n    host,\n    isEnterprise,\n    render,\n    hl,\n    badge\n  });\n\n  const script = document.createElement('script');\n\n  Object.entries(params).forEach(([key, value]) => {\n    script.setAttribute(key, value?.toString() ?? '');\n  });\n\n  script.src = googleReCaptchaSrc;\n  script.onload = onload;\n\n  document[appendTo].appendChild(script);\n};\n"],"names":["injectGoogleReCaptchaScript","onload","appendTo","isEnterprise","host","render","badge","hl","params","googleReCaptchaSrc","generateGoogleReCaptchaScriptSrc","script","key","value"],"mappings":"0IA0BaA,EAA8B,CAAC,CAC1C,OAAAC,EACA,SAAAC,EAAW,OACX,aAAAC,EAAe,GACf,KAAAC,EACA,OAAAC,EACA,MAAAC,EACA,GAAAC,EACA,GAAGC,CACL,IAAyC,CACvC,MAAMC,EAAqBC,EAAAA,iCAAiC,CAC1D,KAAAN,EACA,aAAAD,EACA,OAAAE,EACA,GAAAE,EACA,MAAAD,CAAA,CACD,EAEKK,EAAS,SAAS,cAAc,QAAQ,EAE9C,OAAO,QAAQH,CAAM,EAAE,QAAQ,CAAC,CAACI,EAAKC,CAAK,IAAM,CAC/CF,EAAO,aAAaC,EAAKC,GAAO,SAAA,GAAc,EAAE,CAClD,CAAC,EAEDF,EAAO,IAAMF,EACbE,EAAO,OAASV,EAEhB,SAASC,CAAQ,EAAE,YAAYS,CAAM,CACvC"}