@eric-emg/symphiq-components 1.3.24 → 1.3.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -46371,8 +46371,8 @@ class BusinessAnalysisModalComponent {
46371
46371
  }] }); })();
46372
46372
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BusinessAnalysisModalComponent, { className: "BusinessAnalysisModalComponent", filePath: "lib/components/business-analysis-dashboard/business-analysis-modal.component.ts", lineNumber: 167 }); })();
46373
46373
 
46374
- function ContentGenerationProgressComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
46375
- i0.ɵɵelementStart(0, "div", 9);
46374
+ function ContentGenerationProgressComponent_Conditional_0_Conditional_11_Template(rf, ctx) { if (rf & 1) {
46375
+ i0.ɵɵelementStart(0, "div", 10);
46376
46376
  i0.ɵɵtext(1);
46377
46377
  i0.ɵɵelementEnd();
46378
46378
  } if (rf & 2) {
@@ -46391,9 +46391,9 @@ function ContentGenerationProgressComponent_Conditional_0_Template(rf, ctx) { if
46391
46391
  i0.ɵɵtext(7);
46392
46392
  i0.ɵɵelementEnd()();
46393
46393
  i0.ɵɵelementStart(8, "div", 7);
46394
- i0.ɵɵelement(9, "div", 8);
46394
+ i0.ɵɵelement(9, "div", 8)(10, "div", 9);
46395
46395
  i0.ɵɵelementEnd();
46396
- i0.ɵɵconditionalCreate(10, ContentGenerationProgressComponent_Conditional_0_Conditional_10_Template, 2, 2, "div", 9);
46396
+ i0.ɵɵconditionalCreate(11, ContentGenerationProgressComponent_Conditional_0_Conditional_11_Template, 2, 2, "div", 10);
46397
46397
  i0.ɵɵelementEnd();
46398
46398
  } if (rf & 2) {
46399
46399
  const ctx_r0 = i0.ɵɵnextContext();
@@ -46409,13 +46409,16 @@ function ContentGenerationProgressComponent_Conditional_0_Template(rf, ctx) { if
46409
46409
  i0.ɵɵadvance();
46410
46410
  i0.ɵɵproperty("ngClass", ctx_r0.isLightMode() ? "bg-slate-200" : "bg-slate-700");
46411
46411
  i0.ɵɵadvance();
46412
+ i0.ɵɵstyleProp("width", ctx_r0.progressPercentage(), "%")("--sweep-end", (ctx_r0.progressPercentage() > 0 ? 100 / ctx_r0.progressPercentage() * 100 : 100) + "%");
46413
+ i0.ɵɵproperty("ngClass", ctx_r0.isLightMode() ? "bg-blue-400/30" : "bg-blue-400/25");
46414
+ i0.ɵɵadvance();
46412
46415
  i0.ɵɵstyleProp("width", ctx_r0.progressPercentage(), "%");
46413
46416
  i0.ɵɵadvance();
46414
- i0.ɵɵconditional(ctx_r0.compactTitle() ? 10 : -1);
46417
+ i0.ɵɵconditional(ctx_r0.compactTitle() ? 11 : -1);
46415
46418
  } }
46416
46419
  function ContentGenerationProgressComponent_Conditional_1_Conditional_20_Template(rf, ctx) { if (rf & 1) {
46417
- i0.ɵɵelementStart(0, "div", 29);
46418
- i0.ɵɵelement(1, "div", 30)(2, "div", 31)(3, "div", 32)(4, "div", 33)(5, "div", 34)(6, "div", 35);
46420
+ i0.ɵɵelementStart(0, "div", 30);
46421
+ i0.ɵɵelement(1, "div", 31)(2, "div", 32)(3, "div", 33)(4, "div", 34)(5, "div", 35)(6, "div", 36);
46419
46422
  i0.ɵɵelementEnd();
46420
46423
  } if (rf & 2) {
46421
46424
  const ctx_r0 = i0.ɵɵnextContext(2);
@@ -46434,39 +46437,39 @@ function ContentGenerationProgressComponent_Conditional_1_Conditional_20_Templat
46434
46437
  i0.ɵɵstyleProp("background-color", ctx_r0.dotColor());
46435
46438
  } }
46436
46439
  function ContentGenerationProgressComponent_Conditional_1_Conditional_21_Template(rf, ctx) { if (rf & 1) {
46437
- i0.ɵɵelement(0, "div", 36);
46440
+ i0.ɵɵelement(0, "div", 37);
46438
46441
  } if (rf & 2) {
46439
46442
  const ctx_r0 = i0.ɵɵnextContext(2);
46440
46443
  i0.ɵɵstyleProp("left", ctx_r0.progressPercentage(), "%");
46441
46444
  i0.ɵɵproperty("ngClass", ctx_r0.progressGlowClasses());
46442
46445
  } }
46443
46446
  function ContentGenerationProgressComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
46444
- i0.ɵɵelementStart(0, "div", 1)(1, "div", 10)(2, "div", 11)(3, "div", 12)(4, "div", 13);
46447
+ i0.ɵɵelementStart(0, "div", 1)(1, "div", 11)(2, "div", 12)(3, "div", 13)(4, "div", 14);
46445
46448
  i0.ɵɵnamespaceSVG();
46446
- i0.ɵɵelementStart(5, "svg", 14);
46447
- i0.ɵɵelement(6, "path", 15);
46449
+ i0.ɵɵelementStart(5, "svg", 15);
46450
+ i0.ɵɵelement(6, "path", 16);
46448
46451
  i0.ɵɵelementEnd();
46449
46452
  i0.ɵɵnamespaceHTML();
46450
- i0.ɵɵelement(7, "div", 16);
46453
+ i0.ɵɵelement(7, "div", 17);
46451
46454
  i0.ɵɵelementEnd()();
46452
- i0.ɵɵelementStart(8, "h2", 17);
46455
+ i0.ɵɵelementStart(8, "h2", 18);
46453
46456
  i0.ɵɵtext(9);
46454
46457
  i0.ɵɵelementEnd();
46455
- i0.ɵɵelementStart(10, "p", 18);
46458
+ i0.ɵɵelementStart(10, "p", 19);
46456
46459
  i0.ɵɵtext(11);
46457
46460
  i0.ɵɵelementEnd()();
46458
- i0.ɵɵelementStart(12, "div", 19)(13, "div", 20)(14, "p", 21);
46461
+ i0.ɵɵelementStart(12, "div", 20)(13, "div", 21)(14, "p", 22);
46459
46462
  i0.ɵɵtext(15);
46460
46463
  i0.ɵɵelementEnd()();
46461
- i0.ɵɵelementStart(16, "div", 22);
46462
- i0.ɵɵelement(17, "div", 23);
46463
- i0.ɵɵelementStart(18, "div", 24);
46464
- i0.ɵɵelement(19, "div", 25);
46464
+ i0.ɵɵelementStart(16, "div", 23);
46465
+ i0.ɵɵelement(17, "div", 24);
46466
+ i0.ɵɵelementStart(18, "div", 25);
46467
+ i0.ɵɵelement(19, "div", 26);
46465
46468
  i0.ɵɵelementEnd();
46466
- i0.ɵɵconditionalCreate(20, ContentGenerationProgressComponent_Conditional_1_Conditional_20_Template, 7, 14, "div", 26);
46467
- i0.ɵɵconditionalCreate(21, ContentGenerationProgressComponent_Conditional_1_Conditional_21_Template, 1, 3, "div", 27);
46469
+ i0.ɵɵconditionalCreate(20, ContentGenerationProgressComponent_Conditional_1_Conditional_20_Template, 7, 14, "div", 27);
46470
+ i0.ɵɵconditionalCreate(21, ContentGenerationProgressComponent_Conditional_1_Conditional_21_Template, 1, 3, "div", 28);
46468
46471
  i0.ɵɵelementEnd();
46469
- i0.ɵɵelementStart(22, "div", 20)(23, "span", 28);
46472
+ i0.ɵɵelementStart(22, "div", 21)(23, "span", 29);
46470
46473
  i0.ɵɵtext(24);
46471
46474
  i0.ɵɵelementEnd()()()()();
46472
46475
  } if (rf & 2) {
@@ -46582,115 +46585,121 @@ class ContentGenerationProgressComponent {
46582
46585
  }, ...(ngDevMode ? [{ debugName: "percentageClasses" }] : []));
46583
46586
  }
46584
46587
  static { this.ɵfac = function ContentGenerationProgressComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ContentGenerationProgressComponent)(); }; }
46585
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContentGenerationProgressComponent, selectors: [["symphiq-content-generation-progress"]], inputs: { itemStatus: [1, "itemStatus"], title: [1, "title"], subtitle: [1, "subtitle"], viewMode: [1, "viewMode"], showIcon: [1, "showIcon"], compact: [1, "compact"], compactTitle: [1, "compactTitle"] }, decls: 2, vars: 1, consts: [[1, "w-full", "rounded-lg", "p-3", 3, "ngClass"], [1, "min-h-[60vh]", "flex", "items-center", "justify-center", "px-4", "py-12", 3, "ngClass"], [1, "flex", "items-center", "justify-between", "gap-3", "mb-2"], [1, "flex", "items-center", "gap-2", "min-w-0"], [1, "animate-spin", "w-3.5", "h-3.5", "border-2", "border-blue-500/30", "border-t-blue-500", "rounded-full", "flex-shrink-0"], [1, "text-xs", "font-semibold", "truncate", 3, "ngClass"], [1, "text-xs", "font-medium", "tabular-nums", "flex-shrink-0", 3, "ngClass"], [1, "w-full", "h-1.5", "rounded-full", "relative", 3, "ngClass"], [1, "h-full", "bg-gradient-to-r", "from-blue-500", "to-cyan-500", "rounded-full", "transition-all", "duration-500"], [1, "mt-1.5", "text-xs", "truncate", 3, "ngClass"], [1, "max-w-3xl", "w-full", "space-y-8"], [1, "text-center", "space-y-3"], [1, "flex", "items-center", "justify-center", "mb-4"], [1, "relative", "w-20", "h-20", "rounded-2xl", "flex", "items-center", "justify-center", "icon-pulse", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-10", "h-10"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"], [1, "absolute", "inset-0", "rounded-2xl", "icon-glow"], [1, "text-3xl", "sm:text-4xl", "font-bold", 3, "ngClass"], [1, "text-base", "sm:text-lg", "max-w-2xl", "mx-auto", 3, "ngClass"], [1, "space-y-4"], [1, "text-center"], [1, "text-lg", "sm:text-xl", "font-medium", "message-fade", 3, "ngClass"], [1, "relative", "h-3", "rounded-full", 2, "overflow", "visible", 3, "ngClass"], [1, "absolute", "inset-0", "rounded-full", 3, "ngClass"], [1, "absolute", "inset-y-0", "left-0", "rounded-full", "transition-all", "duration-700", "ease-out", "overflow-hidden", 3, "ngClass"], [1, "absolute", "inset-0", "shimmer-effect"], [1, "absolute", "pointer-events-none", 2, "right", "0", "top", "-4px", "bottom", "-4px", "overflow", "visible", 3, "left"], [1, "absolute", "top-1/2", "-translate-y-1/2", "w-4", "h-4", "rounded-full", "blur-md", "transition-all", "duration-700", "ease-out", 2, "margin-left", "-8px", 3, "ngClass", "left"], [1, "text-sm", "font-medium", "tabular-nums", 3, "ngClass"], [1, "absolute", "pointer-events-none", 2, "right", "0", "top", "-4px", "bottom", "-4px", "overflow", "visible"], [1, "animated-dot", "animated-dot-1"], [1, "animated-dot", "animated-dot-2"], [1, "animated-dot", "animated-dot-3"], [1, "animated-dot", "animated-dot-4"], [1, "animated-dot", "animated-dot-5"], [1, "animated-dot", "animated-dot-6"], [1, "absolute", "top-1/2", "-translate-y-1/2", "w-4", "h-4", "rounded-full", "blur-md", "transition-all", "duration-700", "ease-out", 2, "margin-left", "-8px", 3, "ngClass"]], template: function ContentGenerationProgressComponent_Template(rf, ctx) { if (rf & 1) {
46586
- i0.ɵɵconditionalCreate(0, ContentGenerationProgressComponent_Conditional_0_Template, 11, 9, "div", 0)(1, ContentGenerationProgressComponent_Conditional_1_Template, 25, 17, "div", 1);
46588
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContentGenerationProgressComponent, selectors: [["symphiq-content-generation-progress"]], inputs: { itemStatus: [1, "itemStatus"], title: [1, "title"], subtitle: [1, "subtitle"], viewMode: [1, "viewMode"], showIcon: [1, "showIcon"], compact: [1, "compact"], compactTitle: [1, "compactTitle"] }, decls: 2, vars: 1, consts: [[1, "w-full", "rounded-lg", "p-3", 3, "ngClass"], [1, "min-h-[60vh]", "flex", "items-center", "justify-center", "px-4", "py-12", 3, "ngClass"], [1, "flex", "items-center", "justify-between", "gap-3", "mb-2"], [1, "flex", "items-center", "gap-2", "min-w-0"], [1, "animate-spin", "w-3.5", "h-3.5", "border-2", "border-blue-500/30", "border-t-blue-500", "rounded-full", "flex-shrink-0"], [1, "text-xs", "font-semibold", "truncate", 3, "ngClass"], [1, "text-xs", "font-medium", "tabular-nums", "flex-shrink-0", 3, "ngClass"], [1, "w-full", "h-1.5", "rounded-full", "relative", "overflow-hidden", 3, "ngClass"], [1, "absolute", "inset-y-0", "rounded-full", "animate-sweep-across", 3, "ngClass"], [1, "h-full", "bg-gradient-to-r", "from-blue-500", "to-cyan-500", "rounded-full", "transition-all", "duration-500"], [1, "mt-1.5", "text-xs", "truncate", 3, "ngClass"], [1, "max-w-3xl", "w-full", "space-y-8"], [1, "text-center", "space-y-3"], [1, "flex", "items-center", "justify-center", "mb-4"], [1, "relative", "w-20", "h-20", "rounded-2xl", "flex", "items-center", "justify-center", "icon-pulse", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-10", "h-10"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"], [1, "absolute", "inset-0", "rounded-2xl", "icon-glow"], [1, "text-3xl", "sm:text-4xl", "font-bold", 3, "ngClass"], [1, "text-base", "sm:text-lg", "max-w-2xl", "mx-auto", 3, "ngClass"], [1, "space-y-4"], [1, "text-center"], [1, "text-lg", "sm:text-xl", "font-medium", "message-fade", 3, "ngClass"], [1, "relative", "h-3", "rounded-full", 2, "overflow", "visible", 3, "ngClass"], [1, "absolute", "inset-0", "rounded-full", 3, "ngClass"], [1, "absolute", "inset-y-0", "left-0", "rounded-full", "transition-all", "duration-700", "ease-out", "overflow-hidden", 3, "ngClass"], [1, "absolute", "inset-0", "shimmer-effect"], [1, "absolute", "pointer-events-none", 2, "right", "0", "top", "-4px", "bottom", "-4px", "overflow", "visible", 3, "left"], [1, "absolute", "top-1/2", "-translate-y-1/2", "w-4", "h-4", "rounded-full", "blur-md", "transition-all", "duration-700", "ease-out", 2, "margin-left", "-8px", 3, "ngClass", "left"], [1, "text-sm", "font-medium", "tabular-nums", 3, "ngClass"], [1, "absolute", "pointer-events-none", 2, "right", "0", "top", "-4px", "bottom", "-4px", "overflow", "visible"], [1, "animated-dot", "animated-dot-1"], [1, "animated-dot", "animated-dot-2"], [1, "animated-dot", "animated-dot-3"], [1, "animated-dot", "animated-dot-4"], [1, "animated-dot", "animated-dot-5"], [1, "animated-dot", "animated-dot-6"], [1, "absolute", "top-1/2", "-translate-y-1/2", "w-4", "h-4", "rounded-full", "blur-md", "transition-all", "duration-700", "ease-out", 2, "margin-left", "-8px", 3, "ngClass"]], template: function ContentGenerationProgressComponent_Template(rf, ctx) { if (rf & 1) {
46589
+ i0.ɵɵconditionalCreate(0, ContentGenerationProgressComponent_Conditional_0_Template, 12, 14, "div", 0)(1, ContentGenerationProgressComponent_Conditional_1_Template, 25, 17, "div", 1);
46587
46590
  } if (rf & 2) {
46588
46591
  i0.ɵɵconditional(ctx.compact() ? 0 : 1);
46589
- } }, dependencies: [CommonModule, i1$1.NgClass], styles: ["@keyframes _ngcontent-%COMP%_icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes _ngcontent-%COMP%_icon-glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes _ngcontent-%COMP%_shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes _ngcontent-%COMP%_dots-move{0%{left:0%;opacity:0}3%{left:3%;opacity:1}97%{left:97%;opacity:1}to{left:100%;opacity:0}}@keyframes _ngcontent-%COMP%_dots-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}@keyframes _ngcontent-%COMP%_message-fade{0%,to{opacity:1}50%{opacity:.7}}.icon-pulse[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_icon-pulse 2s ease-in-out infinite}.icon-glow[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_icon-glow-pulse 2s ease-in-out infinite}.shimmer-effect[_ngcontent-%COMP%]{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:_ngcontent-%COMP%_shimmer 2s ease-in-out infinite}.message-fade[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_message-fade 3s ease-in-out infinite}.animated-dot[_ngcontent-%COMP%]{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;margin-top:-6px;margin-left:-6px;animation:_ngcontent-%COMP%_dots-move 6s linear infinite,_ngcontent-%COMP%_dots-pulse 2s ease-in-out infinite;will-change:left,transform,opacity;z-index:20;box-shadow:0 0 8px currentColor,0 0 16px currentColor}.animated-dot-1[_ngcontent-%COMP%]{animation-delay:0s,0s}.animated-dot-2[_ngcontent-%COMP%]{animation-delay:1s,0s}.animated-dot-3[_ngcontent-%COMP%]{animation-delay:2s,0s}.animated-dot-4[_ngcontent-%COMP%]{animation-delay:3s,0s}.animated-dot-5[_ngcontent-%COMP%]{animation-delay:4s,0s}.animated-dot-6[_ngcontent-%COMP%]{animation-delay:5s,0s}"], changeDetection: 0 }); }
46592
+ } }, dependencies: [CommonModule, i1$1.NgClass], styles: ["@keyframes _ngcontent-%COMP%_icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes _ngcontent-%COMP%_icon-glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes _ngcontent-%COMP%_shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes _ngcontent-%COMP%_dots-move{0%{left:0%;opacity:0}3%{left:3%;opacity:1}97%{left:97%;opacity:1}to{left:100%;opacity:0}}@keyframes _ngcontent-%COMP%_dots-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}@keyframes _ngcontent-%COMP%_message-fade{0%,to{opacity:1}50%{opacity:.7}}.icon-pulse[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_icon-pulse 2s ease-in-out infinite}.icon-glow[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_icon-glow-pulse 2s ease-in-out infinite}.shimmer-effect[_ngcontent-%COMP%]{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:_ngcontent-%COMP%_shimmer 2s ease-in-out infinite}.message-fade[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_message-fade 3s ease-in-out infinite}.animated-dot[_ngcontent-%COMP%]{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;margin-top:-6px;margin-left:-6px;animation:_ngcontent-%COMP%_dots-move 6s linear infinite,_ngcontent-%COMP%_dots-pulse 2s ease-in-out infinite;will-change:left,transform,opacity;z-index:20;box-shadow:0 0 8px currentColor,0 0 16px currentColor}.animated-dot-1[_ngcontent-%COMP%]{animation-delay:0s,0s}.animated-dot-2[_ngcontent-%COMP%]{animation-delay:1s,0s}.animated-dot-3[_ngcontent-%COMP%]{animation-delay:2s,0s}.animated-dot-4[_ngcontent-%COMP%]{animation-delay:3s,0s}.animated-dot-5[_ngcontent-%COMP%]{animation-delay:4s,0s}.animated-dot-6[_ngcontent-%COMP%]{animation-delay:5s,0s}@keyframes _ngcontent-%COMP%_sweep-across{0%{transform:translate(-100%)}to{transform:translate(var(--sweep-end))}}.animate-sweep-across[_ngcontent-%COMP%]{left:0;animation:_ngcontent-%COMP%_sweep-across 2s ease-in-out infinite}"], changeDetection: 0 }); }
46590
46593
  }
46591
46594
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContentGenerationProgressComponent, [{
46592
46595
  type: Component,
46593
- args: [{ selector: 'symphiq-content-generation-progress', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
46594
- @if (compact()) {
46595
- <div class="w-full rounded-lg p-3" [ngClass]="isLightMode() ? 'bg-slate-100/80' : 'bg-slate-800/50'">
46596
- <div class="flex items-center justify-between gap-3 mb-2">
46597
- <div class="flex items-center gap-2 min-w-0">
46598
- <div class="animate-spin w-3.5 h-3.5 border-2 border-blue-500/30 border-t-blue-500 rounded-full flex-shrink-0"></div>
46599
- <span class="text-xs font-semibold truncate" [ngClass]="isLightMode() ? 'text-slate-700' : 'text-slate-300'">
46600
- {{ compactTitle() || progressMessage() }}
46601
- </span>
46602
- </div>
46603
- <span class="text-xs font-medium tabular-nums flex-shrink-0" [ngClass]="isLightMode() ? 'text-blue-600' : 'text-blue-400'">
46604
- {{ progressPercentage() }}%
46605
- </span>
46606
- </div>
46607
- <div class="w-full h-1.5 rounded-full relative" [ngClass]="isLightMode() ? 'bg-slate-200' : 'bg-slate-700'">
46608
- <div
46609
- class="h-full bg-gradient-to-r from-blue-500 to-cyan-500 rounded-full transition-all duration-500"
46610
- [style.width.%]="progressPercentage()">
46611
- </div>
46612
- </div>
46613
- @if (compactTitle()) {
46614
- <div class="mt-1.5 text-xs truncate" [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-400'">
46615
- {{ progressMessage() }}
46616
- </div>
46617
- }
46618
- </div>
46619
- } @else {
46620
- <div [ngClass]="containerClasses()" class="min-h-[60vh] flex items-center justify-center px-4 py-12">
46621
- <div class="max-w-3xl w-full space-y-8">
46622
- <div class="text-center space-y-3">
46623
- <div class="flex items-center justify-center mb-4">
46624
- <div [ngClass]="iconContainerClasses()" class="relative w-20 h-20 rounded-2xl flex items-center justify-center icon-pulse">
46625
- <svg class="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
46626
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
46627
- </svg>
46628
- <div class="absolute inset-0 rounded-2xl icon-glow"></div>
46629
- </div>
46630
- </div>
46631
-
46632
- <h2 [ngClass]="titleClasses()" class="text-3xl sm:text-4xl font-bold">
46633
- {{ title() }}
46634
- </h2>
46635
-
46636
- <p [ngClass]="subtitleClasses()" class="text-base sm:text-lg max-w-2xl mx-auto">
46637
- {{ subtitle() }}
46638
- </p>
46639
- </div>
46640
-
46641
- <div class="space-y-4">
46642
- <div class="text-center">
46643
- <p [ngClass]="progressMessageClasses()" class="text-lg sm:text-xl font-medium message-fade">
46644
- {{ progressMessage() }}
46645
- </p>
46646
- </div>
46647
-
46648
- <div [ngClass]="progressBarContainerClasses()" class="relative h-3 rounded-full" style="overflow: visible;">
46649
- <div [ngClass]="progressBarBackgroundClasses()" class="absolute inset-0 rounded-full"></div>
46650
-
46651
- <div
46652
- [ngClass]="progressBarFillClasses()"
46653
- [style.width.%]="progressPercentage()"
46654
- class="absolute inset-y-0 left-0 rounded-full transition-all duration-700 ease-out overflow-hidden">
46655
- <div class="absolute inset-0 shimmer-effect"></div>
46656
- </div>
46657
-
46658
- @if (progressPercentage() > 0 && progressPercentage() < 100) {
46659
- <div
46660
- class="absolute pointer-events-none"
46661
- [style.left.%]="progressPercentage()"
46662
- style="right: 0; top: -4px; bottom: -4px; overflow: visible;">
46663
- <div class="animated-dot animated-dot-1" [style.background-color]="dotColor()"></div>
46664
- <div class="animated-dot animated-dot-2" [style.background-color]="dotColor()"></div>
46665
- <div class="animated-dot animated-dot-3" [style.background-color]="dotColor()"></div>
46666
- <div class="animated-dot animated-dot-4" [style.background-color]="dotColor()"></div>
46667
- <div class="animated-dot animated-dot-5" [style.background-color]="dotColor()"></div>
46668
- <div class="animated-dot animated-dot-6" [style.background-color]="dotColor()"></div>
46669
- </div>
46670
- }
46671
-
46672
- @if (progressPercentage() > 0 && progressPercentage() < 100) {
46673
- <div
46674
- [ngClass]="progressGlowClasses()"
46675
- [style.left.%]="progressPercentage()"
46676
- class="absolute top-1/2 -translate-y-1/2 w-4 h-4 rounded-full blur-md transition-all duration-700 ease-out"
46677
- style="margin-left: -8px;">
46678
- </div>
46679
- }
46680
- </div>
46681
-
46682
- <div class="text-center">
46683
- <span [ngClass]="percentageClasses()" class="text-sm font-medium tabular-nums">
46684
- {{ progressPercentage() }}% complete
46685
- </span>
46686
- </div>
46687
- </div>
46688
- </div>
46689
- </div>
46690
- }
46691
- `, styles: ["@keyframes icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes icon-glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes dots-move{0%{left:0%;opacity:0}3%{left:3%;opacity:1}97%{left:97%;opacity:1}to{left:100%;opacity:0}}@keyframes dots-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}@keyframes message-fade{0%,to{opacity:1}50%{opacity:.7}}.icon-pulse{animation:icon-pulse 2s ease-in-out infinite}.icon-glow{animation:icon-glow-pulse 2s ease-in-out infinite}.shimmer-effect{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s ease-in-out infinite}.message-fade{animation:message-fade 3s ease-in-out infinite}.animated-dot{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;margin-top:-6px;margin-left:-6px;animation:dots-move 6s linear infinite,dots-pulse 2s ease-in-out infinite;will-change:left,transform,opacity;z-index:20;box-shadow:0 0 8px currentColor,0 0 16px currentColor}.animated-dot-1{animation-delay:0s,0s}.animated-dot-2{animation-delay:1s,0s}.animated-dot-3{animation-delay:2s,0s}.animated-dot-4{animation-delay:3s,0s}.animated-dot-5{animation-delay:4s,0s}.animated-dot-6{animation-delay:5s,0s}\n"] }]
46596
+ args: [{ selector: 'symphiq-content-generation-progress', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
46597
+ @if (compact()) {
46598
+ <div class="w-full rounded-lg p-3" [ngClass]="isLightMode() ? 'bg-slate-100/80' : 'bg-slate-800/50'">
46599
+ <div class="flex items-center justify-between gap-3 mb-2">
46600
+ <div class="flex items-center gap-2 min-w-0">
46601
+ <div class="animate-spin w-3.5 h-3.5 border-2 border-blue-500/30 border-t-blue-500 rounded-full flex-shrink-0"></div>
46602
+ <span class="text-xs font-semibold truncate" [ngClass]="isLightMode() ? 'text-slate-700' : 'text-slate-300'">
46603
+ {{ compactTitle() || progressMessage() }}
46604
+ </span>
46605
+ </div>
46606
+ <span class="text-xs font-medium tabular-nums flex-shrink-0" [ngClass]="isLightMode() ? 'text-blue-600' : 'text-blue-400'">
46607
+ {{ progressPercentage() }}%
46608
+ </span>
46609
+ </div>
46610
+ <div class="w-full h-1.5 rounded-full relative overflow-hidden" [ngClass]="isLightMode() ? 'bg-slate-200' : 'bg-slate-700'">
46611
+ <div
46612
+ class="absolute inset-y-0 rounded-full animate-sweep-across"
46613
+ [ngClass]="isLightMode() ? 'bg-blue-400/30' : 'bg-blue-400/25'"
46614
+ [style.width.%]="progressPercentage()"
46615
+ [style.--sweep-end]="(progressPercentage() > 0 ? (100 / progressPercentage() * 100) : 100) + '%'">
46616
+ </div>
46617
+ <div
46618
+ class="h-full bg-gradient-to-r from-blue-500 to-cyan-500 rounded-full transition-all duration-500"
46619
+ [style.width.%]="progressPercentage()">
46620
+ </div>
46621
+ </div>
46622
+ @if (compactTitle()) {
46623
+ <div class="mt-1.5 text-xs truncate" [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-400'">
46624
+ {{ progressMessage() }}
46625
+ </div>
46626
+ }
46627
+ </div>
46628
+ } @else {
46629
+ <div [ngClass]="containerClasses()" class="min-h-[60vh] flex items-center justify-center px-4 py-12">
46630
+ <div class="max-w-3xl w-full space-y-8">
46631
+ <div class="text-center space-y-3">
46632
+ <div class="flex items-center justify-center mb-4">
46633
+ <div [ngClass]="iconContainerClasses()" class="relative w-20 h-20 rounded-2xl flex items-center justify-center icon-pulse">
46634
+ <svg class="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
46635
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
46636
+ </svg>
46637
+ <div class="absolute inset-0 rounded-2xl icon-glow"></div>
46638
+ </div>
46639
+ </div>
46640
+
46641
+ <h2 [ngClass]="titleClasses()" class="text-3xl sm:text-4xl font-bold">
46642
+ {{ title() }}
46643
+ </h2>
46644
+
46645
+ <p [ngClass]="subtitleClasses()" class="text-base sm:text-lg max-w-2xl mx-auto">
46646
+ {{ subtitle() }}
46647
+ </p>
46648
+ </div>
46649
+
46650
+ <div class="space-y-4">
46651
+ <div class="text-center">
46652
+ <p [ngClass]="progressMessageClasses()" class="text-lg sm:text-xl font-medium message-fade">
46653
+ {{ progressMessage() }}
46654
+ </p>
46655
+ </div>
46656
+
46657
+ <div [ngClass]="progressBarContainerClasses()" class="relative h-3 rounded-full" style="overflow: visible;">
46658
+ <div [ngClass]="progressBarBackgroundClasses()" class="absolute inset-0 rounded-full"></div>
46659
+
46660
+ <div
46661
+ [ngClass]="progressBarFillClasses()"
46662
+ [style.width.%]="progressPercentage()"
46663
+ class="absolute inset-y-0 left-0 rounded-full transition-all duration-700 ease-out overflow-hidden">
46664
+ <div class="absolute inset-0 shimmer-effect"></div>
46665
+ </div>
46666
+
46667
+ @if (progressPercentage() > 0 && progressPercentage() < 100) {
46668
+ <div
46669
+ class="absolute pointer-events-none"
46670
+ [style.left.%]="progressPercentage()"
46671
+ style="right: 0; top: -4px; bottom: -4px; overflow: visible;">
46672
+ <div class="animated-dot animated-dot-1" [style.background-color]="dotColor()"></div>
46673
+ <div class="animated-dot animated-dot-2" [style.background-color]="dotColor()"></div>
46674
+ <div class="animated-dot animated-dot-3" [style.background-color]="dotColor()"></div>
46675
+ <div class="animated-dot animated-dot-4" [style.background-color]="dotColor()"></div>
46676
+ <div class="animated-dot animated-dot-5" [style.background-color]="dotColor()"></div>
46677
+ <div class="animated-dot animated-dot-6" [style.background-color]="dotColor()"></div>
46678
+ </div>
46679
+ }
46680
+
46681
+ @if (progressPercentage() > 0 && progressPercentage() < 100) {
46682
+ <div
46683
+ [ngClass]="progressGlowClasses()"
46684
+ [style.left.%]="progressPercentage()"
46685
+ class="absolute top-1/2 -translate-y-1/2 w-4 h-4 rounded-full blur-md transition-all duration-700 ease-out"
46686
+ style="margin-left: -8px;">
46687
+ </div>
46688
+ }
46689
+ </div>
46690
+
46691
+ <div class="text-center">
46692
+ <span [ngClass]="percentageClasses()" class="text-sm font-medium tabular-nums">
46693
+ {{ progressPercentage() }}% complete
46694
+ </span>
46695
+ </div>
46696
+ </div>
46697
+ </div>
46698
+ </div>
46699
+ }
46700
+ `, styles: ["@keyframes icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes icon-glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes dots-move{0%{left:0%;opacity:0}3%{left:3%;opacity:1}97%{left:97%;opacity:1}to{left:100%;opacity:0}}@keyframes dots-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}@keyframes message-fade{0%,to{opacity:1}50%{opacity:.7}}.icon-pulse{animation:icon-pulse 2s ease-in-out infinite}.icon-glow{animation:icon-glow-pulse 2s ease-in-out infinite}.shimmer-effect{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s ease-in-out infinite}.message-fade{animation:message-fade 3s ease-in-out infinite}.animated-dot{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;margin-top:-6px;margin-left:-6px;animation:dots-move 6s linear infinite,dots-pulse 2s ease-in-out infinite;will-change:left,transform,opacity;z-index:20;box-shadow:0 0 8px currentColor,0 0 16px currentColor}.animated-dot-1{animation-delay:0s,0s}.animated-dot-2{animation-delay:1s,0s}.animated-dot-3{animation-delay:2s,0s}.animated-dot-4{animation-delay:3s,0s}.animated-dot-5{animation-delay:4s,0s}.animated-dot-6{animation-delay:5s,0s}@keyframes sweep-across{0%{transform:translate(-100%)}to{transform:translate(var(--sweep-end))}}.animate-sweep-across{left:0;animation:sweep-across 2s ease-in-out infinite}\n"] }]
46692
46701
  }], null, { itemStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatus", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], showIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIcon", required: false }] }], compact: [{ type: i0.Input, args: [{ isSignal: true, alias: "compact", required: false }] }], compactTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "compactTitle", required: false }] }] }); })();
46693
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContentGenerationProgressComponent, { className: "ContentGenerationProgressComponent", filePath: "lib/components/shared/content-generation-progress.component.ts", lineNumber: 239 }); })();
46702
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContentGenerationProgressComponent, { className: "ContentGenerationProgressComponent", filePath: "lib/components/shared/content-generation-progress.component.ts", lineNumber: 255 }); })();
46694
46703
 
46695
46704
  class ContentGenerationProgressWithConfettiComponent {
46696
46705
  constructor() {