{"version":3,"file":"injectGoogleReCaptchaScript.mjs","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":";AA0BO,MAAMA,IAA8B,CAAC;AAAA,EAC1C,QAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,cAAAC,IAAe;AAAA,EACf,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,IAAAC;AAAA,EACA,GAAGC;AACL,MAAyC;AACvC,QAAMC,IAAqBC,EAAiC;AAAA,IAC1D,MAAAN;AAAA,IACA,cAAAD;AAAA,IACA,QAAAE;AAAA,IACA,IAAAE;AAAA,IACA,OAAAD;AAAA,EAAA,CACD,GAEKK,IAAS,SAAS,cAAc,QAAQ;AAE9C,SAAO,QAAQH,CAAM,EAAE,QAAQ,CAAC,CAACI,GAAKC,CAAK,MAAM;AAC/C,IAAAF,EAAO,aAAaC,GAAKC,GAAO,SAAA,KAAc,EAAE;AAAA,EAClD,CAAC,GAEDF,EAAO,MAAMF,GACbE,EAAO,SAASV,GAEhB,SAASC,CAAQ,EAAE,YAAYS,CAAM;AACvC;"}