@ngx-rock/yandex-smart-captcha 19.0.0 → 19.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -45,7 +45,6 @@ import { InvisibleSmartCaptchaComponent } from '@ngx-rock/yandex-smart-captcha';
|
|
|
45
45
|
<smart-captcha
|
|
46
46
|
formControlName="captcha"
|
|
47
47
|
[sitekey]="'YOUR_SITE_KEY'"
|
|
48
|
-
[theme]="'light'"
|
|
49
48
|
[language]="'en'"
|
|
50
49
|
(challengeVisible)="onChallengeVisible()"
|
|
51
50
|
(challengeHidden)="onChallengeHidden()"
|
|
@@ -66,7 +65,6 @@ import { InvisibleSmartCaptchaComponent } from '@ngx-rock/yandex-smart-captcha';
|
|
|
66
65
|
<invisible-smart-captcha
|
|
67
66
|
formControlName="captcha"
|
|
68
67
|
[sitekey]="'YOUR_SITE_KEY'"
|
|
69
|
-
[theme]="'dark'"
|
|
70
68
|
[language]="'en'"
|
|
71
69
|
(challengeVisible)="onChallengeVisible()"
|
|
72
70
|
(challengeHidden)="onChallengeHidden()"
|
|
@@ -88,7 +86,6 @@ import { InvisibleSmartCaptchaComponent } from '@ngx-rock/yandex-smart-captcha';
|
|
|
88
86
|
|
|
89
87
|
#### Common Inputs (for both components)
|
|
90
88
|
- **sitekey** (`string`, **required**): Your Yandex SmartCaptcha site key.
|
|
91
|
-
- **theme** (`'light' | 'dark'`, default: `'light'`): The visual theme of the captcha.
|
|
92
89
|
- **language** (`string`): Locale code for language customization (e.g., `'en'` or `'ru'`).
|
|
93
90
|
- **test** (`boolean`): Enable test mode for development.
|
|
94
91
|
- **webview** (`boolean`): Enable special behavior for webview contexts.
|
|
@@ -190,7 +187,7 @@ export class CaptchaFormComponent {
|
|
|
190
187
|
## Customization Options
|
|
191
188
|
|
|
192
189
|
You can customize various aspects of the captcha by passing different inputs:
|
|
193
|
-
|
|
190
|
+
|
|
194
191
|
- **Language**: Adjust the captcha language with the `language` input.
|
|
195
192
|
- **Shield Customization**: Configure shield visibility and position with `hideShield` and `shieldPosition`.
|
|
196
193
|
|
|
@@ -44,6 +44,9 @@ class SmartCaptchaComponent {
|
|
|
44
44
|
shieldPosition = input();
|
|
45
45
|
language = input();
|
|
46
46
|
host = input();
|
|
47
|
+
/**
|
|
48
|
+
* @deprecated This setting is deprecated and must only be changed via the Yandex Cloud interface.
|
|
49
|
+
*/
|
|
47
50
|
theme = input('auto');
|
|
48
51
|
test = input();
|
|
49
52
|
webview = input();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-rock-yandex-smart-captcha.mjs","sources":["../../../../libs/yandex-smart-captcha/src/lib/helpers/is-valid-host.ts","../../../../libs/yandex-smart-captcha/src/lib/yandex-smart-captcha/yandex-smart-captcha.component.ts","../../../../libs/yandex-smart-captcha/src/ngx-rock-yandex-smart-captcha.ts"],"sourcesContent":["const domainRE = /^(\\S+)$/;\nconst localhostDomainRE = /^localhost[:?\\d]*(?:[^:?\\d]\\S*)?$/;\nconst nonLocalhostDomainRE = /^[^\\s.]+\\.\\S{2,}$/;\nconst IPv4RE = /^(https?:\\/\\/)?([0-9]{1,3}\\.){3}[0-9]{1,3}:\\d+$/;\nconst IPv6RE =\n /^(https?:\\/\\/)?\\[([0-9a-fA-F]{0,4}:){7}([0-9a-fA-F]){0,4}]:\\d+$/;\n\nexport function isValidHost(str: string | undefined): boolean {\n if (typeof str !== 'string') {\n return false;\n }\n const match = str.match(domainRE);\n if (!match) {\n return false;\n }\n const everythingAfterProtocol = match[0];\n if (!everythingAfterProtocol) {\n return false;\n }\n return (\n localhostDomainRE.test(everythingAfterProtocol) ||\n nonLocalhostDomainRE.test(everythingAfterProtocol) ||\n IPv4RE.test(everythingAfterProtocol) ||\n IPv6RE.test(everythingAfterProtocol)\n );\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n forwardRef,\n Inject,\n input,\n OnDestroy,\n OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n viewChild,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { isValidHost } from '../helpers/is-valid-host';\nimport {\n JavascriptErrorPayload,\n SmartCaptchaInstance,\n SmartCaptchaParams,\n} from '../types';\n\nconst API_LINK = (host = 'smartcaptcha.yandexcloud.net') => {\n const base = /^https?/.test(host) ? host : `https://${host}`;\n return `${base}/captcha.js?render=onload&onload=__onSmartCaptchaReady`;\n};\n\n// Shared callbacks array\nconst callbacks: (() => void)[] = [];\nexport const startLoading = new Map<string, boolean>();\n\n@Component({\n selector: 'smart-captcha',\n template: ` <div class=\"smart-captcha\" #captchaContainer></div> `,\n styles: [\n `\n .smart-captcha {\n height: 102px;\n }\n `,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SmartCaptchaComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SmartCaptchaComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class SmartCaptchaComponent\n implements ControlValueAccessor, Validator, OnInit, AfterViewInit, OnDestroy\n{\n sitekey = input.required<string>();\n invisible = input<boolean>(false);\n visible = input<boolean>(); // For InvisibleCaptcha to execute\n hideShield = input<boolean>();\n shieldPosition = input<\n 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n >();\n language = input<string>();\n host = input<string>();\n theme = input<'light' | 'dark' | 'auto'>('auto');\n test = input<boolean>();\n webview = input<boolean>();\n\n challengeHidden = output<void>();\n challengeVisible = output<void>();\n success = output<string>();\n networkError = output<void>();\n tokenExpired = output<void>();\n javascriptError = output<JavascriptErrorPayload>();\n\n captchaContainer = viewChild<ElementRef<HTMLDivElement>>('captchaContainer');\n\n protected widgetId: number | undefined;\n protected smartCaptchaInstance: SmartCaptchaInstance | undefined;\n protected destroyed = false;\n private unsubscribeFns: Array<(() => void) | undefined> = [];\n private errorEventHandler: ((e: ErrorEvent) => void) | undefined;\n\n private onChange: (value: string | null) => void = () => {\n // onChange\n };\n private onTouched = () => {\n // onTouched\n };\n private _innerValue = signal<string | null>(null); // Use a signal for innerValue\n private callbackIndex: number | null = null;\n\n constructor(\n private renderer2: Renderer2,\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: object\n ) {\n // Effect for theme changes\n effect(() => {\n if (\n this.theme() &&\n this.widgetId !== undefined &&\n this.smartCaptchaInstance?.setTheme\n ) {\n this.smartCaptchaInstance.setTheme(this.widgetId, this.theme());\n }\n });\n\n // Effect for visible changes (Invisible Captcha)\n effect(() => {\n if (\n this.visible() &&\n this.invisible() &&\n this.smartCaptchaInstance &&\n typeof this.widgetId === 'number' &&\n !this.destroyed\n ) {\n this.smartCaptchaInstance.execute(this.widgetId);\n }\n });\n }\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return; // Don't proceed on server-side\n }\n\n if (this.host() !== undefined && !isValidHost(this.host())) {\n console.error(\n `[SmartCaptcha] ${this.host()} host is invalid. It should be of a kind: domain.ru, localhost:3000`\n );\n return;\n }\n\n if (typeof window !== 'undefined') {\n // Setup global callback if not already defined\n if (window.__onSmartCaptchaReady === undefined) {\n window.__onSmartCaptchaReady = () => {\n callbacks.forEach((callback) => callback());\n };\n }\n\n // Check if SmartCaptcha is already loaded\n if (window.smartCaptcha) {\n this.smartCaptchaInstance = window.smartCaptcha;\n }\n\n // Add our callback to the shared array\n this.callbackIndex = callbacks.push(() => {\n this.smartCaptchaInstance = window.smartCaptcha;\n this.renderCaptcha();\n });\n\n // Load script if not already loading\n const hostKey = this.host() || 'default';\n if (!startLoading.get(hostKey)) {\n this.loadScript();\n startLoading.set(hostKey, true);\n }\n }\n }\n\n ngAfterViewInit(): void {\n if (this.smartCaptchaInstance) {\n this.renderCaptcha();\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed = true;\n\n // Remove callback from shared array\n if (this.callbackIndex !== null) {\n callbacks.splice(this.callbackIndex - 1, 1);\n }\n\n // Destroy widget if it exists\n if (this.widgetId !== undefined && this.smartCaptchaInstance) {\n this.smartCaptchaInstance.destroy(this.widgetId);\n this.widgetId = undefined;\n }\n\n // Clean up subscriptions\n this.unsubscribeFns.forEach((fn) => fn && fn());\n this.unsubscribeFns = [];\n\n // Remove error event handler\n if (this.errorEventHandler && typeof window !== 'undefined') {\n window.removeEventListener('error', this.errorEventHandler);\n }\n }\n\n private loadScript(): void {\n const src = API_LINK(this.host());\n const script = this.renderer2.createElement('script');\n this.renderer2.setAttribute(script, 'src', src);\n this.renderer2.setAttribute(script, 'type', 'text/javascript');\n this.renderer2.setAttribute(script, 'crossOrigin', 'anonymous');\n\n // Handle regular onload/onerror\n script.onload = () => {\n if (window.smartCaptcha && !this.smartCaptchaInstance) {\n this.smartCaptchaInstance = window.smartCaptcha;\n this.renderCaptcha();\n }\n };\n\n script.onerror = () => {\n this.handleJavascriptError({\n filename: src,\n message: 'Unknown error on script loading',\n col: 0,\n line: 0,\n });\n };\n\n // Add error event listener for JS errors in the captcha script\n if (typeof window !== 'undefined') {\n this.errorEventHandler = (e: ErrorEvent) => {\n if (e.filename?.indexOf(src) === 0) {\n this.handleJavascriptError({\n filename: e.filename,\n message: e.message,\n col: e.colno,\n line: e.lineno,\n });\n }\n };\n window.addEventListener('error', this.errorEventHandler);\n }\n\n // Add script to document\n this.renderer2.appendChild(this.document.body, script);\n }\n\n private renderCaptcha(): void {\n const container = this.captchaContainer()?.nativeElement;\n if (\n !container ||\n !this.smartCaptchaInstance ||\n this.widgetId !== undefined ||\n this.destroyed\n ) {\n return;\n }\n\n const params: SmartCaptchaParams = {\n sitekey: this.sitekey(),\n hl: this.language(),\n theme: this.theme(),\n invisible: this.invisible(),\n hideShield: this.hideShield(),\n shieldPosition: this.shieldPosition(),\n test: this.test(),\n webview: this.webview(),\n };\n\n try {\n this.widgetId = this.smartCaptchaInstance.render(container, params);\n this.setupSubscriptions();\n } catch (error: unknown) {\n console.error('[SmartCaptcha] Error rendering captcha widget:', error);\n\n let message = 'Unknown error during rendering';\n if (error instanceof Error) {\n message = error.message;\n }\n\n this.handleJavascriptError({\n filename: API_LINK(this.host()),\n message,\n col: 0,\n line: 0,\n });\n }\n }\n\n private setupSubscriptions(): void {\n if (this.widgetId === undefined || !this.smartCaptchaInstance) {\n return;\n }\n\n // Store unsubscribe functions for cleanup\n this.unsubscribeFns = [\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'challenge-visible',\n () => {\n this.challengeVisible.emit();\n }\n ),\n\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'challenge-hidden',\n () => {\n console.error('hidden');\n this.challengeHidden.emit();\n }\n ),\n\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'network-error',\n () => {\n this.networkError.emit();\n }\n ),\n\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'success',\n (...args: unknown[]) => {\n const [token] = args as [string];\n\n this._innerValue.set(token);\n this.onChange(token);\n this.onTouched();\n this.success.emit(token);\n }\n ),\n\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'token-expired',\n () => {\n this._innerValue.set(null);\n this.onChange(null);\n this.onTouched();\n this.tokenExpired.emit();\n }\n ),\n\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'javascript-error',\n (...args: unknown[]) => {\n const [error] = args as [JavascriptErrorPayload];\n this.handleJavascriptError(error);\n }\n ),\n ];\n }\n\n private handleJavascriptError(error: JavascriptErrorPayload): void {\n console.error('[SmartCaptcha] Javascript error:', error);\n this.javascriptError.emit(error);\n }\n\n // ControlValueAccessor methods\n writeValue(value: string): void {\n this._innerValue.set(value); // Set the signal value\n }\n\n registerOnChange(fn: (value: string | null) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // Validator method\n validate(): ValidationErrors | null {\n // When using invisible captcha, don't validate until user interacts\n if (this.invisible() && !this._innerValue()) {\n return null;\n }\n\n // For standard captcha, require token\n if (!this.invisible() && !this._innerValue()) {\n // Access signal value\n return { captchaRequired: true };\n }\n\n return null;\n }\n}\n\n@Component({\n selector: 'invisible-smart-captcha',\n template: ` <div class=\"smart-captcha\" #captchaContainer></div> `,\n styles: [\n `\n .smart-captcha {\n /* No height needed for invisible captcha */\n }\n `,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InvisibleSmartCaptchaComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => InvisibleSmartCaptchaComponent),\n multi: true,\n },\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InvisibleSmartCaptchaComponent\n extends SmartCaptchaComponent\n implements OnInit\n{\n // Always set invisible to true\n override invisible = input(true);\n\n // Override ngOnInit to ensure invisible is always true\n override ngOnInit(): void {\n // Call parent initialization\n super.ngOnInit();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-rock-yandex-smart-captcha.mjs","sources":["../../../../libs/yandex-smart-captcha/src/lib/helpers/is-valid-host.ts","../../../../libs/yandex-smart-captcha/src/lib/yandex-smart-captcha/yandex-smart-captcha.component.ts","../../../../libs/yandex-smart-captcha/src/ngx-rock-yandex-smart-captcha.ts"],"sourcesContent":["const domainRE = /^(\\S+)$/;\nconst localhostDomainRE = /^localhost[:?\\d]*(?:[^:?\\d]\\S*)?$/;\nconst nonLocalhostDomainRE = /^[^\\s.]+\\.\\S{2,}$/;\nconst IPv4RE = /^(https?:\\/\\/)?([0-9]{1,3}\\.){3}[0-9]{1,3}:\\d+$/;\nconst IPv6RE =\n /^(https?:\\/\\/)?\\[([0-9a-fA-F]{0,4}:){7}([0-9a-fA-F]){0,4}]:\\d+$/;\n\nexport function isValidHost(str: string | undefined): boolean {\n if (typeof str !== 'string') {\n return false;\n }\n const match = str.match(domainRE);\n if (!match) {\n return false;\n }\n const everythingAfterProtocol = match[0];\n if (!everythingAfterProtocol) {\n return false;\n }\n return (\n localhostDomainRE.test(everythingAfterProtocol) ||\n nonLocalhostDomainRE.test(everythingAfterProtocol) ||\n IPv4RE.test(everythingAfterProtocol) ||\n IPv6RE.test(everythingAfterProtocol)\n );\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n forwardRef,\n Inject,\n input,\n OnDestroy,\n OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n viewChild,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { isValidHost } from '../helpers/is-valid-host';\nimport {\n JavascriptErrorPayload,\n SmartCaptchaInstance,\n SmartCaptchaParams,\n} from '../types';\n\nconst API_LINK = (host = 'smartcaptcha.yandexcloud.net') => {\n const base = /^https?/.test(host) ? host : `https://${host}`;\n return `${base}/captcha.js?render=onload&onload=__onSmartCaptchaReady`;\n};\n\n// Shared callbacks array\nconst callbacks: (() => void)[] = [];\nexport const startLoading = new Map<string, boolean>();\n\n@Component({\n selector: 'smart-captcha',\n template: ` <div class=\"smart-captcha\" #captchaContainer></div> `,\n styles: [\n `\n .smart-captcha {\n height: 102px;\n }\n `,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SmartCaptchaComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SmartCaptchaComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class SmartCaptchaComponent\n implements ControlValueAccessor, Validator, OnInit, AfterViewInit, OnDestroy\n{\n sitekey = input.required<string>();\n invisible = input<boolean>(false);\n visible = input<boolean>(); // For InvisibleCaptcha to execute\n hideShield = input<boolean>();\n shieldPosition = input<\n 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n >();\n language = input<string>();\n host = input<string>();\n /**\n * @deprecated This setting is deprecated and must only be changed via the Yandex Cloud interface.\n */\n theme = input<'light' | 'dark' | 'auto'>('auto');\n test = input<boolean>();\n webview = input<boolean>();\n\n challengeHidden = output<void>();\n challengeVisible = output<void>();\n success = output<string>();\n networkError = output<void>();\n tokenExpired = output<void>();\n javascriptError = output<JavascriptErrorPayload>();\n\n captchaContainer = viewChild<ElementRef<HTMLDivElement>>('captchaContainer');\n\n protected widgetId: number | undefined;\n protected smartCaptchaInstance: SmartCaptchaInstance | undefined;\n protected destroyed = false;\n private unsubscribeFns: Array<(() => void) | undefined> = [];\n private errorEventHandler: ((e: ErrorEvent) => void) | undefined;\n\n private onChange: (value: string | null) => void = () => {\n // onChange\n };\n private onTouched = () => {\n // onTouched\n };\n private _innerValue = signal<string | null>(null); // Use a signal for innerValue\n private callbackIndex: number | null = null;\n\n constructor(\n private renderer2: Renderer2,\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: object\n ) {\n // Effect for theme changes\n effect(() => {\n if (\n this.theme() &&\n this.widgetId !== undefined &&\n this.smartCaptchaInstance?.setTheme\n ) {\n this.smartCaptchaInstance.setTheme(this.widgetId, this.theme());\n }\n });\n\n // Effect for visible changes (Invisible Captcha)\n effect(() => {\n if (\n this.visible() &&\n this.invisible() &&\n this.smartCaptchaInstance &&\n typeof this.widgetId === 'number' &&\n !this.destroyed\n ) {\n this.smartCaptchaInstance.execute(this.widgetId);\n }\n });\n }\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return; // Don't proceed on server-side\n }\n\n if (this.host() !== undefined && !isValidHost(this.host())) {\n console.error(\n `[SmartCaptcha] ${this.host()} host is invalid. It should be of a kind: domain.ru, localhost:3000`\n );\n return;\n }\n\n if (typeof window !== 'undefined') {\n // Setup global callback if not already defined\n if (window.__onSmartCaptchaReady === undefined) {\n window.__onSmartCaptchaReady = () => {\n callbacks.forEach((callback) => callback());\n };\n }\n\n // Check if SmartCaptcha is already loaded\n if (window.smartCaptcha) {\n this.smartCaptchaInstance = window.smartCaptcha;\n }\n\n // Add our callback to the shared array\n this.callbackIndex = callbacks.push(() => {\n this.smartCaptchaInstance = window.smartCaptcha;\n this.renderCaptcha();\n });\n\n // Load script if not already loading\n const hostKey = this.host() || 'default';\n if (!startLoading.get(hostKey)) {\n this.loadScript();\n startLoading.set(hostKey, true);\n }\n }\n }\n\n ngAfterViewInit(): void {\n if (this.smartCaptchaInstance) {\n this.renderCaptcha();\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed = true;\n\n // Remove callback from shared array\n if (this.callbackIndex !== null) {\n callbacks.splice(this.callbackIndex - 1, 1);\n }\n\n // Destroy widget if it exists\n if (this.widgetId !== undefined && this.smartCaptchaInstance) {\n this.smartCaptchaInstance.destroy(this.widgetId);\n this.widgetId = undefined;\n }\n\n // Clean up subscriptions\n this.unsubscribeFns.forEach((fn) => fn && fn());\n this.unsubscribeFns = [];\n\n // Remove error event handler\n if (this.errorEventHandler && typeof window !== 'undefined') {\n window.removeEventListener('error', this.errorEventHandler);\n }\n }\n\n private loadScript(): void {\n const src = API_LINK(this.host());\n const script = this.renderer2.createElement('script');\n this.renderer2.setAttribute(script, 'src', src);\n this.renderer2.setAttribute(script, 'type', 'text/javascript');\n this.renderer2.setAttribute(script, 'crossOrigin', 'anonymous');\n\n // Handle regular onload/onerror\n script.onload = () => {\n if (window.smartCaptcha && !this.smartCaptchaInstance) {\n this.smartCaptchaInstance = window.smartCaptcha;\n this.renderCaptcha();\n }\n };\n\n script.onerror = () => {\n this.handleJavascriptError({\n filename: src,\n message: 'Unknown error on script loading',\n col: 0,\n line: 0,\n });\n };\n\n // Add error event listener for JS errors in the captcha script\n if (typeof window !== 'undefined') {\n this.errorEventHandler = (e: ErrorEvent) => {\n if (e.filename?.indexOf(src) === 0) {\n this.handleJavascriptError({\n filename: e.filename,\n message: e.message,\n col: e.colno,\n line: e.lineno,\n });\n }\n };\n window.addEventListener('error', this.errorEventHandler);\n }\n\n // Add script to document\n this.renderer2.appendChild(this.document.body, script);\n }\n\n private renderCaptcha(): void {\n const container = this.captchaContainer()?.nativeElement;\n if (\n !container ||\n !this.smartCaptchaInstance ||\n this.widgetId !== undefined ||\n this.destroyed\n ) {\n return;\n }\n\n const params: SmartCaptchaParams = {\n sitekey: this.sitekey(),\n hl: this.language(),\n theme: this.theme(),\n invisible: this.invisible(),\n hideShield: this.hideShield(),\n shieldPosition: this.shieldPosition(),\n test: this.test(),\n webview: this.webview(),\n };\n\n try {\n this.widgetId = this.smartCaptchaInstance.render(container, params);\n this.setupSubscriptions();\n } catch (error: unknown) {\n console.error('[SmartCaptcha] Error rendering captcha widget:', error);\n\n let message = 'Unknown error during rendering';\n if (error instanceof Error) {\n message = error.message;\n }\n\n this.handleJavascriptError({\n filename: API_LINK(this.host()),\n message,\n col: 0,\n line: 0,\n });\n }\n }\n\n private setupSubscriptions(): void {\n if (this.widgetId === undefined || !this.smartCaptchaInstance) {\n return;\n }\n\n // Store unsubscribe functions for cleanup\n this.unsubscribeFns = [\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'challenge-visible',\n () => {\n this.challengeVisible.emit();\n }\n ),\n\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'challenge-hidden',\n () => {\n console.error('hidden');\n this.challengeHidden.emit();\n }\n ),\n\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'network-error',\n () => {\n this.networkError.emit();\n }\n ),\n\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'success',\n (...args: unknown[]) => {\n const [token] = args as [string];\n\n this._innerValue.set(token);\n this.onChange(token);\n this.onTouched();\n this.success.emit(token);\n }\n ),\n\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'token-expired',\n () => {\n this._innerValue.set(null);\n this.onChange(null);\n this.onTouched();\n this.tokenExpired.emit();\n }\n ),\n\n this.smartCaptchaInstance.subscribe(\n this.widgetId,\n 'javascript-error',\n (...args: unknown[]) => {\n const [error] = args as [JavascriptErrorPayload];\n this.handleJavascriptError(error);\n }\n ),\n ];\n }\n\n private handleJavascriptError(error: JavascriptErrorPayload): void {\n console.error('[SmartCaptcha] Javascript error:', error);\n this.javascriptError.emit(error);\n }\n\n // ControlValueAccessor methods\n writeValue(value: string): void {\n this._innerValue.set(value); // Set the signal value\n }\n\n registerOnChange(fn: (value: string | null) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // Validator method\n validate(): ValidationErrors | null {\n // When using invisible captcha, don't validate until user interacts\n if (this.invisible() && !this._innerValue()) {\n return null;\n }\n\n // For standard captcha, require token\n if (!this.invisible() && !this._innerValue()) {\n // Access signal value\n return { captchaRequired: true };\n }\n\n return null;\n }\n}\n\n@Component({\n selector: 'invisible-smart-captcha',\n template: ` <div class=\"smart-captcha\" #captchaContainer></div> `,\n styles: [\n `\n .smart-captcha {\n /* No height needed for invisible captcha */\n }\n `,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InvisibleSmartCaptchaComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => InvisibleSmartCaptchaComponent),\n multi: true,\n },\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InvisibleSmartCaptchaComponent\n extends SmartCaptchaComponent\n implements OnInit\n{\n // Always set invisible to true\n override invisible = input(true);\n\n // Override ngOnInit to ensure invisible is always true\n override ngOnInit(): void {\n // Call parent initialization\n super.ngOnInit();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@ export declare class SmartCaptchaComponent implements ControlValueAccessor, Vali
|
|
|
14
14
|
shieldPosition: import("@angular/core").InputSignal<"top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined>;
|
|
15
15
|
language: import("@angular/core").InputSignal<string | undefined>;
|
|
16
16
|
host: import("@angular/core").InputSignal<string | undefined>;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated This setting is deprecated and must only be changed via the Yandex Cloud interface.
|
|
19
|
+
*/
|
|
17
20
|
theme: import("@angular/core").InputSignal<"light" | "dark" | "auto">;
|
|
18
21
|
test: import("@angular/core").InputSignal<boolean | undefined>;
|
|
19
22
|
webview: import("@angular/core").InputSignal<boolean | undefined>;
|