@eric-emg/symphiq-components 1.2.149 → 1.2.151

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.
@@ -24829,11 +24829,11 @@ function JourneyProgressIndicatorComponent_For_5_Template(rf, ctx) { if (rf & 1)
24829
24829
  i0.ɵɵelementStart(0, "div", 20);
24830
24830
  i0.ɵɵlistener("mouseenter", function JourneyProgressIndicatorComponent_For_5_Template_div_mouseenter_0_listener() { const ɵ$index_9_r2 = i0.ɵɵrestoreView(_r1).$index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setHoveredStep(ɵ$index_9_r2)); })("mouseleave", function JourneyProgressIndicatorComponent_For_5_Template_div_mouseleave_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearHoveredStep()); });
24831
24831
  i0.ɵɵelementStart(1, "div", 21);
24832
- i0.ɵɵlistener("click", function JourneyProgressIndicatorComponent_For_5_Template_div_click_1_listener() { const ctx_r3 = i0.ɵɵrestoreView(_r1); const step_r5 = ctx_r3.$implicit; const ɵ$index_9_r2 = ctx_r3.$index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView((step_r5.status === "completed" || step_r5.status === "accessible") && ctx_r2.stepClick.emit(ɵ$index_9_r2 + 1)); });
24832
+ i0.ɵɵlistener("click", function JourneyProgressIndicatorComponent_For_5_Template_div_click_1_listener() { const ctx_r3 = i0.ɵɵrestoreView(_r1); const step_r5 = ctx_r3.$implicit; const ɵ$index_9_r2 = ctx_r3.$index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.handleStepClick(step_r5, ɵ$index_9_r2)); });
24833
24833
  i0.ɵɵconditionalCreate(2, JourneyProgressIndicatorComponent_For_5_Conditional_2_Template, 2, 0, ":svg:svg", 22)(3, JourneyProgressIndicatorComponent_For_5_Conditional_3_Template, 1, 1, "div", 23)(4, JourneyProgressIndicatorComponent_For_5_Conditional_4_Template, 1, 1, "div", 24)(5, JourneyProgressIndicatorComponent_For_5_Conditional_5_Template, 2, 2, "span", 25);
24834
24834
  i0.ɵɵelementEnd();
24835
24835
  i0.ɵɵelementStart(6, "span", 26);
24836
- i0.ɵɵlistener("click", function JourneyProgressIndicatorComponent_For_5_Template_span_click_6_listener() { const ctx_r6 = i0.ɵɵrestoreView(_r1); const step_r5 = ctx_r6.$implicit; const ɵ$index_9_r2 = ctx_r6.$index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView((step_r5.status === "completed" || step_r5.status === "accessible") && ctx_r2.stepClick.emit(ɵ$index_9_r2 + 1)); });
24836
+ i0.ɵɵlistener("click", function JourneyProgressIndicatorComponent_For_5_Template_span_click_6_listener() { const ctx_r6 = i0.ɵɵrestoreView(_r1); const step_r5 = ctx_r6.$implicit; const ɵ$index_9_r2 = ctx_r6.$index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.handleStepClick(step_r5, ɵ$index_9_r2)); });
24837
24837
  i0.ɵɵtext(7);
24838
24838
  i0.ɵɵelementEnd();
24839
24839
  i0.ɵɵconditionalCreate(8, JourneyProgressIndicatorComponent_For_5_Conditional_8_Template, 9, 16, "div", 27);
@@ -25202,6 +25202,13 @@ class JourneyProgressIndicatorComponent {
25202
25202
  this.nextStepClick.emit();
25203
25203
  }
25204
25204
  }
25205
+ handleStepClick(step, idx) {
25206
+ console.log('Step clicked:', { step, idx, status: step.status });
25207
+ if (step.status === 'completed' || step.status === 'accessible') {
25208
+ console.log('Emitting stepClick:', idx + 1);
25209
+ this.stepClick.emit(idx + 1);
25210
+ }
25211
+ }
25205
25212
  // Mobile navigation methods
25206
25213
  getCurrentStepIndex() {
25207
25214
  return this.mobileStepIndex();
@@ -25498,7 +25505,7 @@ class JourneyProgressIndicatorComponent {
25498
25505
  <div
25499
25506
  [ngClass]="getStepIconContainerClasses(step)"
25500
25507
  class="w-8 h-8 min-w-[2rem] min-h-[2rem] rounded-full flex items-center justify-center flex-shrink-0 step-circle relative z-10 mb-1.5"
25501
- (click)="(step.status === 'completed' || step.status === 'accessible') && stepClick.emit(idx + 1)"
25508
+ (click)="handleStepClick(step, idx)"
25502
25509
  [class.cursor-pointer]="step.status === 'completed' || step.status === 'accessible'">
25503
25510
  @if (step.status === 'completed') {
25504
25511
  <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
@@ -25519,7 +25526,7 @@ class JourneyProgressIndicatorComponent {
25519
25526
  <span
25520
25527
  [ngClass]="getAbbreviatedTitleClasses(step)"
25521
25528
  class="text-[10px] text-center leading-tight whitespace-nowrap max-w-[64px] overflow-hidden text-ellipsis"
25522
- (click)="(step.status === 'completed' || step.status === 'accessible') && stepClick.emit(idx + 1)"
25529
+ (click)="handleStepClick(step, idx)"
25523
25530
  [class.cursor-pointer]="step.status === 'completed' || step.status === 'accessible'">
25524
25531
  {{ getAbbreviatedTitle(step.title) }}
25525
25532
  </span>
@@ -56445,7 +56452,7 @@ class ContentGenerationProgressComponent {
56445
56452
  }, ...(ngDevMode ? [{ debugName: "percentageClasses" }] : []));
56446
56453
  }
56447
56454
  static { this.ɵfac = function ContentGenerationProgressComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ContentGenerationProgressComponent)(); }; }
56448
- 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"] }, decls: 31, vars: 21, consts: [[1, "flex-1", "flex", "items-center", "justify-center", "px-4", "py-12", 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", "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", "inset-0", "overflow-hidden", "rounded-full"], [1, "dots-container", "h-full"], [1, "dot", "dot-1", 3, "ngClass"], [1, "dot", "dot-2", 3, "ngClass"], [1, "dot", "dot-3", 3, "ngClass"], [1, "dot", "dot-4", 3, "ngClass"], [1, "dot", "dot-5", 3, "ngClass"], [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", "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) {
56455
+ 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"] }, decls: 31, vars: 21, consts: [[1, "min-h-[60vh]", "flex", "items-center", "justify-center", "px-4", "py-12", 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", "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", "inset-0", "overflow-hidden", "rounded-full"], [1, "dots-container", "h-full"], [1, "dot", "dot-1", 3, "ngClass"], [1, "dot", "dot-2", 3, "ngClass"], [1, "dot", "dot-3", 3, "ngClass"], [1, "dot", "dot-4", 3, "ngClass"], [1, "dot", "dot-5", 3, "ngClass"], [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", "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) {
56449
56456
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4);
56450
56457
  i0.ɵɵnamespaceSVG();
56451
56458
  i0.ɵɵelementStart(5, "svg", 5);
@@ -56519,83 +56526,83 @@ class ContentGenerationProgressComponent {
56519
56526
  }
56520
56527
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContentGenerationProgressComponent, [{
56521
56528
  type: Component,
56522
- args: [{ selector: 'symphiq-content-generation-progress', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
56523
- <div [ngClass]="containerClasses()" class="flex-1 flex items-center justify-center px-4 py-12">
56524
- <div class="max-w-3xl w-full space-y-8">
56525
- <!-- Title Section -->
56526
- <div class="text-center space-y-3">
56527
- <div class="flex items-center justify-center mb-4">
56528
- <div [ngClass]="iconContainerClasses()" class="relative w-20 h-20 rounded-2xl flex items-center justify-center icon-pulse">
56529
- <svg class="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
56530
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
56531
- </svg>
56532
- <div class="absolute inset-0 rounded-2xl icon-glow"></div>
56533
- </div>
56534
- </div>
56535
-
56536
- <h2 [ngClass]="titleClasses()" class="text-3xl sm:text-4xl font-bold">
56537
- {{ title() }}
56538
- </h2>
56539
-
56540
- <p [ngClass]="subtitleClasses()" class="text-base sm:text-lg max-w-2xl mx-auto">
56541
- {{ subtitle() }}
56542
- </p>
56543
- </div>
56544
-
56545
- <!-- Progress Section -->
56546
- <div class="space-y-4">
56547
- <!-- Progress Message -->
56548
- <div class="text-center">
56549
- <p [ngClass]="progressMessageClasses()" class="text-lg sm:text-xl font-medium message-fade">
56550
- {{ progressMessage() }}
56551
- </p>
56552
- </div>
56553
-
56554
- <!-- Progress Bar Container -->
56555
- <div [ngClass]="progressBarContainerClasses()" class="relative h-3 rounded-full overflow-visible">
56556
- <!-- Background Track -->
56557
- <div [ngClass]="progressBarBackgroundClasses()" class="absolute inset-0 rounded-full"></div>
56558
-
56559
- <!-- Solid Fill with Gradient -->
56560
- <div
56561
- [ngClass]="progressBarFillClasses()"
56562
- [style.width.%]="progressPercentage()"
56563
- class="absolute inset-y-0 left-0 rounded-full transition-all duration-700 ease-out overflow-hidden">
56564
- <!-- Inner shimmer effect -->
56565
- <div class="absolute inset-0 shimmer-effect"></div>
56566
- </div>
56567
-
56568
- <!-- Animated Dots Overlay (shows beyond the solid bar) -->
56569
- <div class="absolute inset-0 overflow-hidden rounded-full">
56570
- <div class="dots-container h-full">
56571
- <div [ngClass]="dotClasses()" class="dot dot-1"></div>
56572
- <div [ngClass]="dotClasses()" class="dot dot-2"></div>
56573
- <div [ngClass]="dotClasses()" class="dot dot-3"></div>
56574
- <div [ngClass]="dotClasses()" class="dot dot-4"></div>
56575
- <div [ngClass]="dotClasses()" class="dot dot-5"></div>
56576
- </div>
56577
- </div>
56578
-
56579
- <!-- Glow effect at the progress edge -->
56580
- @if (progressPercentage() > 0 && progressPercentage() < 100) {
56581
- <div
56582
- [ngClass]="progressGlowClasses()"
56583
- [style.left.%]="progressPercentage()"
56584
- class="absolute top-1/2 -translate-y-1/2 w-4 h-4 rounded-full blur-md transition-all duration-700 ease-out"
56585
- style="margin-left: -8px;">
56586
- </div>
56587
- }
56588
- </div>
56589
-
56590
- <!-- Progress Percentage -->
56591
- <div class="text-center">
56592
- <span [ngClass]="percentageClasses()" class="text-sm font-medium tabular-nums">
56593
- {{ progressPercentage() }}% complete
56594
- </span>
56595
- </div>
56596
- </div>
56597
- </div>
56598
- </div>
56529
+ args: [{ selector: 'symphiq-content-generation-progress', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
56530
+ <div [ngClass]="containerClasses()" class="min-h-[60vh] flex items-center justify-center px-4 py-12">
56531
+ <div class="max-w-3xl w-full space-y-8">
56532
+ <!-- Title Section -->
56533
+ <div class="text-center space-y-3">
56534
+ <div class="flex items-center justify-center mb-4">
56535
+ <div [ngClass]="iconContainerClasses()" class="relative w-20 h-20 rounded-2xl flex items-center justify-center icon-pulse">
56536
+ <svg class="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
56537
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
56538
+ </svg>
56539
+ <div class="absolute inset-0 rounded-2xl icon-glow"></div>
56540
+ </div>
56541
+ </div>
56542
+
56543
+ <h2 [ngClass]="titleClasses()" class="text-3xl sm:text-4xl font-bold">
56544
+ {{ title() }}
56545
+ </h2>
56546
+
56547
+ <p [ngClass]="subtitleClasses()" class="text-base sm:text-lg max-w-2xl mx-auto">
56548
+ {{ subtitle() }}
56549
+ </p>
56550
+ </div>
56551
+
56552
+ <!-- Progress Section -->
56553
+ <div class="space-y-4">
56554
+ <!-- Progress Message -->
56555
+ <div class="text-center">
56556
+ <p [ngClass]="progressMessageClasses()" class="text-lg sm:text-xl font-medium message-fade">
56557
+ {{ progressMessage() }}
56558
+ </p>
56559
+ </div>
56560
+
56561
+ <!-- Progress Bar Container -->
56562
+ <div [ngClass]="progressBarContainerClasses()" class="relative h-3 rounded-full overflow-visible">
56563
+ <!-- Background Track -->
56564
+ <div [ngClass]="progressBarBackgroundClasses()" class="absolute inset-0 rounded-full"></div>
56565
+
56566
+ <!-- Solid Fill with Gradient -->
56567
+ <div
56568
+ [ngClass]="progressBarFillClasses()"
56569
+ [style.width.%]="progressPercentage()"
56570
+ class="absolute inset-y-0 left-0 rounded-full transition-all duration-700 ease-out overflow-hidden">
56571
+ <!-- Inner shimmer effect -->
56572
+ <div class="absolute inset-0 shimmer-effect"></div>
56573
+ </div>
56574
+
56575
+ <!-- Animated Dots Overlay (shows beyond the solid bar) -->
56576
+ <div class="absolute inset-0 overflow-hidden rounded-full">
56577
+ <div class="dots-container h-full">
56578
+ <div [ngClass]="dotClasses()" class="dot dot-1"></div>
56579
+ <div [ngClass]="dotClasses()" class="dot dot-2"></div>
56580
+ <div [ngClass]="dotClasses()" class="dot dot-3"></div>
56581
+ <div [ngClass]="dotClasses()" class="dot dot-4"></div>
56582
+ <div [ngClass]="dotClasses()" class="dot dot-5"></div>
56583
+ </div>
56584
+ </div>
56585
+
56586
+ <!-- Glow effect at the progress edge -->
56587
+ @if (progressPercentage() > 0 && progressPercentage() < 100) {
56588
+ <div
56589
+ [ngClass]="progressGlowClasses()"
56590
+ [style.left.%]="progressPercentage()"
56591
+ class="absolute top-1/2 -translate-y-1/2 w-4 h-4 rounded-full blur-md transition-all duration-700 ease-out"
56592
+ style="margin-left: -8px;">
56593
+ </div>
56594
+ }
56595
+ </div>
56596
+
56597
+ <!-- Progress Percentage -->
56598
+ <div class="text-center">
56599
+ <span [ngClass]="percentageClasses()" class="text-sm font-medium tabular-nums">
56600
+ {{ progressPercentage() }}% complete
56601
+ </span>
56602
+ </div>
56603
+ </div>
56604
+ </div>
56605
+ </div>
56599
56606
  `, 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%{transform:translate(-20px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(calc(100vw + 20px));opacity:0}}@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}.dots-container{position:relative;width:100%}.dot{position:absolute;top:50%;width:8px;height:8px;border-radius:50%;transform:translateY(-50%);animation:dots-move 3s linear infinite}.dot-1{animation-delay:0s}.dot-2{animation-delay:.6s}.dot-3{animation-delay:1.2s}.dot-4{animation-delay:1.8s}.dot-5{animation-delay:2.4s}@media (prefers-reduced-motion: reduce){.icon-pulse,.icon-glow,.shimmer-effect,.message-fade,.dot{animation:none}}\n"] }]
56600
56607
  }], 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 }] }] }); })();
56601
56608
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContentGenerationProgressComponent, { className: "ContentGenerationProgressComponent", filePath: "lib/components/shared/content-generation-progress.component.ts", lineNumber: 214 }); })();