Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

angular2-cookie-law

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular2-cookie-law - npm Package Compare versions

Comparing version 0.3.1 to 0.3.2

101

lib/cookie-law.component.js

@@ -50,101 +50,4 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {

],
styles: [`
a {
color: #bbb;
-webkit-transition: color .2s;
transition: color .2s;
}
a:hover {
color: #fff;
}
a:hover svg {
fill: #fff;
}
.cookie-law-wrapper {
background: #333;
color: #bbb;
display: block;
font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
font-size: 15px;
font-weight: 200;
line-height: 20px;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
z-index: 999999999;
font-smooth: always;
-webkit-font-smoothing: antialiased;
}
.dismiss {
display: block;
box-sizing: border-box;
padding: 10px;
position: absolute;
top: 0;
right: 10px;
text-decoration: none;
line-height: 20px;
}
.dismiss svg {
display: block;
fill: #bbb;
width: 20px;
height: 20px;
-webkit-transition: fill .2s;
transition: fill .2s;
}
.copy {
box-sizing: border-box;
padding: 10px 60px 10px 10px;
}
.copy span {
color: #fff;
font-weight: 400;
}
.copy a {
text-decoration: underline;
}
.copy a:active, .copy a:hover {
outline: 0;
}
@media (min-width: 600px) {
/* For bigger devices: */
.copy {
padding: 20px 60px 20px 20px;
font-size: 18px;
line-height: 24px;
}
.dismiss {
top: 10px;
right: 15px;
}
.dismiss svg {
width: 24px;
height: 24px;
}
}
`],
template: `
<div class="cookie-law-wrapper"
*ngIf="!cookieLawSeen"
[@state]="cookieLawSeen">
<div class="copy">
<span #ref><ng-content></ng-content></span>
<span *ngIf="ref.childNodes.length == 0">
By continuing to browse the site, you're agreeing to our use of cookies.
<span *ngIf="learnMore">
Learn more in our <a [href]="learnMore" [target]="target">privacy policy</a>.
</span>
</span>
<a href="#" role="button"
class="dismiss"
[innerHTML]="closeSvg"
(click)="dismiss($event)"></a>
</div>
`
styles: ['a { color: #bbb; -webkit-transition: color .2s; transition: color .2s;}a:hover { color: #fff;}a:hover svg { fill: #fff;}.cookie-law-wrapper { background: #333; color: #bbb; display: block; font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 15px; font-weight: 200; line-height: 20px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 999999999; font-smooth: always; -webkit-font-smoothing: antialiased;}.dismiss { display: block; box-sizing: border-box; padding: 10px; position: absolute; top: 0; right: 10px; text-decoration: none; line-height: 20px;}.dismiss svg { display: block; fill: #bbb; width: 20px; height: 20px; -webkit-transition: fill .2s; transition: fill .2s;}.copy { box-sizing: border-box; padding: 10px 60px 10px 10px;}.copy span { color: #fff; font-weight: 400;}.copy a { text-decoration: underline;}.copy a:active, .copy a:hover { outline: 0;}@media (min-width: 600px) { /* For bigger devices: */ .copy { padding: 20px 60px 20px 20px; font-size: 18px; line-height: 24px; } .dismiss { top: 10px; right: 15px; } .dismiss svg { width: 24px; height: 24px; }}'],
template: '<div class="cookie-law-wrapper"*ngIf="!cookieLawSeen"[@state]="cookieLawSeen"><div class="copy"><span #ref><ng-content></ng-content></span><span *ngIf="ref.childNodes.length == 0">By continuing to browse the site, you\'re agreeing to our use of cookies.<span *ngIf="learnMore">Learn more in our <a [href]="learnMore" [target]="target">privacy policy</a>.</span></span><a href="#" role="button"class="dismiss"[innerHTML]="closeSvg"(click)="dismiss($event)"></a></div>',
}),

@@ -151,0 +54,0 @@ __metadata("design:paramtypes", [CookieLawService,

2

lib/cookie-law.component.metadata.json

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":3,"metadata":{"CookieLawComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"cookie-law","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"trigger"},"arguments":["state",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"state"},"arguments":["in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"style"},"arguments":[{"transform":"translateY(0)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"state"},"arguments":["void",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"style"},"arguments":[{"transform":"translateY(100%)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"transition"},"arguments":["* => *",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"animate"},"arguments":["1000ms ease-in-out"]}]}]]}],"styles":["\n a {\n color: #bbb;\n -webkit-transition: color .2s;\n transition: color .2s;\n }\n a:hover {\n color: #fff;\n }\n a:hover svg {\n fill: #fff;\n }\n .cookie-law-wrapper {\n background: #333;\n color: #bbb;\n display: block;\n font-family: Helvetica Neue,Helvetica,Arial,sans-serif;\n font-size: 15px;\n font-weight: 200;\n line-height: 20px;\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n z-index: 999999999;\n font-smooth: always;\n -webkit-font-smoothing: antialiased;\n }\n .dismiss {\n display: block;\n box-sizing: border-box;\n padding: 10px;\n position: absolute;\n top: 0;\n right: 10px;\n text-decoration: none;\n line-height: 20px;\n }\n .dismiss svg {\n display: block;\n fill: #bbb;\n width: 20px;\n height: 20px;\n -webkit-transition: fill .2s;\n transition: fill .2s;\n }\n .copy {\n box-sizing: border-box;\n padding: 10px 60px 10px 10px;\n }\n .copy span {\n color: #fff;\n font-weight: 400;\n }\n .copy a {\n text-decoration: underline;\n }\n .copy a:active, .copy a:hover {\n outline: 0;\n }\n\n @media (min-width: 600px) {\n /* For bigger devices: */\n .copy {\n padding: 20px 60px 20px 20px;\n font-size: 18px;\n line-height: 24px;\n }\n .dismiss {\n top: 10px;\n right: 15px;\n }\n .dismiss svg {\n width: 24px;\n height: 24px;\n }\n }\n "],"template":"\n <div class=\"cookie-law-wrapper\"\n *ngIf=\"!cookieLawSeen\"\n [@state]=\"cookieLawSeen\">\n\n <div class=\"copy\">\n <span #ref><ng-content></ng-content></span>\n\n <span *ngIf=\"ref.childNodes.length == 0\">\n By continuing to browse the site, you're agreeing to our use of cookies.\n <span *ngIf=\"learnMore\">\n Learn more in our <a [href]=\"learnMore\" [target]=\"target\">privacy policy</a>.\n </span>\n </span>\n\n <a href=\"#\" role=\"button\"\n class=\"dismiss\"\n [innerHTML]=\"closeSvg\"\n (click)=\"dismiss($event)\"></a>\n </div>\n "}]}],"members":{"learnMore":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"target":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./cookie-law.service","name":"CookieLawService"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer"}]}],"ngOnInit":[{"__symbolic":"method"}],"dismiss":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"CookieLawComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"cookie-law","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"trigger"},"arguments":["state",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"state"},"arguments":["in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"style"},"arguments":[{"transform":"translateY(0)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"state"},"arguments":["void",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"style"},"arguments":[{"transform":"translateY(100%)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"transition"},"arguments":["* => *",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"animate"},"arguments":["1000ms ease-in-out"]}]}]]}],"styles":["\n a {\n color: #bbb;\n -webkit-transition: color .2s;\n transition: color .2s;\n }\n a:hover {\n color: #fff;\n }\n a:hover svg {\n fill: #fff;\n }\n .cookie-law-wrapper {\n background: #333;\n color: #bbb;\n display: block;\n font-family: Helvetica Neue,Helvetica,Arial,sans-serif;\n font-size: 15px;\n font-weight: 200;\n line-height: 20px;\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n z-index: 999999999;\n font-smooth: always;\n -webkit-font-smoothing: antialiased;\n }\n .dismiss {\n display: block;\n box-sizing: border-box;\n padding: 10px;\n position: absolute;\n top: 0;\n right: 10px;\n text-decoration: none;\n line-height: 20px;\n }\n .dismiss svg {\n display: block;\n fill: #bbb;\n width: 20px;\n height: 20px;\n -webkit-transition: fill .2s;\n transition: fill .2s;\n }\n .copy {\n box-sizing: border-box;\n padding: 10px 60px 10px 10px;\n }\n .copy span {\n color: #fff;\n font-weight: 400;\n }\n .copy a {\n text-decoration: underline;\n }\n .copy a:active, .copy a:hover {\n outline: 0;\n }\n\n @media (min-width: 600px) {\n /* For bigger devices: */\n .copy {\n padding: 20px 60px 20px 20px;\n font-size: 18px;\n line-height: 24px;\n }\n .dismiss {\n top: 10px;\n right: 15px;\n }\n .dismiss svg {\n width: 24px;\n height: 24px;\n }\n }\n "],"template":"\n <div class=\"cookie-law-wrapper\"\n *ngIf=\"!cookieLawSeen\"\n [@state]=\"cookieLawSeen\">\n\n <div class=\"copy\">\n <span #ref><ng-content></ng-content></span>\n\n <span *ngIf=\"ref.childNodes.length == 0\">\n By continuing to browse the site, you're agreeing to our use of cookies.\n <span *ngIf=\"learnMore\">\n Learn more in our <a [href]=\"learnMore\" [target]=\"target\">privacy policy</a>.\n </span>\n </span>\n\n <a href=\"#\" role=\"button\"\n class=\"dismiss\"\n [innerHTML]=\"closeSvg\"\n (click)=\"dismiss($event)\"></a>\n </div>\n "}]}],"members":{"learnMore":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"target":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./cookie-law.service","name":"CookieLawService"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer"}]}],"ngOnInit":[{"__symbolic":"method"}],"dismiss":[{"__symbolic":"method"}]}}}}]
[{"__symbolic":"module","version":3,"metadata":{"CookieLawComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"cookie-law","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"trigger"},"arguments":["state",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"state"},"arguments":["in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"style"},"arguments":[{"transform":"translateY(0)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"state"},"arguments":["void",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"style"},"arguments":[{"transform":"translateY(100%)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"transition"},"arguments":["* => *",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"animate"},"arguments":["1000ms ease-in-out"]}]}]]}],"styles":["a { color: #bbb; -webkit-transition: color .2s; transition: color .2s;}a:hover { color: #fff;}a:hover svg { fill: #fff;}.cookie-law-wrapper { background: #333; color: #bbb; display: block; font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 15px; font-weight: 200; line-height: 20px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 999999999; font-smooth: always; -webkit-font-smoothing: antialiased;}.dismiss { display: block; box-sizing: border-box; padding: 10px; position: absolute; top: 0; right: 10px; text-decoration: none; line-height: 20px;}.dismiss svg { display: block; fill: #bbb; width: 20px; height: 20px; -webkit-transition: fill .2s; transition: fill .2s;}.copy { box-sizing: border-box; padding: 10px 60px 10px 10px;}.copy span { color: #fff; font-weight: 400;}.copy a { text-decoration: underline;}.copy a:active, .copy a:hover { outline: 0;}@media (min-width: 600px) { /* For bigger devices: */ .copy { padding: 20px 60px 20px 20px; font-size: 18px; line-height: 24px; } .dismiss { top: 10px; right: 15px; } .dismiss svg { width: 24px; height: 24px; }}"],"template":"<div class=\"cookie-law-wrapper\"*ngIf=\"!cookieLawSeen\"[@state]=\"cookieLawSeen\"><div class=\"copy\"><span #ref><ng-content></ng-content></span><span *ngIf=\"ref.childNodes.length == 0\">By continuing to browse the site, you're agreeing to our use of cookies.<span *ngIf=\"learnMore\">Learn more in our <a [href]=\"learnMore\" [target]=\"target\">privacy policy</a>.</span></span><a href=\"#\" role=\"button\"class=\"dismiss\"[innerHTML]=\"closeSvg\"(click)=\"dismiss($event)\"></a></div>"}]}],"members":{"learnMore":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"target":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./cookie-law.service","name":"CookieLawService"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer"}]}],"ngOnInit":[{"__symbolic":"method"}],"dismiss":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"CookieLawComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"cookie-law","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"trigger"},"arguments":["state",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"state"},"arguments":["in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"style"},"arguments":[{"transform":"translateY(0)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"state"},"arguments":["void",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"style"},"arguments":[{"transform":"translateY(100%)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"transition"},"arguments":["* => *",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"animate"},"arguments":["1000ms ease-in-out"]}]}]]}],"styles":["a { color: #bbb; -webkit-transition: color .2s; transition: color .2s;}a:hover { color: #fff;}a:hover svg { fill: #fff;}.cookie-law-wrapper { background: #333; color: #bbb; display: block; font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 15px; font-weight: 200; line-height: 20px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 999999999; font-smooth: always; -webkit-font-smoothing: antialiased;}.dismiss { display: block; box-sizing: border-box; padding: 10px; position: absolute; top: 0; right: 10px; text-decoration: none; line-height: 20px;}.dismiss svg { display: block; fill: #bbb; width: 20px; height: 20px; -webkit-transition: fill .2s; transition: fill .2s;}.copy { box-sizing: border-box; padding: 10px 60px 10px 10px;}.copy span { color: #fff; font-weight: 400;}.copy a { text-decoration: underline;}.copy a:active, .copy a:hover { outline: 0;}@media (min-width: 600px) { /* For bigger devices: */ .copy { padding: 20px 60px 20px 20px; font-size: 18px; line-height: 24px; } .dismiss { top: 10px; right: 15px; } .dismiss svg { width: 24px; height: 24px; }}"],"template":"<div class=\"cookie-law-wrapper\"*ngIf=\"!cookieLawSeen\"[@state]=\"cookieLawSeen\"><div class=\"copy\"><span #ref><ng-content></ng-content></span><span *ngIf=\"ref.childNodes.length == 0\">By continuing to browse the site, you're agreeing to our use of cookies.<span *ngIf=\"learnMore\">Learn more in our <a [href]=\"learnMore\" [target]=\"target\">privacy policy</a>.</span></span><a href=\"#\" role=\"button\"class=\"dismiss\"[innerHTML]=\"closeSvg\"(click)=\"dismiss($event)\"></a></div>"}]}],"members":{"learnMore":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"target":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./cookie-law.service","name":"CookieLawService"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer"}]}],"ngOnInit":[{"__symbolic":"method"}],"dismiss":[{"__symbolic":"method"}]}}}}]

@@ -111,3 +111,3 @@ /**

export const CookieLawComponentNgFactory:import8.ComponentFactory<import0.CookieLawComponent> = new import8.ComponentFactory<import0.CookieLawComponent>('cookie-law',View_CookieLawComponent_Host0,import0.CookieLawComponent);
const styles_CookieLawComponent:any[] = ['a[_ngcontent-%COMP%] {\n color: #bbb;\n -webkit-transition: color .2s;\n transition: color .2s;\n }\n a[_ngcontent-%COMP%]:hover {\n color: #fff;\n }\n a[_ngcontent-%COMP%]:hover svg[_ngcontent-%COMP%] {\n fill: #fff;\n }\n .cookie-law-wrapper[_ngcontent-%COMP%] {\n background: #333;\n color: #bbb;\n display: block;\n font-family: Helvetica Neue,Helvetica,Arial,sans-serif;\n font-size: 15px;\n font-weight: 200;\n line-height: 20px;\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n z-index: 999999999;\n font-smooth: always;\n -webkit-font-smoothing: antialiased;\n }\n .dismiss[_ngcontent-%COMP%] {\n display: block;\n box-sizing: border-box;\n padding: 10px;\n position: absolute;\n top: 0;\n right: 10px;\n text-decoration: none;\n line-height: 20px;\n }\n .dismiss[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] {\n display: block;\n fill: #bbb;\n width: 20px;\n height: 20px;\n -webkit-transition: fill .2s;\n transition: fill .2s;\n }\n .copy[_ngcontent-%COMP%] {\n box-sizing: border-box;\n padding: 10px 60px 10px 10px;\n }\n .copy[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n color: #fff;\n font-weight: 400;\n }\n .copy[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n text-decoration: underline;\n }\n .copy[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active, .copy[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover {\n outline: 0;\n }\n\n @media (min-width: 600px) {\n \n .copy[_ngcontent-%COMP%] {\n padding: 20px 60px 20px 20px;\n font-size: 18px;\n line-height: 24px;\n }\n .dismiss[_ngcontent-%COMP%] {\n top: 10px;\n right: 15px;\n }\n .dismiss[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n }\n }'];
const styles_CookieLawComponent:any[] = ['a[_ngcontent-%COMP%] { color: #bbb; -webkit-transition: color .2s; transition: color .2s;}a[_ngcontent-%COMP%]:hover { color: #fff;}a[_ngcontent-%COMP%]:hover svg[_ngcontent-%COMP%] { fill: #fff;}.cookie-law-wrapper[_ngcontent-%COMP%] { background: #333; color: #bbb; display: block; font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 15px; font-weight: 200; line-height: 20px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 999999999; font-smooth: always; -webkit-font-smoothing: antialiased;}.dismiss[_ngcontent-%COMP%] { display: block; box-sizing: border-box; padding: 10px; position: absolute; top: 0; right: 10px; text-decoration: none; line-height: 20px;}.dismiss[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] { display: block; fill: #bbb; width: 20px; height: 20px; -webkit-transition: fill .2s; transition: fill .2s;}.copy[_ngcontent-%COMP%] { box-sizing: border-box; padding: 10px 60px 10px 10px;}.copy[_ngcontent-%COMP%] span[_ngcontent-%COMP%] { color: #fff; font-weight: 400;}.copy[_ngcontent-%COMP%] a[_ngcontent-%COMP%] { text-decoration: underline;}.copy[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active, .copy[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover { outline: 0;}@media (min-width: 600px) { .copy[_ngcontent-%COMP%] { padding: 20px 60px 20px 20px; font-size: 18px; line-height: 24px; } .dismiss[_ngcontent-%COMP%] { top: 10px; right: 15px; } .dismiss[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] { width: 24px; height: 24px; }}'];
var CookieLawComponent_state_states:any = {

@@ -162,6 +162,6 @@ 'in': {'transform': 'translateY(0)'},

this._el_0 = import3.createRenderElement(this.renderer,(null as any),'span',import3.EMPTY_INLINE_ARRAY,(null as any));
this._text_1 = this.renderer.createText(this._el_0,'\n Learn more in our ',(null as any));
this._text_1 = this.renderer.createText(this._el_0,'Learn more in our ',(null as any));
this._el_2 = import3.createRenderElement(this.renderer,this._el_0,'a',import3.EMPTY_INLINE_ARRAY,(null as any));
this._text_3 = this.renderer.createText(this._el_2,'privacy policy',(null as any));
this._text_4 = this.renderer.createText(this._el_0,'.\n ',(null as any));
this._text_4 = this.renderer.createText(this._el_0,'.',(null as any));
this.init(this._el_0,((<any>this.renderer).directRenderer? (null as any): [

@@ -200,3 +200,2 @@ this._el_0,

_NgIf_2_6:import19.Wrapper_NgIf;
_text_3:any;
constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView<any>,parentIndex:number,parentElement:any,declaredViewContainer:import17.ViewContainer) {

@@ -207,3 +206,3 @@ super(View_CookieLawComponent2,renderType_CookieLawComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import7.ChangeDetectorStatus.CheckAlways,declaredViewContainer);

this._el_0 = import3.createRenderElement(this.renderer,(null as any),'span',import3.EMPTY_INLINE_ARRAY,(null as any));
this._text_1 = this.renderer.createText(this._el_0,'\n By continuing to browse the site, you\'re agreeing to our use of cookies.\n ',(null as any));
this._text_1 = this.renderer.createText(this._el_0,'By continuing to browse the site, you\'re agreeing to our use of cookies.',(null as any));
this._anchor_2 = this.renderer.createTemplateAnchor(this._el_0,(null as any));

@@ -213,8 +212,6 @@ this._vc_2 = new import17.ViewContainer(2,0,this,this._anchor_2);

this._NgIf_2_6 = new import19.Wrapper_NgIf(this._vc_2.vcRef,this._TemplateRef_2_5);
this._text_3 = this.renderer.createText(this._el_0,'\n ',(null as any));
this.init(this._el_0,((<any>this.renderer).directRenderer? (null as any): [
this._el_0,
this._text_1,
this._anchor_2,
this._text_3
this._anchor_2
]

@@ -248,51 +245,33 @@ ),(null as any));

_el_0:any;
_text_1:any;
_el_1:any;
_el_2:any;
_text_3:any;
_anchor_3:any;
/*private*/ _vc_3:import17.ViewContainer;
_TemplateRef_3_5:any;
_NgIf_3_6:import19.Wrapper_NgIf;
_el_4:any;
_text_5:any;
_anchor_6:any;
/*private*/ _vc_6:import17.ViewContainer;
_TemplateRef_6_5:any;
_NgIf_6_6:import19.Wrapper_NgIf;
_text_7:any;
_el_8:any;
_text_9:any;
_text_10:any;
/*private*/ _expr_14:any;
/*private*/ _expr_15:any;
/*private*/ _expr_8:any;
/*private*/ _expr_9:any;
constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView<any>,parentIndex:number,parentElement:any,declaredViewContainer:import17.ViewContainer) {
super(View_CookieLawComponent1,renderType_CookieLawComponent,import6.ViewType.EMBEDDED,viewUtils,parentView,parentIndex,parentElement,import7.ChangeDetectorStatus.CheckAlways,declaredViewContainer);
this._expr_14 = import1.UNINITIALIZED;
this._expr_15 = import1.UNINITIALIZED;
this._expr_8 = import1.UNINITIALIZED;
this._expr_9 = import1.UNINITIALIZED;
}
createInternal(rootSelector:string):import8.ComponentRef<any> {
this._el_0 = import3.createRenderElement(this.renderer,(null as any),'div',new import3.InlineArray2(2,'class','cookie-law-wrapper'),(null as any));
this._text_1 = this.renderer.createText(this._el_0,'\n\n ',(null as any));
this._el_2 = import3.createRenderElement(this.renderer,this._el_0,'div',new import3.InlineArray2(2,'class','copy'),(null as any));
this._text_3 = this.renderer.createText(this._el_2,'\n ',(null as any));
this._el_4 = import3.createRenderElement(this.renderer,this._el_2,'span',import3.EMPTY_INLINE_ARRAY,(null as any));
this.projectNodes(this._el_4,0);
this._text_5 = this.renderer.createText(this._el_2,'\n\n ',(null as any));
this._anchor_6 = this.renderer.createTemplateAnchor(this._el_2,(null as any));
this._vc_6 = new import17.ViewContainer(6,2,this,this._anchor_6);
this._TemplateRef_6_5 = new import20.TemplateRef_(this,6,this._anchor_6);
this._NgIf_6_6 = new import19.Wrapper_NgIf(this._vc_6.vcRef,this._TemplateRef_6_5);
this._text_7 = this.renderer.createText(this._el_2,'\n\n ',(null as any));
this._el_8 = import3.createRenderElement(this.renderer,this._el_2,'a',new import3.InlineArray8(6,'class','dismiss','href','#','role','button'),(null as any));
this._text_9 = this.renderer.createText(this._el_2,'\n ',(null as any));
this._text_10 = this.renderer.createText(this._el_0,'\n ',(null as any));
var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_8,new import3.InlineArray2(2,'click',(null as any)),this.eventHandler(this.handleEvent_8));
this._el_1 = import3.createRenderElement(this.renderer,this._el_0,'div',new import3.InlineArray2(2,'class','copy'),(null as any));
this._el_2 = import3.createRenderElement(this.renderer,this._el_1,'span',import3.EMPTY_INLINE_ARRAY,(null as any));
this.projectNodes(this._el_2,0);
this._anchor_3 = this.renderer.createTemplateAnchor(this._el_1,(null as any));
this._vc_3 = new import17.ViewContainer(3,1,this,this._anchor_3);
this._TemplateRef_3_5 = new import20.TemplateRef_(this,3,this._anchor_3);
this._NgIf_3_6 = new import19.Wrapper_NgIf(this._vc_3.vcRef,this._TemplateRef_3_5);
this._el_4 = import3.createRenderElement(this.renderer,this._el_1,'a',new import3.InlineArray8(6,'class','dismiss','href','#','role','button'),(null as any));
var disposable_0:Function = import3.subscribeToRenderElement(this,this._el_4,new import3.InlineArray2(2,'click',(null as any)),this.eventHandler(this.handleEvent_4));
this.init(this._el_0,((<any>this.renderer).directRenderer? (null as any): [
this._el_0,
this._text_1,
this._el_1,
this._el_2,
this._text_3,
this._el_4,
this._text_5,
this._anchor_6,
this._text_7,
this._el_8,
this._text_9,
this._text_10
this._anchor_3,
this._el_4
]

@@ -303,27 +282,27 @@ ),[disposable_0]);

injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any {
if (((token === import20.TemplateRef) && (6 === requestNodeIndex))) { return this._TemplateRef_6_5; }
if (((token === import21.NgIf) && (6 === requestNodeIndex))) { return this._NgIf_6_6.context; }
if (((token === import20.TemplateRef) && (3 === requestNodeIndex))) { return this._TemplateRef_3_5; }
if (((token === import21.NgIf) && (3 === requestNodeIndex))) { return this._NgIf_3_6.context; }
return notFoundResult;
}
detectChangesInternal(throwOnChange:boolean):void {
const currVal_14:any = this.parentView.context.cookieLawSeen;
if (import3.checkBinding(throwOnChange,this._expr_14,currVal_14)) {
var animationTransition_state:any = this.componentType.animations['state'](this,this._el_0,((this._expr_14 == import1.UNINITIALIZED)? 'void': this._expr_14),((currVal_14 == import1.UNINITIALIZED)? 'void': currVal_14));
this._expr_14 = currVal_14;
const currVal_8:any = this.parentView.context.cookieLawSeen;
if (import3.checkBinding(throwOnChange,this._expr_8,currVal_8)) {
var animationTransition_state:any = this.componentType.animations['state'](this,this._el_0,((this._expr_8 == import1.UNINITIALIZED)? 'void': this._expr_8),((currVal_8 == import1.UNINITIALIZED)? 'void': currVal_8));
this._expr_8 = currVal_8;
}
const currVal_6_0_0:any = (this._el_4.childNodes.length == 0);
this._NgIf_6_6.check_ngIf(currVal_6_0_0,throwOnChange,false);
this._NgIf_6_6.ngDoCheck(this,this._anchor_6,throwOnChange);
this._vc_6.detectChangesInNestedViews(throwOnChange);
const currVal_15:any = this.parentView.context.closeSvg;
if (import3.checkBinding(throwOnChange,this._expr_15,currVal_15)) {
this.renderer.setElementProperty(this._el_8,'innerHTML',this.viewUtils.sanitizer.sanitize(import18.SecurityContext.HTML,currVal_15));
this._expr_15 = currVal_15;
const currVal_3_0_0:any = (this._el_2.childNodes.length == 0);
this._NgIf_3_6.check_ngIf(currVal_3_0_0,throwOnChange,false);
this._NgIf_3_6.ngDoCheck(this,this._anchor_3,throwOnChange);
this._vc_3.detectChangesInNestedViews(throwOnChange);
const currVal_9:any = this.parentView.context.closeSvg;
if (import3.checkBinding(throwOnChange,this._expr_9,currVal_9)) {
this.renderer.setElementProperty(this._el_4,'innerHTML',this.viewUtils.sanitizer.sanitize(import18.SecurityContext.HTML,currVal_9));
this._expr_9 = currVal_9;
}
}
destroyInternal():void {
this._vc_6.destroyNestedViews();
this._vc_3.destroyNestedViews();
}
detachInternal():void {
var animationTransition_state:any = this.componentType.animations['state'](this,this._el_0,this._expr_14,'void');
var animationTransition_state:any = this.componentType.animations['state'](this,this._el_0,this._expr_8,'void');
}

@@ -334,6 +313,6 @@ visitRootNodesInternal(cb:any,ctx:any):void {

createEmbeddedViewInternal(nodeIndex:number):import2.AppView<any> {
if ((nodeIndex == 6)) { return new View_CookieLawComponent2(this.viewUtils,this,6,this._anchor_6,this._vc_6); }
if ((nodeIndex == 3)) { return new View_CookieLawComponent2(this.viewUtils,this,3,this._anchor_3,this._vc_3); }
return (null as any);
}
handleEvent_8(eventName:string,$event:any):boolean {
handleEvent_4(eventName:string,$event:any):boolean {
this.markPathToRootAsCheckOnce();

@@ -350,7 +329,6 @@ var result:boolean = true;

export class View_CookieLawComponent0 extends import2.AppView<import0.CookieLawComponent> {
_text_0:any;
_anchor_1:any;
/*private*/ _vc_1:import17.ViewContainer;
_TemplateRef_1_5:any;
_NgIf_1_6:import19.Wrapper_NgIf;
_anchor_0:any;
/*private*/ _vc_0:import17.ViewContainer;
_TemplateRef_0_5:any;
_NgIf_0_6:import19.Wrapper_NgIf;
constructor(viewUtils:import3.ViewUtils,parentView:import2.AppView<any>,parentIndex:number,parentElement:any) {

@@ -361,32 +339,27 @@ super(View_CookieLawComponent0,renderType_CookieLawComponent,import6.ViewType.COMPONENT,viewUtils,parentView,parentIndex,parentElement,import7.ChangeDetectorStatus.CheckAlways);

const parentRenderNode:any = this.renderer.createViewRoot(this.parentElement);
this._text_0 = this.renderer.createText(parentRenderNode,'\n ',(null as any));
this._anchor_1 = this.renderer.createTemplateAnchor(parentRenderNode,(null as any));
this._vc_1 = new import17.ViewContainer(1,(null as any),this,this._anchor_1);
this._TemplateRef_1_5 = new import20.TemplateRef_(this,1,this._anchor_1);
this._NgIf_1_6 = new import19.Wrapper_NgIf(this._vc_1.vcRef,this._TemplateRef_1_5);
this.init((null as any),((<any>this.renderer).directRenderer? (null as any): [
this._text_0,
this._anchor_1
]
),(null as any));
this._anchor_0 = this.renderer.createTemplateAnchor(parentRenderNode,(null as any));
this._vc_0 = new import17.ViewContainer(0,(null as any),this,this._anchor_0);
this._TemplateRef_0_5 = new import20.TemplateRef_(this,0,this._anchor_0);
this._NgIf_0_6 = new import19.Wrapper_NgIf(this._vc_0.vcRef,this._TemplateRef_0_5);
this.init((null as any),((<any>this.renderer).directRenderer? (null as any): [this._anchor_0]),(null as any));
return (null as any);
}
injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any {
if (((token === import20.TemplateRef) && (1 === requestNodeIndex))) { return this._TemplateRef_1_5; }
if (((token === import21.NgIf) && (1 === requestNodeIndex))) { return this._NgIf_1_6.context; }
if (((token === import20.TemplateRef) && (0 === requestNodeIndex))) { return this._TemplateRef_0_5; }
if (((token === import21.NgIf) && (0 === requestNodeIndex))) { return this._NgIf_0_6.context; }
return notFoundResult;
}
detectChangesInternal(throwOnChange:boolean):void {
const currVal_1_0_0:boolean = !this.context.cookieLawSeen;
this._NgIf_1_6.check_ngIf(currVal_1_0_0,throwOnChange,false);
this._NgIf_1_6.ngDoCheck(this,this._anchor_1,throwOnChange);
this._vc_1.detectChangesInNestedViews(throwOnChange);
const currVal_0_0_0:boolean = !this.context.cookieLawSeen;
this._NgIf_0_6.check_ngIf(currVal_0_0_0,throwOnChange,false);
this._NgIf_0_6.ngDoCheck(this,this._anchor_0,throwOnChange);
this._vc_0.detectChangesInNestedViews(throwOnChange);
}
destroyInternal():void {
this._vc_1.destroyNestedViews();
this._vc_0.destroyNestedViews();
}
createEmbeddedViewInternal(nodeIndex:number):import2.AppView<any> {
if ((nodeIndex == 1)) { return new View_CookieLawComponent1(this.viewUtils,this,1,this._anchor_1,this._vc_1); }
if ((nodeIndex == 0)) { return new View_CookieLawComponent1(this.viewUtils,this,0,this._anchor_0,this._vc_0); }
return (null as any);
}
}

@@ -33,101 +33,4 @@ /**

],
styles: [`
a {
color: #bbb;
-webkit-transition: color .2s;
transition: color .2s;
}
a:hover {
color: #fff;
}
a:hover svg {
fill: #fff;
}
.cookie-law-wrapper {
background: #333;
color: #bbb;
display: block;
font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
font-size: 15px;
font-weight: 200;
line-height: 20px;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
z-index: 999999999;
font-smooth: always;
-webkit-font-smoothing: antialiased;
}
.dismiss {
display: block;
box-sizing: border-box;
padding: 10px;
position: absolute;
top: 0;
right: 10px;
text-decoration: none;
line-height: 20px;
}
.dismiss svg {
display: block;
fill: #bbb;
width: 20px;
height: 20px;
-webkit-transition: fill .2s;
transition: fill .2s;
}
.copy {
box-sizing: border-box;
padding: 10px 60px 10px 10px;
}
.copy span {
color: #fff;
font-weight: 400;
}
.copy a {
text-decoration: underline;
}
.copy a:active, .copy a:hover {
outline: 0;
}
@media (min-width: 600px) {
/* For bigger devices: */
.copy {
padding: 20px 60px 20px 20px;
font-size: 18px;
line-height: 24px;
}
.dismiss {
top: 10px;
right: 15px;
}
.dismiss svg {
width: 24px;
height: 24px;
}
}
`],
template: `
<div class="cookie-law-wrapper"
*ngIf="!cookieLawSeen"
[@state]="cookieLawSeen">
<div class="copy">
<span #ref><ng-content></ng-content></span>
<span *ngIf="ref.childNodes.length == 0">
By continuing to browse the site, you're agreeing to our use of cookies.
<span *ngIf="learnMore">
Learn more in our <a [href]="learnMore" [target]="target">privacy policy</a>.
</span>
</span>
<a href="#" role="button"
class="dismiss"
[innerHTML]="closeSvg"
(click)="dismiss($event)"></a>
</div>
`
styles: ['a { color: #bbb; -webkit-transition: color .2s; transition: color .2s;}a:hover { color: #fff;}a:hover svg { fill: #fff;}.cookie-law-wrapper { background: #333; color: #bbb; display: block; font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 15px; font-weight: 200; line-height: 20px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 999999999; font-smooth: always; -webkit-font-smoothing: antialiased;}.dismiss { display: block; box-sizing: border-box; padding: 10px; position: absolute; top: 0; right: 10px; text-decoration: none; line-height: 20px;}.dismiss svg { display: block; fill: #bbb; width: 20px; height: 20px; -webkit-transition: fill .2s; transition: fill .2s;}.copy { box-sizing: border-box; padding: 10px 60px 10px 10px;}.copy span { color: #fff; font-weight: 400;}.copy a { text-decoration: underline;}.copy a:active, .copy a:hover { outline: 0;}@media (min-width: 600px) { /* For bigger devices: */ .copy { padding: 20px 60px 20px 20px; font-size: 18px; line-height: 24px; } .dismiss { top: 10px; right: 15px; } .dismiss svg { width: 24px; height: 24px; }}'],
template: '<div class="cookie-law-wrapper"*ngIf="!cookieLawSeen"[@state]="cookieLawSeen"><div class="copy"><span #ref><ng-content></ng-content></span><span *ngIf="ref.childNodes.length == 0">By continuing to browse the site, you\'re agreeing to our use of cookies.<span *ngIf="learnMore">Learn more in our <a [href]="learnMore" [target]="target">privacy policy</a>.</span></span><a href="#" role="button"class="dismiss"[innerHTML]="closeSvg"(click)="dismiss($event)"></a></div>',
})

@@ -134,0 +37,0 @@ export class CookieLawComponent implements OnInit {

@@ -93,4 +93,4 @@ /**

],
styles: ["\n a {\n color: #bbb;\n -webkit-transition: color .2s;\n transition: color .2s;\n }\n a:hover {\n color: #fff;\n }\n a:hover svg {\n fill: #fff;\n }\n .cookie-law-wrapper {\n background: #333;\n color: #bbb;\n display: block;\n font-family: Helvetica Neue,Helvetica,Arial,sans-serif;\n font-size: 15px;\n font-weight: 200;\n line-height: 20px;\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n z-index: 999999999;\n font-smooth: always;\n -webkit-font-smoothing: antialiased;\n }\n .dismiss {\n display: block;\n box-sizing: border-box;\n padding: 10px;\n position: absolute;\n top: 0;\n right: 10px;\n text-decoration: none;\n line-height: 20px;\n }\n .dismiss svg {\n display: block;\n fill: #bbb;\n width: 20px;\n height: 20px;\n -webkit-transition: fill .2s;\n transition: fill .2s;\n }\n .copy {\n box-sizing: border-box;\n padding: 10px 60px 10px 10px;\n }\n .copy span {\n color: #fff;\n font-weight: 400;\n }\n .copy a {\n text-decoration: underline;\n }\n .copy a:active, .copy a:hover {\n outline: 0;\n }\n\n @media (min-width: 600px) {\n /* For bigger devices: */\n .copy {\n padding: 20px 60px 20px 20px;\n font-size: 18px;\n line-height: 24px;\n }\n .dismiss {\n top: 10px;\n right: 15px;\n }\n .dismiss svg {\n width: 24px;\n height: 24px;\n }\n }\n "],
template: "\n <div class=\"cookie-law-wrapper\"\n *ngIf=\"!cookieLawSeen\"\n [@state]=\"cookieLawSeen\">\n\n <div class=\"copy\">\n <span #ref><ng-content></ng-content></span>\n\n <span *ngIf=\"ref.childNodes.length == 0\">\n By continuing to browse the site, you're agreeing to our use of cookies.\n <span *ngIf=\"learnMore\">\n Learn more in our <a [href]=\"learnMore\" [target]=\"target\">privacy policy</a>.\n </span>\n </span>\n\n <a href=\"#\" role=\"button\"\n class=\"dismiss\"\n [innerHTML]=\"closeSvg\"\n (click)=\"dismiss($event)\"></a>\n </div>\n "
styles: ["a {\n color: #bbb;\n -webkit-transition: color .2s;\n transition: color .2s;\n}\na:hover {\n color: #fff;\n}\na:hover svg {\n fill: #fff;\n}\n.cookie-law-wrapper {\n background: #333;\n color: #bbb;\n display: block;\n font-family: Helvetica Neue,Helvetica,Arial,sans-serif;\n font-size: 15px;\n font-weight: 200;\n line-height: 20px;\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n z-index: 999999999;\n font-smooth: always;\n -webkit-font-smoothing: antialiased;\n}\n.dismiss {\n display: block;\n box-sizing: border-box;\n padding: 10px;\n position: absolute;\n top: 0;\n right: 10px;\n text-decoration: none;\n line-height: 20px;\n}\n.dismiss svg {\n display: block;\n fill: #bbb;\n width: 20px;\n height: 20px;\n -webkit-transition: fill .2s;\n transition: fill .2s;\n}\n.copy {\n box-sizing: border-box;\n padding: 10px 60px 10px 10px;\n}\n.copy span {\n color: #fff;\n font-weight: 400;\n}\n.copy a {\n text-decoration: underline;\n}\n.copy a:active, .copy a:hover {\n outline: 0;\n}\n\n@media (min-width: 600px) {\n /* For bigger devices: */\n .copy {\n padding: 20px 60px 20px 20px;\n font-size: 18px;\n line-height: 24px;\n }\n .dismiss {\n top: 10px;\n right: 15px;\n }\n .dismiss svg {\n width: 24px;\n height: 24px;\n }\n}\n"],
template: "<div class=\"cookie-law-wrapper\"\n *ngIf=\"!cookieLawSeen\"\n [@state]=\"cookieLawSeen\">\n\n <div class=\"copy\">\n <span #ref><ng-content></ng-content></span>\n\n <span *ngIf=\"ref.childNodes.length == 0\">\n By continuing to browse the site, you're agreeing to our use of cookies.\n <span *ngIf=\"learnMore\">\n Learn more in our <a [href]=\"learnMore\" [target]=\"target\">privacy policy</a>.\n </span>\n </span>\n\n <a href=\"#\" role=\"button\"\n class=\"dismiss\"\n [innerHTML]=\"closeSvg\"\n (click)=\"dismiss($event)\"></a>\n</div>\n",
}),

@@ -97,0 +97,0 @@ __metadata("design:paramtypes", [typeof (_a = typeof exports.CookieLawService !== "undefined" && exports.CookieLawService) === "function" && _a || Object, typeof (_b = typeof _angular_platformBrowser.DomSanitizer !== "undefined" && _angular_platformBrowser.DomSanitizer) === "function" && _b || Object])

{
"name": "angular2-cookie-law",
"version": "0.3.1",
"version": "0.3.2",
"description": "Angular2 component that provides a banner to inform users about cookie law",

@@ -5,0 +5,0 @@ "main": "index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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