import { Component, EventEmitter, Input, Output } from '@angular/core';
import { CommonModule } from '@angular/common';
import { DialogModule } from 'primeng/dialog';
import { ButtonModule } from 'primeng/button';
import { ProgressBarModule } from 'primeng/progressbar';
import { TagModule } from 'primeng/tag';
import { catchError, concatMap, from, of } from 'rxjs';
import { TranslatePipe } from '../../pipes/translate.pipe';
import * as i0 from "@angular/core";
import * as i1 from "../../services/translation.service";
import * as i2 from "primeng/dialog";
import * as i3 from "primeng/api";
import * as i4 from "primeng/button";
import * as i5 from "primeng/progressbar";
import * as i6 from "primeng/tag";
export class BulkDeleteDialogComponent {
    translationService;
    visible = false;
    stages = []; // Generic entities
    service; // Generic service
    entityNameField = 'name'; // Field to display entity name
    entityCodeField = 'code'; // Field to display entity code (optional)
    translationPrefix = 'design.components_ai';
    visibleChange = new EventEmitter();
    onComplete = new EventEmitter();
    deleteStatuses = [];
    isProcessing = false;
    isCompleted = false;
    currentIndex = 0;
    successCount = 0;
    errorCount = 0;
    completedEmitted = false;
    constructor(translationService) {
        this.translationService = translationService;
    }
    ngOnChanges() {
        if (this.visible && this.stages.length > 0) {
            this.initializeStatuses();
        }
    }
    initializeStatuses() {
        this.deleteStatuses = this.stages.map(entity => ({
            entity,
            status: 'pending'
        }));
        this.isProcessing = false;
        this.isCompleted = false;
        this.currentIndex = 0;
        this.successCount = 0;
        this.errorCount = 0;
        this.completedEmitted = false;
    }
    get progress() {
        if (this.deleteStatuses.length === 0)
            return 0;
        return Math.round((this.currentIndex / this.deleteStatuses.length) * 100);
    }
    get canClose() {
        return !this.isProcessing || this.isCompleted;
    }
    startDeletion() {
        if (!this.service) {
            console.error('Service not provided to BulkDeleteDialogComponent');
            return;
        }
        this.isProcessing = true;
        this.isCompleted = false;
        // Process deletions sequentially
        from(this.deleteStatuses)
            .pipe(concatMap((deleteStatus, index) => {
            this.currentIndex = index;
            deleteStatus.status = 'processing';
            return this.service.delete(deleteStatus.entity.id).pipe(concatMap(() => {
                deleteStatus.status = 'success';
                this.successCount++;
                return of(null);
            }), catchError((error) => {
                // Check if it's actually a success (204 No Content)
                if (error?.status === 204) {
                    deleteStatus.status = 'success';
                    this.successCount++;
                }
                else {
                    deleteStatus.status = 'error';
                    deleteStatus.errorMessage = error?.error?.message || error?.statusText || this.translationService.translate('design.components_ai.bulk_delete_error_generic');
                    this.errorCount++;
                }
                return of(null);
            }));
        }))
            .subscribe({
            complete: () => {
                this.currentIndex = this.deleteStatuses.length;
                this.isCompleted = true;
                this.isProcessing = false;
            }
        });
    }
    onHide() {
        if (!this.canClose)
            return;
        this.visible = false;
        this.visibleChange.emit(false);
        if (this.isCompleted && this.successCount > 0 && !this.completedEmitted) {
            this.completedEmitted = true;
            this.onComplete.emit();
        }
    }
    onClose() {
        this.onHide();
    }
    getStatusSeverity(status) {
        switch (status) {
            case 'pending': return 'secondary';
            case 'processing': return 'info';
            case 'success': return 'success';
            case 'error': return 'danger';
            default: return 'secondary';
        }
    }
    getStatusLabel(status) {
        return this.translationService.translate(`design.components_ai.bulk_delete_status_${status}`);
    }
    getStatusIcon(status) {
        switch (status) {
            case 'pending': return 'pi pi-clock';
            case 'processing': return 'pi pi-spin pi-spinner';
            case 'success': return 'pi pi-check';
            case 'error': return 'pi pi-times';
            default: return 'pi pi-question';
        }
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BulkDeleteDialogComponent, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BulkDeleteDialogComponent, isStandalone: true, selector: "sia-bulk-delete-dialog", inputs: { visible: "visible", stages: "stages", service: "service", entityNameField: "entityNameField", entityCodeField: "entityCodeField", translationPrefix: "translationPrefix" }, outputs: { visibleChange: "visibleChange", onComplete: "onComplete" }, usesOnChanges: true, ngImport: i0, template: "<p-dialog\n  [(visible)]=\"visible\"\n  [modal]=\"true\"\n  [closable]=\"canClose\"\n  [closeOnEscape]=\"canClose\"\n  [dismissableMask]=\"false\"\n  [style]=\"{ width: '700px', maxWidth: '90vw' }\"\n  (onHide)=\"onHide()\"\n>\n  <ng-template pTemplate=\"header\">\n    <div class=\"dialog-header\">\n      <i class=\"pi pi-trash header-icon\"></i>\n      <h2>{{ 'design.components_ai.bulk_delete_title' | translate }}</h2>\n    </div>\n  </ng-template>\n\n  <div class=\"dialog-content\">\n    <!-- Summary -->\n    @if (!isProcessing && !isCompleted) {\n      <div class=\"summary-section\">\n        <p class=\"summary-text\">\n          <i class=\"pi pi-exclamation-triangle warning-icon\"></i>\n          <span [innerHTML]=\"'design.components_ai.bulk_delete_warning' | translate:{ count: stages.length }\"></span>\n        </p>\n        <p class=\"summary-description\">\n          {{ 'design.components_ai.bulk_delete_description' | translate }}\n        </p>\n      </div>\n    }\n\n    <!-- Progress Bar -->\n    @if (isProcessing || isCompleted) {\n      <div class=\"progress-section\">\n        <div class=\"progress-info\">\n          <span class=\"progress-label\">{{ 'design.components_ai.bulk_delete_progress' | translate }}</span>\n          <span class=\"progress-count\">{{ currentIndex }} / {{ deleteStatuses.length }}</span>\n        </div>\n        <p-progressBar \n          [value]=\"progress\" \n          [showValue]=\"false\"\n          styleClass=\"custom-progress\"\n        ></p-progressBar>\n        \n        <div class=\"progress-stats\">\n          <div class=\"stat success\">\n            <i class=\"pi pi-check-circle\"></i>\n            <span>{{ successCount }} {{ 'design.components_ai.bulk_delete_success_count' | translate }}</span>\n          </div>\n          @if (errorCount > 0) {\n            <div class=\"stat error\">\n              <i class=\"pi pi-times-circle\"></i>\n              <span>{{ errorCount }} {{ 'design.components_ai.bulk_delete_error_count' | translate }}</span>\n            </div>\n          }\n        </div>\n      </div>\n    }\n\n    <!-- Status List -->\n    @if (isProcessing || isCompleted) {\n      <div class=\"status-list\">\n        @for (item of deleteStatuses; track item.entity) {\n          <div class=\"status-item\">\n            <div class=\"status-info\">\n              <i [class]=\"getStatusIcon(item.status)\" class=\"status-icon\"></i>\n              <div class=\"status-details\">\n                <span class=\"stage-name\">{{ item.entity[entityNameField] }}</span>\n                @if (item.entity[entityCodeField]) {\n                  <span class=\"stage-code\">{{ 'design.components_ai.bulk_delete_code_label' | translate }}: {{ item.entity[entityCodeField] }}</span>\n                }\n              </div>\n            </div>\n            <div class=\"status-badge\">\n              <p-tag \n                [value]=\"getStatusLabel(item.status)\" \n                [severity]=\"getStatusSeverity(item.status)\"\n              >\n                @if (item.status === 'processing') {\n                  <i class=\"pi pi-spin pi-spinner\"></i>\n                }\n              </p-tag>\n              @if (item.status === 'error' && item.errorMessage) {\n                <small class=\"error-message\">\n                  {{ item.errorMessage }}\n                </small>\n              }\n            </div>\n          </div>\n        }\n      </div>\n    }\n\n    <!-- Completion Message -->\n    @if (isCompleted) {\n      <div class=\"completion-section\">\n        <div class=\"completion-message\" [class.has-errors]=\"errorCount > 0\">\n          <i [class]=\"errorCount > 0 ? 'pi pi-exclamation-circle' : 'pi pi-check-circle'\" class=\"completion-icon\"></i>\n          @if (errorCount === 0) {\n            <p>\n              {{ 'design.components_ai.bulk_delete_success_message' | translate }}\n            </p>\n          }\n          @if (errorCount > 0) {\n            <p>\n              {{ 'design.components_ai.bulk_delete_completed_with_errors' | translate:{ count: errorCount } }}\n            </p>\n          }\n        </div>\n      </div>\n    }\n  </div>\n\n  <ng-template pTemplate=\"footer\">\n    <div class=\"dialog-footer\">\n      @if (!isProcessing && !isCompleted) {\n        <p-button\n          [label]=\"'design.components_ai.cancel' | translate\"\n          icon=\"pi pi-times\"\n          severity=\"secondary\"\n          [outlined]=\"true\"\n          (onClick)=\"onClose()\"\n        ></p-button>\n        <p-button\n          [label]=\"'design.components_ai.bulk_delete_confirm' | translate\"\n          icon=\"pi pi-trash\"\n          severity=\"danger\"\n          (onClick)=\"startDeletion()\"\n        ></p-button>\n      }\n      @if (isCompleted) {\n        <p-button\n          [label]=\"'design.components_ai.close' | translate\"\n          icon=\"pi pi-check\"\n          (onClick)=\"onClose()\"\n        ></p-button>\n      }\n    </div>\n  </ng-template>\n</p-dialog>\n", styles: [".dialog-header{display:flex;align-items:center;gap:12px}.dialog-header .header-icon{font-size:24px;color:#ef4444}.dialog-header h2{margin:0;font-size:20px;font-weight:700;color:var(--neutral-color-800)}.dialog-content{padding:8px 0}.summary-section{padding:20px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;border:1px solid #fbbf24;margin-bottom:24px}.summary-section .summary-text{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-size:16px;color:var(--neutral-color-800)}.summary-section .summary-text .warning-icon{font-size:24px;color:#f59e0b}.summary-section .summary-text strong{color:#d97706}.summary-section .summary-description{margin:0;font-size:14px;color:var(--neutral-color-600);padding-left:36px}.progress-section{margin-bottom:24px}.progress-section .progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-section .progress-info .progress-label{font-weight:600;font-size:14px;color:var(--neutral-color-800)}.progress-section .progress-info .progress-count{font-size:14px;color:var(--neutral-color-600);font-weight:500}.progress-section .progress-stats{display:flex;gap:20px;margin-top:12px}.progress-section .progress-stats .stat{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.progress-section .progress-stats .stat.success{color:#10b981}.progress-section .progress-stats .stat.success i{font-size:18px}.progress-section .progress-stats .stat.error{color:#ef4444}.progress-section .progress-stats .stat.error i{font-size:18px}.status-list{max-height:400px;overflow-y:auto;border:1px solid var(--p-surface-200);border-radius:12px;padding:12px;background-color:#fafafa}.status-list .status-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#fff;border-radius:8px;margin-bottom:8px;transition:all .2s ease}.status-list .status-item:last-child{margin-bottom:0}.status-list .status-item:hover{box-shadow:0 2px 8px #00000014}.status-list .status-item .status-info{display:flex;align-items:center;gap:12px;flex:1}.status-list .status-item .status-info .status-icon{font-size:20px}.status-list .status-item .status-info .status-icon.pi-clock{color:var(--neutral-color-400)}.status-list .status-item .status-info .status-icon.pi-spinner{color:#3b82f6}.status-list .status-item .status-info .status-icon.pi-check{color:#10b981}.status-list .status-item .status-info .status-icon.pi-times{color:#ef4444}.status-list .status-item .status-info .status-details{display:flex;flex-direction:column;gap:4px}.status-list .status-item .status-info .status-details .stage-name{font-weight:600;font-size:14px;color:var(--neutral-color-800)}.status-list .status-item .status-info .status-details .stage-code{font-size:12px;color:var(--neutral-color-500)}.status-list .status-item .status-badge{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.status-list .status-item .status-badge .error-message{font-size:11px;color:#ef4444;max-width:200px;text-align:right}.completion-section{margin-top:24px}.completion-section .completion-message{padding:20px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:12px;border:1px solid #10b981;display:flex;align-items:center;gap:16px}.completion-section .completion-message.has-errors{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444}.completion-section .completion-message.has-errors .completion-icon{color:#ef4444}.completion-section .completion-message .completion-icon{font-size:32px;color:#10b981}.completion-section .completion-message p{margin:0;font-size:16px;font-weight:600;color:var(--neutral-color-800)}.dialog-footer{display:flex;justify-content:flex-end;gap:12px}::ng-deep .custom-progress{height:12px;border-radius:6px}::ng-deep .custom-progress .p-progressbar-value{background:linear-gradient(90deg,var(--p-primary-500) 0%,var(--p-primary-500) 100%);border-radius:6px}.status-list::-webkit-scrollbar{width:8px}.status-list::-webkit-scrollbar-track{background:var(--p-surface-100);border-radius:4px}.status-list::-webkit-scrollbar-thumb{background:var(--neutral-color-400);border-radius:4px}.status-list::-webkit-scrollbar-thumb:hover{background:var(--neutral-color-500)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i5.ProgressBar, selector: "p-progressBar, p-progressbar, p-progress-bar", inputs: ["value", "showValue", "styleClass", "valueStyleClass", "style", "unit", "mode", "color"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i6.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BulkDeleteDialogComponent, decorators: [{
            type: Component,
            args: [{ selector: 'sia-bulk-delete-dialog', standalone: true, imports: [
                        CommonModule,
                        DialogModule,
                        ButtonModule,
                        ProgressBarModule,
                        TagModule,
                        TranslatePipe
                    ], template: "<p-dialog\n  [(visible)]=\"visible\"\n  [modal]=\"true\"\n  [closable]=\"canClose\"\n  [closeOnEscape]=\"canClose\"\n  [dismissableMask]=\"false\"\n  [style]=\"{ width: '700px', maxWidth: '90vw' }\"\n  (onHide)=\"onHide()\"\n>\n  <ng-template pTemplate=\"header\">\n    <div class=\"dialog-header\">\n      <i class=\"pi pi-trash header-icon\"></i>\n      <h2>{{ 'design.components_ai.bulk_delete_title' | translate }}</h2>\n    </div>\n  </ng-template>\n\n  <div class=\"dialog-content\">\n    <!-- Summary -->\n    @if (!isProcessing && !isCompleted) {\n      <div class=\"summary-section\">\n        <p class=\"summary-text\">\n          <i class=\"pi pi-exclamation-triangle warning-icon\"></i>\n          <span [innerHTML]=\"'design.components_ai.bulk_delete_warning' | translate:{ count: stages.length }\"></span>\n        </p>\n        <p class=\"summary-description\">\n          {{ 'design.components_ai.bulk_delete_description' | translate }}\n        </p>\n      </div>\n    }\n\n    <!-- Progress Bar -->\n    @if (isProcessing || isCompleted) {\n      <div class=\"progress-section\">\n        <div class=\"progress-info\">\n          <span class=\"progress-label\">{{ 'design.components_ai.bulk_delete_progress' | translate }}</span>\n          <span class=\"progress-count\">{{ currentIndex }} / {{ deleteStatuses.length }}</span>\n        </div>\n        <p-progressBar \n          [value]=\"progress\" \n          [showValue]=\"false\"\n          styleClass=\"custom-progress\"\n        ></p-progressBar>\n        \n        <div class=\"progress-stats\">\n          <div class=\"stat success\">\n            <i class=\"pi pi-check-circle\"></i>\n            <span>{{ successCount }} {{ 'design.components_ai.bulk_delete_success_count' | translate }}</span>\n          </div>\n          @if (errorCount > 0) {\n            <div class=\"stat error\">\n              <i class=\"pi pi-times-circle\"></i>\n              <span>{{ errorCount }} {{ 'design.components_ai.bulk_delete_error_count' | translate }}</span>\n            </div>\n          }\n        </div>\n      </div>\n    }\n\n    <!-- Status List -->\n    @if (isProcessing || isCompleted) {\n      <div class=\"status-list\">\n        @for (item of deleteStatuses; track item.entity) {\n          <div class=\"status-item\">\n            <div class=\"status-info\">\n              <i [class]=\"getStatusIcon(item.status)\" class=\"status-icon\"></i>\n              <div class=\"status-details\">\n                <span class=\"stage-name\">{{ item.entity[entityNameField] }}</span>\n                @if (item.entity[entityCodeField]) {\n                  <span class=\"stage-code\">{{ 'design.components_ai.bulk_delete_code_label' | translate }}: {{ item.entity[entityCodeField] }}</span>\n                }\n              </div>\n            </div>\n            <div class=\"status-badge\">\n              <p-tag \n                [value]=\"getStatusLabel(item.status)\" \n                [severity]=\"getStatusSeverity(item.status)\"\n              >\n                @if (item.status === 'processing') {\n                  <i class=\"pi pi-spin pi-spinner\"></i>\n                }\n              </p-tag>\n              @if (item.status === 'error' && item.errorMessage) {\n                <small class=\"error-message\">\n                  {{ item.errorMessage }}\n                </small>\n              }\n            </div>\n          </div>\n        }\n      </div>\n    }\n\n    <!-- Completion Message -->\n    @if (isCompleted) {\n      <div class=\"completion-section\">\n        <div class=\"completion-message\" [class.has-errors]=\"errorCount > 0\">\n          <i [class]=\"errorCount > 0 ? 'pi pi-exclamation-circle' : 'pi pi-check-circle'\" class=\"completion-icon\"></i>\n          @if (errorCount === 0) {\n            <p>\n              {{ 'design.components_ai.bulk_delete_success_message' | translate }}\n            </p>\n          }\n          @if (errorCount > 0) {\n            <p>\n              {{ 'design.components_ai.bulk_delete_completed_with_errors' | translate:{ count: errorCount } }}\n            </p>\n          }\n        </div>\n      </div>\n    }\n  </div>\n\n  <ng-template pTemplate=\"footer\">\n    <div class=\"dialog-footer\">\n      @if (!isProcessing && !isCompleted) {\n        <p-button\n          [label]=\"'design.components_ai.cancel' | translate\"\n          icon=\"pi pi-times\"\n          severity=\"secondary\"\n          [outlined]=\"true\"\n          (onClick)=\"onClose()\"\n        ></p-button>\n        <p-button\n          [label]=\"'design.components_ai.bulk_delete_confirm' | translate\"\n          icon=\"pi pi-trash\"\n          severity=\"danger\"\n          (onClick)=\"startDeletion()\"\n        ></p-button>\n      }\n      @if (isCompleted) {\n        <p-button\n          [label]=\"'design.components_ai.close' | translate\"\n          icon=\"pi pi-check\"\n          (onClick)=\"onClose()\"\n        ></p-button>\n      }\n    </div>\n  </ng-template>\n</p-dialog>\n", styles: [".dialog-header{display:flex;align-items:center;gap:12px}.dialog-header .header-icon{font-size:24px;color:#ef4444}.dialog-header h2{margin:0;font-size:20px;font-weight:700;color:var(--neutral-color-800)}.dialog-content{padding:8px 0}.summary-section{padding:20px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;border:1px solid #fbbf24;margin-bottom:24px}.summary-section .summary-text{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-size:16px;color:var(--neutral-color-800)}.summary-section .summary-text .warning-icon{font-size:24px;color:#f59e0b}.summary-section .summary-text strong{color:#d97706}.summary-section .summary-description{margin:0;font-size:14px;color:var(--neutral-color-600);padding-left:36px}.progress-section{margin-bottom:24px}.progress-section .progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-section .progress-info .progress-label{font-weight:600;font-size:14px;color:var(--neutral-color-800)}.progress-section .progress-info .progress-count{font-size:14px;color:var(--neutral-color-600);font-weight:500}.progress-section .progress-stats{display:flex;gap:20px;margin-top:12px}.progress-section .progress-stats .stat{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.progress-section .progress-stats .stat.success{color:#10b981}.progress-section .progress-stats .stat.success i{font-size:18px}.progress-section .progress-stats .stat.error{color:#ef4444}.progress-section .progress-stats .stat.error i{font-size:18px}.status-list{max-height:400px;overflow-y:auto;border:1px solid var(--p-surface-200);border-radius:12px;padding:12px;background-color:#fafafa}.status-list .status-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#fff;border-radius:8px;margin-bottom:8px;transition:all .2s ease}.status-list .status-item:last-child{margin-bottom:0}.status-list .status-item:hover{box-shadow:0 2px 8px #00000014}.status-list .status-item .status-info{display:flex;align-items:center;gap:12px;flex:1}.status-list .status-item .status-info .status-icon{font-size:20px}.status-list .status-item .status-info .status-icon.pi-clock{color:var(--neutral-color-400)}.status-list .status-item .status-info .status-icon.pi-spinner{color:#3b82f6}.status-list .status-item .status-info .status-icon.pi-check{color:#10b981}.status-list .status-item .status-info .status-icon.pi-times{color:#ef4444}.status-list .status-item .status-info .status-details{display:flex;flex-direction:column;gap:4px}.status-list .status-item .status-info .status-details .stage-name{font-weight:600;font-size:14px;color:var(--neutral-color-800)}.status-list .status-item .status-info .status-details .stage-code{font-size:12px;color:var(--neutral-color-500)}.status-list .status-item .status-badge{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.status-list .status-item .status-badge .error-message{font-size:11px;color:#ef4444;max-width:200px;text-align:right}.completion-section{margin-top:24px}.completion-section .completion-message{padding:20px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:12px;border:1px solid #10b981;display:flex;align-items:center;gap:16px}.completion-section .completion-message.has-errors{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444}.completion-section .completion-message.has-errors .completion-icon{color:#ef4444}.completion-section .completion-message .completion-icon{font-size:32px;color:#10b981}.completion-section .completion-message p{margin:0;font-size:16px;font-weight:600;color:var(--neutral-color-800)}.dialog-footer{display:flex;justify-content:flex-end;gap:12px}::ng-deep .custom-progress{height:12px;border-radius:6px}::ng-deep .custom-progress .p-progressbar-value{background:linear-gradient(90deg,var(--p-primary-500) 0%,var(--p-primary-500) 100%);border-radius:6px}.status-list::-webkit-scrollbar{width:8px}.status-list::-webkit-scrollbar-track{background:var(--p-surface-100);border-radius:4px}.status-list::-webkit-scrollbar-thumb{background:var(--neutral-color-400);border-radius:4px}.status-list::-webkit-scrollbar-thumb:hover{background:var(--neutral-color-500)}\n"] }]
        }], ctorParameters: () => [{ type: i1.TranslationService }], propDecorators: { visible: [{
                type: Input
            }], stages: [{
                type: Input
            }], service: [{
                type: Input
            }], entityNameField: [{
                type: Input
            }], entityCodeField: [{
                type: Input
            }], translationPrefix: [{
                type: Input
            }], visibleChange: [{
                type: Output
            }], onComplete: [{
                type: Output
            }] } });
//# sourceMappingURL=data:application/json;base64, 