UNPKG

@coreui/angular

Version:

CoreUI Components Library for Angular

74 lines 12.3 kB
import { NgTemplateOutlet } from '@angular/common'; import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChildren, ElementRef, HostBinding, inject, Input, numberAttribute } from '@angular/core'; import { ProgressBarComponent } from './progress-bar.component'; import { ProgressBarDirective } from './progress-bar.directive'; import { ProgressStackedComponent } from './progress-stacked.component'; import * as i0 from "@angular/core"; import * as i1 from "./progress-bar.directive"; export class ProgressComponent { #stacked; #elementRef; constructor() { this.pbd = inject(ProgressBarDirective, { optional: true }); this.#stacked = inject(ProgressStackedComponent, { optional: true })?.stacked; this.#elementRef = inject(ElementRef); /** * Sets the height of the component. If you set that value the inner `<CProgressBar>` will automatically resize accordingly. * @type number */ this.height = 0; /** * Displays thin progress. * @type boolean */ this.thin = false; /** * Change the default color to white. * @type boolean */ this.white = false; if (this.pbd) { this.pbd.stacked = this.#stacked; } } get hostClasses() { return { progress: true, 'progress-thin': this.thin, 'progress-white': this.white }; } get hostStyle() { return !!this.height ? `${this.height}px` : (this.#elementRef?.nativeElement?.style?.height ?? undefined); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: ProgressComponent, isStandalone: true, selector: "c-progress", inputs: { height: ["height", "height", numberAttribute], thin: ["thin", "thin", booleanAttribute], white: ["white", "white", booleanAttribute] }, host: { properties: { "class": "this.hostClasses", "style.height": "this.hostStyle" }, classAttribute: "progress" }, queries: [{ propertyName: "contentProgressBars", predicate: ProgressBarComponent }], hostDirectives: [{ directive: i1.ProgressBarDirective, inputs: ["animated", "animated", "color", "color", "max", "max", "role", "role", "value", "value", "variant", "variant"] }], ngImport: i0, template: "@if (contentProgressBars.length) {\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n} @else if (pbd?.stacked) {\n <c-progress-bar [animated]=\"pbd?.animated\" [variant]=\"pbd?.variant\" [color]=\"pbd?.color\" stacked>\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n </c-progress-bar>\n} @else {\n <c-progress-bar [width]=\"pbd?.percent()\" [animated]=\"pbd?.animated\" [variant]=\"pbd?.variant\" [color]=\"pbd?.color\">\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n </c-progress-bar>\n}\n\n<ng-template #defaultContent>\n <ng-content />\n</ng-template>\n\n", styles: [":host-context(.progress-stacked).progress{transition:var(--cui-progress-bar-transition)}\n"], dependencies: [{ kind: "component", type: ProgressBarComponent, selector: "c-progress-bar" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ProgressComponent, decorators: [{ type: Component, args: [{ selector: 'c-progress', imports: [ProgressBarComponent, NgTemplateOutlet], standalone: true, hostDirectives: [ { directive: ProgressBarDirective, inputs: ['animated', 'color', 'max', 'role', 'value', 'variant'] } ], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'progress' }, template: "@if (contentProgressBars.length) {\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n} @else if (pbd?.stacked) {\n <c-progress-bar [animated]=\"pbd?.animated\" [variant]=\"pbd?.variant\" [color]=\"pbd?.color\" stacked>\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n </c-progress-bar>\n} @else {\n <c-progress-bar [width]=\"pbd?.percent()\" [animated]=\"pbd?.animated\" [variant]=\"pbd?.variant\" [color]=\"pbd?.color\">\n <ng-container *ngTemplateOutlet=\"defaultContent\" />\n </c-progress-bar>\n}\n\n<ng-template #defaultContent>\n <ng-content />\n</ng-template>\n\n", styles: [":host-context(.progress-stacked).progress{transition:var(--cui-progress-bar-transition)}\n"] }] }], ctorParameters: () => [], propDecorators: { contentProgressBars: [{ type: ContentChildren, args: [ProgressBarComponent] }], height: [{ type: Input, args: [{ transform: numberAttribute }] }], thin: [{ type: Input, args: [{ transform: booleanAttribute }] }], white: [{ type: Input, args: [{ transform: booleanAttribute }] }], hostClasses: [{ type: HostBinding, args: ['class'] }], hostStyle: [{ type: HostBinding, args: ['style.height'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9wcm9ncmVzcy9wcm9ncmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3Byb2dyZXNzL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLGVBQWUsRUFFaEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQWlCeEUsTUFBTSxPQUFPLGlCQUFpQjtJQUVuQixRQUFRLENBQTJFO0lBQ25GLFdBQVcsQ0FBc0I7SUFFMUM7UUFKbUIsUUFBRyxHQUFnQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5RixhQUFRLEdBQWEsTUFBTSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQ25GLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBUzFDOzs7V0FHRztRQUNvQyxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBRTFEOzs7V0FHRztRQUNxQyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBRTlEOzs7V0FHRztRQUNxQyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBdEI3RCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFxQkQsSUFDSSxXQUFXO1FBQ2IsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJO1lBQ2QsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQzFCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLO1NBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBaUMsU0FBUztRQUN4QyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7K0dBekNVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFGQWdCUixlQUFlLDBCQU1mLGdCQUFnQiw2QkFNaEIsZ0JBQWdCLHNMQWpCbkIsb0JBQW9CLGlOQzVDdkMsd2xCQWdCQSxvSkRLWSxvQkFBb0IsMkRBQUUsZ0JBQWdCOzs0RkFZckMsaUJBQWlCO2tCQWY3QixTQUFTOytCQUNFLFlBQVksV0FFYixDQUFDLG9CQUFvQixFQUFFLGdCQUFnQixDQUFDLGNBQ3JDLElBQUksa0JBRUE7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLG9CQUFvQjs0QkFDL0IsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUM7eUJBQ2pFO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTt3REFhWSxtQkFBbUI7c0JBQXpELGVBQWU7dUJBQUMsb0JBQW9CO2dCQUtFLE1BQU07c0JBQTVDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQU1HLElBQUk7c0JBQTNDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTUUsS0FBSztzQkFBNUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFHbEMsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBU2EsU0FBUztzQkFBekMsV0FBVzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQcm9ncmVzcyB9IGZyb20gJy4vcHJvZ3Jlc3MudHlwZSc7XG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4vcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9ncmVzc0JhckRpcmVjdGl2ZSB9IGZyb20gJy4vcHJvZ3Jlc3MtYmFyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQcm9ncmVzc1N0YWNrZWRDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLXN0YWNrZWQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1wcm9ncmVzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtQcm9ncmVzc0JhckNvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnLi9wcm9ncmVzcy5jb21wb25lbnQuc2NzcycsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBQcm9ncmVzc0JhckRpcmVjdGl2ZSxcbiAgICAgIGlucHV0czogWydhbmltYXRlZCcsICdjb2xvcicsICdtYXgnLCAncm9sZScsICd2YWx1ZScsICd2YXJpYW50J11cbiAgICB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7IGNsYXNzOiAncHJvZ3Jlc3MnIH1cbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NDb21wb25lbnQgaW1wbGVtZW50cyBJUHJvZ3Jlc3Mge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGJkOiBQcm9ncmVzc0JhckRpcmVjdGl2ZSB8IG51bGwgPSBpbmplY3QoUHJvZ3Jlc3NCYXJEaXJlY3RpdmUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHJlYWRvbmx5ICNzdGFja2VkPzogYm9vbGVhbiA9IGluamVjdChQcm9ncmVzc1N0YWNrZWRDb21wb25lbnQsIHsgb3B0aW9uYWw6IHRydWUgfSk/LnN0YWNrZWQ7XG4gIHJlYWRvbmx5ICNlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICh0aGlzLnBiZCkge1xuICAgICAgdGhpcy5wYmQuc3RhY2tlZCA9IHRoaXMuI3N0YWNrZWQ7XG4gICAgfVxuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihQcm9ncmVzc0JhckNvbXBvbmVudCkgY29udGVudFByb2dyZXNzQmFycyE6IFF1ZXJ5TGlzdDxQcm9ncmVzc0JhckNvbXBvbmVudD47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBoZWlnaHQgb2YgdGhlIGNvbXBvbmVudC4gSWYgeW91IHNldCB0aGF0IHZhbHVlIHRoZSBpbm5lciBgPENQcm9ncmVzc0Jhcj5gIHdpbGwgYXV0b21hdGljYWxseSByZXNpemUgYWNjb3JkaW5nbHkuXG4gICAqIEB0eXBlIG51bWJlclxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgaGVpZ2h0OiBudW1iZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0aGluIHByb2dyZXNzLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGhpbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdGhlIGRlZmF1bHQgY29sb3IgdG8gd2hpdGUuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB3aGl0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4ge1xuICAgIHJldHVybiB7XG4gICAgICBwcm9ncmVzczogdHJ1ZSxcbiAgICAgICdwcm9ncmVzcy10aGluJzogdGhpcy50aGluLFxuICAgICAgJ3Byb2dyZXNzLXdoaXRlJzogdGhpcy53aGl0ZVxuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGdldCBob3N0U3R5bGUoKTogYW55IHtcbiAgICByZXR1cm4gISF0aGlzLmhlaWdodCA/IGAke3RoaXMuaGVpZ2h0fXB4YCA6ICh0aGlzLiNlbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5zdHlsZT8uaGVpZ2h0ID8/IHVuZGVmaW5lZCk7XG4gIH1cbn1cbiIsIkBpZiAoY29udGVudFByb2dyZXNzQmFycy5sZW5ndGgpIHtcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRlZmF1bHRDb250ZW50XCIgLz5cbn0gQGVsc2UgaWYgKHBiZD8uc3RhY2tlZCkge1xuICA8Yy1wcm9ncmVzcy1iYXIgW2FuaW1hdGVkXT1cInBiZD8uYW5pbWF0ZWRcIiBbdmFyaWFudF09XCJwYmQ/LnZhcmlhbnRcIiBbY29sb3JdPVwicGJkPy5jb2xvclwiIHN0YWNrZWQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRlZmF1bHRDb250ZW50XCIgLz5cbiAgPC9jLXByb2dyZXNzLWJhcj5cbn0gQGVsc2Uge1xuICA8Yy1wcm9ncmVzcy1iYXIgW3dpZHRoXT1cInBiZD8ucGVyY2VudCgpXCIgW2FuaW1hdGVkXT1cInBiZD8uYW5pbWF0ZWRcIiBbdmFyaWFudF09XCJwYmQ/LnZhcmlhbnRcIiBbY29sb3JdPVwicGJkPy5jb2xvclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZWZhdWx0Q29udGVudFwiIC8+XG4gIDwvYy1wcm9ncmVzcy1iYXI+XG59XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdENvbnRlbnQ+XG4gIDxuZy1jb250ZW50IC8+XG48L25nLXRlbXBsYXRlPlxuXG4iXX0=