kwikui
Version:
KwikID's UI Component Library in Angular
55 lines • 8.75 kB
JavaScript
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from "@angular/core";
import { throwErrorMessage } from "../../../../helpers/kwikui.common.helpers";
import { DEFAULT_VALUES, VALIDATE_KEY_VALUES } from "./stepper.constants";
import { isValidKeyValue } from "./stepper.validation";
import * as i0 from "@angular/core";
import * as i1 from "@taiga-ui/kit";
import * as i2 from "@angular/common";
export class KwikUIStepperComponent {
constructor() {
this.activeItemIndex = DEFAULT_VALUES.activeItemIndex;
this.clickable = DEFAULT_VALUES.clickable;
this.id = DEFAULT_VALUES.id;
this.orientation = DEFAULT_VALUES.orientation;
this.steps = DEFAULT_VALUES.steps;
this.onClick = new EventEmitter();
}
ngOnInit() { }
ngOnChanges(changes) {
for (const change of Object.entries(changes)) {
const key = change[0];
const value = change[1].currentValue;
this.validateInputProperty(key, value);
}
}
validateInputProperty(key, value) {
if (VALIDATE_KEY_VALUES[key] && !isValidKeyValue(key, value)) {
this[key] = DEFAULT_VALUES[key];
throwErrorMessage("kwikui-stepper", this.id, key, value, DEFAULT_VALUES[key]);
}
}
}
/** @nocollapse */ KwikUIStepperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikUIStepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ KwikUIStepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikUIStepperComponent, selector: "kwikui-stepper", inputs: { activeItemIndex: "activeItemIndex", clickable: "clickable", id: "id", orientation: "orientation", steps: "steps" }, outputs: { onClick: "onClick" }, usesOnChanges: true, ngImport: i0, template: "<tui-stepper\n [orientation]=\"orientation\"\n [activeItemIndex]=\"activeItemIndex\"\n>\n <button\n class=\"step-button\"\n *ngFor=\"let step of steps; let i = index\"\n tuiStep\n [stepState]=\"step?.state\"\n [class.clickable]=\"clickable !== true\"\n >\n {{ step?.label }}\n </button>\n</tui-stepper>\n", styles: [".step-button{margin-right:0}.step-button.clickable{pointer-events:none}\n"], components: [{ type: i1.TuiStepperComponent, selector: "tui-stepper, nav[tuiStepper]", inputs: ["orientation", "activeItemIndex"], outputs: ["activeItemIndexChange"] }, { type: i1.TuiStepComponent, selector: "button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]", inputs: ["stepState", "icon"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikUIStepperComponent, decorators: [{
type: Component,
args: [{
changeDetection: ChangeDetectionStrategy.OnPush,
selector: "kwikui-stepper",
templateUrl: "./stepper.component.html",
styleUrls: ["./stepper.component.scss"]
}]
}], ctorParameters: function () { return []; }, propDecorators: { activeItemIndex: [{
type: Input
}], clickable: [{
type: Input
}], id: [{
type: Input
}], orientation: [{
type: Input
}], steps: [{
type: Input
}], onClick: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lrdWkvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbmF2aWdhdGlvbi9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa3VpL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL25hdmlnYXRpb24vc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFRdkQsTUFBTSxPQUFPLHNCQUFzQjtJQWFqQztRQVpTLG9CQUFlLEdBQVcsY0FBYyxDQUFDLGVBQWUsQ0FBQztRQUV6RCxjQUFTLEdBQVksY0FBYyxDQUFDLFNBQVMsQ0FBQztRQUU5QyxPQUFFLEdBQVcsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUUvQixnQkFBVyxHQUE4QixjQUFjLENBQUMsV0FBVyxDQUFDO1FBRXBFLFVBQUssR0FBdUIsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUVoRCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUU3QixDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDO0lBRW5CLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDNUMsTUFBTSxHQUFHLEdBQVcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sS0FBSyxHQUFRLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDMUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUNuRCxJQUFJLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLGlCQUFpQixDQUNmLGdCQUFnQixFQUNoQixJQUFJLENBQUMsRUFBRSxFQUNQLEdBQUcsRUFDSCxLQUFLLEVBQ0wsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUNwQixDQUFDO1NBQ0g7SUFDSCxDQUFDOzt1SUFwQ1Usc0JBQXNCOzJIQUF0QixzQkFBc0IsME9DckJuQyx5VUFjQTs0RkRPYSxzQkFBc0I7a0JBTmxDLFNBQVM7bUJBQUM7b0JBQ1QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSwwQkFBMEI7b0JBQ3ZDLFNBQVMsRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUN4QzswRUFFVSxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsRUFBRTtzQkFBVixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyB0aHJvd0Vycm9yTWVzc2FnZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9oZWxwZXJzL2t3aWt1aS5jb21tb24uaGVscGVyc1wiO1xuaW1wb3J0IHsgREVGQVVMVF9WQUxVRVMsIFZBTElEQVRFX0tFWV9WQUxVRVMgfSBmcm9tIFwiLi9zdGVwcGVyLmNvbnN0YW50c1wiO1xuaW1wb3J0IHsgVEt3aWtVSVN0ZXAsIFRLd2lrVUlTdGVwcGVyT3JpZW50YXRpb24gfSBmcm9tIFwiLi9zdGVwcGVyLmRlZmluaXRpb25zXCI7XG5pbXBvcnQgeyBpc1ZhbGlkS2V5VmFsdWUgfSBmcm9tIFwiLi9zdGVwcGVyLnZhbGlkYXRpb25cIjtcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogXCJrd2lrdWktc3RlcHBlclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3N0ZXBwZXIuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgS3dpa1VJU3RlcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgYWN0aXZlSXRlbUluZGV4OiBudW1iZXIgPSBERUZBVUxUX1ZBTFVFUy5hY3RpdmVJdGVtSW5kZXg7XG5cbiAgQElucHV0KCkgY2xpY2thYmxlOiBib29sZWFuID0gREVGQVVMVF9WQUxVRVMuY2xpY2thYmxlO1xuXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSBERUZBVUxUX1ZBTFVFUy5pZDtcblxuICBASW5wdXQoKSBvcmllbnRhdGlvbjogVEt3aWtVSVN0ZXBwZXJPcmllbnRhdGlvbiA9IERFRkFVTFRfVkFMVUVTLm9yaWVudGF0aW9uO1xuXG4gIEBJbnB1dCgpIHN0ZXBzOiBBcnJheTxUS3dpa1VJU3RlcD4gPSBERUZBVUxUX1ZBTFVFUy5zdGVwcztcblxuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGZvciAoY29uc3QgY2hhbmdlIG9mIE9iamVjdC5lbnRyaWVzKGNoYW5nZXMpKSB7XG4gICAgICBjb25zdCBrZXk6IHN0cmluZyA9IGNoYW5nZVswXTtcbiAgICAgIGNvbnN0IHZhbHVlOiBhbnkgPSBjaGFuZ2VbMV0uY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy52YWxpZGF0ZUlucHV0UHJvcGVydHkoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUlucHV0UHJvcGVydHkoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoVkFMSURBVEVfS0VZX1ZBTFVFU1trZXldICYmICFpc1ZhbGlkS2V5VmFsdWUoa2V5LCB2YWx1ZSkpIHtcbiAgICAgIHRoaXNba2V5XSA9IERFRkFVTFRfVkFMVUVTW2tleV07XG4gICAgICB0aHJvd0Vycm9yTWVzc2FnZShcbiAgICAgICAgXCJrd2lrdWktc3RlcHBlclwiLFxuICAgICAgICB0aGlzLmlkLFxuICAgICAgICBrZXksXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBERUZBVUxUX1ZBTFVFU1trZXldXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiPHR1aS1zdGVwcGVyXG4gIFtvcmllbnRhdGlvbl09XCJvcmllbnRhdGlvblwiXG4gIFthY3RpdmVJdGVtSW5kZXhdPVwiYWN0aXZlSXRlbUluZGV4XCJcbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic3RlcC1idXR0b25cIlxuICAgICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzOyBsZXQgaSA9IGluZGV4XCJcbiAgICB0dWlTdGVwXG4gICAgW3N0ZXBTdGF0ZV09XCJzdGVwPy5zdGF0ZVwiXG4gICAgW2NsYXNzLmNsaWNrYWJsZV09XCJjbGlja2FibGUgIT09IHRydWVcIlxuICA+XG4gICAge3sgc3RlcD8ubGFiZWwgfX1cbiAgPC9idXR0b24+XG48L3R1aS1zdGVwcGVyPlxuIl19