UNPKG

ngx-lil-gui

Version:
65 lines 7.93 kB
import { Directive, EventEmitter, inject, Input, Output, } from '@angular/core'; import { NgxLilGui } from './ngx-lil-gui.component'; import * as i0 from "@angular/core"; class NgxLilGuiColor { constructor() { this.valueChange = new EventEmitter(); this.finishChange = new EventEmitter(); this.colorReady = new EventEmitter(); this.preAdd = new EventEmitter(); this.#parentGui = inject(NgxLilGui, { skipSelf: true, optional: true }); } #colorController; get colorController() { return this.#colorController; } #parentGui; ngOnInit() { if (!this.#parentGui) { throw new Error('ngx-lil-gui-color must be used within a ngx-lil-gui'); } this.preAdd.emit(); this.#colorController = this.#parentGui.addColor(this.property, this.colorConfig); this.#parentGui.run(() => { if (this.colorController) { this.colorController.updateDisplay(); this.colorController.onChange((value) => { this.valueChange.emit({ value, controller: this.colorController }); }); this.colorController.onFinishChange((value) => { this.finishChange.emit({ value, controller: this.colorController }); }); this.colorReady.emit(this.colorController); } }); } ngOnDestroy() { if (this.colorController) { this.colorController.destroy(); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgxLilGuiColor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: NgxLilGuiColor, isStandalone: true, selector: "ngx-lil-gui-color", inputs: { property: "property", colorConfig: "colorConfig" }, outputs: { valueChange: "valueChange", finishChange: "finishChange", colorReady: "colorReady", preAdd: "preAdd" }, ngImport: i0 }); } } export { NgxLilGuiColor }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NgxLilGuiColor, decorators: [{ type: Directive, args: [{ selector: 'ngx-lil-gui-color', standalone: true, }] }], propDecorators: { property: [{ type: Input, args: [{ required: true }] }], colorConfig: [{ type: Input }], valueChange: [{ type: Output }], finishChange: [{ type: Output }], colorReady: [{ type: Output }], preAdd: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxpbC1ndWktY29sb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmd4LWxpbC1ndWkvc3JjL2xpYi9uZ3gtbGlsLWd1aS1jb2xvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU9wRCxNQUlhLGNBQWM7SUFKM0I7UUFRWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBQzVELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW1DLENBQUM7UUFDbkUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBQ2pELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBUTVDLGVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQWlDcEU7SUF2Q0MsZ0JBQWdCLENBQW1CO0lBRW5DLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUF5RDtJQUVuRSxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQzlDLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUN2QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBRXJDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7b0JBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZ0IsRUFBRSxDQUFDLENBQUM7Z0JBQ3RFLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7b0JBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZ0IsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZFLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFnQixDQUFDLENBQUM7YUFDN0M7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDOzhHQS9DVSxjQUFjO2tHQUFkLGNBQWM7O1NBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFFNEIsUUFBUTtzQkFBbEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sb3JDb250cm9sbGVyIH0gZnJvbSAnbGlsLWd1aSc7XG5pbXBvcnQgeyBOZ3hMaWxHdWkgfSBmcm9tICcuL25neC1saWwtZ3VpLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7XG4gIE5neExpbEd1aUNvbG9yQ29uZmlnLFxuICBOZ3hMaWxHdWlDb250cm9sbGVyQ2hhbmdlLFxuICBOZ3hMaWxHdWlDb250cm9sbGVyRmluaXNoQ2hhbmdlLFxufSBmcm9tICcuL3R5cGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnbmd4LWxpbC1ndWktY29sb3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hMaWxHdWlDb2xvciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHJvcGVydHkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbG9yQ29uZmlnPzogTmd4TGlsR3VpQ29sb3JDb25maWdbc3RyaW5nXTtcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE5neExpbEd1aUNvbnRyb2xsZXJDaGFuZ2U+KCk7XG4gIEBPdXRwdXQoKSBmaW5pc2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE5neExpbEd1aUNvbnRyb2xsZXJGaW5pc2hDaGFuZ2U+KCk7XG4gIEBPdXRwdXQoKSBjb2xvclJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxDb2xvckNvbnRyb2xsZXI+KCk7XG4gIEBPdXRwdXQoKSBwcmVBZGQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgI2NvbG9yQ29udHJvbGxlcj86IENvbG9yQ29udHJvbGxlcjtcblxuICBnZXQgY29sb3JDb250cm9sbGVyKCkge1xuICAgIHJldHVybiB0aGlzLiNjb2xvckNvbnRyb2xsZXI7XG4gIH1cblxuICAjcGFyZW50R3VpID0gaW5qZWN0KE5neExpbEd1aSwgeyBza2lwU2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLiNwYXJlbnRHdWkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbmd4LWxpbC1ndWktY29sb3IgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIG5neC1saWwtZ3VpJyk7XG4gICAgfVxuXG4gICAgdGhpcy5wcmVBZGQuZW1pdCgpO1xuXG4gICAgdGhpcy4jY29sb3JDb250cm9sbGVyID0gdGhpcy4jcGFyZW50R3VpLmFkZENvbG9yKFxuICAgICAgdGhpcy5wcm9wZXJ0eSxcbiAgICAgIHRoaXMuY29sb3JDb25maWdcbiAgICApO1xuICAgIHRoaXMuI3BhcmVudEd1aS5ydW4oKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29sb3JDb250cm9sbGVyKSB7XG4gICAgICAgIHRoaXMuY29sb3JDb250cm9sbGVyLnVwZGF0ZURpc3BsYXkoKTtcblxuICAgICAgICB0aGlzLmNvbG9yQ29udHJvbGxlci5vbkNoYW5nZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh7IHZhbHVlLCBjb250cm9sbGVyOiB0aGlzLmNvbG9yQ29udHJvbGxlciEgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbG9yQ29udHJvbGxlci5vbkZpbmlzaENoYW5nZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZmluaXNoQ2hhbmdlLmVtaXQoeyB2YWx1ZSwgY29udHJvbGxlcjogdGhpcy5jb2xvckNvbnRyb2xsZXIhIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb2xvclJlYWR5LmVtaXQodGhpcy5jb2xvckNvbnRyb2xsZXIhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmNvbG9yQ29udHJvbGxlcikge1xuICAgICAgdGhpcy5jb2xvckNvbnRyb2xsZXIuZGVzdHJveSgpO1xuICAgIH1cbiAgfVxufVxuIl19