{"version":3,"file":"pangz-ng-cloudflare-turnstile.mjs","sources":["../../../projects/ng-cloudflare-turnstile/src/lib/ng-cloudflare-turnstile.component.ts","../../../projects/ng-cloudflare-turnstile/src/public-api.ts","../../../projects/ng-cloudflare-turnstile/src/pangz-ng-cloudflare-turnstile.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, type AfterViewInit, type OnInit } from '@angular/core';\n\ndeclare global {\n    interface Window {\n        onloadTurnstileCallback: () => void;\n        turnstile: {\n            render: (\n                idOrContainer: string | HTMLElement,\n                options: any,\n            ) => string;\n            reset: (widgetIdOrContainer: string | HTMLElement) => void;\n            getResponse: (\n                widgetIdOrContainer: string | HTMLElement,\n            ) => string | undefined;\n            remove: (widgetIdOrContainer: string | HTMLElement) => void;\n        };\n    }\n}\n\nexport enum DevSiteKey {\n    ALWAYS_PASSES = '1x00000000000000000000AA',\n    ALWAYS_BLOCKS = '2x00000000000000000000AB',\n    ALWAYS_PASSES_INVISIBLE = '1x00000000000000000000BB',\n    ALWAYS_BLOCKS_INVISIBLE = '2x00000000000000000000BB',\n    FORCE_INTERACTIVE_CHALLENGE = '3x00000000000000000000FF',\n}\n\nexport enum Language {\n    AUTO = 'auto',\n    ARABIC = 'ar-eg',\n    BULGARIAN = 'bg-bg',\n    CHINESE_SIMPLIFIED = 'zh-cn',\n    CHINESE_TRADITIONAL = 'zh-tw',\n    CROATIAN = 'hr-hr',\n    CZECH = 'cs-cz',\n    DANISH = 'da-dk',\n    DUTCH = 'nl-nl',\n    ENGLISH = 'en-us',\n    FARSI = 'fa-ir',\n    FINNISH = 'fi-fi',\n    FRENCH = 'fr-fr',\n    GERMAN = 'de-de',\n    GREEK = 'el-gr',\n    HEBREW = 'he-il',\n    HINDI = 'hi-in',\n    HUNGARIAN = 'hu-hu',\n    INDONESIAN = 'id-id',\n    ITALIAN = 'it-it',\n    JAPANESE = 'ja-jp',\n    KLINGON = 'tlh',\n    KOREAN = 'ko-kr',\n    LITHUANIAN = 'lt-lt',\n    MALAY = 'ms-my',\n    NORWEGIAN = 'nb-no',\n    POLISH = 'pl-pl',\n    PORTUGUESE = 'pt-br',\n    ROMANIAN = 'ro-ro',\n    RUSSIAN = 'ru-ru',\n    SERBIAN = 'sr-ba',\n    SLOVAK = 'sk-sk',\n    SLOVENIAN = 'sl-si',\n    SPANISH = 'es-es',\n    SWEDISH = 'sv-se',\n    TAGALOG = 'tl-ph',\n    THAI = 'th-th',\n    TURKISH = 'tr-tr',\n    UKRAINIAN = 'uk-ua',\n    VIETNAMESE = 'vi-vn'\n}\n\nexport enum Theme {\n    LIGHT = 'light',\n    DARK = 'dark',\n    AUTO = 'auto',\n}\n\nexport enum Size {\n    NORMAL = 'normal',\n    FLEXIBLE = 'flexible',\n    COMPACT = 'compact',\n}\n\nexport enum Appearance {\n    ALWAYS = 'always',\n    EXECUTE = 'execute',\n    INTERACTION_ONLY = 'interaction-only',\n}\n\nexport enum Retry {\n    AUTO = 'auto',\n    NEVER = 'never',\n}\n\nexport enum RefreshExpiry {\n    AUTO = 'auto',\n    MANUAL = 'manual',\n    NEVER = 'never',\n}\n\nexport enum RefreshTimeout {\n    AUTO = 'auto',\n    MANUAL = 'manual',\n    NEVER = 'never',\n}\n\nexport enum State {\n    SUCCESS = 0,\n    WIDGET_CREATED = 1,\n    WIDGET_REMOVED = 2,\n    WIDGET_RESET = 3,\n    AFTER_INTERACTIVE = 4,\n    BEFORE_INTERACTIVE = 5,\n    ERROR = -1,\n    EXPIRED = -2,\n    TIMEOUT = -3,\n}\n\nexport type Result = {\n    name: string,\n    data?: any\n    result: number,\n    manager: TurnstileManager\n}\n\nexport type EventCallback = (d: Result) => void;\nexport type Config = {\n    siteKey: string;\n    action?: string;\n    cData?: string;\n    tabIndex?: number;\n    language?: Language;\n    theme?: Theme;\n    responseField?: boolean;\n    size?: Size;\n    appearance?: Appearance;\n    retry?: Retry;\n    retryInterval?: number;\n    refreshExpired?: RefreshExpiry;\n    refreshTimeout?: RefreshTimeout;\n    feedbackEnabled?: boolean;\n    onSuccess?: EventCallback,\n    onError?: EventCallback,\n    onExpired?: EventCallback,\n    onBeforeInteractive?: EventCallback,\n    onAfterInteractive?: EventCallback,\n    onTimeout?: EventCallback,\n    onCreate?: EventCallback,\n    onReset?: EventCallback,\n    onRemove?: EventCallback,\n}\n\nexport class TurnstileManager {\n    constructor(\n        private obj: any,\n        private event: EventEmitter<Result>,\n        private widgetId: string = '',\n        private containerRef: string | HTMLElement = '',\n        private options: any = ''\n    ) {}\n\n    reRender(options: Config): void {\n        this.remove(null);\n        this.updateOptions(options);\n        this.widgetId = this.obj.render(this.containerRef, this.options);\n        \n        const payload = { name: 'WIDGET_CREATED', data: this.widgetId, result: State.WIDGET_CREATED, manager: this}\n        this.options.onCreate(payload);\n        this.event.emit(payload);\n    }\n\n    reset(id: string | HTMLElement | null): void {\n        this.obj.reset(id ?? this.widgetId);\n\n        const payload = { name: 'WIDGET_RESET', data: id, result: State.WIDGET_RESET, manager: this};\n        this.options.onReset(payload);\n        this.event.emit(payload);\n    }\n    \n    remove(id: string | HTMLElement | null): void {\n        this.obj.remove(id ?? this.widgetId);\n\n        const payload = { name: 'WIDGET_REMOVED', data: id, result: State.WIDGET_REMOVED, manager: this};\n        this.options.onRemove(payload);\n        this.event.emit(payload);\n    }\n\n    private updateOptions(options: Config): void {\n        if(this.options.sitekey !== options.siteKey) { this.options.sitekey = options.siteKey; }\n        if(this.options.action !== options.action) { this.options.action = options.action; }\n        if(this.options.cData !== options.cData) { this.options.cData = options.cData; }\n        if(this.options.tabindex !== options.tabIndex) { this.options.tabindex = options.tabIndex; }\n        if(this.options.language !== options.language) { this.options.language = options.language; }\n        if(this.options.theme !== options.theme) { this.options.theme = options.theme; }\n        if(this.options.size !== options.size) { this.options.size = options.size; }\n        if(this.options.appearance !== options.appearance) { this.options.appearance = options.appearance; }\n        if(this.options.retry !== options.retry) { this.options.retry = options.retry; }\n        if(this.options['retry-interval'] !== options.retryInterval) { this.options['retry-interval'] = options.retryInterval; }\n        if(this.options['refresh-expired'] !== options.refreshExpired) { this.options['refresh-expired'] = options.refreshExpired; }\n        if(this.options['refresh-timeout'] !== options.refreshTimeout) { this.options['refresh-timeout'] = options.refreshTimeout; }\n        if(this.options['response-field'] !== options.responseField) { this.options['response-field'] = options.responseField; }\n        if(this.options['feedback-enabled'] !== options.feedbackEnabled) { this.options['feedback-enabled'] = options.feedbackEnabled; }\n    }\n}\n\nclass EventHandler {\n    private static widgetId: string;\n    private static tsManager: TurnstileManager;\n    private static event: EventEmitter<Result>;\n    private static config: Config = {\n        siteKey: '',\n        action: '',\n        cData: '',\n        tabIndex: 0,\n        language: Language.AUTO,\n        theme: Theme.AUTO,\n        size: Size.NORMAL,\n        appearance: Appearance.ALWAYS,\n        retry: Retry.AUTO,\n        retryInterval: 8000,\n        refreshExpired: RefreshExpiry.AUTO,\n        refreshTimeout: RefreshTimeout.AUTO,\n        responseField: true,\n        feedbackEnabled: true,\n        onSuccess: (_: Result): void => {},\n        onError: (_: Result): void => {},\n        onExpired: (_: Result): void => {},\n        onBeforeInteractive: (_: Result): void => {},\n        onAfterInteractive: (_: Result): void => {},\n        onTimeout: (_: Result): void => {},\n        onCreate: (_: Result): void => {},\n        onReset: (_: Result): void => {},\n        onRemove: (_: Result): void => {},\n    };\n\n    static init(e: EventEmitter<Result>, config: Config, manager: TurnstileManager, widgetId = ''): void {\n        EventHandler.event = e;\n        EventHandler.config = config;\n        EventHandler.tsManager = manager;\n        EventHandler.widgetId = widgetId;\n    }\n\n    static emit(d: Result): void {\n        EventHandler.event.emit(d);\n    }\n    \n    static get e(): EventEmitter<Result> {\n        return EventHandler.event;\n    }\n\n    static setWidgetId(id: string): void {\n        EventHandler.widgetId = id;\n    }\n    \n    static getWidgetId(): string {\n        return EventHandler.widgetId;\n    }\n\n    static get conf(): Config {\n        return EventHandler.config;\n    }\n    \n    static get manager(): TurnstileManager {\n        return EventHandler.tsManager;\n    }\n\n    static copyWith(p: {\n        manager?: TurnstileManager,\n        widgetId?: string,\n    }): void {\n        if(p.manager !== null) { EventHandler.tsManager = p.manager!; }\n        if(p.widgetId !== null) { EventHandler.widgetId = p.widgetId!; }\n    }\n}\n\n@Component({\n    selector: 'ng-cloudflare-turnstile',\n    standalone: true,\n    imports: [],\n    template: `<div id=\"cf-container\"></div>`,\n    styles: ``\n})\nexport class NgCloudflareTurnstile implements AfterViewInit, OnInit {\n    @Input() config: Config = {\n        siteKey: '',\n        action: '',\n        cData: '',\n        tabIndex: 0,\n        language: Language.AUTO,\n        theme: Theme.AUTO,\n        size: Size.NORMAL,\n        appearance: Appearance.ALWAYS,\n        retry: Retry.AUTO,\n        retryInterval: 8000,\n        refreshExpired: RefreshExpiry.AUTO,\n        refreshTimeout: RefreshTimeout.AUTO,\n        responseField: true,\n        feedbackEnabled: true,\n        onSuccess: (_: Result): void => {},\n        onError: (_: Result): void => {},\n        onExpired: (_: Result): void => {},\n        onBeforeInteractive: (_: Result): void => {},\n        onAfterInteractive: (_: Result): void => {},\n        onTimeout: (_: Result): void => {},\n        onCreate: (_: Result): void => {},\n        onReset: (_: Result): void => {},\n        onRemove: (_: Result): void => {},\n    };\n    @Output() event = new EventEmitter<Result>();\n    constructor() {\n        window.onloadTurnstileCallback = function () {\n            const conf = EventHandler.conf;\n            const containerRef = \"#cf-container\";\n            const renderingConf = {\n                sitekey: conf.siteKey,\n                action: conf.action,\n                cData: conf.cData,\n                tabindex: conf.tabIndex,\n                language: conf.language,\n                theme: conf.theme,\n                size: conf.size,\n                appearance: conf.appearance,\n                retry: conf.retry,\n                'retry-interval': conf.retryInterval,\n                'refresh-expired': conf.refreshExpired,\n                'refresh-timeout': conf.refreshTimeout,\n                'response-field': conf.responseField,\n                'feedback-enabled': conf.feedbackEnabled,\n                callback: (token: any) => {\n                    const payload = { name: 'SUCCESS', data: token, result: State.SUCCESS, manager: EventHandler.manager};\n                    EventHandler.conf.onSuccess!(payload);\n                    EventHandler.emit(payload);\n                },\n                'error-callback': (code: any) => {\n                    const payload = { name: 'ERROR', data: code, result: State.ERROR, manager: EventHandler.manager };\n                    EventHandler.conf.onError!(payload);\n                    EventHandler.emit(payload);\n                },\n                'expired-callback': (d: any) => {\n                    const payload = { name: 'EXPIRED', data: d, result: State.EXPIRED, manager: EventHandler.manager };\n                    EventHandler.conf.onExpired!(payload);\n                    EventHandler.emit(payload);\n                },\n                'before-interactive-callback': (d: any) => {\n                    const payload = { name: 'BEFORE_INTERACTIVE', data: d, result: State.BEFORE_INTERACTIVE, manager: EventHandler.manager };\n                    EventHandler.conf.onBeforeInteractive!(payload);\n                    EventHandler.emit(payload);\n                },\n                'after-interactive-callback': (d: any) => {\n                    const payload = { name: 'AFTER_INTERACTIVE', data: d, result: State.AFTER_INTERACTIVE, manager: EventHandler.manager };\n                    EventHandler.conf.onAfterInteractive!(payload);\n                    EventHandler.emit(payload);\n                },\n                'timeout-callback': (d: any) => {\n                    const payload = { name: 'TIMEOUT', data: d, result: State.TIMEOUT, manager: EventHandler.manager };\n                    EventHandler.conf.onTimeout!(payload);\n                    EventHandler.emit(payload);\n                },\n                // Add the custom callback\n                onSuccess: conf.onSuccess,\n                onError: conf.onError,\n                onExpired: conf.onExpired,\n                onBeforeInteractive: conf.onBeforeInteractive,\n                onAfterInteractive: conf.onAfterInteractive,\n                onTimeout: conf.onTimeout,\n                onCreate: conf.onCreate,\n                onReset: conf.onReset,\n                onRemove: conf.onRemove,\n            };\n            const widgetId = window.turnstile.render(containerRef, renderingConf);\n            EventHandler.setWidgetId(widgetId);\n            EventHandler.copyWith({manager: new TurnstileManager(window.turnstile, EventHandler.e, widgetId, containerRef, renderingConf)});\n\n            const payload = { name: 'WIDGET_CREATED', data: widgetId, result: State.WIDGET_CREATED, manager: EventHandler.manager};\n            EventHandler.conf.onCreate!(payload);\n            EventHandler.emit(payload);\n        };\n    }\n\n    ngOnInit(): void {\n        EventHandler.init(this.event, this.config, new TurnstileManager(window.turnstile, this.event));\n        if (window.turnstile) {\n            window.onloadTurnstileCallback();\n        }\n    }\n\n    ngAfterViewInit(): void { this.loadTurnstileScript(); }\n\n    private loadTurnstileScript(): void {\n        // Check if script is already loaded to avoid duplicates\n        if (!document.querySelector('script[src*=\"turnstile\"]')) {\n            const script = document.createElement('script');\n            script.src = 'https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit&onload=onloadTurnstileCallback';\n            script.async = true;\n            script.defer = true;\n            document.head.appendChild(script);\n        }\n    }\n}\n","/*\n * Public API Surface of ng-cloudflare-turnstile\n */\nexport * from './lib/ng-cloudflare-turnstile.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}