1.2.0 • Published 2 months ago

@captchafox/angular v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

@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.

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.

1.2.0

2 months ago

1.1.0

4 months ago

1.0.1

6 months ago

1.0.0

6 months ago