New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@halloverden/ngx-cookiebot

Package Overview
Dependencies
Maintainers
0
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@halloverden/ngx-cookiebot

A simple Angular wrapper for the Cookiebot SDK

  • 6.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.1K
increased by27.11%
Maintainers
0
Weekly downloads
 
Created
Source

NgxCookiebot

An Angular wrapper around the Cookiebot SDK.

Angular support

VersionAngular support
^6.0.0^19.0.0
^5.0.0^18.0.0
^4.0.0^17.0.0
^3.0.0^16.0.0
2.3.08.2.14 - 15

Installation

npm i @halloverden/ngx-cookiebot -S

Setup

Prerequisites

A Cookiebot account.

1. Configure service

Configure the service according to the Cookiebot developer docs. The package also ships with custom config not defined in the Cookiebot developer docs. See below for deets.

// cookiebot.config.ts
import { NgxCookiebotConfig } from '@halloverden/ngx-cookiebot';

export class CookiebotConfig extends NgxCookiebotConfig {
  blockingMode: 'auto' | 'manual' | string;
  consentMode?: 'disabled';
  cbId: string;
  cdn: 'com' | 'eu' | string;
  culture?: string;
  framework?: string;
  level?: string;
  loadScript: boolean;
  type?: string;
  widgetEnabled?: boolean;
  widgetPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | string;
  widgetDistanceVertical?: number;
  widgetDistanceHorizontal?: number;
}
Custom config

In addition to the config defined in the Cookiebot developer docs, the package also supports this custom config:

cdn

Choose what version of the cookiebot CDN you want to use (https://support.cookiebot.com/hc/en-us/articles/4530208762396-Cookiebot-CMP-European-CDN-solution):

ConfigCDN
comconsent.cookiebot.com
euconsent.cookiebot.eu
loadScript

The package injects the script in the head tag through Angular. This can lead to high script loading time. If your app is time sensitive, you can opt out of the package setting the script tag, and set it yourself. You can use the module for everything else but the script embedding.

NB! If you set this config to false, no other config parameter will have effect, and you need to config them yourself.

2. Import package

// app.config.ts
import { ngxCookiebotProvider } from '@halloverden/ngx-cookiebot';
import { CookiebotConfig } from '@config/cookiebot.config';

ngxCookiebotProvider(CookiebotConfig);

Usage

The script will now automatically append itself to the head tag, which in turn will prompt the cookie consent box.

To interact with the "cookiebot" object, NgxCookiebot comes with a service that exposes it, which is ready for use after the service is ready (the script is injected):

// whatever.ts
...
#cookiebotService = inject(NgxCookiebotService);
...
this.#cookiebotService.onServiceReady$.pipe(
  filter((ready: boolean) => {
    return ready;
  })
).subscribe(() => {
  // this.#cookiebotService.cookiebot is available
});
...

Reference the Cookiebot docs for a list of properties, methods and callbacks available through the cookiebot object.

If you prefer to use observables, the NgxCookiebotService exposes an observable for every available method and callback on the cookiebot object:

Methods
MethodObservable
CookiebotOnConsentReadyonConsentReady$
CookiebotOnLoadonLoad$
CookiebotOnAcceptonAccept$
CookiebotOnDeclineonDecline$
CookiebotOnDialogInitonDialogInit$
CookiebotOnDialogDisplayonDialogDisplay$
CookiebotOnTagsExecutedonTagsExecuted$
Callbacks
CallbackObservable
CookiebotCallback_OnLoadonLoadCallback$
CookiebotCallback_OnAcceptonAcceptCallback$
CookiebotCallback_OnDeclineonDeclineCallback$
CookiebotCallback_OnDialogInitonDialogInitCallback$
CookiebotCallback_OnDialogDisplayonDialogDisplayCallback$
CookiebotCallback_OnTagsExecutedonTagsExecutedCallback$

Usage example:

// whatever.ts
...
this.#cookiebotService.onConsentReady$.subscribe(
  // Consent ready
  console.log(this.#cookiebotService.cookiebot.consent)
);
...

The NgxCookiebot package exposes a component to insert the cookie consent declaration. Use the component where you want the declaration to appear:

// my.component.html

<ngx-cookiebot-declaration></ngx-cookiebot-declaration>

License

MIT © Hallo Verden

Keywords

FAQs

Package last updated on 10 Jan 2025

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