UNPKG

angular2-cookie-law-banner

Version:

Angular2+ component that provides a banner to inform users about cookie banner

87 lines 8.67 kB
/** * angular2-cookie-law-banner * * Copyright 2016-2018, @jwala-anirudh, All rights reserved. * * @author: @jwala-anirudh <anirudhjwala@gmail.com> */ import { Component, ViewChild, HostBinding, Input, Output, EventEmitter, } from "@angular/core"; import { CookieBannerComponent } from "./angular2-cookie-law-banner.component"; import * as i0 from "@angular/core"; import * as i1 from "./angular2-cookie-law-banner.service"; import * as i2 from "@angular/common"; import * as i3 from "./angular2-cookie-law-banner.component"; export class CookieBannerContainerComponent { get cookieLawSeen() { return this.cookieLawService.seen(this.name); } constructor(cookieLawService) { this.cookieLawService = cookieLawService; this.isSeen = new EventEmitter(); this.name = "cookieLawSeen"; // set a default cookie name if not provided this.seen = true; } ngOnInit() { this.seen = this.cookieLawService.seen(this.name); } hasBeenDismissed() { this.cookieLawService.storeCookie(this.name, this.expiration); this.seen = true; this.isSeen.emit(true); } dismiss() { this.cookieLawComponent.dismiss(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CookieBannerContainerComponent, deps: [{ token: i1.Angular2CookieLawBannerService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: CookieBannerContainerComponent, selector: "cookie-banner", inputs: { name: "name", learnMore: "learnMore", target: "target", position: "position", expiration: "expiration", awsomeCloseIcon: "awsomeCloseIcon" }, outputs: { isSeen: "isSeen" }, host: { properties: { "attr.seen": "this.seen" } }, viewQueries: [{ propertyName: "cookieLawComponent", first: true, predicate: CookieBannerComponent, descendants: true }], ngImport: i0, template: ` <cookie-banner-component *ngIf="!seen" [awsomeCloseIcon]="awsomeCloseIcon" [learnMore]="learnMore" [target]="target" [position]="position" (isSeen)="hasBeenDismissed()" > <ng-content></ng-content> </cookie-banner-component> `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CookieBannerComponent, selector: "cookie-banner-component", inputs: ["learnMore", "awsomeCloseIcon", "target", "position"], outputs: ["isSeen"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CookieBannerContainerComponent, decorators: [{ type: Component, args: [{ selector: "cookie-banner", template: ` <cookie-banner-component *ngIf="!seen" [awsomeCloseIcon]="awsomeCloseIcon" [learnMore]="learnMore" [target]="target" [position]="position" (isSeen)="hasBeenDismissed()" > <ng-content></ng-content> </cookie-banner-component> `, }] }], ctorParameters: () => [{ type: i1.Angular2CookieLawBannerService }], propDecorators: { seen: [{ type: HostBinding, args: ["attr.seen"] }], cookieLawComponent: [{ type: ViewChild, args: [CookieBannerComponent] }], name: [{ type: Input }], learnMore: [{ type: Input }], target: [{ type: Input }], position: [{ type: Input }], expiration: [{ type: Input }], awsomeCloseIcon: [{ type: Input }], isSeen: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItY29va2llLWxhdy1iYW5uZXItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIyLWNvb2tpZS1sYXctYmFubmVyL3NyYy9saWIvYW5ndWxhcjItY29va2llLWxhdy1iYW5uZXItY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBa0IvRSxNQUFNLE9BQU8sOEJBQThCO0lBNEJ6QyxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsWUFBb0IsZ0JBQWdEO1FBQWhELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0M7UUFON0QsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFPMUMsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsQ0FBQyw0Q0FBNEM7UUFDekUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzhHQWpEVSw4QkFBOEI7a0dBQTlCLDhCQUE4QixvVkFJOUIscUJBQXFCLGdEQWpCdEI7Ozs7Ozs7Ozs7O0dBV1Q7OzJGQUVVLDhCQUE4QjtrQkFmMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOzs7Ozs7Ozs7OztHQVdUO2lCQUNGO21HQUdRLElBQUk7c0JBRFYsV0FBVzt1QkFBQyxXQUFXO2dCQUlqQixrQkFBa0I7c0JBRHhCLFNBQVM7dUJBQUMscUJBQXFCO2dCQUl6QixJQUFJO3NCQURWLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLE1BQU07c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhdy1iYW5uZXJcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAandhbGEtYW5pcnVkaCwgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAandhbGEtYW5pcnVkaCA8YW5pcnVkaGp3YWxhQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBBbmd1bGFyMkNvb2tpZUxhd0Jhbm5lclNlcnZpY2UgfSBmcm9tIFwiLi9hbmd1bGFyMi1jb29raWUtbGF3LWJhbm5lci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBDb29raWVCYW5uZXJDb21wb25lbnQgfSBmcm9tIFwiLi9hbmd1bGFyMi1jb29raWUtbGF3LWJhbm5lci5jb21wb25lbnRcIjtcbmltcG9ydCB7IENvb2tpZUJhbm5lclRhcmdldCwgQ29va2llQmFubmVyUG9zaXRpb24gfSBmcm9tIFwiLi9kZWZpbml0aW9uc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY29va2llLWJhbm5lclwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxjb29raWUtYmFubmVyLWNvbXBvbmVudFxuICAgICAgKm5nSWY9XCIhc2VlblwiXG4gICAgICBbYXdzb21lQ2xvc2VJY29uXT1cImF3c29tZUNsb3NlSWNvblwiXG4gICAgICBbbGVhcm5Nb3JlXT1cImxlYXJuTW9yZVwiXG4gICAgICBbdGFyZ2V0XT1cInRhcmdldFwiXG4gICAgICBbcG9zaXRpb25dPVwicG9zaXRpb25cIlxuICAgICAgKGlzU2Vlbik9XCJoYXNCZWVuRGlzbWlzc2VkKClcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Nvb2tpZS1iYW5uZXItY29tcG9uZW50PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDb29raWVCYW5uZXJDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoXCJhdHRyLnNlZW5cIilcbiAgcHVibGljIHNlZW46IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZChDb29raWVCYW5uZXJDb21wb25lbnQpXG4gIHB1YmxpYyBjb29raWVMYXdDb21wb25lbnQ6IENvb2tpZUJhbm5lckNvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsZWFybk1vcmU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGFyZ2V0OiBDb29raWVCYW5uZXJUYXJnZXQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBvc2l0aW9uOiBDb29raWVCYW5uZXJQb3NpdGlvbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZXhwaXJhdGlvbjogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhd3NvbWVDbG9zZUljb246IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGlzU2VlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgZ2V0IGNvb2tpZUxhd1NlZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29va2llTGF3U2VydmljZS5zZWVuKHRoaXMubmFtZSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvb2tpZUxhd1NlcnZpY2U6IEFuZ3VsYXIyQ29va2llTGF3QmFubmVyU2VydmljZSkge1xuICAgIHRoaXMubmFtZSA9IFwiY29va2llTGF3U2VlblwiOyAvLyBzZXQgYSBkZWZhdWx0IGNvb2tpZSBuYW1lIGlmIG5vdCBwcm92aWRlZFxuICAgIHRoaXMuc2VlbiA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWVuID0gdGhpcy5jb29raWVMYXdTZXJ2aWNlLnNlZW4odGhpcy5uYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNCZWVuRGlzbWlzc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY29va2llTGF3U2VydmljZS5zdG9yZUNvb2tpZSh0aGlzLm5hbWUsIHRoaXMuZXhwaXJhdGlvbik7XG4gICAgdGhpcy5zZWVuID0gdHJ1ZTtcbiAgICB0aGlzLmlzU2Vlbi5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5jb29raWVMYXdDb21wb25lbnQuZGlzbWlzcygpO1xuICB9XG59XG4iXX0=