UNPKG

@indice/ng-components

Version:

Indice common components for Angular v12

81 lines 9.92 kB
import { ChangeDetectionStrategy, Component, ContentChild, Inject, Input, Optional, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core'; import { LIBSTEPPER_ACCESSOR } from '../../tokens'; import { LibStepInfoDirective } from './lib-step-info.directive'; import { LibStepLabelDirective } from './lib-step-label.directive'; import * as i0 from "@angular/core"; export var StepState; (function (StepState) { StepState["Active"] = "Active"; StepState["Completed"] = "Completed"; StepState["Upcoming"] = "Upcoming"; })(StepState || (StepState = {})); ; export class LibStepComponent { constructor(_stepper) { this._stepper = _stepper; } /** Indicates the index of the step. */ get index() { return this._stepper ? this._stepper.steps.toArray().indexOf(this) : -1; } /** Indicates whether this step is the last step. */ get isLast() { return this._stepper ? this._stepper.steps.length - 1 === this.index : false; } /** Indicates whether you can navigate to the step or not. */ get isValid() { if (!this.stepControl) { return true; } return this.stepControl.valid; } /** Shows the current state of the step. */ get state() { const currentIndex = this._stepper?.currentStepIndex; if (currentIndex === this.index) { return StepState.Active; } if (currentIndex > this.index) { return StepState.Completed; } return StepState.Upcoming; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LibStepComponent, deps: [{ token: LIBSTEPPER_ACCESSOR, optional: true }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: LibStepComponent, selector: "lib-step", inputs: { class: "class", stepControl: "stepControl" }, queries: [{ propertyName: "stepLabel", first: true, predicate: LibStepLabelDirective, descendants: true }, { propertyName: "stepInfo", first: true, predicate: LibStepInfoDirective, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: ` <ng-template> <ng-content></ng-content> </ng-template> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LibStepComponent, decorators: [{ type: Component, args: [{ selector: 'lib-step', template: ` <ng-template> <ng-content></ng-content> </ng-template> `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [LIBSTEPPER_ACCESSOR] }] }], propDecorators: { content: [{ type: ViewChild, args: [TemplateRef, { static: true }] }], stepLabel: [{ type: ContentChild, args: [LibStepLabelDirective] }], stepInfo: [{ type: ContentChild, args: [LibStepInfoDirective] }], class: [{ type: Input }], stepControl: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXN0ZXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3N0ZXBwZXIvbGliLXN0ZXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckosT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRSxNQUFNLENBQU4sSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ2pCLDhCQUFpQixDQUFBO0lBQ2pCLG9DQUF1QixDQUFBO0lBQ3ZCLGtDQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFKVyxTQUFTLEtBQVQsU0FBUyxRQUlwQjtBQUFBLENBQUM7QUFZRixNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQzZELFFBQWM7UUFBZCxhQUFRLEdBQVIsUUFBUSxDQUFNO0lBQ3ZFLENBQUM7SUFhTCx1Q0FBdUM7SUFDdkMsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNqRixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELElBQVcsT0FBTztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELDJDQUEyQztJQUMzQyxJQUFXLEtBQUs7UUFDWixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDO1FBQ3JELElBQUksWUFBWSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM1QixPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM5QixDQUFDOzhHQTVDUSxnQkFBZ0Isa0JBRUQsbUJBQW1CO2tHQUZsQyxnQkFBZ0IsK0lBUVgscUJBQXFCLDJFQUVyQixvQkFBb0IseUZBSnZCLFdBQVcsOERBZFo7Ozs7S0FJVDs7MkZBSVEsZ0JBQWdCO2tCQVY1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUU7Ozs7S0FJVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzswQkFHUSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjt5Q0FJTSxPQUFPO3NCQUF2RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUksU0FBUztzQkFBcEQsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBRVEsUUFBUTtzQkFBbEQsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBRWxCLEtBQUs7c0JBQXBCLEtBQUs7Z0JBRVUsV0FBVztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IExJQlNURVBQRVJfQUNDRVNTT1IgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBMaWJTdGVwSW5mb0RpcmVjdGl2ZSB9IGZyb20gJy4vbGliLXN0ZXAtaW5mby5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMaWJTdGVwTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi1zdGVwLWxhYmVsLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgZW51bSBTdGVwU3RhdGUge1xyXG4gICAgQWN0aXZlID0gJ0FjdGl2ZScsXHJcbiAgICBDb21wbGV0ZWQgPSAnQ29tcGxldGVkJyxcclxuICAgIFVwY29taW5nID0gJ1VwY29taW5nJ1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1zdGVwJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYlN0ZXBDb21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChMSUJTVEVQUEVSX0FDQ0VTU09SKSBwdWJsaWMgcmVhZG9ubHkgX3N0ZXBwZXI/OiBhbnlcclxuICAgICkgeyB9XHJcblxyXG4gICAgLyoqIFRoZSBjb250ZW50IHByb3ZpZGVkIGZvciB0aGUgc3RlcC4gKi9cclxuICAgIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBjb250ZW50ITogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIC8qKiBUaGUgbGFiZWwgb2YgdGhlIHN0ZXAgZGlzcGxheWVkIGluIGhlYWRlciwgaWYgYXBwbGljYWJsZS4gKi9cclxuICAgIEBDb250ZW50Q2hpbGQoTGliU3RlcExhYmVsRGlyZWN0aXZlKSBwdWJsaWMgc3RlcExhYmVsOiBMaWJTdGVwTGFiZWxEaXJlY3RpdmUgfCB1bmRlZmluZWQ7XHJcbiAgICAvKiogVGhlIGluZm8gb2YgdGhlIHN0ZXAgZGlzcGxheWVkIGluIGhlYWRlciwgaWYgYXBwbGljYWJsZS4gKi9cclxuICAgIEBDb250ZW50Q2hpbGQoTGliU3RlcEluZm9EaXJlY3RpdmUpIHB1YmxpYyBzdGVwSW5mbzogTGliU3RlcEluZm9EaXJlY3RpdmUgfCB1bmRlZmluZWQ7XHJcbiAgICAvKiogQW4gb3B0aW9uYWwgQ1NTIGNsYXNzIGZvciB0aGUgc3RlcCBoZWFkZXIuICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgY2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIC8qKiBUaGUgYWJzdHJhY3QgY29udHJvbCBvZiB0aGUgc3RlcC4gKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBzdGVwQ29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIC8qKiBJbmRpY2F0ZXMgdGhlIGluZGV4IG9mIHRoZSBzdGVwLiAqL1xyXG4gICAgcHVibGljIGdldCBpbmRleCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdGVwcGVyID8gdGhpcy5fc3RlcHBlci5zdGVwcy50b0FycmF5KCkuaW5kZXhPZih0aGlzKSA6IC0xO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGlzIHN0ZXAgaXMgdGhlIGxhc3Qgc3RlcC4gKi9cclxuICAgIHB1YmxpYyBnZXQgaXNMYXN0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdGVwcGVyID8gdGhpcy5fc3RlcHBlci5zdGVwcy5sZW5ndGggLSAxID09PSB0aGlzLmluZGV4IDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHlvdSBjYW4gbmF2aWdhdGUgdG8gdGhlIHN0ZXAgb3Igbm90LiAqL1xyXG4gICAgcHVibGljIGdldCBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghdGhpcy5zdGVwQ29udHJvbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcENvbnRyb2wudmFsaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFNob3dzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBzdGVwLiAqL1xyXG4gICAgcHVibGljIGdldCBzdGF0ZSgpOiBTdGVwU3RhdGUge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuX3N0ZXBwZXI/LmN1cnJlbnRTdGVwSW5kZXg7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA9PT0gdGhpcy5pbmRleCkge1xyXG4gICAgICAgICAgICByZXR1cm4gU3RlcFN0YXRlLkFjdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+IHRoaXMuaW5kZXgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFN0ZXBTdGF0ZS5Db21wbGV0ZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBTdGVwU3RhdGUuVXBjb21pbmc7XHJcbiAgICB9XHJcbn1cclxuIl19