some-shit
Version:
Web3Modal implementation for Angular
35 lines • 3.99 kB
JavaScript
import { Component, EventEmitter, ViewEncapsulation } from '@angular/core';
export class Modal {
constructor() {
this.allowClose = true;
this.hidden = true;
this.closed = new EventEmitter();
}
set _hidden(value) {
this.hidden = value;
}
set open(value) {
this.hidden = !value;
}
close(event) {
if (!this.allowClose)
return;
this.hidden = !this.hidden;
this.closed.next(true);
event.stopPropagation();
}
}
Modal.decorators = [
{ type: Component, args: [{
selector: 'm-modal',
host: {
'[hidden]': 'hidden',
},
inputs: ['open', 'allowClose'],
outputs: ['closed'],
encapsulation: ViewEncapsulation.None,
template: "<div class=\"m-modal-bg\" (click)=\"close($event)\"></div>\n<div class=\"m-modal-container\">\n <ng-content></ng-content>\n</div>",
styles: ["m-modal .m-modal-bg{background-color:rgba(0,0,0,.8);cursor:pointer;height:100%;left:0;position:fixed;top:0;width:100%;z-index:99999991}m-modal .m-modal-container{-webkit-overflow-scrolling:touch;border-radius:6px;box-sizing:border-box;display:block;font-family:Roboto,sans-serif;left:50%;margin:auto;max-height:98vh;max-width:100%;outline:0;overflow-y:auto;padding:32px;position:fixed;top:50%;transform:translate(-50%,-50%);width:800px;z-index:99999995}m-modal{bottom:0;height:100%;left:0;overflow:overlay;overflow:scroll;position:relative;right:0;top:0;width:100%}"]
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9ocnlob3JpaW9wYW5hc2Vua28vRGVza3RvcC9zaGl0L3dlYjNtb2RhbC1hbmd1bGFyL3Byb2plY3RzL3NvbWUtc2hpdC9zcmMvIiwic291cmNlcyI6WyJsaWIvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBYTNFLE1BQU0sT0FBTyxLQUFLO0lBWGxCO1FBWUUsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixXQUFNLEdBQVksSUFBSSxDQUFDO1FBQ3ZCLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQWlCakQsQ0FBQztJQWZDLElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBRTdCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7WUE5QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxTQUFTO2dCQUNuQixJQUFJLEVBQUU7b0JBQ0osVUFBVSxFQUFFLFFBQVE7aUJBQ3JCO2dCQUNELE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUM7Z0JBQzlCLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFFbkIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLDhJQUFxQzs7YUFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbS1tb2RhbCcsXG4gIGhvc3Q6IHtcbiAgICAnW2hpZGRlbl0nOiAnaGlkZGVuJyxcbiAgfSxcbiAgaW5wdXRzOiBbJ29wZW4nLCAnYWxsb3dDbG9zZSddLFxuICBvdXRwdXRzOiBbJ2Nsb3NlZCddLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbCB7XG4gIGFsbG93Q2xvc2U6IGJvb2xlYW4gPSB0cnVlO1xuICBoaWRkZW46IGJvb2xlYW4gPSB0cnVlO1xuICBjbG9zZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHNldCBfaGlkZGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5oaWRkZW4gPSB2YWx1ZTtcbiAgfVxuXG4gIHNldCBvcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5oaWRkZW4gPSAhdmFsdWU7XG4gIH1cblxuICBjbG9zZShldmVudCkge1xuICAgIGlmICghdGhpcy5hbGxvd0Nsb3NlKSByZXR1cm47XG5cbiAgICB0aGlzLmhpZGRlbiA9ICF0aGlzLmhpZGRlbjtcbiAgICB0aGlzLmNsb3NlZC5uZXh0KHRydWUpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59XG4iXX0=