Socket
Socket
Sign inDemoInstall

@captchafox/angular

Package Overview
Dependencies
Maintainers
2
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@captchafox/angular

[![NPM version](https://img.shields.io/npm/v/@captchafox/angular.svg)](https://www.npmjs.com/package/@captchafox/angular)


Version published
Maintainers
2
Created
Source

@captchafox/angular

NPM version

Installation

Install the library using your prefered package manager

npm install @captchafox/angular
yarn add @captchafox/angular
pnpm add @captchafox/angular
bun add @captchafox/angular

Usage

Importing the Module

Add the CaptchaFoxModule to your app's imports and initialize it.

You can choose between using a global config for the whole app or specifing the config manually on each component.

import { CaptchaFoxModule } from '@captchafox/angular';

@NgModule({
  imports: [
    CaptchaFoxModule.forRoot({
      siteKey: '<YOUR_SITEKEY>'
    })
  ]
})
export class AppModule {}
Standalone

In an application that uses standalone components, the setup is different.

First, add provideCaptchaFox to providers in your app.config.ts and initialize it.

You can choose between using a global config for the whole app or specifing the config manually on each component.

import { provideCaptchaFox } from '@captchafox/angular';

export const appConfig: ApplicationConfig = {
  providers: [
    provideCaptchaFox({ siteKey: '<YOUR_SITEKEY>' }),
  ],
};

Then, import the CaptchaFoxModule in your component.

import { CaptchaFoxModule } from '@captchafox/angular';

@Component({
  selector: 'example',
  standalone: true,
  imports: [CommonModule, CaptchaFoxModule],
  ...
})
export class ExampleComponent {
}

Using the component

After the setup, you can use the ngx-captchafox component inside your template:

<ngx-captchafox
  (verify)="onVerify($event)"
  (error)="onError($event)"
  (expire)="onExpire($event)"
></ngx-captchafox>

Inputs

NameTypeDescription
siteKeystringThe site key for the widget.
langstringThe language the widget should display. Defaults to automatically detecting it.
modeinline|popup|hiddenThe mode the widget should be displayed in.
themelight | dark | ThemeDefinitionThe theme of the widget. Defaults to light.
noncestringRandomly generated nonce.
i18nobjectCustom i18n configuration.

Outputs

NameTypeDescription
verifyfunctionCalled with the response token after successful verification.
failfunctionCalled after unsuccessful verification.
errorfunctionCalled when an error occured.
expirefunctionCalled when the challenge expires.
closefunctionCalled when the challenge was closed.
loadfunctionCalled when the widget is ready.

Using the verify event

<ngx-captchafox (verify)="onVerify($event)"></ngx-captchafox>
@Component({...})
export class YourComponent {
  onVerify(token: string) {
    // verify the token on the server / submit your form with it
  }
}

Using reactive forms

<form [formGroup]="yourForm" (ngSubmit)="onSubmit()">
  <ngx-captchafox formControlName="captchaToken" />
  ...
</form>
@Component({...})
export class YourComponent {
    public yourForm = new FormGroup({
        captchaToken: new FormControl(null, Validators.required),
        ...
    });

    public onSubmit() {
        // send an API request to your server using the form values
        console.log(this.yourForm.value.captchaToken);
        this.loginForm.reset();
    }
}

You can find more detailed examples in the GitHub repository.

Keywords

FAQs

Package last updated on 12 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc