UNPKG

@indice/ng-components

Version:

Indice common components for Angular v12

64 lines 9.13 kB
import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class ToggleComponent { constructor() { this.valueChange = new EventEmitter(); this.onChange$ = undefined; this.onTouched$ = undefined; } writeValue(obj) { if (obj) { this.value = obj || false; } } registerOnChange(fn) { this.onChange$ = fn; } registerOnTouched(fn) { this.onTouched$ = fn; } onBlur(event) { if (this.onTouched$) { this.onTouched$(); } } ngOnInit() { } changeValue() { this.value = !this.value; this.valueChange.emit(this.value); if (this.onChange$) { this.onChange$(this.value); } if (this.onTouched$) { this.onTouched$(); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ToggleComponent, selector: "lib-toggle", inputs: { value: "value", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ToggleComponent), multi: true } ], ngImport: i0, template: "<button type=\"button\"\r\n [ngClass]=\"value ? (disabled ? 'on disabled' : 'on') : 'off'\"\r\n class=\"toggle-button\"\r\n role=\"switch\"\r\n aria-checked=\"false\"\r\n aria-labelledby=\"isPrivate\"\r\n (click)=\"changeValue()\"\r\n (blur)=\"onBlur($event)\"\r\n value=\"{{value}}\"\r\n [disabled]=\"disabled\"\r\n [title]=\"disabled ? '\u03A4\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B9\u03B4\u03C9\u03C4\u03B9\u03BA\u03CC' : '\u0399\u03B4\u03B9\u03C9\u03C4\u03B9\u03BA\u03CC'\">\r\n <span aria-hidden=\"true\"\r\n [ngClass]=\"value ? 'enabled-anim' : 'disabled-anim'\"\r\n class=\"toggle-span\"></span>\r\n</button>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ToggleComponent, decorators: [{ type: Component, args: [{ selector: 'lib-toggle', providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ToggleComponent), multi: true } ], template: "<button type=\"button\"\r\n [ngClass]=\"value ? (disabled ? 'on disabled' : 'on') : 'off'\"\r\n class=\"toggle-button\"\r\n role=\"switch\"\r\n aria-checked=\"false\"\r\n aria-labelledby=\"isPrivate\"\r\n (click)=\"changeValue()\"\r\n (blur)=\"onBlur($event)\"\r\n value=\"{{value}}\"\r\n [disabled]=\"disabled\"\r\n [title]=\"disabled ? '\u03A4\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B9\u03B4\u03C9\u03C4\u03B9\u03BA\u03CC' : '\u0399\u03B4\u03B9\u03C9\u03C4\u03B9\u03BA\u03CC'\">\r\n <span aria-hidden=\"true\"\r\n [ngClass]=\"value ? 'enabled-anim' : 'disabled-anim'\"\r\n class=\"toggle-span\"></span>\r\n</button>" }] }], ctorParameters: () => [], propDecorators: { value: [{ type: Input }], disabled: [{ type: Input }], valueChange: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBYXpFLE1BQU0sT0FBTyxlQUFlO0lBVTFCO1FBTFUsZ0JBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVuRSxjQUFTLEdBQW9CLFNBQVMsQ0FBQztRQUN2QyxlQUFVLEdBQW9CLFNBQVMsQ0FBQztJQUVoQyxDQUFDO0lBRWpCLFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUcsR0FBRyxFQUFFLENBQUM7WUFDUCxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBVTtRQUN0QixJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7OEdBMUNVLGVBQWU7a0dBQWYsZUFBZSxnSUFSZjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDWkgsK3hCQWNTOzsyRkRBSSxlQUFlO2tCQVgzQixTQUFTOytCQUNFLFlBQVksYUFFWDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0RBSU0sS0FBSztzQkFEWCxLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10b2dnbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2dnbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVG9nZ2xlQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2dnbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWx1ZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzYWJsZWQ6Ym9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Qm9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPEJvb2xlYW4+KCk7XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UkOiBhbnkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQkOiBhbnkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgXHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgaWYob2JqKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBvYmogfHwgZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSQgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQkID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25CbHVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMub25Ub3VjaGVkJCkge1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVZhbHVlKCl7XHJcbiAgICB0aGlzLnZhbHVlID0gIXRoaXMudmFsdWU7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICBpZih0aGlzLm9uQ2hhbmdlJCkge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlJCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmKHRoaXMub25Ub3VjaGVkJCkge1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCQoKTtcclxuICAgIH1cclxuICB9XHJcbn0iLCI8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInZhbHVlID8gKGRpc2FibGVkID8gJ29uIGRpc2FibGVkJyA6ICdvbicpIDogJ29mZidcIlxyXG4gICAgICAgIGNsYXNzPVwidG9nZ2xlLWJ1dHRvblwiXHJcbiAgICAgICAgcm9sZT1cInN3aXRjaFwiXHJcbiAgICAgICAgYXJpYS1jaGVja2VkPVwiZmFsc2VcIlxyXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImlzUHJpdmF0ZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZVZhbHVlKClcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcclxuICAgICAgICB2YWx1ZT1cInt7dmFsdWV9fVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbdGl0bGVdPVwiZGlzYWJsZWQgPyAnzqTOvyDOsc+Bz4fOtc6vzr8gz4DPgc6tz4DOtc65IM69zrEgzrXOr869zrHOuSDOuc60z4nPhM65zrrPjCcgOiAnzpnOtM65z4nPhM65zrrPjCdcIj5cclxuICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ2YWx1ZSA/ICdlbmFibGVkLWFuaW0nIDogJ2Rpc2FibGVkLWFuaW0nXCJcclxuICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLXNwYW5cIj48L3NwYW4+XHJcbjwvYnV0dG9uPiJdfQ==