UNPKG

kwikui

Version:

KwikID's UI Component Library in Angular

79 lines 11.1 kB
import { Component, Input } from "@angular/core"; import { throwErrorMessage } from "../../../../helpers/kwikui.common.helpers"; import { DEFAULT_VALUES, VALIDATE_KEY_VALUES } from "./progress-circle.constants"; import { isValidKeyValue } from "./progress-circle.validation"; import * as i0 from "@angular/core"; import * as i1 from "@taiga-ui/kit"; export class KwikUIProgressCircleComponent { constructor() { this.color = DEFAULT_VALUES.color; this.id = DEFAULT_VALUES.id; this.max = DEFAULT_VALUES.max; this.size = DEFAULT_VALUES.size; this.value = DEFAULT_VALUES.value; } ngOnInit() { this.color = this.isColorEmpty() ? "var(--tui-primary)" : this.color; } ngOnChanges(changes) { for (const change of Object.entries(changes)) { const key = change[0]; const value = change[1].currentValue; this.validateInputProperty(key, value); } if (changes.hasOwnProperty("value") && !changes.value.firstChange) { this.value = changes.value.currentValue; } if (changes.hasOwnProperty("max") && !changes.max.firstChange) { this.max = changes.max.currentValue; } if (changes.hasOwnProperty("size") && !changes.size.firstChange) { this.size = changes.size.currentValue; } if (changes.hasOwnProperty("color") && !changes.color.firstChange) { this.color = changes.color.currentValue; } } /** * @description Handles setting up of error and focus on the input field is it invalid */ validateInputProperty(key, value) { if (VALIDATE_KEY_VALUES[key] && !isValidKeyValue(key, value)) { this[key] = DEFAULT_VALUES[key]; throwErrorMessage("kwikui-progress-circle", this.id, key, value, DEFAULT_VALUES[key]); } } isColorEmpty() { if (Array.isArray(this.color)) { if (this.color.length < 1) { return true; } return false; } if (this.color === "") { return true; } return false; } } /** @nocollapse */ KwikUIProgressCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikUIProgressCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ KwikUIProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikUIProgressCircleComponent, selector: "kwikui-progress-circle", inputs: { color: "color", id: "id", max: "max", size: "size", value: "value" }, usesOnChanges: true, ngImport: i0, template: "<label tuiProgressLabel>\n <span class=\"text\">{{ value }} of {{ max }}</span>\n\n <tui-progress-circle\n [value]=\"value\"\n [max]=\"max\"\n [size]=\"size\"\n [color]=\"color\"\n ></tui-progress-circle>\n</label>\n", styles: [".text{font:var(--tui-font-text-s)}\n"], components: [{ type: i1.TuiProgressLabelComponent, selector: "label[tuiProgressLabel]" }, { type: i1.TuiProgressCircleComponent, selector: "tui-progress-circle", inputs: ["value", "max", "color", "size"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikUIProgressCircleComponent, decorators: [{ type: Component, args: [{ selector: "kwikui-progress-circle", templateUrl: "./progress-circle.component.html", styleUrls: ["./progress-circle.component.scss"] }] }], ctorParameters: function () { return []; }, propDecorators: { color: [{ type: Input }], id: [{ type: Input }], max: [{ type: Input }], size: [{ type: Input }], value: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtY2lyY2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWt1aS9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wcm9ncmVzcy9wcm9ncmVzcy1jaXJjbGUvcHJvZ3Jlc3MtY2lyY2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWt1aS9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wcm9ncmVzcy9wcm9ncmVzcy1jaXJjbGUvcHJvZ3Jlc3MtY2lyY2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFDTCxjQUFjLEVBQ2QsbUJBQW1CLEVBQ3BCLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFPL0QsTUFBTSxPQUFPLDZCQUE2QjtJQVd4QztRQVZTLFVBQUssR0FBVyxjQUFjLENBQUMsS0FBSyxDQUFDO1FBRXJDLE9BQUUsR0FBVyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBRS9CLFFBQUcsR0FBVyxjQUFjLENBQUMsR0FBRyxDQUFDO1FBRWpDLFNBQUksR0FBOEIsY0FBYyxDQUFDLElBQUksQ0FBQztRQUV0RCxVQUFLLEdBQVcsY0FBYyxDQUFDLEtBQUssQ0FBQztJQUUvQixDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdkUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDNUMsTUFBTSxHQUFHLEdBQVcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sS0FBSyxHQUFRLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDMUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN4QztRQUVELElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7U0FDekM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRTtZQUM3RCxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDL0QsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUN2QztRQUNELElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUIsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUNuRCxJQUFJLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLGlCQUFpQixDQUNmLHdCQUF3QixFQUN4QixJQUFJLENBQUMsRUFBRSxFQUNQLEdBQUcsRUFDSCxLQUFLLEVBQ0wsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUNwQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs4SUFqRVUsNkJBQTZCO2tJQUE3Qiw2QkFBNkIsbUtDcEIxQyx5T0FVQTs0RkRVYSw2QkFBNkI7a0JBTHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsV0FBVyxFQUFFLGtDQUFrQztvQkFDL0MsU0FBUyxFQUFFLENBQUMsa0NBQWtDLENBQUM7aUJBQ2hEOzBFQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxFQUFFO3NCQUFWLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgdGhyb3dFcnJvck1lc3NhZ2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vaGVscGVycy9rd2lrdWkuY29tbW9uLmhlbHBlcnNcIjtcbmltcG9ydCB7XG4gIERFRkFVTFRfVkFMVUVTLFxuICBWQUxJREFURV9LRVlfVkFMVUVTXG59IGZyb20gXCIuL3Byb2dyZXNzLWNpcmNsZS5jb25zdGFudHNcIjtcbmltcG9ydCB7IFRLd2lrVUlQcm9ncmVzc0NpcmNsZVNpemUgfSBmcm9tIFwiLi9wcm9ncmVzcy1jaXJjbGUuZGVmaW5pdGlvbnNcIjtcbmltcG9ydCB7IGlzVmFsaWRLZXlWYWx1ZSB9IGZyb20gXCIuL3Byb2dyZXNzLWNpcmNsZS52YWxpZGF0aW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJrd2lrdWktcHJvZ3Jlc3MtY2lyY2xlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcHJvZ3Jlc3MtY2lyY2xlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9wcm9ncmVzcy1jaXJjbGUuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgS3dpa1VJUHJvZ3Jlc3NDaXJjbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmcgPSBERUZBVUxUX1ZBTFVFUy5jb2xvcjtcblxuICBASW5wdXQoKSBpZDogc3RyaW5nID0gREVGQVVMVF9WQUxVRVMuaWQ7XG5cbiAgQElucHV0KCkgbWF4OiBudW1iZXIgPSBERUZBVUxUX1ZBTFVFUy5tYXg7XG5cbiAgQElucHV0KCkgc2l6ZTogVEt3aWtVSVByb2dyZXNzQ2lyY2xlU2l6ZSA9IERFRkFVTFRfVkFMVUVTLnNpemU7XG5cbiAgQElucHV0KCkgdmFsdWU6IG51bWJlciA9IERFRkFVTFRfVkFMVUVTLnZhbHVlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbG9yID0gdGhpcy5pc0NvbG9yRW1wdHkoKSA/IFwidmFyKC0tdHVpLXByaW1hcnkpXCIgOiB0aGlzLmNvbG9yO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGZvciAoY29uc3QgY2hhbmdlIG9mIE9iamVjdC5lbnRyaWVzKGNoYW5nZXMpKSB7XG4gICAgICBjb25zdCBrZXk6IHN0cmluZyA9IGNoYW5nZVswXTtcbiAgICAgIGNvbnN0IHZhbHVlOiBhbnkgPSBjaGFuZ2VbMV0uY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy52YWxpZGF0ZUlucHV0UHJvcGVydHkoa2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoXCJ2YWx1ZVwiKSAmJiAhY2hhbmdlcy52YWx1ZS5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IGNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShcIm1heFwiKSAmJiAhY2hhbmdlcy5tYXguZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMubWF4ID0gY2hhbmdlcy5tYXguY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShcInNpemVcIikgJiYgIWNoYW5nZXMuc2l6ZS5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5zaXplID0gY2hhbmdlcy5zaXplLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoXCJjb2xvclwiKSAmJiAhY2hhbmdlcy5jb2xvci5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5jb2xvciA9IGNoYW5nZXMuY29sb3IuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlcyBzZXR0aW5nIHVwIG9mIGVycm9yIGFuZCBmb2N1cyBvbiB0aGUgaW5wdXQgZmllbGQgaXMgaXQgaW52YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUlucHV0UHJvcGVydHkoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoVkFMSURBVEVfS0VZX1ZBTFVFU1trZXldICYmICFpc1ZhbGlkS2V5VmFsdWUoa2V5LCB2YWx1ZSkpIHtcbiAgICAgIHRoaXNba2V5XSA9IERFRkFVTFRfVkFMVUVTW2tleV07XG4gICAgICB0aHJvd0Vycm9yTWVzc2FnZShcbiAgICAgICAgXCJrd2lrdWktcHJvZ3Jlc3MtY2lyY2xlXCIsXG4gICAgICAgIHRoaXMuaWQsXG4gICAgICAgIGtleSxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIERFRkFVTFRfVkFMVUVTW2tleV1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaXNDb2xvckVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuY29sb3IpKSB7XG4gICAgICBpZiAodGhpcy5jb2xvci5sZW5ndGggPCAxKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb2xvciA9PT0gXCJcIikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiPGxhYmVsIHR1aVByb2dyZXNzTGFiZWw+XG4gIDxzcGFuIGNsYXNzPVwidGV4dFwiPnt7IHZhbHVlIH19IG9mIHt7IG1heCB9fTwvc3Bhbj5cblxuICA8dHVpLXByb2dyZXNzLWNpcmNsZVxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgW21heF09XCJtYXhcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFtjb2xvcl09XCJjb2xvclwiXG4gID48L3R1aS1wcm9ncmVzcy1jaXJjbGU+XG48L2xhYmVsPlxuIl19