{"version":3,"file":"semantic-components-re-captcha.mjs","sources":["../../../../libs/re-captcha/src/lib/re-captcha/re-captcha-config.ts","../../../../libs/re-captcha/src/lib/re-captcha/re-captcha-provider.ts","../../../../libs/re-captcha/src/lib/re-captcha/re-captcha.service.ts","../../../../libs/re-captcha/src/lib/re-captcha/score-re-captcha.ts","../../../../libs/re-captcha/src/lib/re-captcha/id-generator.ts","../../../../libs/re-captcha/src/lib/re-captcha/re-captcha-base.ts","../../../../libs/re-captcha/src/lib/re-captcha/checkbox-re-captcha.ts","../../../../libs/re-captcha/src/lib/re-captcha/invisible-re-captcha.ts","../../../../libs/re-captcha/src/semantic-components-re-captcha.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const SC_RE_CAPTCHA_V2_SITE_KEY = new InjectionToken<string>('SC_RE_CAPTCHA_V2_SITE_KEY');\n\nexport const SC_RE_CAPTCHA_V3_SITE_KEY = new InjectionToken<string>('SC_RE_CAPTCHA_V3_SITE_KEY');\n\nexport const SC_RE_CAPTCHA_LANGUAGE_CODE = new InjectionToken<string>(\n  'SC_RE_CAPTCHA_LANGUAGE_CODE',\n);\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\n\nimport {\n  SC_RE_CAPTCHA_LANGUAGE_CODE,\n  SC_RE_CAPTCHA_V2_SITE_KEY,\n  SC_RE_CAPTCHA_V3_SITE_KEY,\n} from './re-captcha-config';\n\ninterface ScReCaptchaSettings {\n  v2SiteKey?: string;\n  v3SiteKey?: string;\n  languageCode?: string;\n}\n\nexport function provideScReCaptchaSettings(settings: ScReCaptchaSettings): EnvironmentProviders {\n  const providers = [];\n\n  if (settings.v2SiteKey) {\n    providers.push({\n      provide: SC_RE_CAPTCHA_V2_SITE_KEY,\n      useValue: settings.v2SiteKey,\n    });\n  }\n\n  if (settings.v3SiteKey) {\n    providers.push({\n      provide: SC_RE_CAPTCHA_V3_SITE_KEY,\n      useValue: settings.v3SiteKey,\n    });\n  }\n\n  if (settings.languageCode) {\n    providers.push({\n      provide: SC_RE_CAPTCHA_LANGUAGE_CODE,\n      useValue: settings.languageCode,\n    });\n  }\n\n  return makeEnvironmentProviders(providers);\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Injectable, afterNextRender, inject } from '@angular/core';\n\nimport { ScReCaptchaBase } from './re-captcha-base';\nimport { SC_RE_CAPTCHA_LANGUAGE_CODE, SC_RE_CAPTCHA_V3_SITE_KEY } from './re-captcha-config';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class ScReCaptchaService {\n  private readonly document = inject<Document>(DOCUMENT);\n  private readonly v3SiteKey = inject<string>(SC_RE_CAPTCHA_V3_SITE_KEY, { optional: true });\n  private readonly languageCode = inject<string>(SC_RE_CAPTCHA_LANGUAGE_CODE, { optional: true });\n\n  readonly scReCaptchas: ScReCaptchaBase[] = [];\n\n  constructor() {\n    afterNextRender(() => {\n      this.registerOnloadCallback();\n      this.addScript();\n    });\n  }\n\n  private addScript() {\n    let scriptSrc = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback';\n\n    if (this.v3SiteKey) {\n      scriptSrc += `&render=${this.v3SiteKey}`;\n    } else {\n      scriptSrc += '&render=explicit';\n    }\n\n    if (this.languageCode) {\n      scriptSrc += `&hl=${this.languageCode}`;\n    }\n\n    const script = this.document.createElement('script');\n    script.src = scriptSrc;\n    script.async = true;\n    script.defer = true;\n    this.document.body.appendChild(script);\n  }\n\n  private registerOnloadCallback() {\n    (window as any).onloadCallback = () => {\n      for (const scReCaptcha of this.scReCaptchas) {\n        scReCaptcha.render();\n      }\n    };\n  }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { SC_RE_CAPTCHA_V3_SITE_KEY } from './re-captcha-config';\nimport { ScReCaptchaService } from './re-captcha.service';\n\ndeclare let grecaptcha: any;\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class ScScoreReCaptcha {\n  private readonly v3SiteKey = inject<string>(SC_RE_CAPTCHA_V3_SITE_KEY);\n\n  private readonly scReCaptchaService = inject(ScReCaptchaService);\n\n  async execute(actionName: string): Promise<string> {\n    return new Promise((resolve) => {\n      grecaptcha.ready(() => {\n        grecaptcha.execute(this.v3SiteKey, { action: actionName }).then((token: string) => {\n          resolve(token);\n        });\n      });\n    });\n  }\n}\n","import { APP_ID, Injectable, inject } from '@angular/core';\n\n/**\n * Keeps track of the ID count per prefix. This helps us make the IDs a bit more deterministic\n * like they were before the service was introduced. Note that ideally we wouldn't have to do\n * this, but there are some internal tests that rely on the IDs.\n */\nconst counters: Record<string, number> = {};\n\n/** Service that generates unique IDs for DOM nodes. */\n@Injectable({ providedIn: 'root' })\nexport class IdGenerator {\n  private readonly appId = inject(APP_ID);\n\n  /**\n   * Generates a unique ID with a specific prefix.\n   * @param prefix Prefix to add to the ID.\n   */\n  getId(prefix: string): string {\n    // Omit the app ID if it's the default `ng`. Since the vast majority of pages have one\n    // Angular app on them, we can reduce the amount of breakages by not adding it.\n    if (this.appId !== 'ng') {\n      prefix += this.appId;\n    }\n\n    // eslint-disable-next-line no-prototype-builtins\n    if (!counters.hasOwnProperty(prefix)) {\n      counters[prefix] = 0;\n    }\n\n    return `${prefix}${counters[prefix]++}`;\n  }\n}\n","import {\n  ChangeDetectorRef,\n  Directive,\n  OnInit,\n  computed,\n  inject,\n  input,\n  signal,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nimport { IdGenerator } from './id-generator';\nimport { SC_RE_CAPTCHA_V2_SITE_KEY } from './re-captcha-config';\nimport { ScReCaptchaService } from './re-captcha.service';\n\ndeclare let grecaptcha: any;\n\ntype CallbackFn = (token: string) => void;\ntype ExpiredCallbackFn = () => void;\ntype ErrorCallbackFn = () => void;\n\n@Directive({\n  host: {\n    '[id]': 'id',\n    '[class.g-recaptcha]': 'true',\n  },\n})\nexport class ScReCaptchaBase implements OnInit, ControlValueAccessor {\n  private readonly id = inject(IdGenerator).getId('sc-re-captcha-');\n  protected widgetId = '';\n\n  private readonly changeDetectorRef = inject(ChangeDetectorRef);\n  private readonly scReCaptchaService = inject(ScReCaptchaService);\n\n  private readonly v2SiteKey = inject<string>(SC_RE_CAPTCHA_V2_SITE_KEY, {\n    optional: true,\n  });\n  readonly siteKeyInput = input<string>('', {\n    alias: 'siteKey',\n  });\n\n  private readonly siteKey = computed(() => {\n    if (this.siteKeyInput()) {\n      return this.siteKeyInput();\n    }\n\n    return this.v2SiteKey ?? '';\n  });\n\n  readonly tabindex = input<string>('0');\n  readonly callback = input<CallbackFn | undefined>(undefined);\n  readonly expiredCallback = input<ExpiredCallbackFn | undefined>(undefined, {\n    alias: 'expired-callback',\n  });\n  readonly errorCallback = input<ErrorCallbackFn | undefined>(undefined, {\n    alias: 'error-callback',\n  });\n\n  private readonly value = signal<string | null>(null);\n  private readonly disabledByCva = signal(false);\n\n  ngOnInit() {\n    this.scReCaptchaService.scReCaptchas.push(this);\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  render() {}\n\n  protected renderWidget(themeOrBadge: string, themeOrBadgeValue: string, size: string) {\n    this.widgetId = grecaptcha.render(\n      this.id,\n      {\n        sitekey: this.siteKey(),\n        [themeOrBadge]: themeOrBadgeValue,\n        size: size,\n        tabindex: this.tabindex(),\n        callback: this.callback() ? this.callback() : this.defaultCallback.bind(this),\n        'expired-callback': this.expiredCallback()\n          ? this.expiredCallback()\n          : this.defaultExpiredCallback.bind(this),\n        'error-callback': this.errorCallback()\n          ? this.errorCallback()\n          : this.defaultErrorCallback.bind(this),\n      },\n      true,\n    );\n  }\n\n  private defaultCallback(token: string) {\n    this.setValue(token);\n  }\n\n  private defaultExpiredCallback() {\n    this.setValue(null);\n  }\n\n  private defaultErrorCallback() {\n    console.error('error');\n    this.setValue(null);\n  }\n\n  getResponse() {\n    grecaptcha.getResponse(this.widgetId);\n  }\n\n  reset() {\n    grecaptcha.reset(this.widgetId);\n  }\n\n  private setValue(newValue: string | null) {\n    this.value.set(newValue);\n    this.onChange(newValue);\n    this.changeDetectorRef.markForCheck();\n  }\n\n  writeValue(obj: any): void {\n    this.value.set(obj);\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  onChange: any = () => {};\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  onTouch: any = () => {};\n\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouch = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabledByCva.set(isDisabled);\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n  forwardRef,\n  input,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ScReCaptchaBase } from './re-captcha-base';\n\n@Component({\n  selector: 'div[sc-checkbox-re-captcha]',\n  exportAs: 'scCheckboxReCaptcha',\n  imports: [],\n  template: `\n    <ng-content />\n  `,\n  styles: ``,\n  host: {},\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ScCheckboxReCaptcha),\n      multi: true,\n    },\n  ],\n})\nexport class ScCheckboxReCaptcha extends ScReCaptchaBase implements ControlValueAccessor {\n  readonly theme = input<'dark' | 'light'>('light');\n\n  readonly size = input<'normal' | 'compact'>('normal');\n\n  override render() {\n    this.renderWidget('theme', this.theme(), this.size());\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  ViewEncapsulation,\n  forwardRef,\n  inject,\n  input,\n  signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ScReCaptchaBase } from './re-captcha-base';\n\ndeclare let grecaptcha: any;\n\n@Component({\n  selector: 'div[sc-invisible-re-captcha], button[sc-invisible-re-captcha]',\n  exportAs: 'scInvisibleReCaptcha',\n  imports: [],\n  template: `\n    <ng-content />\n  `,\n  styles: ``,\n  host: {},\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ScInvisibleReCaptcha),\n      multi: true,\n    },\n  ],\n})\nexport class ScInvisibleReCaptcha extends ScReCaptchaBase implements ControlValueAccessor {\n  private readonly hostRef = inject(ElementRef);\n\n  readonly badge = input<'bottomright' | 'bottomleft' | 'inline'>('bottomright');\n\n  private readonly size = signal<'invisible'>('invisible');\n\n  override render() {\n    this.renderWidget('badge', this.badge(), this.size());\n  }\n\n  execute() {\n    grecaptcha.execute(this.widgetId);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}