@eric-emg/symphiq-components 1.2.143 → 1.2.145

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.
@@ -1,4 +1,4 @@
1
- import { ViewModeEnum, MetricStatusEnum, TrendDirectionEnum, CompetitiveScoreEnum, ChartTypeEnum, IconSourceEnum, ProfileAnalysisRecommendationPriorityEnum, ProfileItemTypeEnum, PriceVsCompetitorsEnum, DifferentiationStrengthEnum, ThreatLevelEnum, normalizeToV3, MetricEnum, FocusAreaDomainEnum, FocusAreaHealthEnum, ProfileAnalysisPriorityEnum, CapabilityStateEnum, QuadrantEnum, AdvantageEnum, OverallGradeEnum, OperationalMaturityEnum, ProfileAnalysisEffortLevelEnum, ProfileAnalysisImpactLevelEnum, FocusAreaDomainEnumUtil, ProfileAnalysisTypeEnum, LineChartUseCaseEnum, BarChartUseCaseEnum } from '@jebgem/model';
1
+ import { ViewModeEnum, MetricStatusEnum, TrendDirectionEnum, CompetitiveScoreEnum, ChartTypeEnum, IconSourceEnum, ProfileAnalysisRecommendationPriorityEnum, ProfileItemTypeEnum, PriceVsCompetitorsEnum, DifferentiationStrengthEnum, ThreatLevelEnum, normalizeToV3, MetricEnum, AiDynamicContentStatusEnum, FocusAreaDomainEnum, FocusAreaHealthEnum, ProfileAnalysisPriorityEnum, CapabilityStateEnum, QuadrantEnum, AdvantageEnum, OverallGradeEnum, OperationalMaturityEnum, ProfileAnalysisEffortLevelEnum, ProfileAnalysisImpactLevelEnum, FocusAreaDomainEnumUtil, ProfileAnalysisTypeEnum, LineChartUseCaseEnum, BarChartUseCaseEnum } from '@jebgem/model';
2
2
  export * from '@jebgem/model';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Injectable, signal, computed, input, ChangeDetectionStrategy, Component, output, inject, ElementRef, Renderer2, effect, Directive, HostListener, untracked, ViewChild, PLATFORM_ID, Inject, Input } from '@angular/core';
@@ -2436,7 +2436,7 @@ class CrossDashboardRelationshipsService {
2436
2436
  }]
2437
2437
  }], null, null); })();
2438
2438
 
2439
- const _c0$12 = a0 => ["skeleton-loader", "rounded-lg", "relative", "overflow-hidden", a0];
2439
+ const _c0$13 = a0 => ["skeleton-loader", "rounded-lg", "relative", "overflow-hidden", a0];
2440
2440
  const _c1$C = a0 => ["skeleton-shimmer-overlay", "absolute", "inset-0", "bg-gradient-to-r", a0];
2441
2441
  class SkeletonLoaderComponent {
2442
2442
  constructor() {
@@ -2453,7 +2453,7 @@ class SkeletonLoaderComponent {
2453
2453
  } if (rf & 2) {
2454
2454
  i0.ɵɵstyleProp("width", ctx.width())("height", ctx.height());
2455
2455
  i0.ɵɵclassProp("skeleton-shimmer", true)("skeleton-pulse", ctx.pulse());
2456
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$12, ctx.isLightMode() ? "bg-slate-200/80" : "bg-slate-700/80"));
2456
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$13, ctx.isLightMode() ? "bg-slate-200/80" : "bg-slate-700/80"));
2457
2457
  i0.ɵɵadvance();
2458
2458
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$C, ctx.isLightMode() ? "from-transparent via-white/60 to-transparent" : "from-transparent via-slate-500/40 to-transparent"));
2459
2459
  } }, dependencies: [NgClass], styles: [".skeleton-loader[_ngcontent-%COMP%]{position:relative;overflow:hidden}.skeleton-shimmer-overlay[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_shimmer 2s infinite cubic-bezier(.4,0,.6,1);transform:translate(-100%)}@keyframes _ngcontent-%COMP%_shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-pulse[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:1}50%{opacity:.6}}"], changeDetection: 0 }); }
@@ -2493,7 +2493,7 @@ const ChartContainerComponent_Conditional_1_Conditional_13_Defer_2_DepsFn = () =
2493
2493
  const ChartContainerComponent_Conditional_1_Conditional_14_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return barChart_component; }).then(m => m.BarChartComponent)];
2494
2494
  const ChartContainerComponent_Conditional_1_Conditional_15_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return pieChart_component; }).then(m => m.PieChartComponent)];
2495
2495
  const ChartContainerComponent_Conditional_1_Conditional_16_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
2496
- const _c0$11 = (a0, a1) => [a0, a1];
2496
+ const _c0$12 = (a0, a1) => [a0, a1];
2497
2497
  function ChartContainerComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
2498
2498
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 2);
2499
2499
  i0.ɵɵelement(2, "symphiq-skeleton-loader", 3)(3, "symphiq-skeleton-loader", 3);
@@ -2545,7 +2545,7 @@ function ChartContainerComponent_Conditional_1_Conditional_11_Template(rf, ctx)
2545
2545
  i0.ɵɵelementEnd()();
2546
2546
  } if (rf & 2) {
2547
2547
  const ctx_r0 = i0.ɵɵnextContext(2);
2548
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(1, _c0$11, ctx_r0.iconClass(), ctx_r0.isLightMode() ? "bg-white/90 hover:bg-white" : "bg-slate-800/90 hover:bg-slate-800"));
2548
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(1, _c0$12, ctx_r0.iconClass(), ctx_r0.isLightMode() ? "bg-white/90 hover:bg-white" : "bg-slate-800/90 hover:bg-slate-800"));
2549
2549
  } }
2550
2550
  function ChartContainerComponent_Conditional_1_Conditional_13_Defer_0_Template(rf, ctx) { if (rf & 1) {
2551
2551
  i0.ɵɵelement(0, "symphiq-line-chart", 23);
@@ -4147,7 +4147,7 @@ class CompetitivePositioningSummaryComponent {
4147
4147
  }], null, { metrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "metrics", required: false }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], overallDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "overallDescription", required: false }] }], competitiveBenchmark: [{ type: i0.Input, args: [{ isSignal: true, alias: "competitiveBenchmark", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }], scrollToCompetitive: [{ type: i0.Output, args: ["scrollToCompetitive"] }] }); })();
4148
4148
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitivePositioningSummaryComponent, { className: "CompetitivePositioningSummaryComponent", filePath: "lib/components/funnel-analysis-dashboard/competitive-positioning-summary.component.ts", lineNumber: 298 }); })();
4149
4149
 
4150
- const _c0$10 = () => [1, 2, 3, 4];
4150
+ const _c0$11 = () => [1, 2, 3, 4];
4151
4151
  function OverallAssessmentComponent_Conditional_0_For_10_Template(rf, ctx) { if (rf & 1) {
4152
4152
  i0.ɵɵelementStart(0, "div", 9);
4153
4153
  i0.ɵɵelement(1, "symphiq-skeleton-loader", 6)(2, "symphiq-skeleton-loader", 6);
@@ -4181,7 +4181,7 @@ function OverallAssessmentComponent_Conditional_0_Template(rf, ctx) { if (rf & 1
4181
4181
  i0.ɵɵadvance(2);
4182
4182
  i0.ɵɵproperty("width", "100px")("height", "70px")("isLightMode", ctx_r0.isLightMode());
4183
4183
  i0.ɵɵadvance(2);
4184
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(14, _c0$10));
4184
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(14, _c0$11));
4185
4185
  i0.ɵɵadvance(2);
4186
4186
  i0.ɵɵproperty("width", "100%")("height", "200px")("isLightMode", ctx_r0.isLightMode());
4187
4187
  } }
@@ -5396,7 +5396,7 @@ class OverallAssessmentComponent {
5396
5396
  }], null, { assessment: [{ type: i0.Input, args: [{ isSignal: true, alias: "assessment", required: false }] }], revenueMetric: [{ type: i0.Input, args: [{ isSignal: true, alias: "revenueMetric", required: false }] }], charts: [{ type: i0.Input, args: [{ isSignal: true, alias: "charts", required: false }] }], metrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "metrics", required: false }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], isChartsLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isChartsLoading", required: false }] }], strengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "strengths", required: false }] }], weaknesses: [{ type: i0.Input, args: [{ isSignal: true, alias: "weaknesses", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }], scrollToSection: [{ type: i0.Output, args: ["scrollToSection"] }] }); })();
5397
5397
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OverallAssessmentComponent, { className: "OverallAssessmentComponent", filePath: "lib/components/funnel-analysis-dashboard/overall-assessment.component.ts", lineNumber: 303 }); })();
5398
5398
 
5399
- const _c0$$ = () => [1, 2, 3];
5399
+ const _c0$10 = () => [1, 2, 3];
5400
5400
  const _c1$B = () => [1, 2, 3, 4];
5401
5401
  const _c2$q = () => [];
5402
5402
  function InsightCardComponent_Conditional_0_Conditional_0_For_7_Template(rf, ctx) { if (rf & 1) {
@@ -5434,7 +5434,7 @@ function InsightCardComponent_Conditional_0_Conditional_0_Template(rf, ctx) { if
5434
5434
  i0.ɵɵadvance();
5435
5435
  i0.ɵɵproperty("width", "60%")("height", "20px")("isLightMode", ctx_r0.isLightMode());
5436
5436
  i0.ɵɵadvance();
5437
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(8, _c0$$));
5437
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(8, _c0$10));
5438
5438
  i0.ɵɵadvance(3);
5439
5439
  i0.ɵɵrepeater(i0.ɵɵpureFunction0(9, _c1$B));
5440
5440
  } }
@@ -8134,7 +8134,7 @@ class MetricCardComponent {
8134
8134
  }], () => [], { metric: [{ type: i0.Input, args: [{ isSignal: true, alias: "metric", required: false }] }], insights: [{ type: i0.Input, args: [{ isSignal: true, alias: "insights", required: false }] }], charts: [{ type: i0.Input, args: [{ isSignal: true, alias: "charts", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], analysis: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysis", required: false }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], isInModal: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInModal", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], initialExpandedSection: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialExpandedSection", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }] }); })();
8135
8135
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricCardComponent, { className: "MetricCardComponent", filePath: "lib/components/funnel-analysis-dashboard/metric-card.component.ts", lineNumber: 537 }); })();
8136
8136
 
8137
- const _c0$_ = () => [1, 2, 3];
8137
+ const _c0$$ = () => [1, 2, 3];
8138
8138
  const _c1$A = (a0, a1, a2) => [a0, a1, a2];
8139
8139
  const _c2$p = (a0, a1) => [a0, a1];
8140
8140
  const _forTrack0$L = ($index, $item) => $item.metric;
@@ -8164,7 +8164,7 @@ function BreakdownSectionComponent_Conditional_0_For_7_Template(rf, ctx) { if (r
8164
8164
  i0.ɵɵadvance();
8165
8165
  i0.ɵɵproperty("width", "30%")("height", "18px")("isLightMode", ctx_r0.isLightMode());
8166
8166
  i0.ɵɵadvance(2);
8167
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(3, _c0$_));
8167
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(3, _c0$$));
8168
8168
  } }
8169
8169
  function BreakdownSectionComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
8170
8170
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 2);
@@ -8183,7 +8183,7 @@ function BreakdownSectionComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
8183
8183
  i0.ɵɵadvance();
8184
8184
  i0.ɵɵproperty("width", "85%")("height", "14px")("isLightMode", ctx_r0.isLightMode());
8185
8185
  i0.ɵɵadvance(2);
8186
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(10, _c0$_));
8186
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(10, _c0$$));
8187
8187
  } }
8188
8188
  function BreakdownSectionComponent_Conditional_1_Conditional_6_For_2_Template(rf, ctx) { if (rf & 1) {
8189
8189
  const _r2 = i0.ɵɵgetCurrentView();
@@ -12352,7 +12352,7 @@ class FunnelWeaknessesListModalContentComponent {
12352
12352
  }], null, { weaknesses: [{ type: i0.Input, args: [{ isSignal: true, alias: "weaknesses", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: true }] }] }); })();
12353
12353
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelWeaknessesListModalContentComponent, { className: "FunnelWeaknessesListModalContentComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-weaknesses-list-modal-content.component.ts", lineNumber: 132 }); })();
12354
12354
 
12355
- const _c0$Z = () => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
12355
+ const _c0$_ = () => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
12356
12356
  function FunnelStrengthDetailModalContentComponent_For_18_Template(rf, ctx) { if (rf & 1) {
12357
12357
  i0.ɵɵelement(0, "div", 12);
12358
12358
  } if (rf & 2) {
@@ -12628,7 +12628,7 @@ class FunnelStrengthDetailModalContentComponent {
12628
12628
  i0.ɵɵadvance();
12629
12629
  i0.ɵɵproperty("ngClass", ctx.impactScoreLabelClasses());
12630
12630
  i0.ɵɵadvance(3);
12631
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(35, _c0$Z));
12631
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(35, _c0$_));
12632
12632
  i0.ɵɵadvance(2);
12633
12633
  i0.ɵɵproperty("ngClass", ctx.titleClasses());
12634
12634
  i0.ɵɵadvance();
@@ -12804,7 +12804,7 @@ class FunnelStrengthDetailModalContentComponent {
12804
12804
  }], null, { strength: [{ type: i0.Input, args: [{ isSignal: true, alias: "strength", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: true }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }] }); })();
12805
12805
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelStrengthDetailModalContentComponent, { className: "FunnelStrengthDetailModalContentComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-strength-detail-modal-content.component.ts", lineNumber: 128 }); })();
12806
12806
 
12807
- const _c0$Y = () => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
12807
+ const _c0$Z = () => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
12808
12808
  function FunnelWeaknessDetailModalContentComponent_For_27_Template(rf, ctx) { if (rf & 1) {
12809
12809
  i0.ɵɵelement(0, "div", 17);
12810
12810
  } if (rf & 2) {
@@ -13315,7 +13315,7 @@ class FunnelWeaknessDetailModalContentComponent {
13315
13315
  i0.ɵɵadvance();
13316
13316
  i0.ɵɵproperty("ngClass", ctx.impactScoreLabelClasses());
13317
13317
  i0.ɵɵadvance(3);
13318
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(49, _c0$Y));
13318
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(49, _c0$Z));
13319
13319
  i0.ɵɵadvance(2);
13320
13320
  i0.ɵɵproperty("ngClass", ctx.titleClasses());
13321
13321
  i0.ɵɵadvance();
@@ -13784,7 +13784,7 @@ class ProfileItemLookupService {
13784
13784
  }]
13785
13785
  }], null, null); })();
13786
13786
 
13787
- const _c0$X = a0 => ({ name: "chevron-right", source: a0 });
13787
+ const _c0$Y = a0 => ({ name: "chevron-right", source: a0 });
13788
13788
  const _forTrack0$I = ($index, $item) => $item.id;
13789
13789
  function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
13790
13790
  const _r1 = i0.ɵɵgetCurrentView();
@@ -13802,7 +13802,7 @@ function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (r
13802
13802
  i0.ɵɵadvance(2);
13803
13803
  i0.ɵɵtextInterpolate(item_r2.label);
13804
13804
  i0.ɵɵadvance();
13805
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$X, ctx_r2.IconSourceEnum.HEROICONS));
13805
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$Y, ctx_r2.IconSourceEnum.HEROICONS));
13806
13806
  } }
13807
13807
  function RelatedAreaChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
13808
13808
  i0.ɵɵelementStart(0, "div", 0);
@@ -13891,7 +13891,7 @@ class RelatedAreaChipsComponent {
13891
13891
  }], null, { relatedAreaIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "relatedAreaIds", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], inModalContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "inModalContext", required: false }] }] }); })();
13892
13892
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RelatedAreaChipsComponent, { className: "RelatedAreaChipsComponent", filePath: "lib/components/business-analysis-dashboard/shared/related-area-chips.component.ts", lineNumber: 31 }); })();
13893
13893
 
13894
- const _c0$W = a0 => ({ name: "chevron-right", source: a0 });
13894
+ const _c0$X = a0 => ({ name: "chevron-right", source: a0 });
13895
13895
  function CompetitorChipListComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
13896
13896
  const _r1 = i0.ɵɵgetCurrentView();
13897
13897
  i0.ɵɵelementStart(0, "button", 2);
@@ -13908,7 +13908,7 @@ function CompetitorChipListComponent_Conditional_0_For_2_Template(rf, ctx) { if
13908
13908
  i0.ɵɵadvance(2);
13909
13909
  i0.ɵɵtextInterpolate(ctx_r2.getItemLabel(item_r2));
13910
13910
  i0.ɵɵadvance();
13911
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$W, ctx_r2.IconSourceEnum.HEROICONS));
13911
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$X, ctx_r2.IconSourceEnum.HEROICONS));
13912
13912
  } }
13913
13913
  function CompetitorChipListComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
13914
13914
  i0.ɵɵelementStart(0, "div", 0);
@@ -14319,7 +14319,7 @@ class CompetitorContextSectionComponent {
14319
14319
  }], null, { contextType: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextType", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isCollapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCollapsible", required: false }] }], itemClicked: [{ type: i0.Output, args: ["itemClicked"] }] }); })();
14320
14320
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorContextSectionComponent, { className: "CompetitorContextSectionComponent", filePath: "lib/components/business-analysis-dashboard/cards/competitor-context-section.component.ts", lineNumber: 86 }); })();
14321
14321
 
14322
- const _c0$V = a0 => ({ name: "chevron-right", source: a0 });
14322
+ const _c0$W = a0 => ({ name: "chevron-right", source: a0 });
14323
14323
  const _forTrack0$G = ($index, $item) => $item.id;
14324
14324
  function RelatedRecommendationChipsComponent_Conditional_0_For_3_Template(rf, ctx) { if (rf & 1) {
14325
14325
  const _r1 = i0.ɵɵgetCurrentView();
@@ -14340,7 +14340,7 @@ function RelatedRecommendationChipsComponent_Conditional_0_For_3_Template(rf, ct
14340
14340
  i0.ɵɵadvance(2);
14341
14341
  i0.ɵɵtextInterpolate(rec_r2.title);
14342
14342
  i0.ɵɵadvance();
14343
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$V, ctx_r2.IconSourceEnum.HEROICONS));
14343
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$W, ctx_r2.IconSourceEnum.HEROICONS));
14344
14344
  } }
14345
14345
  function RelatedRecommendationChipsComponent_Conditional_0_Conditional_4_Template(rf, ctx) { if (rf & 1) {
14346
14346
  const _r4 = i0.ɵɵgetCurrentView();
@@ -21304,7 +21304,7 @@ class FunnelStageCompetitiveTooltipComponent {
21304
21304
  }], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }] }); })();
21305
21305
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelStageCompetitiveTooltipComponent, { className: "FunnelStageCompetitiveTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/funnel-stage-competitive-tooltip.component.ts", lineNumber: 120 }); })();
21306
21306
 
21307
- const _c0$U = () => [];
21307
+ const _c0$V = () => [];
21308
21308
  function TooltipContainerComponent_Conditional_0_Case_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
21309
21309
  i0.ɵɵelement(0, "symphiq-metric-value-tooltip", 6);
21310
21310
  } if (rf & 2) {
@@ -21468,7 +21468,7 @@ function TooltipContainerComponent_Conditional_0_Case_15_Conditional_1_Template(
21468
21468
  } if (rf & 2) {
21469
21469
  i0.ɵɵnextContext(2);
21470
21470
  const content_r4 = i0.ɵɵreadContextLet(2);
21471
- i0.ɵɵrepeater(content_r4["sections"] || i0.ɵɵpureFunction0(0, _c0$U));
21471
+ i0.ɵɵrepeater(content_r4["sections"] || i0.ɵɵpureFunction0(0, _c0$V));
21472
21472
  } }
21473
21473
  function TooltipContainerComponent_Conditional_0_Case_15_Template(rf, ctx) { if (rf & 1) {
21474
21474
  i0.ɵɵelementStart(0, "div", 3);
@@ -22549,7 +22549,7 @@ class SearchService {
22549
22549
  }]
22550
22550
  }], null, null); })();
22551
22551
 
22552
- const _c0$T = ["searchInput"];
22552
+ const _c0$U = ["searchInput"];
22553
22553
  const _forTrack0$A = ($index, $item) => $item.id;
22554
22554
  function SearchBarComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
22555
22555
  const _r3 = i0.ɵɵgetCurrentView();
@@ -22911,7 +22911,7 @@ class SearchBarComponent {
22911
22911
  }
22912
22912
  static { this.ɵfac = function SearchBarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchBarComponent)(); }; }
22913
22913
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBarComponent, selectors: [["symphiq-search-bar"]], viewQuery: function SearchBarComponent_Query(rf, ctx) { if (rf & 1) {
22914
- i0.ɵɵviewQuery(_c0$T, 5);
22914
+ i0.ɵɵviewQuery(_c0$U, 5);
22915
22915
  } if (rf & 2) {
22916
22916
  let _t;
22917
22917
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchInput = _t.first);
@@ -24860,20 +24860,35 @@ function JourneyProgressIndicatorComponent_For_5_Template(rf, ctx) { if (rf & 1)
24860
24860
  i0.ɵɵadvance();
24861
24861
  i0.ɵɵconditional(!(ɵ$index_9_r2 === ɵ$count_9_r8 - 1) ? 9 : -1);
24862
24862
  } }
24863
+ function JourneyProgressIndicatorComponent_Conditional_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
24864
+ i0.ɵɵnamespaceSVG();
24865
+ i0.ɵɵelementStart(0, "svg", 38);
24866
+ i0.ɵɵelement(1, "circle", 39)(2, "path", 40);
24867
+ i0.ɵɵelementEnd();
24868
+ i0.ɵɵtext(3, " Loading... ");
24869
+ } }
24870
+ function JourneyProgressIndicatorComponent_Conditional_6_Conditional_2_Template(rf, ctx) { if (rf & 1) {
24871
+ i0.ɵɵtext(0);
24872
+ i0.ɵɵnamespaceSVG();
24873
+ i0.ɵɵelementStart(1, "svg", 41);
24874
+ i0.ɵɵelement(2, "path", 42);
24875
+ i0.ɵɵelementEnd();
24876
+ } if (rf & 2) {
24877
+ const ctx_r2 = i0.ɵɵnextContext(2);
24878
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.currentStepId() === ctx_r2.JourneyStepIdEnum.WELCOME ? "Get Started" : "Continue", " ");
24879
+ } }
24863
24880
  function JourneyProgressIndicatorComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
24864
24881
  const _r9 = i0.ɵɵgetCurrentView();
24865
24882
  i0.ɵɵelementStart(0, "button", 37);
24866
- i0.ɵɵlistener("click", function JourneyProgressIndicatorComponent_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.nextStepClick.emit()); });
24867
- i0.ɵɵtext(1);
24868
- i0.ɵɵnamespaceSVG();
24869
- i0.ɵɵelementStart(2, "svg", 38);
24870
- i0.ɵɵelement(3, "path", 39);
24871
- i0.ɵɵelementEnd()();
24883
+ i0.ɵɵlistener("click", function JourneyProgressIndicatorComponent_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.handleNextStepClick()); });
24884
+ i0.ɵɵconditionalCreate(1, JourneyProgressIndicatorComponent_Conditional_6_Conditional_1_Template, 4, 0)(2, JourneyProgressIndicatorComponent_Conditional_6_Conditional_2_Template, 3, 1);
24885
+ i0.ɵɵelementEnd();
24872
24886
  } if (rf & 2) {
24873
24887
  const ctx_r2 = i0.ɵɵnextContext();
24874
- i0.ɵɵproperty("ngClass", ctx_r2.nextStepButtonClasses());
24888
+ i0.ɵɵclassProp("cursor-pointer", !ctx_r2.isLoading())("cursor-not-allowed", ctx_r2.isLoading())("opacity-50", ctx_r2.isLoading())("hover:scale-105", !ctx_r2.isLoading());
24889
+ i0.ɵɵproperty("disabled", ctx_r2.isLoading())("ngClass", ctx_r2.nextStepButtonClasses());
24875
24890
  i0.ɵɵadvance();
24876
- i0.ɵɵtextInterpolate1(" ", ctx_r2.currentStepId() === ctx_r2.JourneyStepIdEnum.WELCOME ? "Get Started" : "Continue", " ");
24891
+ i0.ɵɵconditional(ctx_r2.isLoading() ? 1 : 2);
24877
24892
  } }
24878
24893
  function JourneyProgressIndicatorComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
24879
24894
  i0.ɵɵnamespaceSVG();
@@ -24899,51 +24914,51 @@ function JourneyProgressIndicatorComponent_Conditional_13_Template(rf, ctx) { if
24899
24914
  } }
24900
24915
  function JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_2_Template(rf, ctx) { if (rf & 1) {
24901
24916
  i0.ɵɵnamespaceSVG();
24902
- i0.ɵɵelementStart(0, "svg", 44);
24917
+ i0.ɵɵelementStart(0, "svg", 47);
24903
24918
  i0.ɵɵelement(1, "path", 29);
24904
24919
  i0.ɵɵelementEnd();
24905
24920
  } }
24906
24921
  function JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_3_Template(rf, ctx) { if (rf & 1) {
24907
- i0.ɵɵelement(0, "div", 45);
24922
+ i0.ɵɵelement(0, "div", 48);
24908
24923
  } if (rf & 2) {
24909
24924
  const ctx_r2 = i0.ɵɵnextContext(3);
24910
24925
  i0.ɵɵproperty("ngClass", ctx_r2.getCurrentDotClasses());
24911
24926
  } }
24912
24927
  function JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
24913
- i0.ɵɵelement(0, "div", 46);
24928
+ i0.ɵɵelement(0, "div", 49);
24914
24929
  } if (rf & 2) {
24915
24930
  const ctx_r2 = i0.ɵɵnextContext(3);
24916
24931
  i0.ɵɵproperty("ngClass", ctx_r2.getAccessibleDotClasses());
24917
24932
  } }
24918
24933
  function JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_5_Template(rf, ctx) { if (rf & 1) {
24919
- i0.ɵɵelementStart(0, "span", 47);
24934
+ i0.ɵɵelementStart(0, "span", 50);
24920
24935
  i0.ɵɵtext(1);
24921
24936
  i0.ɵɵelementEnd();
24922
24937
  } if (rf & 2) {
24923
24938
  const ctx_r9 = i0.ɵɵnextContext();
24924
24939
  const step_r11 = ctx_r9.$implicit;
24925
- const ɵ$index_106_r12 = ctx_r9.$index;
24940
+ const ɵ$index_115_r12 = ctx_r9.$index;
24926
24941
  const ctx_r2 = i0.ɵɵnextContext(2);
24927
24942
  i0.ɵɵproperty("ngClass", ctx_r2.getStepNumberClasses(step_r11));
24928
24943
  i0.ɵɵadvance();
24929
- i0.ɵɵtextInterpolate1(" ", ɵ$index_106_r12 + 1, " ");
24944
+ i0.ɵɵtextInterpolate1(" ", ɵ$index_115_r12 + 1, " ");
24930
24945
  } }
24931
24946
  function JourneyProgressIndicatorComponent_Conditional_23_For_5_Template(rf, ctx) { if (rf & 1) {
24932
- i0.ɵɵelementStart(0, "div", 42)(1, "div", 43);
24933
- i0.ɵɵconditionalCreate(2, JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_2_Template, 2, 0, ":svg:svg", 44)(3, JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_3_Template, 1, 1, "div", 45)(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_4_Template, 1, 1, "div", 46)(5, JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_5_Template, 2, 2, "span", 47);
24947
+ i0.ɵɵelementStart(0, "div", 45)(1, "div", 46);
24948
+ i0.ɵɵconditionalCreate(2, JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_2_Template, 2, 0, ":svg:svg", 47)(3, JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_3_Template, 1, 1, "div", 48)(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_4_Template, 1, 1, "div", 49)(5, JourneyProgressIndicatorComponent_Conditional_23_For_5_Conditional_5_Template, 2, 2, "span", 50);
24934
24949
  i0.ɵɵelementEnd();
24935
- i0.ɵɵelementStart(6, "div", 48)(7, "div", 49)(8, "span", 25);
24950
+ i0.ɵɵelementStart(6, "div", 51)(7, "div", 52)(8, "span", 25);
24936
24951
  i0.ɵɵtext(9);
24937
24952
  i0.ɵɵelementEnd();
24938
- i0.ɵɵelementStart(10, "span", 50);
24953
+ i0.ɵɵelementStart(10, "span", 53);
24939
24954
  i0.ɵɵtext(11);
24940
24955
  i0.ɵɵelementEnd()();
24941
- i0.ɵɵelementStart(12, "p", 51);
24956
+ i0.ɵɵelementStart(12, "p", 54);
24942
24957
  i0.ɵɵtext(13);
24943
24958
  i0.ɵɵelementEnd()()();
24944
24959
  } if (rf & 2) {
24945
24960
  const step_r11 = ctx.$implicit;
24946
- const ɵ$index_106_r12 = ctx.$index;
24961
+ const ɵ$index_115_r12 = ctx.$index;
24947
24962
  const ctx_r2 = i0.ɵɵnextContext(2);
24948
24963
  i0.ɵɵadvance();
24949
24964
  i0.ɵɵproperty("ngClass", ctx_r2.getStepIconContainerClasses(step_r11));
@@ -24952,7 +24967,7 @@ function JourneyProgressIndicatorComponent_Conditional_23_For_5_Template(rf, ctx
24952
24967
  i0.ɵɵadvance(6);
24953
24968
  i0.ɵɵproperty("ngClass", ctx_r2.tooltipStepNumberClasses());
24954
24969
  i0.ɵɵadvance();
24955
- i0.ɵɵtextInterpolate1("", ɵ$index_106_r12 + 1, ".");
24970
+ i0.ɵɵtextInterpolate1("", ɵ$index_115_r12 + 1, ".");
24956
24971
  i0.ɵɵadvance();
24957
24972
  i0.ɵɵproperty("ngClass", ctx_r2.getStepTitleClasses(step_r11));
24958
24973
  i0.ɵɵadvance();
@@ -24963,11 +24978,11 @@ function JourneyProgressIndicatorComponent_Conditional_23_For_5_Template(rf, ctx
24963
24978
  i0.ɵɵtextInterpolate1(" ", step_r11.description, " ");
24964
24979
  } }
24965
24980
  function JourneyProgressIndicatorComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
24966
- i0.ɵɵelementStart(0, "div", 18)(1, "h4", 40);
24981
+ i0.ɵɵelementStart(0, "div", 18)(1, "h4", 43);
24967
24982
  i0.ɵɵtext(2, "Journey Progress");
24968
24983
  i0.ɵɵelementEnd();
24969
- i0.ɵɵelementStart(3, "div", 41);
24970
- i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Template, 14, 8, "div", 42, _forTrack0$x);
24984
+ i0.ɵɵelementStart(3, "div", 44);
24985
+ i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Template, 14, 8, "div", 45, _forTrack0$x);
24971
24986
  i0.ɵɵelementEnd()();
24972
24987
  } if (rf & 2) {
24973
24988
  const ctx_r2 = i0.ɵɵnextContext();
@@ -24977,20 +24992,35 @@ function JourneyProgressIndicatorComponent_Conditional_23_Template(rf, ctx) { if
24977
24992
  i0.ɵɵadvance(3);
24978
24993
  i0.ɵɵrepeater(ctx_r2.steps());
24979
24994
  } }
24995
+ function JourneyProgressIndicatorComponent_Conditional_24_Conditional_1_Template(rf, ctx) { if (rf & 1) {
24996
+ i0.ɵɵnamespaceSVG();
24997
+ i0.ɵɵelementStart(0, "svg", 56);
24998
+ i0.ɵɵelement(1, "circle", 39)(2, "path", 40);
24999
+ i0.ɵɵelementEnd();
25000
+ i0.ɵɵtext(3, " Loading... ");
25001
+ } }
25002
+ function JourneyProgressIndicatorComponent_Conditional_24_Conditional_2_Template(rf, ctx) { if (rf & 1) {
25003
+ i0.ɵɵtext(0);
25004
+ i0.ɵɵnamespaceSVG();
25005
+ i0.ɵɵelementStart(1, "svg", 57);
25006
+ i0.ɵɵelement(2, "path", 42);
25007
+ i0.ɵɵelementEnd();
25008
+ } if (rf & 2) {
25009
+ const ctx_r2 = i0.ɵɵnextContext(2);
25010
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.currentStepId() === ctx_r2.JourneyStepIdEnum.WELCOME ? "Get Started" : "Continue", " ");
25011
+ } }
24980
25012
  function JourneyProgressIndicatorComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
24981
25013
  const _r13 = i0.ɵɵgetCurrentView();
24982
- i0.ɵɵelementStart(0, "button", 52);
24983
- i0.ɵɵlistener("click", function JourneyProgressIndicatorComponent_Conditional_24_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.nextStepClick.emit()); });
24984
- i0.ɵɵtext(1);
24985
- i0.ɵɵnamespaceSVG();
24986
- i0.ɵɵelementStart(2, "svg", 53);
24987
- i0.ɵɵelement(3, "path", 39);
24988
- i0.ɵɵelementEnd()();
25014
+ i0.ɵɵelementStart(0, "button", 55);
25015
+ i0.ɵɵlistener("click", function JourneyProgressIndicatorComponent_Conditional_24_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.handleNextStepClick()); });
25016
+ i0.ɵɵconditionalCreate(1, JourneyProgressIndicatorComponent_Conditional_24_Conditional_1_Template, 4, 0)(2, JourneyProgressIndicatorComponent_Conditional_24_Conditional_2_Template, 3, 1);
25017
+ i0.ɵɵelementEnd();
24989
25018
  } if (rf & 2) {
24990
25019
  const ctx_r2 = i0.ɵɵnextContext();
24991
- i0.ɵɵproperty("ngClass", ctx_r2.nextStepButtonClasses());
25020
+ i0.ɵɵclassProp("cursor-pointer", !ctx_r2.isLoading())("cursor-not-allowed", ctx_r2.isLoading())("opacity-50", ctx_r2.isLoading())("hover:scale-105", !ctx_r2.isLoading());
25021
+ i0.ɵɵproperty("disabled", ctx_r2.isLoading())("ngClass", ctx_r2.nextStepButtonClasses());
24992
25022
  i0.ɵɵadvance();
24993
- i0.ɵɵtextInterpolate1(" ", ctx_r2.currentStepId() === ctx_r2.JourneyStepIdEnum.WELCOME ? "Get Started" : "Continue", " ");
25023
+ i0.ɵɵconditional(ctx_r2.isLoading() ? 1 : 2);
24994
25024
  } }
24995
25025
  var JourneyStepIdEnum;
24996
25026
  (function (JourneyStepIdEnum) {
@@ -25023,6 +25053,8 @@ class JourneyProgressIndicatorComponent {
25023
25053
  this.showMobileTooltip = signal(false, ...(ngDevMode ? [{ debugName: "showMobileTooltip" }] : []));
25024
25054
  // Mobile navigation state
25025
25055
  this.mobileStepIndex = signal(0, ...(ngDevMode ? [{ debugName: "mobileStepIndex" }] : []));
25056
+ // Loading state for next step button
25057
+ this.isLoading = signal(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
25026
25058
  this.JourneyStepIdEnum = JourneyStepIdEnum;
25027
25059
  this.stepDefinitions = [
25028
25060
  {
@@ -25164,6 +25196,12 @@ class JourneyProgressIndicatorComponent {
25164
25196
  toggleMobileTooltip() {
25165
25197
  this.showMobileTooltip.update(v => !v);
25166
25198
  }
25199
+ handleNextStepClick() {
25200
+ if (!this.isLoading()) {
25201
+ this.isLoading.set(true);
25202
+ this.nextStepClick.emit();
25203
+ }
25204
+ }
25167
25205
  // Mobile navigation methods
25168
25206
  getCurrentStepIndex() {
25169
25207
  return this.mobileStepIndex();
@@ -25386,11 +25424,11 @@ class JourneyProgressIndicatorComponent {
25386
25424
  return idx >= Math.floor(this.steps().length / 2);
25387
25425
  }
25388
25426
  static { this.ɵfac = function JourneyProgressIndicatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JourneyProgressIndicatorComponent)(); }; }
25389
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JourneyProgressIndicatorComponent, selectors: [["symphiq-journey-progress-indicator"]], inputs: { viewMode: [1, "viewMode"], currentStepId: [1, "currentStepId"], showNextStepAction: [1, "showNextStepAction"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { nextStepClick: "nextStepClick", stepClick: "stepClick" }, decls: 25, vars: 12, consts: [[1, "sticky", "top-[60px]", "z-40", "border-b", "pt-8", "pb-6", "px-6", "transition-all", "duration-200", "overflow-visible", 3, "ngClass"], [1, "max-w-7xl", "mx-auto", "overflow-visible"], [1, "hidden", "lg:flex", "items-start", "justify-between", "overflow-visible"], [1, "flex-1", "flex", "items-start", "justify-start", "overflow-visible"], ["type", "button", 1, "cursor-pointer", "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "hover:scale-105", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "ngClass"], [1, "lg:hidden"], [1, "flex", "items-center", "justify-between", "gap-4"], [1, "flex-1", "flex", "items-center", "gap-3"], [1, "w-10", "h-10", "min-w-[2.5rem]", "min-h-[2.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5"], [1, "w-3", "h-3", "min-w-[0.75rem]", "min-h-[0.75rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "text-sm", "font-bold", 3, "ngClass"], [1, "flex-1", "text-left"], [1, "flex", "items-center", "gap-1.5", "relative", 3, "mouseenter", "mouseleave", "click"], [1, "text-xs", "cursor-pointer", 3, "ngClass"], [1, "p-0.5", "rounded-full", "cursor-pointer", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "absolute", "top-full", "left-0", "mt-2", "w-80", "max-w-[calc(100vw-2rem)]", "p-4", "rounded-lg", "shadow-xl", "z-50", 3, "ngClass"], ["type", "button", 1, "cursor-pointer", "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "hover:scale-105", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "cursor-pointer", "relative", "step-column", "overflow-visible", "flex-shrink-0", 3, "mouseenter", "mouseleave"], [1, "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", 3, "click", "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-4", "h-4"], [1, "w-2.5", "h-2.5", "min-w-[0.625rem]", "min-h-[0.625rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", 3, "ngClass"], [1, "text-xs", "font-bold", 3, "ngClass"], [1, "text-[10px]", "text-center", "leading-tight", "whitespace-nowrap", "max-w-[64px]", "overflow-hidden", "text-ellipsis", 3, "click", "ngClass"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass", "expanded-card-right", "expanded-card-left", "top", "left", "right"], [1, "flex-1", "h-0.5", "transition-all", "duration-200", "mt-[16px]", 3, "ngClass"], ["fill-rule", "evenodd", "d", "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", "clip-rule", "evenodd"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass"], [1, "flex", "items-start", "px-4", "py-3", "expanded-content"], [1, "flex", "items-start", "gap-2", "w-full"], [1, "text-xs", "font-bold", "flex-shrink-0", "mt-0.5", 3, "ngClass"], [1, "flex", "flex-col", "gap-1", "flex-1"], [1, "text-sm", "font-bold", "leading-tight", 3, "ngClass"], [1, "text-xs", "leading-relaxed", "description-fade", 3, "ngClass"], ["type", "button", 1, "cursor-pointer", "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "hover:scale-105", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "text-sm", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2"], [1, "w-6", "h-6", "min-w-[1.5rem]", "min-h-[1.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-3", "h-3"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-1.5", "h-1.5", "min-w-[0.375rem]", "min-h-[0.375rem]", "rounded-full", 3, "ngClass"], [1, "text-[10px]", "font-bold", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-2"], [1, "text-xs", "font-medium", 3, "ngClass"], [1, "text-[10px]", "mt-0.5", 3, "ngClass"], ["type", "button", 1, "cursor-pointer", "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "hover:scale-105", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"]], template: function JourneyProgressIndicatorComponent_Template(rf, ctx) { if (rf & 1) {
25427
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JourneyProgressIndicatorComponent, selectors: [["symphiq-journey-progress-indicator"]], inputs: { viewMode: [1, "viewMode"], currentStepId: [1, "currentStepId"], showNextStepAction: [1, "showNextStepAction"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { nextStepClick: "nextStepClick", stepClick: "stepClick" }, decls: 25, vars: 12, consts: [[1, "sticky", "top-[60px]", "z-40", "border-b", "pt-8", "pb-6", "px-6", "transition-all", "duration-200", "overflow-visible", 3, "ngClass"], [1, "max-w-7xl", "mx-auto", "overflow-visible"], [1, "hidden", "lg:flex", "items-start", "justify-between", "overflow-visible"], [1, "flex-1", "flex", "items-start", "justify-start", "overflow-visible"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "disabled", "ngClass", "cursor-pointer", "cursor-not-allowed", "opacity-50", "hover:scale-105"], [1, "lg:hidden"], [1, "flex", "items-center", "justify-between", "gap-4"], [1, "flex-1", "flex", "items-center", "gap-3"], [1, "w-10", "h-10", "min-w-[2.5rem]", "min-h-[2.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5"], [1, "w-3", "h-3", "min-w-[0.75rem]", "min-h-[0.75rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "text-sm", "font-bold", 3, "ngClass"], [1, "flex-1", "text-left"], [1, "flex", "items-center", "gap-1.5", "relative", 3, "mouseenter", "mouseleave", "click"], [1, "text-xs", "cursor-pointer", 3, "ngClass"], [1, "p-0.5", "rounded-full", "cursor-pointer", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "absolute", "top-full", "left-0", "mt-2", "w-80", "max-w-[calc(100vw-2rem)]", "p-4", "rounded-lg", "shadow-xl", "z-50", 3, "ngClass"], ["type", "button", 1, "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "disabled", "ngClass", "cursor-pointer", "cursor-not-allowed", "opacity-50", "hover:scale-105"], [1, "flex", "flex-col", "items-center", "cursor-pointer", "relative", "step-column", "overflow-visible", "flex-shrink-0", 3, "mouseenter", "mouseleave"], [1, "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", 3, "click", "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-4", "h-4"], [1, "w-2.5", "h-2.5", "min-w-[0.625rem]", "min-h-[0.625rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", 3, "ngClass"], [1, "text-xs", "font-bold", 3, "ngClass"], [1, "text-[10px]", "text-center", "leading-tight", "whitespace-nowrap", "max-w-[64px]", "overflow-hidden", "text-ellipsis", 3, "click", "ngClass"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass", "expanded-card-right", "expanded-card-left", "top", "left", "right"], [1, "flex-1", "h-0.5", "transition-all", "duration-200", "mt-[16px]", 3, "ngClass"], ["fill-rule", "evenodd", "d", "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", "clip-rule", "evenodd"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass"], [1, "flex", "items-start", "px-4", "py-3", "expanded-content"], [1, "flex", "items-start", "gap-2", "w-full"], [1, "text-xs", "font-bold", "flex-shrink-0", "mt-0.5", 3, "ngClass"], [1, "flex", "flex-col", "gap-1", "flex-1"], [1, "text-sm", "font-bold", "leading-tight", 3, "ngClass"], [1, "text-xs", "leading-relaxed", "description-fade", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "animate-spin"], ["cx", "12", "cy", "12", "r", "10", "stroke", "currentColor", "stroke-width", "4", 1, "opacity-25"], ["fill", "currentColor", "d", "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z", 1, "opacity-75"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "text-sm", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2"], [1, "w-6", "h-6", "min-w-[1.5rem]", "min-h-[1.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-3", "h-3"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-1.5", "h-1.5", "min-w-[0.375rem]", "min-h-[0.375rem]", "rounded-full", 3, "ngClass"], [1, "text-[10px]", "font-bold", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-2"], [1, "text-xs", "font-medium", 3, "ngClass"], [1, "text-[10px]", "mt-0.5", 3, "ngClass"], ["type", "button", 1, "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5", "animate-spin"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"]], template: function JourneyProgressIndicatorComponent_Template(rf, ctx) { if (rf & 1) {
25390
25428
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
25391
25429
  i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_For_5_Template, 10, 12, null, null, _forTrack0$x);
25392
25430
  i0.ɵɵelementEnd();
25393
- i0.ɵɵconditionalCreate(6, JourneyProgressIndicatorComponent_Conditional_6_Template, 4, 2, "button", 4);
25431
+ i0.ɵɵconditionalCreate(6, JourneyProgressIndicatorComponent_Conditional_6_Template, 3, 11, "button", 4);
25394
25432
  i0.ɵɵelementEnd();
25395
25433
  i0.ɵɵelementStart(7, "div", 5)(8, "div", 6)(9, "div", 7)(10, "div", 8);
25396
25434
  i0.ɵɵconditionalCreate(11, JourneyProgressIndicatorComponent_Conditional_11_Template, 2, 0, ":svg:svg", 9)(12, JourneyProgressIndicatorComponent_Conditional_12_Template, 1, 1, "div", 10)(13, JourneyProgressIndicatorComponent_Conditional_13_Template, 2, 2, "span", 11);
@@ -25410,7 +25448,7 @@ class JourneyProgressIndicatorComponent {
25410
25448
  i0.ɵɵelementEnd()();
25411
25449
  i0.ɵɵconditionalCreate(23, JourneyProgressIndicatorComponent_Conditional_23_Template, 6, 2, "div", 18);
25412
25450
  i0.ɵɵelementEnd()()();
25413
- i0.ɵɵconditionalCreate(24, JourneyProgressIndicatorComponent_Conditional_24_Template, 4, 2, "button", 19);
25451
+ i0.ɵɵconditionalCreate(24, JourneyProgressIndicatorComponent_Conditional_24_Template, 3, 11, "button", 19);
25414
25452
  i0.ɵɵelementEnd()()()();
25415
25453
  } if (rf & 2) {
25416
25454
  i0.ɵɵproperty("ngClass", ctx.containerClasses());
@@ -25440,205 +25478,231 @@ class JourneyProgressIndicatorComponent {
25440
25478
  }
25441
25479
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JourneyProgressIndicatorComponent, [{
25442
25480
  type: Component,
25443
- args: [{ selector: 'symphiq-journey-progress-indicator', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
25444
- <!-- Sticky Banner Container with Minimal Padding for Glow Effects -->
25445
- <div [ngClass]="containerClasses()" class="sticky top-[60px] z-40 border-b pt-8 pb-6 px-6 transition-all duration-200 overflow-visible">
25446
- <div class="max-w-7xl mx-auto overflow-visible">
25447
- <!-- Desktop/Tablet Horizontal Layout (lg and up) -->
25448
- <div class="hidden lg:flex items-start justify-between overflow-visible">
25449
- <!-- Steps Container -->
25450
- <div class="flex-1 flex items-start justify-start overflow-visible">
25451
- @for (step of steps(); track step.id; let idx = $index; let isLast = $last) {
25452
- <!-- Step Column (Vertical Layout: Dot above, Label below) -->
25453
- <div
25454
- class="flex flex-col items-center cursor-pointer relative step-column overflow-visible flex-shrink-0"
25455
- [style.width]="'64px'"
25456
- (mouseenter)="setHoveredStep(idx)"
25457
- (mouseleave)="clearHoveredStep()">
25458
-
25459
- <!-- Icon Circle -->
25460
- <div
25461
- [ngClass]="getStepIconContainerClasses(step)"
25462
- 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"
25463
- (click)="(step.status === 'completed' || step.status === 'accessible') && stepClick.emit(idx + 1)"
25464
- [class.cursor-pointer]="step.status === 'completed' || step.status === 'accessible'">
25465
- @if (step.status === 'completed') {
25466
- <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
25467
- <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
25468
- </svg>
25469
- } @else if (step.status === 'current') {
25470
- <div class="w-2.5 h-2.5 min-w-[0.625rem] min-h-[0.625rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
25471
- } @else if (step.status === 'accessible') {
25472
- <div class="w-2 h-2 min-w-[0.5rem] min-h-[0.5rem] rounded-full" [ngClass]="getAccessibleDotClasses()"></div>
25473
- } @else {
25474
- <span [ngClass]="getStepNumberClasses(step)" class="text-xs font-bold">
25475
- {{ idx + 1 }}
25476
- </span>
25477
- }
25478
- </div>
25479
-
25480
- <!-- Abbreviated Title (Always Visible) -->
25481
- <span
25482
- [ngClass]="getAbbreviatedTitleClasses(step)"
25483
- class="text-[10px] text-center leading-tight whitespace-nowrap max-w-[64px] overflow-hidden text-ellipsis"
25484
- (click)="(step.status === 'completed' || step.status === 'accessible') && stepClick.emit(idx + 1)"
25485
- [class.cursor-pointer]="step.status === 'completed' || step.status === 'accessible'">
25486
- {{ getAbbreviatedTitle(step.title) }}
25487
- </span>
25488
-
25489
- <!-- Absolute Positioned Tooltip -->
25490
- @if (hoveredStepIndex() === idx) {
25491
- <div
25492
- [ngClass]="getExpandedCardClasses(idx)"
25493
- [class.expanded-card-right]="isExpandRight(idx)"
25494
- [class.expanded-card-left]="isExpandLeft(idx)"
25495
- class="absolute rounded-lg shadow-2xl z-50 pointer-events-none"
25496
- [style.top]="'-29px'"
25497
- [style.left]="isExpandRight(idx) ? 'calc(100% + 6px)' : 'auto'"
25498
- [style.right]="isExpandLeft(idx) ? 'calc(100% + 6px)' : 'auto'">
25499
- <div class="flex items-start px-4 py-3 expanded-content">
25500
- <!-- Step Number and Title with Description -->
25501
- <div class="flex items-start gap-2 w-full">
25502
- <span [ngClass]="tooltipStepNumberClasses()" class="text-xs font-bold flex-shrink-0 mt-0.5">{{ idx + 1 }}.</span>
25503
- <div class="flex flex-col gap-1 flex-1">
25504
- <span [ngClass]="tooltipTitleClasses()" class="text-sm font-bold leading-tight">{{ step.title }}</span>
25505
- <!-- Description (Delayed Fade In) -->
25506
- @if (shouldShowDetailedTooltip()) {
25507
- <p [ngClass]="tooltipDescriptionClasses()" class="text-xs leading-relaxed description-fade">
25508
- {{ step.description }}
25509
- </p>
25510
- }
25511
- </div>
25512
- </div>
25513
- </div>
25514
- </div>
25515
- }
25516
- </div>
25517
-
25518
- <!-- Connector Line (Horizontal, stretches to fill available space) -->
25519
- @if (!isLast) {
25520
- <div [ngClass]="getConnectorClasses(step)" class="flex-1 h-0.5 transition-all duration-200 mt-[16px]"></div>
25521
- }
25522
- }
25523
- </div>
25524
-
25525
- <!-- Next Step Button -->
25526
- @if (showNextStepAction() && getNextStep()) {
25527
- <button
25528
- type="button"
25529
- (click)="nextStepClick.emit()"
25530
- [ngClass]="nextStepButtonClasses()"
25531
- class="cursor-pointer px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 hover:scale-105 flex-shrink-0 flex items-center gap-2 whitespace-nowrap ml-4 mt-0">
25532
- {{ currentStepId() === JourneyStepIdEnum.WELCOME ? 'Get Started' : 'Continue' }}
25533
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
25534
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
25535
- </svg>
25536
- </button>
25537
- }
25538
- </div>
25539
-
25540
- <!-- Mobile Navigation (below lg) -->
25541
- <div class="lg:hidden">
25542
- <div class="flex items-center justify-between gap-4">
25543
- <!-- Current Step Display -->
25544
- <div class="flex-1 flex items-center gap-3">
25545
- <!-- Step Icon -->
25546
- <div [ngClass]="getStepIconContainerClasses(getCurrentStep())" class="w-10 h-10 min-w-[2.5rem] min-h-[2.5rem] rounded-full flex items-center justify-center flex-shrink-0">
25547
- @if (getCurrentStep().status === 'completed') {
25548
- <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
25549
- <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
25550
- </svg>
25551
- } @else if (getCurrentStep().status === 'current') {
25552
- <div class="w-3 h-3 min-w-[0.75rem] min-h-[0.75rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
25553
- } @else {
25554
- <span [ngClass]="getStepNumberClasses(getCurrentStep())" class="text-sm font-bold">
25555
- {{ getCurrentStepIndex() + 1 }}
25556
- </span>
25557
- }
25558
- </div>
25559
-
25560
- <!-- Step Info -->
25561
- <div class="flex-1 text-left">
25562
- <h3 [ngClass]="getStepTitleClasses(getCurrentStep())" class="text-sm font-bold">
25563
- {{ getCurrentStep().title }}
25564
- </h3>
25565
- <!-- Step Counter with Tooltip Trigger -->
25566
- <div
25567
- class="flex items-center gap-1.5 relative"
25568
- (mouseenter)="showMobileTooltip.set(true)"
25569
- (mouseleave)="showMobileTooltip.set(false)"
25570
- (click)="toggleMobileTooltip()">
25571
- <span [ngClass]="stepCounterClasses()" class="text-xs cursor-pointer">
25572
- Step {{ getCurrentStepIndex() + 1 }} of {{ steps().length }}
25573
- </span>
25574
- <div [ngClass]="tooltipTriggerClasses()" class="p-0.5 rounded-full cursor-pointer">
25575
- <svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
25576
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
25577
- </svg>
25578
- </div>
25579
-
25580
- <!-- Mobile Tooltip with All Steps -->
25581
- @if (showMobileTooltip()) {
25582
- <div [ngClass]="mobileTooltipClasses()" class="absolute top-full left-0 mt-2 w-80 max-w-[calc(100vw-2rem)] p-4 rounded-lg shadow-xl z-50">
25583
- <h4 [ngClass]="tooltipTitleClasses()" class="text-sm font-bold mb-3">Journey Progress</h4>
25584
- <div class="space-y-2">
25585
- @for (step of steps(); track step.id; let idx = $index) {
25586
- <div class="flex items-start gap-2">
25587
- <!-- Step Icon -->
25588
- <div [ngClass]="getStepIconContainerClasses(step)" class="w-6 h-6 min-w-[1.5rem] min-h-[1.5rem] rounded-full flex items-center justify-center flex-shrink-0">
25589
- @if (step.status === 'completed') {
25590
- <svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20">
25591
- <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
25592
- </svg>
25593
- } @else if (step.status === 'current') {
25594
- <div class="w-2 h-2 min-w-[0.5rem] min-h-[0.5rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
25595
- } @else if (step.status === 'accessible') {
25596
- <div class="w-1.5 h-1.5 min-w-[0.375rem] min-h-[0.375rem] rounded-full" [ngClass]="getAccessibleDotClasses()"></div>
25597
- } @else {
25598
- <span [ngClass]="getStepNumberClasses(step)" class="text-[10px] font-bold">
25599
- {{ idx + 1 }}
25600
- </span>
25601
- }
25602
- </div>
25603
- <!-- Step Info -->
25604
- <div class="flex-1 min-w-0">
25605
- <div class="flex items-center gap-2">
25606
- <span [ngClass]="tooltipStepNumberClasses()" class="text-xs font-bold">{{ idx + 1 }}.</span>
25607
- <span [ngClass]="getStepTitleClasses(step)" class="text-xs font-medium">{{ step.title }}</span>
25608
- </div>
25609
- <p [ngClass]="tooltipDescriptionClasses()" class="text-[10px] mt-0.5">
25610
- {{ step.description }}
25611
- </p>
25612
- </div>
25613
- </div>
25614
- }
25615
- </div>
25616
- </div>
25617
- }
25618
- </div>
25619
- </div>
25620
- </div>
25621
-
25622
- <!-- Get Started Button -->
25623
- @if (showNextStepAction() && getNextStep() && getCurrentStep().status === 'current') {
25624
- <button
25625
- type="button"
25626
- (click)="nextStepClick.emit()"
25627
- [ngClass]="nextStepButtonClasses()"
25628
- class="cursor-pointer px-3 py-1.5 rounded-lg font-medium text-xs transition-all duration-200 hover:scale-105 flex-shrink-0 flex items-center gap-1.5 whitespace-nowrap">
25629
- {{ currentStepId() === JourneyStepIdEnum.WELCOME ? 'Get Started' : 'Continue' }}
25630
- <svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
25631
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
25632
- </svg>
25633
- </button>
25634
- }
25635
- </div>
25636
- </div>
25637
- </div>
25638
- </div>
25481
+ args: [{ selector: 'symphiq-journey-progress-indicator', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
25482
+ <!-- Sticky Banner Container with Minimal Padding for Glow Effects -->
25483
+ <div [ngClass]="containerClasses()" class="sticky top-[60px] z-40 border-b pt-8 pb-6 px-6 transition-all duration-200 overflow-visible">
25484
+ <div class="max-w-7xl mx-auto overflow-visible">
25485
+ <!-- Desktop/Tablet Horizontal Layout (lg and up) -->
25486
+ <div class="hidden lg:flex items-start justify-between overflow-visible">
25487
+ <!-- Steps Container -->
25488
+ <div class="flex-1 flex items-start justify-start overflow-visible">
25489
+ @for (step of steps(); track step.id; let idx = $index; let isLast = $last) {
25490
+ <!-- Step Column (Vertical Layout: Dot above, Label below) -->
25491
+ <div
25492
+ class="flex flex-col items-center cursor-pointer relative step-column overflow-visible flex-shrink-0"
25493
+ [style.width]="'64px'"
25494
+ (mouseenter)="setHoveredStep(idx)"
25495
+ (mouseleave)="clearHoveredStep()">
25496
+
25497
+ <!-- Icon Circle -->
25498
+ <div
25499
+ [ngClass]="getStepIconContainerClasses(step)"
25500
+ 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)"
25502
+ [class.cursor-pointer]="step.status === 'completed' || step.status === 'accessible'">
25503
+ @if (step.status === 'completed') {
25504
+ <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
25505
+ <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
25506
+ </svg>
25507
+ } @else if (step.status === 'current') {
25508
+ <div class="w-2.5 h-2.5 min-w-[0.625rem] min-h-[0.625rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
25509
+ } @else if (step.status === 'accessible') {
25510
+ <div class="w-2 h-2 min-w-[0.5rem] min-h-[0.5rem] rounded-full" [ngClass]="getAccessibleDotClasses()"></div>
25511
+ } @else {
25512
+ <span [ngClass]="getStepNumberClasses(step)" class="text-xs font-bold">
25513
+ {{ idx + 1 }}
25514
+ </span>
25515
+ }
25516
+ </div>
25517
+
25518
+ <!-- Abbreviated Title (Always Visible) -->
25519
+ <span
25520
+ [ngClass]="getAbbreviatedTitleClasses(step)"
25521
+ 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)"
25523
+ [class.cursor-pointer]="step.status === 'completed' || step.status === 'accessible'">
25524
+ {{ getAbbreviatedTitle(step.title) }}
25525
+ </span>
25526
+
25527
+ <!-- Absolute Positioned Tooltip -->
25528
+ @if (hoveredStepIndex() === idx) {
25529
+ <div
25530
+ [ngClass]="getExpandedCardClasses(idx)"
25531
+ [class.expanded-card-right]="isExpandRight(idx)"
25532
+ [class.expanded-card-left]="isExpandLeft(idx)"
25533
+ class="absolute rounded-lg shadow-2xl z-50 pointer-events-none"
25534
+ [style.top]="'-29px'"
25535
+ [style.left]="isExpandRight(idx) ? 'calc(100% + 6px)' : 'auto'"
25536
+ [style.right]="isExpandLeft(idx) ? 'calc(100% + 6px)' : 'auto'">
25537
+ <div class="flex items-start px-4 py-3 expanded-content">
25538
+ <!-- Step Number and Title with Description -->
25539
+ <div class="flex items-start gap-2 w-full">
25540
+ <span [ngClass]="tooltipStepNumberClasses()" class="text-xs font-bold flex-shrink-0 mt-0.5">{{ idx + 1 }}.</span>
25541
+ <div class="flex flex-col gap-1 flex-1">
25542
+ <span [ngClass]="tooltipTitleClasses()" class="text-sm font-bold leading-tight">{{ step.title }}</span>
25543
+ <!-- Description (Delayed Fade In) -->
25544
+ @if (shouldShowDetailedTooltip()) {
25545
+ <p [ngClass]="tooltipDescriptionClasses()" class="text-xs leading-relaxed description-fade">
25546
+ {{ step.description }}
25547
+ </p>
25548
+ }
25549
+ </div>
25550
+ </div>
25551
+ </div>
25552
+ </div>
25553
+ }
25554
+ </div>
25555
+
25556
+ <!-- Connector Line (Horizontal, stretches to fill available space) -->
25557
+ @if (!isLast) {
25558
+ <div [ngClass]="getConnectorClasses(step)" class="flex-1 h-0.5 transition-all duration-200 mt-[16px]"></div>
25559
+ }
25560
+ }
25561
+ </div>
25562
+
25563
+ <!-- Next Step Button -->
25564
+ @if (showNextStepAction() && getNextStep()) {
25565
+ <button
25566
+ type="button"
25567
+ (click)="handleNextStepClick()"
25568
+ [disabled]="isLoading()"
25569
+ [ngClass]="nextStepButtonClasses()"
25570
+ class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 flex-shrink-0 flex items-center gap-2 whitespace-nowrap ml-4 mt-0"
25571
+ [class.cursor-pointer]="!isLoading()"
25572
+ [class.cursor-not-allowed]="isLoading()"
25573
+ [class.opacity-50]="isLoading()"
25574
+ [class.hover:scale-105]="!isLoading()">
25575
+ @if (isLoading()) {
25576
+ <svg class="w-4 h-4 animate-spin" fill="none" viewBox="0 0 24 24">
25577
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
25578
+ <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
25579
+ </svg>
25580
+ Loading...
25581
+ } @else {
25582
+ {{ currentStepId() === JourneyStepIdEnum.WELCOME ? 'Get Started' : 'Continue' }}
25583
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
25584
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
25585
+ </svg>
25586
+ }
25587
+ </button>
25588
+ }
25589
+ </div>
25590
+
25591
+ <!-- Mobile Navigation (below lg) -->
25592
+ <div class="lg:hidden">
25593
+ <div class="flex items-center justify-between gap-4">
25594
+ <!-- Current Step Display -->
25595
+ <div class="flex-1 flex items-center gap-3">
25596
+ <!-- Step Icon -->
25597
+ <div [ngClass]="getStepIconContainerClasses(getCurrentStep())" class="w-10 h-10 min-w-[2.5rem] min-h-[2.5rem] rounded-full flex items-center justify-center flex-shrink-0">
25598
+ @if (getCurrentStep().status === 'completed') {
25599
+ <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
25600
+ <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
25601
+ </svg>
25602
+ } @else if (getCurrentStep().status === 'current') {
25603
+ <div class="w-3 h-3 min-w-[0.75rem] min-h-[0.75rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
25604
+ } @else {
25605
+ <span [ngClass]="getStepNumberClasses(getCurrentStep())" class="text-sm font-bold">
25606
+ {{ getCurrentStepIndex() + 1 }}
25607
+ </span>
25608
+ }
25609
+ </div>
25610
+
25611
+ <!-- Step Info -->
25612
+ <div class="flex-1 text-left">
25613
+ <h3 [ngClass]="getStepTitleClasses(getCurrentStep())" class="text-sm font-bold">
25614
+ {{ getCurrentStep().title }}
25615
+ </h3>
25616
+ <!-- Step Counter with Tooltip Trigger -->
25617
+ <div
25618
+ class="flex items-center gap-1.5 relative"
25619
+ (mouseenter)="showMobileTooltip.set(true)"
25620
+ (mouseleave)="showMobileTooltip.set(false)"
25621
+ (click)="toggleMobileTooltip()">
25622
+ <span [ngClass]="stepCounterClasses()" class="text-xs cursor-pointer">
25623
+ Step {{ getCurrentStepIndex() + 1 }} of {{ steps().length }}
25624
+ </span>
25625
+ <div [ngClass]="tooltipTriggerClasses()" class="p-0.5 rounded-full cursor-pointer">
25626
+ <svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
25627
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
25628
+ </svg>
25629
+ </div>
25630
+
25631
+ <!-- Mobile Tooltip with All Steps -->
25632
+ @if (showMobileTooltip()) {
25633
+ <div [ngClass]="mobileTooltipClasses()" class="absolute top-full left-0 mt-2 w-80 max-w-[calc(100vw-2rem)] p-4 rounded-lg shadow-xl z-50">
25634
+ <h4 [ngClass]="tooltipTitleClasses()" class="text-sm font-bold mb-3">Journey Progress</h4>
25635
+ <div class="space-y-2">
25636
+ @for (step of steps(); track step.id; let idx = $index) {
25637
+ <div class="flex items-start gap-2">
25638
+ <!-- Step Icon -->
25639
+ <div [ngClass]="getStepIconContainerClasses(step)" class="w-6 h-6 min-w-[1.5rem] min-h-[1.5rem] rounded-full flex items-center justify-center flex-shrink-0">
25640
+ @if (step.status === 'completed') {
25641
+ <svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20">
25642
+ <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
25643
+ </svg>
25644
+ } @else if (step.status === 'current') {
25645
+ <div class="w-2 h-2 min-w-[0.5rem] min-h-[0.5rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
25646
+ } @else if (step.status === 'accessible') {
25647
+ <div class="w-1.5 h-1.5 min-w-[0.375rem] min-h-[0.375rem] rounded-full" [ngClass]="getAccessibleDotClasses()"></div>
25648
+ } @else {
25649
+ <span [ngClass]="getStepNumberClasses(step)" class="text-[10px] font-bold">
25650
+ {{ idx + 1 }}
25651
+ </span>
25652
+ }
25653
+ </div>
25654
+ <!-- Step Info -->
25655
+ <div class="flex-1 min-w-0">
25656
+ <div class="flex items-center gap-2">
25657
+ <span [ngClass]="tooltipStepNumberClasses()" class="text-xs font-bold">{{ idx + 1 }}.</span>
25658
+ <span [ngClass]="getStepTitleClasses(step)" class="text-xs font-medium">{{ step.title }}</span>
25659
+ </div>
25660
+ <p [ngClass]="tooltipDescriptionClasses()" class="text-[10px] mt-0.5">
25661
+ {{ step.description }}
25662
+ </p>
25663
+ </div>
25664
+ </div>
25665
+ }
25666
+ </div>
25667
+ </div>
25668
+ }
25669
+ </div>
25670
+ </div>
25671
+ </div>
25672
+
25673
+ <!-- Get Started Button -->
25674
+ @if (showNextStepAction() && getNextStep() && getCurrentStep().status === 'current') {
25675
+ <button
25676
+ type="button"
25677
+ (click)="handleNextStepClick()"
25678
+ [disabled]="isLoading()"
25679
+ [ngClass]="nextStepButtonClasses()"
25680
+ class="px-3 py-1.5 rounded-lg font-medium text-xs transition-all duration-200 flex-shrink-0 flex items-center gap-1.5 whitespace-nowrap"
25681
+ [class.cursor-pointer]="!isLoading()"
25682
+ [class.cursor-not-allowed]="isLoading()"
25683
+ [class.opacity-50]="isLoading()"
25684
+ [class.hover:scale-105]="!isLoading()">
25685
+ @if (isLoading()) {
25686
+ <svg class="w-3.5 h-3.5 animate-spin" fill="none" viewBox="0 0 24 24">
25687
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
25688
+ <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
25689
+ </svg>
25690
+ Loading...
25691
+ } @else {
25692
+ {{ currentStepId() === JourneyStepIdEnum.WELCOME ? 'Get Started' : 'Continue' }}
25693
+ <svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
25694
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
25695
+ </svg>
25696
+ }
25697
+ </button>
25698
+ }
25699
+ </div>
25700
+ </div>
25701
+ </div>
25702
+ </div>
25639
25703
  `, styles: [".scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.step-glow-current{box-shadow:0 0 0 3px #3b82f64d;animation:pulseGlow 2s ease-in-out infinite}.step-glow-current-dark{box-shadow:0 0 0 3px #60a5fa4d;animation:pulseGlow 2s ease-in-out infinite}.step-glow-completed{box-shadow:0 0 0 2px #10b98133}.step-glow-completed-dark{box-shadow:0 0 0 2px #34d39933}.step-glow-accessible{box-shadow:0 0 0 2px #3b82f61f}.step-glow-accessible-dark{box-shadow:0 0 0 2px #60a5fa26}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 3px #3b82f64d}50%{box-shadow:0 0 0 6px #3b82f61a}}.step-column{transition:all .2s cubic-bezier(.4,0,.2,1)}.step-circle{transition:all .15s cubic-bezier(.4,0,.2,1)}.step-column:hover .step-circle{transform:scale(1.05)}.expanded-card-right{animation:expandCardRight .2s cubic-bezier(.4,0,.2,1) forwards;transform-origin:left center}.expanded-card-left{animation:expandCardLeft .2s cubic-bezier(.4,0,.2,1) forwards;transform-origin:right center}@keyframes expandCardRight{0%{opacity:0;width:0;min-height:90px}to{opacity:1;width:300px;min-height:90px}}@keyframes expandCardLeft{0%{opacity:0;width:0;min-height:90px}to{opacity:1;width:300px;min-height:90px}}.description-fade{animation:fadeIn .15s ease-out forwards;opacity:0}@keyframes fadeIn{to{opacity:1}}.expanded-content{animation:contentFadeIn .15s ease-out .1s forwards;opacity:0}@keyframes contentFadeIn{to{opacity:1}}\n"] }]
25640
25704
  }], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], currentStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentStepId", required: false }] }], showNextStepAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "showNextStepAction", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }] }); })();
25641
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(JourneyProgressIndicatorComponent, { className: "JourneyProgressIndicatorComponent", filePath: "lib/components/business-analysis-dashboard/journey-progress-indicator.component.ts", lineNumber: 345 }); })();
25705
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(JourneyProgressIndicatorComponent, { className: "JourneyProgressIndicatorComponent", filePath: "lib/components/business-analysis-dashboard/journey-progress-indicator.component.ts", lineNumber: 371 }); })();
25642
25706
 
25643
25707
  class ConfidenceLevelCardComponent {
25644
25708
  constructor() {
@@ -26536,7 +26600,7 @@ class FunnelWelcomeBannerComponent {
26536
26600
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }] }); })();
26537
26601
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelWelcomeBannerComponent, { className: "FunnelWelcomeBannerComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-welcome-banner.component.ts", lineNumber: 113 }); })();
26538
26602
 
26539
- const _c0$S = [[["", "slot", "overall-performance"]], [["", "slot", "performance-metrics"]], [["", "slot", "performance-breakdowns"]], [["", "slot", "competitive-intelligence"]]];
26603
+ const _c0$T = [[["", "slot", "overall-performance"]], [["", "slot", "performance-metrics"]], [["", "slot", "performance-breakdowns"]], [["", "slot", "competitive-intelligence"]]];
26540
26604
  const _c1$z = ["[slot=overall-performance]", "[slot=performance-metrics]", "[slot=performance-breakdowns]", "[slot=competitive-intelligence]"];
26541
26605
  class CollapsibleFunnelSectionGroupComponent {
26542
26606
  constructor() {
@@ -26669,7 +26733,7 @@ class CollapsibleFunnelSectionGroupComponent {
26669
26733
  }
26670
26734
  static { this.ɵfac = function CollapsibleFunnelSectionGroupComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CollapsibleFunnelSectionGroupComponent)(); }; }
26671
26735
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollapsibleFunnelSectionGroupComponent, selectors: [["symphiq-collapsible-funnel-section-group"]], inputs: { viewMode: [1, "viewMode"] }, ngContentSelectors: _c1$z, decls: 90, vars: 58, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "mb-6", "p-4", "rounded-xl", "border", "flex", "items-start", "gap-3", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "font-semibold", "text-sm", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "space-y-3"], [1, "rounded-xl", "border", "overflow-hidden", "transition-all", "duration-200", 3, "id", "ngClass"], ["type", "button", 1, "cursor-pointer", "w-full", "px-5", "py-4", "flex", "items-center", "justify-between", "gap-4", "text-left", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-3", "flex-1", "min-w-0"], [1, "p-2", "rounded-lg", "flex-shrink-0", "transition-colors", "duration-200", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"], [1, "flex-1", "min-w-0"], [1, "font-semibold", "transition-colors", "duration-200", 3, "ngClass"], [1, "text-sm", "mt-0.5", "transition-colors", "duration-200", 3, "ngClass"], [1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-200", 3, "ngClass"], ["stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden"], [1, "border-t", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"]], template: function CollapsibleFunnelSectionGroupComponent_Template(rf, ctx) { if (rf & 1) {
26672
- i0.ɵɵprojectionDef(_c0$S);
26736
+ i0.ɵɵprojectionDef(_c0$T);
26673
26737
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4);
26674
26738
  i0.ɵɵnamespaceSVG();
26675
26739
  i0.ɵɵelementStart(5, "svg", 5);
@@ -27512,7 +27576,7 @@ class ViewModeSwitcherModalComponent {
27512
27576
  }], null, { isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }], currentMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentMode", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], modeSelected: [{ type: i0.Output, args: ["modeSelected"] }] }); })();
27513
27577
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ViewModeSwitcherModalComponent, { className: "ViewModeSwitcherModalComponent", filePath: "lib/components/shared/view-mode-switcher-modal.component.ts", lineNumber: 160 }); })();
27514
27578
 
27515
- const _c0$R = a0 => ({ name: "check-badge", source: a0 });
27579
+ const _c0$S = a0 => ({ name: "check-badge", source: a0 });
27516
27580
  const _c1$y = a0 => ({ name: "check-circle", source: a0 });
27517
27581
  const _c2$o = a0 => ({ name: "chevron-right", source: a0 });
27518
27582
  const _forTrack0$w = ($index, $item) => $item.area;
@@ -27529,7 +27593,7 @@ function KeyStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) {
27529
27593
  const ctx_r0 = i0.ɵɵnextContext();
27530
27594
  i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
27531
27595
  i0.ɵɵadvance();
27532
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$R, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
27596
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$S, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
27533
27597
  i0.ɵɵadvance();
27534
27598
  i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
27535
27599
  i0.ɵɵadvance(2);
@@ -27744,7 +27808,7 @@ class KeyStrengthsListModalContentComponent {
27744
27808
  }], null, { keyStrengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "keyStrengths", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }] }); })();
27745
27809
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KeyStrengthsListModalContentComponent, { className: "KeyStrengthsListModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/key-strengths-list-modal-content.component.ts", lineNumber: 79 }); })();
27746
27810
 
27747
- const _c0$Q = a0 => ({ name: "shield-check", source: a0 });
27811
+ const _c0$R = a0 => ({ name: "shield-check", source: a0 });
27748
27812
  const _c1$x = a0 => ({ name: "exclamation-triangle", source: a0 });
27749
27813
  const _c2$n = a0 => ({ name: "document-text", source: a0 });
27750
27814
  const _c3$h = a0 => ({ name: "chevron-right", source: a0 });
@@ -27762,7 +27826,7 @@ function CriticalGapsListModalContentComponent_Conditional_1_Template(rf, ctx) {
27762
27826
  const ctx_r0 = i0.ɵɵnextContext();
27763
27827
  i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
27764
27828
  i0.ɵɵadvance();
27765
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$Q, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
27829
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$R, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
27766
27830
  i0.ɵɵadvance();
27767
27831
  i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
27768
27832
  i0.ɵɵadvance(2);
@@ -28060,7 +28124,7 @@ class CriticalGapsListModalContentComponent {
28060
28124
  }], null, { criticalGaps: [{ type: i0.Input, args: [{ isSignal: true, alias: "criticalGaps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }] }); })();
28061
28125
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CriticalGapsListModalContentComponent, { className: "CriticalGapsListModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/critical-gaps-list-modal-content.component.ts", lineNumber: 98 }); })();
28062
28126
 
28063
- const _c0$P = a0 => ({ name: "check-circle", source: a0 });
28127
+ const _c0$Q = a0 => ({ name: "check-circle", source: a0 });
28064
28128
  const _c1$w = a0 => ({ name: "chat-bubble-left-right", source: a0 });
28065
28129
  const _forTrack0$u = ($index, $item) => $item.questionId;
28066
28130
  function KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
@@ -28116,7 +28180,7 @@ function KeyStrengthDetailModalContentComponent_Conditional_13_Template(rf, ctx)
28116
28180
  i0.ɵɵadvance();
28117
28181
  i0.ɵɵproperty("ngClass", ctx_r1.sectionTitleClasses());
28118
28182
  i0.ɵɵadvance();
28119
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$P, ctx_r1.IconSourceEnum.HEROICONS))("ngClass", ctx_r1.sectionIconClasses());
28183
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$Q, ctx_r1.IconSourceEnum.HEROICONS))("ngClass", ctx_r1.sectionIconClasses());
28120
28184
  i0.ɵɵadvance(3);
28121
28185
  i0.ɵɵrepeater(ctx_r1.strength().supportingAnswers);
28122
28186
  } }
@@ -28301,7 +28365,7 @@ class KeyStrengthDetailModalContentComponent {
28301
28365
  }], null, { strength: [{ type: i0.Input, args: [{ isSignal: true, alias: "strength", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }] }); })();
28302
28366
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KeyStrengthDetailModalContentComponent, { className: "KeyStrengthDetailModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/key-strength-detail-modal-content.component.ts", lineNumber: 79 }); })();
28303
28367
 
28304
- const _c0$O = a0 => ({ name: "exclamation-triangle", source: a0 });
28368
+ const _c0$P = a0 => ({ name: "exclamation-triangle", source: a0 });
28305
28369
  const _c1$v = a0 => ({ name: "document-text", source: a0 });
28306
28370
  const _c2$m = a0 => ({ name: "chat-bubble-left-right", source: a0 });
28307
28371
  const _forTrack0$t = ($index, $item) => $item.questionId;
@@ -28579,7 +28643,7 @@ class CriticalGapDetailModalContentComponent {
28579
28643
  i0.ɵɵadvance();
28580
28644
  i0.ɵɵproperty("ngClass", ctx.impactSectionClasses());
28581
28645
  i0.ɵɵadvance(2);
28582
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(15, _c0$O, ctx.IconSourceEnum.HEROICONS))("ngClass", ctx.impactIconClasses());
28646
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(15, _c0$P, ctx.IconSourceEnum.HEROICONS))("ngClass", ctx.impactIconClasses());
28583
28647
  i0.ɵɵadvance(2);
28584
28648
  i0.ɵɵproperty("ngClass", ctx.impactTitleClasses());
28585
28649
  i0.ɵɵadvance(2);
@@ -30164,7 +30228,7 @@ class TopPriorityDetailModalContentComponent {
30164
30228
  }], null, { priority: [{ type: i0.Input, args: [{ isSignal: true, alias: "priority", required: true }] }], index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: false }] }], totalCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalCount", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], focusAreaName: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaName", required: false }] }] }); })();
30165
30229
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TopPriorityDetailModalContentComponent, { className: "TopPriorityDetailModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/top-priority-detail-modal-content.component.ts", lineNumber: 72 }); })();
30166
30230
 
30167
- const _c0$N = a0 => ({ name: "check-badge", source: a0 });
30231
+ const _c0$O = a0 => ({ name: "check-badge", source: a0 });
30168
30232
  const _c1$u = a0 => ({ name: "check-circle", source: a0 });
30169
30233
  const _c2$l = a0 => ({ name: "chevron-right", source: a0 });
30170
30234
  const _c3$g = a0 => ({ name: "chart-bar", source: a0 });
@@ -30182,7 +30246,7 @@ function FocusAreaStrengthsListModalContentComponent_Conditional_1_Template(rf,
30182
30246
  const ctx_r0 = i0.ɵɵnextContext();
30183
30247
  i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
30184
30248
  i0.ɵɵadvance();
30185
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$N, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
30249
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$O, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
30186
30250
  i0.ɵɵadvance();
30187
30251
  i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
30188
30252
  i0.ɵɵadvance(2);
@@ -30487,7 +30551,7 @@ class FocusAreaStrengthsListModalContentComponent {
30487
30551
  }], null, { strengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "strengths", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }], categoryTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "categoryTitle", required: false }] }] }); })();
30488
30552
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaStrengthsListModalContentComponent, { className: "FocusAreaStrengthsListModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/focus-area-strengths-list-modal-content.component.ts", lineNumber: 109 }); })();
30489
30553
 
30490
- const _c0$M = a0 => ({ name: "exclamation-triangle", source: a0 });
30554
+ const _c0$N = a0 => ({ name: "exclamation-triangle", source: a0 });
30491
30555
  const _c1$t = a0 => ({ name: "exclamation-circle", source: a0 });
30492
30556
  const _c2$k = a0 => ({ name: "chevron-right", source: a0 });
30493
30557
  function _forTrack0$r($index, $item) { return this.getGapTitle($item); }
@@ -30504,7 +30568,7 @@ function FocusAreaGapsListModalContentComponent_Conditional_1_Template(rf, ctx)
30504
30568
  const ctx_r0 = i0.ɵɵnextContext();
30505
30569
  i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
30506
30570
  i0.ɵɵadvance();
30507
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$M, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
30571
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$N, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
30508
30572
  i0.ɵɵadvance();
30509
30573
  i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
30510
30574
  i0.ɵɵadvance(2);
@@ -30881,7 +30945,7 @@ class FocusAreaGapsListModalContentComponent {
30881
30945
  }], null, { gaps: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }], categoryTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "categoryTitle", required: false }] }] }); })();
30882
30946
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaGapsListModalContentComponent, { className: "FocusAreaGapsListModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/focus-area-gaps-list-modal-content.component.ts", lineNumber: 106 }); })();
30883
30947
 
30884
- const _c0$L = a0 => ({ name: "light-bulb", source: a0 });
30948
+ const _c0$M = a0 => ({ name: "light-bulb", source: a0 });
30885
30949
  const _c1$s = a0 => ({ name: "chevron-right", source: a0 });
30886
30950
  const _c2$j = a0 => ({ name: "chart-bar", source: a0 });
30887
30951
  const _forTrack0$q = ($index, $item) => $item.opportunity;
@@ -30898,7 +30962,7 @@ function FocusAreaOpportunitiesListModalContentComponent_Conditional_1_Template(
30898
30962
  const ctx_r0 = i0.ɵɵnextContext();
30899
30963
  i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
30900
30964
  i0.ɵɵadvance();
30901
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$L, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
30965
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$M, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
30902
30966
  i0.ɵɵadvance();
30903
30967
  i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
30904
30968
  i0.ɵɵadvance(2);
@@ -31150,7 +31214,7 @@ class FocusAreaOpportunitiesListModalContentComponent {
31150
31214
  }], null, { opportunities: [{ type: i0.Input, args: [{ isSignal: true, alias: "opportunities", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }], categoryTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "categoryTitle", required: false }] }] }); })();
31151
31215
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaOpportunitiesListModalContentComponent, { className: "FocusAreaOpportunitiesListModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/focus-area-opportunities-list-modal-content.component.ts", lineNumber: 90 }); })();
31152
31216
 
31153
- const _c0$K = a0 => ({ name: "chevron-right", source: a0 });
31217
+ const _c0$L = a0 => ({ name: "chevron-right", source: a0 });
31154
31218
  const _c1$r = a0 => ({ name: "chat-bubble-left-right", source: a0 });
31155
31219
  const _forTrack0$p = ($index, $item) => $item.performanceItemId;
31156
31220
  function FocusAreaStrengthDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
@@ -31215,7 +31279,7 @@ function FocusAreaStrengthDetailModalContentComponent_Conditional_4_For_5_Templa
31215
31279
  i0.ɵɵadvance(2);
31216
31280
  i0.ɵɵtextInterpolate(ctx_r0.formatMetricName(metric_r3.metric || ""));
31217
31281
  i0.ɵɵadvance();
31218
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$K, ctx_r0.IconSourceEnum.HEROICONS));
31282
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$L, ctx_r0.IconSourceEnum.HEROICONS));
31219
31283
  } }
31220
31284
  function FocusAreaStrengthDetailModalContentComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
31221
31285
  i0.ɵɵelementStart(0, "div", 1)(1, "h4", 8);
@@ -31535,7 +31599,7 @@ class FocusAreaStrengthDetailModalContentComponent {
31535
31599
  }], null, { strength: [{ type: i0.Input, args: [{ isSignal: true, alias: "strength", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }] }); })();
31536
31600
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaStrengthDetailModalContentComponent, { className: "FocusAreaStrengthDetailModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/focus-area-strength-detail-modal-content.component.ts", lineNumber: 121 }); })();
31537
31601
 
31538
- const _c0$J = a0 => ({ name: "chat-bubble-left-right", source: a0 });
31602
+ const _c0$K = a0 => ({ name: "chat-bubble-left-right", source: a0 });
31539
31603
  function FocusAreaGapDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
31540
31604
  i0.ɵɵelementStart(0, "div", 1)(1, "span", 3);
31541
31605
  i0.ɵɵtext(2);
@@ -31632,7 +31696,7 @@ function FocusAreaGapDetailModalContentComponent_Conditional_6_For_5_Template(rf
31632
31696
  const ctx_r0 = i0.ɵɵnextContext(2);
31633
31697
  i0.ɵɵproperty("ngClass", ctx_r0.answerClasses());
31634
31698
  i0.ɵɵadvance(2);
31635
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$J, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.answerIconClasses());
31699
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$K, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.answerIconClasses());
31636
31700
  i0.ɵɵadvance();
31637
31701
  i0.ɵɵproperty("ngClass", ctx_r0.answerQuestionClasses());
31638
31702
  i0.ɵɵadvance();
@@ -31871,7 +31935,7 @@ class FocusAreaGapDetailModalContentComponent {
31871
31935
  }], null, { gap: [{ type: i0.Input, args: [{ isSignal: true, alias: "gap", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }] }); })();
31872
31936
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaGapDetailModalContentComponent, { className: "FocusAreaGapDetailModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/focus-area-gap-detail-modal-content.component.ts", lineNumber: 98 }); })();
31873
31937
 
31874
- const _c0$I = a0 => ({ name: "chevron-right", source: a0 });
31938
+ const _c0$J = a0 => ({ name: "chevron-right", source: a0 });
31875
31939
  const _c1$q = () => [];
31876
31940
  const _forTrack0$o = ($index, $item) => $item.performanceItemId;
31877
31941
  function FocusAreaOpportunityDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
@@ -31918,7 +31982,7 @@ function FocusAreaOpportunityDetailModalContentComponent_Conditional_3_For_5_Tem
31918
31982
  i0.ɵɵadvance(2);
31919
31983
  i0.ɵɵtextInterpolate(ctx_r0.formatMetricName(metric_r3.metric || ""));
31920
31984
  i0.ɵɵadvance();
31921
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$I, ctx_r0.IconSourceEnum.HEROICONS));
31985
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$J, ctx_r0.IconSourceEnum.HEROICONS));
31922
31986
  } }
31923
31987
  function FocusAreaOpportunityDetailModalContentComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
31924
31988
  i0.ɵɵelementStart(0, "div", 1)(1, "h4", 5);
@@ -32323,7 +32387,7 @@ class CircularProgressComponent {
32323
32387
  }], null, { percentage: [{ type: i0.Input, args: [{ isSignal: true, alias: "percentage", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], strokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "strokeWidth", required: false }] }], progressColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "progressColor", required: false }] }], backgroundColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "backgroundColor", required: false }] }], showPercentage: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPercentage", required: false }] }], textClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "textClasses", required: false }] }], strokeLinecap: [{ type: i0.Input, args: [{ isSignal: true, alias: "strokeLinecap", required: false }] }], animationDuration: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDuration", required: false }] }], animationDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDelay", required: false }] }] }); })();
32324
32388
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CircularProgressComponent, { className: "CircularProgressComponent", filePath: "lib/components/business-analysis-dashboard/visualizations/circular-progress.component.ts", lineNumber: 41 }); })();
32325
32389
 
32326
- const _c0$H = ["*"];
32390
+ const _c0$I = ["*"];
32327
32391
  const _c1$p = (a0, a1) => [a0, a1];
32328
32392
  function VisualizationContainerComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
32329
32393
  const _r1 = i0.ɵɵgetCurrentView();
@@ -32368,7 +32432,7 @@ class VisualizationContainerComponent {
32368
32432
  });
32369
32433
  }
32370
32434
  static { this.ɵfac = function VisualizationContainerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || VisualizationContainerComponent)(); }; }
32371
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VisualizationContainerComponent, selectors: [["symphiq-visualization-container"]], inputs: { isLightMode: [1, "isLightMode"], visualizationType: [1, "visualizationType"], visualizationData: [1, "visualizationData"], disableInteraction: [1, "disableInteraction"] }, outputs: { visualizationClick: "visualizationClick" }, ngContentSelectors: _c0$H, decls: 4, vars: 8, consts: [[1, "relative", "rounded-xl", "transition-all", "duration-300", 3, "click", "ngClass"], ["type", "button", 1, "absolute", "top-2", "right-2", "z-10", "w-7", "h-7", "flex", "items-center", "justify-center", "rounded-lg", "transition-all", "duration-200", "hover:scale-110", "cursor-pointer", "opacity-0", "group-hover:opacity-100", 3, "ngClass"], [1, "transition-opacity", "duration-300"], ["type", "button", 1, "absolute", "top-2", "right-2", "z-10", "w-7", "h-7", "flex", "items-center", "justify-center", "rounded-lg", "transition-all", "duration-200", "hover:scale-110", "cursor-pointer", "opacity-0", "group-hover:opacity-100", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"]], template: function VisualizationContainerComponent_Template(rf, ctx) { if (rf & 1) {
32435
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VisualizationContainerComponent, selectors: [["symphiq-visualization-container"]], inputs: { isLightMode: [1, "isLightMode"], visualizationType: [1, "visualizationType"], visualizationData: [1, "visualizationData"], disableInteraction: [1, "disableInteraction"] }, outputs: { visualizationClick: "visualizationClick" }, ngContentSelectors: _c0$I, decls: 4, vars: 8, consts: [[1, "relative", "rounded-xl", "transition-all", "duration-300", 3, "click", "ngClass"], ["type", "button", 1, "absolute", "top-2", "right-2", "z-10", "w-7", "h-7", "flex", "items-center", "justify-center", "rounded-lg", "transition-all", "duration-200", "hover:scale-110", "cursor-pointer", "opacity-0", "group-hover:opacity-100", 3, "ngClass"], [1, "transition-opacity", "duration-300"], ["type", "button", 1, "absolute", "top-2", "right-2", "z-10", "w-7", "h-7", "flex", "items-center", "justify-center", "rounded-lg", "transition-all", "duration-200", "hover:scale-110", "cursor-pointer", "opacity-0", "group-hover:opacity-100", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"]], template: function VisualizationContainerComponent_Template(rf, ctx) { if (rf & 1) {
32372
32436
  i0.ɵɵprojectionDef();
32373
32437
  i0.ɵɵelementStart(0, "div", 0);
32374
32438
  i0.ɵɵlistener("click", function VisualizationContainerComponent_Template_div_click_0_listener($event) { return ctx.onVisualizationClick($event); });
@@ -32489,7 +32553,7 @@ class MetricBadgeComponent {
32489
32553
  }], null, { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }] }); })();
32490
32554
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricBadgeComponent, { className: "MetricBadgeComponent", filePath: "lib/components/business-analysis-dashboard/badges/metric-badge.component.ts", lineNumber: 22 }); })();
32491
32555
 
32492
- const _c0$G = a0 => ({ name: "light-bulb", source: a0 });
32556
+ const _c0$H = a0 => ({ name: "light-bulb", source: a0 });
32493
32557
  const _c1$o = a0 => ({ name: "chevron-right", source: a0 });
32494
32558
  function OpportunityHighlightBannerComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
32495
32559
  i0.ɵɵelementStart(0, "p", 7);
@@ -32554,7 +32618,7 @@ class OpportunityHighlightBannerComponent {
32554
32618
  i0.ɵɵadvance();
32555
32619
  i0.ɵɵproperty("ngClass", ctx.iconContainerClasses());
32556
32620
  i0.ɵɵadvance();
32557
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(11, _c0$G, ctx.iconSource));
32621
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(11, _c0$H, ctx.iconSource));
32558
32622
  i0.ɵɵadvance(3);
32559
32623
  i0.ɵɵproperty("ngClass", ctx.titleClasses());
32560
32624
  i0.ɵɵadvance();
@@ -32611,7 +32675,7 @@ class OpportunityHighlightBannerComponent {
32611
32675
  }], null, { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }], isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }], bannerClick: [{ type: i0.Output, args: ["bannerClick"] }] }); })();
32612
32676
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OpportunityHighlightBannerComponent, { className: "OpportunityHighlightBannerComponent", filePath: "lib/components/business-analysis-dashboard/banners/opportunity-highlight-banner.component.ts", lineNumber: 44 }); })();
32613
32677
 
32614
- const _c0$F = a0 => ({ name: "users", source: a0 });
32678
+ const _c0$G = a0 => ({ name: "users", source: a0 });
32615
32679
  function CompetitorOverlapVisualizationComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
32616
32680
  i0.ɵɵelementStart(0, "div", 5)(1, "div", 6);
32617
32681
  i0.ɵɵelement(2, "symphiq-icon", 7);
@@ -32626,7 +32690,7 @@ function CompetitorOverlapVisualizationComponent_Conditional_18_Template(rf, ctx
32626
32690
  i0.ɵɵadvance();
32627
32691
  i0.ɵɵproperty("ngClass", ctx_r0.competitorListLabelClasses());
32628
32692
  i0.ɵɵadvance();
32629
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$F, ctx_r0.iconSource));
32693
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$G, ctx_r0.iconSource));
32630
32694
  i0.ɵɵadvance(3);
32631
32695
  i0.ɵɵproperty("relatedCompetitorIds", ctx_r0.relatedCompetitorIds())("viewMode", ctx_r0.isDark() ? ctx_r0.ViewModeEnum.DARK : ctx_r0.ViewModeEnum.LIGHT)("isDark", ctx_r0.isDark());
32632
32696
  } }
@@ -33190,7 +33254,7 @@ class ViewportAnimationDirective {
33190
33254
  type: Input
33191
33255
  }] }); })();
33192
33256
 
33193
- const _c0$E = a0 => ({ name: "star", source: a0 });
33257
+ const _c0$F = a0 => ({ name: "star", source: a0 });
33194
33258
  const _c1$n = a0 => ({ name: "globe-americas", source: a0 });
33195
33259
  const _c2$i = a0 => ({ name: "academic-cap", source: a0 });
33196
33260
  const _c3$f = a0 => ({ name: "information-circle", source: a0 });
@@ -33226,7 +33290,7 @@ function RegionCardComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
33226
33290
  i0.ɵɵelement(0, "symphiq-metric-badge", 13);
33227
33291
  } if (rf & 2) {
33228
33292
  const ctx_r0 = i0.ɵɵnextContext();
33229
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(2, _c0$E, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
33293
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(2, _c0$F, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
33230
33294
  } }
33231
33295
  function RegionCardComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
33232
33296
  i0.ɵɵelement(0, "symphiq-metric-badge", 14);
@@ -34268,7 +34332,7 @@ class CompetitiveInsightBadgeComponent {
34268
34332
  }], null, { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }] }); })();
34269
34333
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveInsightBadgeComponent, { className: "CompetitiveInsightBadgeComponent", filePath: "lib/components/business-analysis-dashboard/badges/competitive-insight-badge.component.ts", lineNumber: 25 }); })();
34270
34334
 
34271
- const _c0$D = a0 => ({ name: "calendar-days", source: a0 });
34335
+ const _c0$E = a0 => ({ name: "calendar-days", source: a0 });
34272
34336
  const _c1$m = a0 => ({ name: "chart-bar", source: a0 });
34273
34337
  const _c2$h = a0 => ({ name: "academic-cap", source: a0 });
34274
34338
  const _c3$e = a0 => ({ name: "information-circle", source: a0 });
@@ -34289,7 +34353,7 @@ function SeasonCardComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
34289
34353
  i0.ɵɵelement(0, "symphiq-metric-badge", 12);
34290
34354
  } if (rf & 2) {
34291
34355
  const ctx_r0 = i0.ɵɵnextContext();
34292
- i0.ɵɵproperty("label", ctx_r0.formatMonthRange())("icon", i0.ɵɵpureFunction1(3, _c0$D, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
34356
+ i0.ɵɵproperty("label", ctx_r0.formatMonthRange())("icon", i0.ɵɵpureFunction1(3, _c0$E, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
34293
34357
  } }
34294
34358
  function SeasonCardComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
34295
34359
  i0.ɵɵelement(0, "symphiq-metric-badge", 13);
@@ -35106,7 +35170,7 @@ class SeasonCardComponent {
35106
35170
  }] }); })();
35107
35171
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SeasonCardComponent, { className: "SeasonCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/season-card.component.ts", lineNumber: 270 }); })();
35108
35172
 
35109
- const _c0$C = a0 => ({ name: "currency-dollar", source: a0 });
35173
+ const _c0$D = a0 => ({ name: "currency-dollar", source: a0 });
35110
35174
  const _c1$l = a0 => ({ name: "chart-bar", source: a0 });
35111
35175
  const _c2$g = a0 => ({ name: "academic-cap", source: a0 });
35112
35176
  const _c3$d = a0 => ({ name: "information-circle", source: a0 });
@@ -35251,7 +35315,7 @@ function CustomerSegmentCardComponent_Conditional_22_Template(rf, ctx) { if (rf
35251
35315
  const ctx_r0 = i0.ɵɵnextContext();
35252
35316
  i0.ɵɵproperty("ngClass", ctx_r0.getExpandedSectionClasses());
35253
35317
  i0.ɵɵadvance();
35254
- i0.ɵɵproperty("label", ctx_r0.formatPercentage(ctx_r0.item().percentageOfRevenue) + " of Revenue")("icon", i0.ɵɵpureFunction1(4, _c0$C, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
35318
+ i0.ɵɵproperty("label", ctx_r0.formatPercentage(ctx_r0.item().percentageOfRevenue) + " of Revenue")("icon", i0.ɵɵpureFunction1(4, _c0$D, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
35255
35319
  } }
35256
35320
  function CustomerSegmentCardComponent_Conditional_23_Conditional_5_Template(rf, ctx) { if (rf & 1) {
35257
35321
  const _r5 = i0.ɵɵgetCurrentView();
@@ -36223,7 +36287,7 @@ class CustomerSegmentCardComponent {
36223
36287
  }] }); })();
36224
36288
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CustomerSegmentCardComponent, { className: "CustomerSegmentCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/customer-segment-card.component.ts", lineNumber: 366 }); })();
36225
36289
 
36226
- const _c0$B = a0 => ({ name: "currency-dollar", source: a0 });
36290
+ const _c0$C = a0 => ({ name: "currency-dollar", source: a0 });
36227
36291
  const _c1$k = a0 => ({ name: "document-text", source: a0 });
36228
36292
  const _c2$f = a0 => ({ name: "academic-cap", source: a0 });
36229
36293
  const _c3$c = a0 => ({ name: "information-circle", source: a0 });
@@ -36321,7 +36385,7 @@ function PriceTierCardComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
36321
36385
  const ctx_r0 = i0.ɵɵnextContext();
36322
36386
  i0.ɵɵproperty("ngClass", ctx_r0.getExpandedSectionClasses());
36323
36387
  i0.ɵɵadvance(2);
36324
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$B, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
36388
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$C, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
36325
36389
  i0.ɵɵadvance();
36326
36390
  i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
36327
36391
  i0.ɵɵadvance(2);
@@ -37060,7 +37124,7 @@ class PriceTierCardComponent {
37060
37124
  }] }); })();
37061
37125
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PriceTierCardComponent, { className: "PriceTierCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/price-tier-card.component.ts", lineNumber: 261 }); })();
37062
37126
 
37063
- const _c0$A = () => ({ name: "cube", source: "HEROICONS" });
37127
+ const _c0$B = () => ({ name: "cube", source: "HEROICONS" });
37064
37128
  const _c1$j = () => ({ name: "currency-dollar", source: "HEROICONS" });
37065
37129
  const _c2$e = () => ({ name: "chart-bar", source: "HEROICONS" });
37066
37130
  const _c3$b = a0 => ({ name: "chart-bar", source: a0 });
@@ -37107,7 +37171,7 @@ function ProductCategoryCardComponent_Conditional_14_Conditional_2_Template(rf,
37107
37171
  const ctx_r0 = i0.ɵɵnextContext(2);
37108
37172
  i0.ɵɵproperty("ngClass", ctx_r0.getStatBoxClasses());
37109
37173
  i0.ɵɵadvance(2);
37110
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(6, _c0$A))("ngClass", ctx_r0.getStatIconClasses());
37174
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(6, _c0$B))("ngClass", ctx_r0.getStatIconClasses());
37111
37175
  i0.ɵɵadvance(2);
37112
37176
  i0.ɵɵproperty("ngClass", ctx_r0.getStatLabelClasses());
37113
37177
  i0.ɵɵadvance(2);
@@ -38055,13 +38119,13 @@ class ProductCategoryCardComponent {
38055
38119
  }] }); })();
38056
38120
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProductCategoryCardComponent, { className: "ProductCategoryCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/product-category-card.component.ts", lineNumber: 324 }); })();
38057
38121
 
38058
- const _c0$z = (a0, a1) => ({ name: a0, source: a1 });
38122
+ const _c0$A = (a0, a1) => ({ name: a0, source: a1 });
38059
38123
  function CompetitiveStrengthIndicatorComponent_For_3_Template(rf, ctx) { if (rf & 1) {
38060
38124
  i0.ɵɵelement(0, "symphiq-icon", 2);
38061
38125
  } if (rf & 2) {
38062
38126
  const star_r1 = ctx.$implicit;
38063
38127
  const ctx_r1 = i0.ɵɵnextContext();
38064
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(2, _c0$z, star_r1.filled ? "star" : "star", ctx_r1.iconSource))("ngClass", star_r1.filled ? ctx_r1.filledStarClasses() : ctx_r1.emptyStarClasses());
38128
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(2, _c0$A, star_r1.filled ? "star" : "star", ctx_r1.iconSource))("ngClass", star_r1.filled ? ctx_r1.filledStarClasses() : ctx_r1.emptyStarClasses());
38065
38129
  } }
38066
38130
  class CompetitiveStrengthIndicatorComponent {
38067
38131
  constructor() {
@@ -38217,7 +38281,7 @@ function getCategoryBadgeClasses(category, isDark) {
38217
38281
  return `px-3 py-1 rounded-full text-xs font-semibold whitespace-nowrap ${colorClasses}`;
38218
38282
  }
38219
38283
 
38220
- const _c0$y = a0 => ({ name: "shield-check", source: a0 });
38284
+ const _c0$z = a0 => ({ name: "shield-check", source: a0 });
38221
38285
  const _c1$i = a0 => ({ name: "building-storefront", source: a0 });
38222
38286
  const _c2$d = a0 => ({ name: "academic-cap", source: a0 });
38223
38287
  const _c3$a = a0 => ({ name: "information-circle", source: a0 });
@@ -38289,7 +38353,7 @@ function EnhancedListItemCardComponent_Conditional_21_Template(rf, ctx) { if (rf
38289
38353
  const ctx_r0 = i0.ɵɵnextContext();
38290
38354
  i0.ɵɵproperty("ngClass", ctx_r0.getExpandedSectionClasses());
38291
38355
  i0.ɵɵadvance(2);
38292
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$y, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
38356
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$z, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
38293
38357
  i0.ɵɵadvance();
38294
38358
  i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
38295
38359
  i0.ɵɵadvance(2);
@@ -38933,7 +38997,7 @@ class EnhancedListItemCardComponent {
38933
38997
  }] }); })();
38934
38998
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EnhancedListItemCardComponent, { className: "EnhancedListItemCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/enhanced-list-item-card.component.ts", lineNumber: 221 }); })();
38935
38999
 
38936
- const _c0$x = a0 => ({ name: "academic-cap", source: a0 });
39000
+ const _c0$y = a0 => ({ name: "academic-cap", source: a0 });
38937
39001
  const _c1$h = a0 => ({ name: "information-circle", source: a0 });
38938
39002
  const _c2$c = a0 => ({ name: "signal", source: a0 });
38939
39003
  const _c3$9 = a0 => ({ name: "wrench-screwdriver", source: a0 });
@@ -39014,7 +39078,7 @@ function FocusAreaDetailCardComponent_Conditional_16_Conditional_5_Template(rf,
39014
39078
  const ctx_r0 = i0.ɵɵnextContext(2);
39015
39079
  i0.ɵɵproperty("ngClass", ctx_r0.getCompetitiveGapSectionClasses());
39016
39080
  i0.ɵɵadvance(2);
39017
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$x, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.expandedIconClasses());
39081
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$y, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.expandedIconClasses());
39018
39082
  i0.ɵɵadvance();
39019
39083
  i0.ɵɵproperty("ngClass", ctx_r0.expandedTitleClasses());
39020
39084
  i0.ɵɵadvance(2);
@@ -40796,7 +40860,7 @@ class CompetitorAnalysisCardComponent {
40796
40860
  }] }); })();
40797
40861
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorAnalysisCardComponent, { className: "CompetitorAnalysisCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/competitor-analysis-card.component.ts", lineNumber: 312 }); })();
40798
40862
 
40799
- const _c0$w = ["*"];
40863
+ const _c0$x = ["*"];
40800
40864
  class SkeletonCardBaseComponent {
40801
40865
  constructor() {
40802
40866
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
@@ -40816,7 +40880,7 @@ class SkeletonCardBaseComponent {
40816
40880
  `.trim();
40817
40881
  }
40818
40882
  static { this.ɵfac = function SkeletonCardBaseComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SkeletonCardBaseComponent)(); }; }
40819
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkeletonCardBaseComponent, selectors: [["symphiq-skeleton-card-base"]], inputs: { viewMode: [1, "viewMode"] }, ngContentSelectors: _c0$w, decls: 2, vars: 1, consts: [[1, "animate-pulse", 3, "ngClass"]], template: function SkeletonCardBaseComponent_Template(rf, ctx) { if (rf & 1) {
40883
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkeletonCardBaseComponent, selectors: [["symphiq-skeleton-card-base"]], inputs: { viewMode: [1, "viewMode"] }, ngContentSelectors: _c0$x, decls: 2, vars: 1, consts: [[1, "animate-pulse", 3, "ngClass"]], template: function SkeletonCardBaseComponent_Template(rf, ctx) { if (rf & 1) {
40820
40884
  i0.ɵɵprojectionDef();
40821
40885
  i0.ɵɵelementStart(0, "div", 0);
40822
40886
  i0.ɵɵprojection(1);
@@ -41981,7 +42045,7 @@ class ProfileItemCardComponent {
41981
42045
  }], null, { item: [{ type: i0.Input, args: [{ isSignal: true, alias: "item", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], subsectionId: [{ type: i0.Input, args: [{ isSignal: true, alias: "subsectionId", required: false }] }], forceExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "forceExpanded", required: false }] }], animationIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationIndex", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], inModalContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "inModalContext", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }] }); })();
41982
42046
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileItemCardComponent, { className: "ProfileItemCardComponent", filePath: "lib/components/business-analysis-dashboard/profile-item-card.component.ts", lineNumber: 171 }); })();
41983
42047
 
41984
- const _c0$v = ["scrollContainer"];
42048
+ const _c0$w = ["scrollContainer"];
41985
42049
  const _c1$g = a0 => ({ name: "arrow-right", source: a0 });
41986
42050
  function ItemDetailModalComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
41987
42051
  const _r2 = i0.ɵɵgetCurrentView();
@@ -42101,7 +42165,7 @@ class ItemDetailModalComponent {
42101
42165
  }
42102
42166
  static { this.ɵfac = function ItemDetailModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ItemDetailModalComponent)(); }; }
42103
42167
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ItemDetailModalComponent, selectors: [["symphiq-item-detail-modal"]], viewQuery: function ItemDetailModalComponent_Query(rf, ctx) { if (rf & 1) {
42104
- i0.ɵɵviewQuery(_c0$v, 5);
42168
+ i0.ɵɵviewQuery(_c0$w, 5);
42105
42169
  } if (rf & 2) {
42106
42170
  let _t;
42107
42171
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollContainer = _t.first);
@@ -42180,7 +42244,7 @@ class ItemDetailModalComponent {
42180
42244
  }] }); })();
42181
42245
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ItemDetailModalComponent, { className: "ItemDetailModalComponent", filePath: "lib/components/business-analysis-dashboard/modals/item-detail-modal.component.ts", lineNumber: 53 }); })();
42182
42246
 
42183
- const _c0$u = ["modalContent"];
42247
+ const _c0$v = ["modalContent"];
42184
42248
  const _c1$f = ["modalWrapper"];
42185
42249
  const _c2$b = ["*"];
42186
42250
  const ProfileAnalysisModalComponent_Conditional_0_Conditional_31_Conditional_3_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return lineChart_component; }).then(m => m.LineChartComponent)];
@@ -44475,7 +44539,7 @@ class ProfileAnalysisModalComponent {
44475
44539
  }
44476
44540
  static { this.ɵfac = function ProfileAnalysisModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ProfileAnalysisModalComponent)(); }; }
44477
44541
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProfileAnalysisModalComponent, selectors: [["symphiq-profile-analysis-modal"]], viewQuery: function ProfileAnalysisModalComponent_Query(rf, ctx) { if (rf & 1) {
44478
- i0.ɵɵviewQuery(_c0$u, 5);
44542
+ i0.ɵɵviewQuery(_c0$v, 5);
44479
44543
  i0.ɵɵviewQuery(_c1$f, 5);
44480
44544
  } if (rf & 2) {
44481
44545
  let _t;
@@ -45030,7 +45094,7 @@ class ProfileAnalysisModalComponent {
45030
45094
  }] }); }); })();
45031
45095
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileAnalysisModalComponent, { className: "ProfileAnalysisModalComponent", filePath: "lib/components/profile-analysis-dashboard/profile-analysis-modal.component.ts", lineNumber: 554 }); })();
45032
45096
 
45033
- const _c0$t = a0 => ({ name: "light-bulb", source: a0 });
45097
+ const _c0$u = a0 => ({ name: "light-bulb", source: a0 });
45034
45098
  const _c1$e = a0 => ({ name: "trophy", source: a0 });
45035
45099
  const _c2$a = a0 => ({ name: "academic-cap", source: a0 });
45036
45100
  const _c3$7 = a0 => ({ name: "signal", source: a0 });
@@ -45240,7 +45304,7 @@ class CompetitiveGapModalComponent {
45240
45304
  i0.ɵɵadvance(2);
45241
45305
  i0.ɵɵproperty("ngClass", ctx.iconContainerClasses());
45242
45306
  i0.ɵɵadvance();
45243
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(12, _c0$t, ctx.iconSource));
45307
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(12, _c0$u, ctx.iconSource));
45244
45308
  i0.ɵɵadvance(3);
45245
45309
  i0.ɵɵproperty("ngClass", ctx.titleClasses());
45246
45310
  i0.ɵɵadvance();
@@ -45361,7 +45425,7 @@ class CompetitiveGapModalComponent {
45361
45425
  }], null, { item: [{ type: i0.Input, args: [{ isSignal: true, alias: "item", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }] }); })();
45362
45426
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveGapModalComponent, { className: "CompetitiveGapModalComponent", filePath: "lib/components/business-analysis-dashboard/modals/competitive-gap-modal.component.ts", lineNumber: 101 }); })();
45363
45427
 
45364
- const _c0$s = a0 => ({ name: "list-bullet", source: a0 });
45428
+ const _c0$t = a0 => ({ name: "list-bullet", source: a0 });
45365
45429
  const _c1$d = a0 => ({ name: "arrow-right", source: a0 });
45366
45430
  const _c2$9 = a0 => ({ name: "check-circle", source: a0 });
45367
45431
  const _c3$6 = a0 => ({ name: "exclamation-circle", source: a0 });
@@ -45381,7 +45445,7 @@ function RecommendationActionStepsModalComponent_Conditional_1_Template(rf, ctx)
45381
45445
  i0.ɵɵadvance();
45382
45446
  i0.ɵɵproperty("ngClass", ctx_r0.iconContainerClasses());
45383
45447
  i0.ɵɵadvance();
45384
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$s, ctx_r0.iconSource));
45448
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$t, ctx_r0.iconSource));
45385
45449
  i0.ɵɵadvance(2);
45386
45450
  i0.ɵɵproperty("ngClass", ctx_r0.titleClasses());
45387
45451
  i0.ɵɵadvance(2);
@@ -45601,7 +45665,7 @@ class RecommendationActionStepsModalComponent {
45601
45665
  }], null, { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], actionSteps: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionSteps", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
45602
45666
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RecommendationActionStepsModalComponent, { className: "RecommendationActionStepsModalComponent", filePath: "lib/components/business-analysis-dashboard/modals/recommendation-action-steps-modal.component.ts", lineNumber: 69 }); })();
45603
45667
 
45604
- const _c0$r = ["modalContent"];
45668
+ const _c0$s = ["modalContent"];
45605
45669
  const _c1$c = ["modalWrapper"];
45606
45670
  function BusinessAnalysisModalComponent_Conditional_0_Conditional_10_For_6_Conditional_0_Template(rf, ctx) { if (rf & 1) {
45607
45671
  const _r4 = i0.ɵɵgetCurrentView();
@@ -46124,7 +46188,7 @@ class BusinessAnalysisModalComponent {
46124
46188
  }
46125
46189
  static { this.ɵfac = function BusinessAnalysisModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BusinessAnalysisModalComponent)(); }; }
46126
46190
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BusinessAnalysisModalComponent, selectors: [["symphiq-business-analysis-modal"]], viewQuery: function BusinessAnalysisModalComponent_Query(rf, ctx) { if (rf & 1) {
46127
- i0.ɵɵviewQuery(_c0$r, 5);
46191
+ i0.ɵɵviewQuery(_c0$s, 5);
46128
46192
  i0.ɵɵviewQuery(_c1$c, 5);
46129
46193
  } if (rf & 2) {
46130
46194
  let _t;
@@ -46309,7 +46373,7 @@ class BusinessAnalysisModalComponent {
46309
46373
  }] }); })();
46310
46374
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BusinessAnalysisModalComponent, { className: "BusinessAnalysisModalComponent", filePath: "lib/components/business-analysis-dashboard/business-analysis-modal.component.ts", lineNumber: 171 }); })();
46311
46375
 
46312
- const _c0$q = ["dashboardContainer"];
46376
+ const _c0$r = ["dashboardContainer"];
46313
46377
  const _c1$b = () => ({});
46314
46378
  const _c2$8 = () => [1, 2, 3, 4, 5, 6];
46315
46379
  const _c3$5 = () => [1, 2, 3];
@@ -48570,7 +48634,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
48570
48634
  static { this.ɵfac = function SymphiqFunnelAnalysisDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqFunnelAnalysisDashboardComponent)(i0.ɵɵdirectiveInject(FunnelOrderService), i0.ɵɵdirectiveInject(ViewModeService), i0.ɵɵdirectiveInject(SearchService), i0.ɵɵdirectiveInject(TooltipService), i0.ɵɵdirectiveInject(ProfileContextService), i0.ɵɵdirectiveInject(ProfileItemLookupService)); }; }
48571
48635
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqFunnelAnalysisDashboardComponent, selectors: [["symphiq-funnel-analysis-dashboard"]], viewQuery: function SymphiqFunnelAnalysisDashboardComponent_Query(rf, ctx) { if (rf & 1) {
48572
48636
  i0.ɵɵviewQuery(ModalComponent, 5);
48573
- i0.ɵɵviewQuery(_c0$q, 5);
48637
+ i0.ɵɵviewQuery(_c0$r, 5);
48574
48638
  } if (rf & 2) {
48575
48639
  let _t;
48576
48640
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalComponent = _t.first);
@@ -51446,6 +51510,7 @@ class SymphiqWelcomeDashboardComponent {
51446
51510
  }] }); })();
51447
51511
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqWelcomeDashboardComponent, { className: "SymphiqWelcomeDashboardComponent", filePath: "lib/components/welcome-dashboard/symphiq-welcome-dashboard.component.ts", lineNumber: 201 }); })();
51448
51512
 
51513
+ const _c0$q = ["shopNameInput"];
51449
51514
  function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_27_Template(rf, ctx) { if (rf & 1) {
51450
51515
  i0.ɵɵtext(0, " Shopify ");
51451
51516
  } }
@@ -51457,43 +51522,43 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_28_Te
51457
51522
  } }
51458
51523
  function SymphiqCreateAccountDashboardComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
51459
51524
  const _r1 = i0.ɵɵgetCurrentView();
51460
- i0.ɵɵelementStart(0, "div", 13)(1, "div", 15)(2, "div", 16)(3, "div")(4, "h2", 17);
51525
+ i0.ɵɵelementStart(0, "div", 14)(1, "div", 16)(2, "div", 17)(3, "div")(4, "h2", 18);
51461
51526
  i0.ɵɵtext(5, " Account Details ");
51462
51527
  i0.ɵɵelementEnd();
51463
- i0.ɵɵelementStart(6, "p", 0);
51528
+ i0.ɵɵelementStart(6, "p", 1);
51464
51529
  i0.ɵɵtext(7, " Your shop information ");
51465
51530
  i0.ɵɵelementEnd()();
51466
- i0.ɵɵelementStart(8, "button", 18);
51531
+ i0.ɵɵelementStart(8, "button", 19);
51467
51532
  i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_23_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.enableEditMode()); });
51468
51533
  i0.ɵɵnamespaceSVG();
51469
- i0.ɵɵelementStart(9, "svg", 19);
51470
- i0.ɵɵelement(10, "path", 20);
51534
+ i0.ɵɵelementStart(9, "svg", 20);
51535
+ i0.ɵɵelement(10, "path", 21);
51471
51536
  i0.ɵɵelementEnd();
51472
51537
  i0.ɵɵtext(11, " Edit ");
51473
51538
  i0.ɵɵelementEnd()();
51474
51539
  i0.ɵɵnamespaceHTML();
51475
- i0.ɵɵelementStart(12, "div", 21)(13, "div")(14, "label", 22);
51540
+ i0.ɵɵelementStart(12, "div", 22)(13, "div")(14, "label", 23);
51476
51541
  i0.ɵɵtext(15, " Shop Name ");
51477
51542
  i0.ɵɵelementEnd();
51478
- i0.ɵɵelementStart(16, "p", 23);
51543
+ i0.ɵɵelementStart(16, "p", 24);
51479
51544
  i0.ɵɵtext(17);
51480
51545
  i0.ɵɵelementEnd()();
51481
- i0.ɵɵelementStart(18, "div")(19, "label", 22);
51546
+ i0.ɵɵelementStart(18, "div")(19, "label", 23);
51482
51547
  i0.ɵɵtext(20, " Shop URL ");
51483
51548
  i0.ɵɵelementEnd();
51484
- i0.ɵɵelementStart(21, "a", 24);
51549
+ i0.ɵɵelementStart(21, "a", 25);
51485
51550
  i0.ɵɵtext(22);
51486
51551
  i0.ɵɵelementEnd()();
51487
- i0.ɵɵelementStart(23, "div")(24, "label", 22);
51552
+ i0.ɵɵelementStart(23, "div")(24, "label", 23);
51488
51553
  i0.ɵɵtext(25, " Shop Platform ");
51489
51554
  i0.ɵɵelementEnd();
51490
- i0.ɵɵelementStart(26, "p", 23);
51555
+ i0.ɵɵelementStart(26, "p", 24);
51491
51556
  i0.ɵɵconditionalCreate(27, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_27_Template, 1, 0)(28, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_28_Template, 1, 1);
51492
51557
  i0.ɵɵelementEnd()();
51493
- i0.ɵɵelementStart(29, "div")(30, "label", 22);
51558
+ i0.ɵɵelementStart(29, "div")(30, "label", 23);
51494
51559
  i0.ɵɵtext(31, " Company Name ");
51495
51560
  i0.ɵɵelementEnd();
51496
- i0.ɵɵelementStart(32, "p", 23);
51561
+ i0.ɵɵelementStart(32, "p", 24);
51497
51562
  i0.ɵɵtext(33);
51498
51563
  i0.ɵɵelementEnd()()()()();
51499
51564
  } if (rf & 2) {
@@ -51532,44 +51597,44 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Template(rf, ctx)
51532
51597
  i0.ɵɵadvance();
51533
51598
  i0.ɵɵtextInterpolate1(" ", ctx_r1.accountData().companyName, " ");
51534
51599
  } }
51535
- function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_14_Template(rf, ctx) { if (rf & 1) {
51536
- i0.ɵɵelementStart(0, "p", 30);
51600
+ function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_15_Template(rf, ctx) { if (rf & 1) {
51601
+ i0.ɵɵelementStart(0, "p", 31);
51537
51602
  i0.ɵɵtext(1, " Shop name is required ");
51538
51603
  i0.ɵɵelementEnd();
51539
51604
  } if (rf & 2) {
51540
51605
  const ctx_r1 = i0.ɵɵnextContext(2);
51541
51606
  i0.ɵɵproperty("ngClass", ctx_r1.errorClasses());
51542
51607
  } }
51543
- function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_24_Template(rf, ctx) { if (rf & 1) {
51544
- i0.ɵɵelementStart(0, "p", 30);
51608
+ function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_25_Template(rf, ctx) { if (rf & 1) {
51609
+ i0.ɵɵelementStart(0, "p", 31);
51545
51610
  i0.ɵɵtext(1, " Shop URL is required ");
51546
51611
  i0.ɵɵelementEnd();
51547
51612
  } if (rf & 2) {
51548
51613
  const ctx_r1 = i0.ɵɵnextContext(2);
51549
51614
  i0.ɵɵproperty("ngClass", ctx_r1.errorClasses());
51550
51615
  } }
51551
- function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_35_Template(rf, ctx) { if (rf & 1) {
51552
- i0.ɵɵelement(0, "div", 40);
51616
+ function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_36_Template(rf, ctx) { if (rf & 1) {
51617
+ i0.ɵɵelement(0, "div", 41);
51553
51618
  } }
51554
- function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_43_Template(rf, ctx) { if (rf & 1) {
51555
- i0.ɵɵelement(0, "div", 40);
51619
+ function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_44_Template(rf, ctx) { if (rf & 1) {
51620
+ i0.ɵɵelement(0, "div", 41);
51556
51621
  } }
51557
- function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_47_Conditional_6_Template(rf, ctx) { if (rf & 1) {
51558
- i0.ɵɵelementStart(0, "p", 30);
51622
+ function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Conditional_6_Template(rf, ctx) { if (rf & 1) {
51623
+ i0.ɵɵelementStart(0, "p", 31);
51559
51624
  i0.ɵɵtext(1, " Platform name is required ");
51560
51625
  i0.ɵɵelementEnd();
51561
51626
  } if (rf & 2) {
51562
51627
  const ctx_r1 = i0.ɵɵnextContext(3);
51563
51628
  i0.ɵɵproperty("ngClass", ctx_r1.errorClasses());
51564
51629
  } }
51565
- function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_47_Template(rf, ctx) { if (rf & 1) {
51566
- i0.ɵɵelementStart(0, "div")(1, "label", 27);
51630
+ function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Template(rf, ctx) { if (rf & 1) {
51631
+ i0.ɵɵelementStart(0, "div")(1, "label", 28);
51567
51632
  i0.ɵɵtext(2, " Platform Name ");
51568
- i0.ɵɵelementStart(3, "span", 28);
51633
+ i0.ɵɵelementStart(3, "span", 29);
51569
51634
  i0.ɵɵtext(4, "*");
51570
51635
  i0.ɵɵelementEnd()();
51571
- i0.ɵɵelement(5, "input", 48);
51572
- i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_47_Conditional_6_Template, 2, 1, "p", 30);
51636
+ i0.ɵɵelement(5, "input", 49);
51637
+ i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Conditional_6_Template, 2, 1, "p", 31);
51573
51638
  i0.ɵɵelementEnd();
51574
51639
  } if (rf & 2) {
51575
51640
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -51580,8 +51645,8 @@ function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_47_Te
51580
51645
  i0.ɵɵadvance();
51581
51646
  i0.ɵɵconditional(ctx_r1.isFieldInvalid("otherPlatformName") ? 6 : -1);
51582
51647
  } }
51583
- function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_59_Template(rf, ctx) { if (rf & 1) {
51584
- i0.ɵɵelementStart(0, "p", 30);
51648
+ function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_60_Template(rf, ctx) { if (rf & 1) {
51649
+ i0.ɵɵelementStart(0, "p", 31);
51585
51650
  i0.ɵɵtext(1, " Company name is required ");
51586
51651
  i0.ɵɵelementEnd();
51587
51652
  } if (rf & 2) {
@@ -51590,72 +51655,72 @@ function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_59_Te
51590
51655
  } }
51591
51656
  function SymphiqCreateAccountDashboardComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
51592
51657
  const _r3 = i0.ɵɵgetCurrentView();
51593
- i0.ɵɵelementStart(0, "div", 13)(1, "div", 15)(2, "div", 25)(3, "h2", 17);
51658
+ i0.ɵɵelementStart(0, "div", 14)(1, "div", 16)(2, "div", 26)(3, "h2", 18);
51594
51659
  i0.ɵɵtext(4, " Create Account ");
51595
51660
  i0.ɵɵelementEnd();
51596
- i0.ɵɵelementStart(5, "p", 0);
51661
+ i0.ɵɵelementStart(5, "p", 1);
51597
51662
  i0.ɵɵtext(6, " Enter your shop details to get started with Symphiq ");
51598
51663
  i0.ɵɵelementEnd()();
51599
- i0.ɵɵelementStart(7, "form", 26)(8, "div")(9, "label", 27);
51664
+ i0.ɵɵelementStart(7, "form", 27)(8, "div")(9, "label", 28);
51600
51665
  i0.ɵɵtext(10, " Shop Name ");
51601
- i0.ɵɵelementStart(11, "span", 28);
51666
+ i0.ɵɵelementStart(11, "span", 29);
51602
51667
  i0.ɵɵtext(12, "*");
51603
51668
  i0.ɵɵelementEnd()();
51604
- i0.ɵɵelement(13, "input", 29);
51605
- i0.ɵɵconditionalCreate(14, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_14_Template, 2, 1, "p", 30);
51669
+ i0.ɵɵelement(13, "input", 30, 0);
51670
+ i0.ɵɵconditionalCreate(15, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_15_Template, 2, 1, "p", 31);
51606
51671
  i0.ɵɵelementEnd();
51607
- i0.ɵɵelementStart(15, "div")(16, "label", 27);
51608
- i0.ɵɵtext(17, " Shop URL ");
51609
- i0.ɵɵelementStart(18, "span", 28);
51610
- i0.ɵɵtext(19, "*");
51672
+ i0.ɵɵelementStart(16, "div")(17, "label", 28);
51673
+ i0.ɵɵtext(18, " Shop URL ");
51674
+ i0.ɵɵelementStart(19, "span", 29);
51675
+ i0.ɵɵtext(20, "*");
51611
51676
  i0.ɵɵelementEnd()();
51612
- i0.ɵɵelementStart(20, "div", 31)(21, "span", 32);
51613
- i0.ɵɵtext(22, " https:// ");
51677
+ i0.ɵɵelementStart(21, "div", 32)(22, "span", 33);
51678
+ i0.ɵɵtext(23, " https:// ");
51614
51679
  i0.ɵɵelementEnd();
51615
- i0.ɵɵelement(23, "input", 33);
51680
+ i0.ɵɵelement(24, "input", 34);
51616
51681
  i0.ɵɵelementEnd();
51617
- i0.ɵɵconditionalCreate(24, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_24_Template, 2, 1, "p", 30);
51682
+ i0.ɵɵconditionalCreate(25, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_25_Template, 2, 1, "p", 31);
51618
51683
  i0.ɵɵelementEnd();
51619
- i0.ɵɵelementStart(25, "div")(26, "label", 34);
51620
- i0.ɵɵtext(27, " Shop Platform ");
51621
- i0.ɵɵelementStart(28, "span", 28);
51622
- i0.ɵɵtext(29, "*");
51684
+ i0.ɵɵelementStart(26, "div")(27, "label", 35);
51685
+ i0.ɵɵtext(28, " Shop Platform ");
51686
+ i0.ɵɵelementStart(29, "span", 29);
51687
+ i0.ɵɵtext(30, "*");
51623
51688
  i0.ɵɵelementEnd()();
51624
- i0.ɵɵelementStart(30, "div", 35)(31, "label", 36);
51625
- i0.ɵɵelement(32, "input", 37);
51626
- i0.ɵɵelementStart(33, "div", 38)(34, "div", 39);
51627
- i0.ɵɵconditionalCreate(35, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_35_Template, 1, 0, "div", 40);
51689
+ i0.ɵɵelementStart(31, "div", 36)(32, "label", 37);
51690
+ i0.ɵɵelement(33, "input", 38);
51691
+ i0.ɵɵelementStart(34, "div", 39)(35, "div", 40);
51692
+ i0.ɵɵconditionalCreate(36, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_36_Template, 1, 0, "div", 41);
51628
51693
  i0.ɵɵelementEnd();
51629
- i0.ɵɵelementStart(36, "div", 41)(37, "div", 42);
51630
- i0.ɵɵtext(38, " Shopify ");
51694
+ i0.ɵɵelementStart(37, "div", 42)(38, "div", 43);
51695
+ i0.ɵɵtext(39, " Shopify ");
51631
51696
  i0.ɵɵelementEnd()()()();
51632
- i0.ɵɵelementStart(39, "label", 36);
51633
- i0.ɵɵelement(40, "input", 37);
51634
- i0.ɵɵelementStart(41, "div", 38)(42, "div", 39);
51635
- i0.ɵɵconditionalCreate(43, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_43_Template, 1, 0, "div", 40);
51697
+ i0.ɵɵelementStart(40, "label", 37);
51698
+ i0.ɵɵelement(41, "input", 38);
51699
+ i0.ɵɵelementStart(42, "div", 39)(43, "div", 40);
51700
+ i0.ɵɵconditionalCreate(44, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_44_Template, 1, 0, "div", 41);
51636
51701
  i0.ɵɵelementEnd();
51637
- i0.ɵɵelementStart(44, "div", 41)(45, "div", 42);
51638
- i0.ɵɵtext(46, " Other ");
51702
+ i0.ɵɵelementStart(45, "div", 42)(46, "div", 43);
51703
+ i0.ɵɵtext(47, " Other ");
51639
51704
  i0.ɵɵelementEnd()()()()()();
51640
- i0.ɵɵconditionalCreate(47, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_47_Template, 7, 3, "div");
51641
- i0.ɵɵelementStart(48, "div")(49, "label", 27);
51642
- i0.ɵɵtext(50, " Company Name ");
51643
- i0.ɵɵelementStart(51, "span", 28);
51644
- i0.ɵɵtext(52, "*");
51645
- i0.ɵɵelementEnd()();
51646
- i0.ɵɵelement(53, "input", 43);
51647
- i0.ɵɵelementStart(54, "div", 44)(55, "label", 45)(56, "input", 46);
51648
- i0.ɵɵlistener("change", function SymphiqCreateAccountDashboardComponent_Conditional_24_Template_input_change_56_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleSameAsShopName()); });
51649
- i0.ɵɵelementEnd();
51650
- i0.ɵɵelementStart(57, "span", 47);
51651
- i0.ɵɵtext(58, " Same as Shop Name ");
51705
+ i0.ɵɵconditionalCreate(48, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Template, 7, 3, "div");
51706
+ i0.ɵɵelementStart(49, "div")(50, "label", 28);
51707
+ i0.ɵɵtext(51, " Company Name ");
51708
+ i0.ɵɵelementStart(52, "span", 29);
51709
+ i0.ɵɵtext(53, "*");
51710
+ i0.ɵɵelementEnd()();
51711
+ i0.ɵɵelement(54, "input", 44);
51712
+ i0.ɵɵelementStart(55, "div", 45)(56, "label", 46)(57, "input", 47);
51713
+ i0.ɵɵlistener("change", function SymphiqCreateAccountDashboardComponent_Conditional_24_Template_input_change_57_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleSameAsShopName()); });
51714
+ i0.ɵɵelementEnd();
51715
+ i0.ɵɵelementStart(58, "span", 48);
51716
+ i0.ɵɵtext(59, " Same as Shop Name ");
51652
51717
  i0.ɵɵelementEnd()()();
51653
- i0.ɵɵconditionalCreate(59, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_59_Template, 2, 1, "p", 30);
51718
+ i0.ɵɵconditionalCreate(60, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_60_Template, 2, 1, "p", 31);
51654
51719
  i0.ɵɵelementEnd()()()();
51655
51720
  } if (rf & 2) {
51656
- let tmp_17_0;
51657
- let tmp_22_0;
51658
- let tmp_24_0;
51721
+ let tmp_18_0;
51722
+ let tmp_23_0;
51723
+ let tmp_25_0;
51659
51724
  const ctx_r1 = i0.ɵɵnextContext();
51660
51725
  i0.ɵɵproperty("ngClass", ctx_r1.containerClasses());
51661
51726
  i0.ɵɵadvance();
@@ -51670,8 +51735,8 @@ function SymphiqCreateAccountDashboardComponent_Conditional_24_Template(rf, ctx)
51670
51735
  i0.ɵɵproperty("ngClass", ctx_r1.labelClasses());
51671
51736
  i0.ɵɵadvance(4);
51672
51737
  i0.ɵɵproperty("ngClass", ctx_r1.inputClasses("shopName"));
51673
- i0.ɵɵadvance();
51674
- i0.ɵɵconditional(ctx_r1.isFieldInvalid("shopName") ? 14 : -1);
51738
+ i0.ɵɵadvance(2);
51739
+ i0.ɵɵconditional(ctx_r1.isFieldInvalid("shopName") ? 15 : -1);
51675
51740
  i0.ɵɵadvance(2);
51676
51741
  i0.ɵɵproperty("ngClass", ctx_r1.labelClasses());
51677
51742
  i0.ɵɵadvance(5);
@@ -51679,7 +51744,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_24_Template(rf, ctx)
51679
51744
  i0.ɵɵadvance(2);
51680
51745
  i0.ɵɵproperty("ngClass", ctx_r1.urlInputClasses("shopUrl"));
51681
51746
  i0.ɵɵadvance();
51682
- i0.ɵɵconditional(ctx_r1.isFieldInvalid("shopUrl") ? 24 : -1);
51747
+ i0.ɵɵconditional(ctx_r1.isFieldInvalid("shopUrl") ? 25 : -1);
51683
51748
  i0.ɵɵadvance(2);
51684
51749
  i0.ɵɵproperty("ngClass", ctx_r1.labelClasses());
51685
51750
  i0.ɵɵadvance(5);
@@ -51689,7 +51754,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_24_Template(rf, ctx)
51689
51754
  i0.ɵɵadvance(2);
51690
51755
  i0.ɵɵproperty("ngClass", ctx_r1.radioIndicatorClasses(ctx_r1.ShopPlatformEnum.SHOPIFY));
51691
51756
  i0.ɵɵadvance();
51692
- i0.ɵɵconditional(((tmp_17_0 = ctx_r1.accountForm.get("shopPlatform")) == null ? null : tmp_17_0.value) === ctx_r1.ShopPlatformEnum.SHOPIFY ? 35 : -1);
51757
+ i0.ɵɵconditional(((tmp_18_0 = ctx_r1.accountForm.get("shopPlatform")) == null ? null : tmp_18_0.value) === ctx_r1.ShopPlatformEnum.SHOPIFY ? 36 : -1);
51693
51758
  i0.ɵɵadvance(2);
51694
51759
  i0.ɵɵproperty("ngClass", ctx_r1.radioLabelClasses());
51695
51760
  i0.ɵɵadvance(2);
@@ -51699,11 +51764,11 @@ function SymphiqCreateAccountDashboardComponent_Conditional_24_Template(rf, ctx)
51699
51764
  i0.ɵɵadvance(2);
51700
51765
  i0.ɵɵproperty("ngClass", ctx_r1.radioIndicatorClasses(ctx_r1.ShopPlatformEnum.OTHER));
51701
51766
  i0.ɵɵadvance();
51702
- i0.ɵɵconditional(((tmp_22_0 = ctx_r1.accountForm.get("shopPlatform")) == null ? null : tmp_22_0.value) === ctx_r1.ShopPlatformEnum.OTHER ? 43 : -1);
51767
+ i0.ɵɵconditional(((tmp_23_0 = ctx_r1.accountForm.get("shopPlatform")) == null ? null : tmp_23_0.value) === ctx_r1.ShopPlatformEnum.OTHER ? 44 : -1);
51703
51768
  i0.ɵɵadvance(2);
51704
51769
  i0.ɵɵproperty("ngClass", ctx_r1.radioLabelClasses());
51705
51770
  i0.ɵɵadvance(2);
51706
- i0.ɵɵconditional(((tmp_24_0 = ctx_r1.accountForm.get("shopPlatform")) == null ? null : tmp_24_0.value) === ctx_r1.ShopPlatformEnum.OTHER ? 47 : -1);
51771
+ i0.ɵɵconditional(((tmp_25_0 = ctx_r1.accountForm.get("shopPlatform")) == null ? null : tmp_25_0.value) === ctx_r1.ShopPlatformEnum.OTHER ? 48 : -1);
51707
51772
  i0.ɵɵadvance(2);
51708
51773
  i0.ɵɵproperty("ngClass", ctx_r1.labelClasses());
51709
51774
  i0.ɵɵadvance(4);
@@ -51714,23 +51779,69 @@ function SymphiqCreateAccountDashboardComponent_Conditional_24_Template(rf, ctx)
51714
51779
  i0.ɵɵadvance();
51715
51780
  i0.ɵɵproperty("ngClass", ctx_r1.checkboxLabelClasses());
51716
51781
  i0.ɵɵadvance(2);
51717
- i0.ɵɵconditional(ctx_r1.isFieldInvalid("companyName") ? 59 : -1);
51782
+ i0.ɵɵconditional(ctx_r1.isFieldInvalid("companyName") ? 60 : -1);
51783
+ } }
51784
+ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_3_Template(rf, ctx) { if (rf & 1) {
51785
+ const _r5 = i0.ɵɵgetCurrentView();
51786
+ i0.ɵɵelementStart(0, "button", 54);
51787
+ i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.cancelEditMode()); });
51788
+ i0.ɵɵtext(1, " Cancel ");
51789
+ i0.ɵɵelementEnd();
51790
+ } if (rf & 2) {
51791
+ const ctx_r1 = i0.ɵɵnextContext(2);
51792
+ i0.ɵɵproperty("ngClass", ctx_r1.cancelButtonClasses());
51793
+ } }
51794
+ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Conditional_3_Template(rf, ctx) { if (rf & 1) {
51795
+ i0.ɵɵtext(0, " Updating Account... ");
51796
+ } }
51797
+ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
51798
+ i0.ɵɵtext(0, " Creating Account... ");
51799
+ } }
51800
+ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Template(rf, ctx) { if (rf & 1) {
51801
+ i0.ɵɵnamespaceSVG();
51802
+ i0.ɵɵelementStart(0, "svg", 55);
51803
+ i0.ɵɵelement(1, "circle", 56)(2, "path", 57);
51804
+ i0.ɵɵelementEnd();
51805
+ i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Conditional_3_Template, 1, 0)(4, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Conditional_4_Template, 1, 0);
51806
+ } if (rf & 2) {
51807
+ const ctx_r1 = i0.ɵɵnextContext(2);
51808
+ i0.ɵɵadvance(3);
51809
+ i0.ɵɵconditional(ctx_r1.accountData() && ctx_r1.editMode() ? 3 : 4);
51810
+ } }
51811
+ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Conditional_0_Template(rf, ctx) { if (rf & 1) {
51812
+ i0.ɵɵtext(0, " Edit Account ");
51813
+ } }
51814
+ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
51815
+ i0.ɵɵtext(0, " Create Account ");
51816
+ } }
51817
+ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Template(rf, ctx) { if (rf & 1) {
51818
+ i0.ɵɵconditionalCreate(0, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Conditional_0_Template, 1, 0)(1, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Conditional_1_Template, 1, 0);
51819
+ i0.ɵɵnamespaceSVG();
51820
+ i0.ɵɵelementStart(2, "svg", 58);
51821
+ i0.ɵɵelement(3, "path", 59);
51822
+ i0.ɵɵelementEnd();
51823
+ } if (rf & 2) {
51824
+ const ctx_r1 = i0.ɵɵnextContext(2);
51825
+ i0.ɵɵconditional(ctx_r1.accountData() && ctx_r1.editMode() ? 0 : 1);
51718
51826
  } }
51719
51827
  function SymphiqCreateAccountDashboardComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
51720
51828
  const _r4 = i0.ɵɵgetCurrentView();
51721
- i0.ɵɵelementStart(0, "div", 14)(1, "div", 49)(2, "button", 50);
51722
- i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_25_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleContinue()); });
51723
- i0.ɵɵtext(3, " Create Account ");
51724
- i0.ɵɵnamespaceSVG();
51725
- i0.ɵɵelementStart(4, "svg", 51);
51726
- i0.ɵɵelement(5, "path", 52);
51829
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 50)(2, "div", 51);
51830
+ i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_3_Template, 2, 1, "button", 52);
51831
+ i0.ɵɵelementStart(4, "button", 53);
51832
+ i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_25_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleContinue()); });
51833
+ i0.ɵɵconditionalCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Template, 5, 1)(6, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Template, 4, 1);
51727
51834
  i0.ɵɵelementEnd()()()();
51728
51835
  } if (rf & 2) {
51729
51836
  const ctx_r1 = i0.ɵɵnextContext();
51730
51837
  i0.ɵɵproperty("ngClass", ctx_r1.stickyButtonContainerClasses());
51731
- i0.ɵɵadvance(2);
51732
- i0.ɵɵclassProp("cursor-pointer", ctx_r1.isFormValid())("cursor-not-allowed", !ctx_r1.isFormValid())("opacity-50", !ctx_r1.isFormValid())("hover:scale-105", ctx_r1.isFormValid());
51733
- i0.ɵɵproperty("disabled", !ctx_r1.isFormValid())("ngClass", ctx_r1.continueButtonClasses());
51838
+ i0.ɵɵadvance(3);
51839
+ i0.ɵɵconditional(ctx_r1.accountData() && ctx_r1.editMode() ? 3 : -1);
51840
+ i0.ɵɵadvance();
51841
+ i0.ɵɵclassProp("cursor-pointer", ctx_r1.isButtonEnabled())("cursor-not-allowed", !ctx_r1.isButtonEnabled())("opacity-50", !ctx_r1.isButtonEnabled())("hover:scale-105", ctx_r1.isButtonEnabled());
51842
+ i0.ɵɵproperty("disabled", !ctx_r1.isButtonEnabled())("ngClass", ctx_r1.continueButtonClasses());
51843
+ i0.ɵɵadvance();
51844
+ i0.ɵɵconditional(ctx_r1.isLoading() ? 5 : 6);
51734
51845
  } }
51735
51846
  var ShopPlatformEnum;
51736
51847
  (function (ShopPlatformEnum) {
@@ -51753,9 +51864,46 @@ class SymphiqCreateAccountDashboardComponent {
51753
51864
  this.nextStepClick = output();
51754
51865
  this.headerScrollService = inject(HeaderScrollService);
51755
51866
  this.fb = inject(FormBuilder);
51867
+ this.COLLAPSE_THRESHOLD = 20;
51868
+ this.EXPAND_THRESHOLD = 10;
51869
+ this.embeddedScrollEffect = effect(() => {
51870
+ const scrollEvent = this.scrollEvent();
51871
+ const isEmbedded = this.embedded();
51872
+ if (isEmbedded && !scrollEvent) {
51873
+ return;
51874
+ }
51875
+ if (!scrollEvent || !isEmbedded) {
51876
+ return;
51877
+ }
51878
+ const detail = scrollEvent.detail;
51879
+ if (!detail) {
51880
+ return;
51881
+ }
51882
+ const scrollTop = detail.scrollTop || 0;
51883
+ const currentState = this.headerScrollService.isScrolled();
51884
+ if (!currentState && scrollTop > this.COLLAPSE_THRESHOLD) {
51885
+ this.headerScrollService.isScrolled.set(true);
51886
+ }
51887
+ else if (currentState && scrollTop < this.EXPAND_THRESHOLD) {
51888
+ this.headerScrollService.isScrolled.set(false);
51889
+ }
51890
+ const scrollElement = this.scrollElement();
51891
+ if (scrollElement) {
51892
+ const scrollHeight = scrollElement.scrollHeight || 0;
51893
+ const clientHeight = scrollElement.clientHeight || 0;
51894
+ const maxScroll = scrollHeight - clientHeight;
51895
+ if (maxScroll > 0) {
51896
+ const progress = (scrollTop / maxScroll) * 100;
51897
+ this.headerScrollService.scrollProgress.set(Math.min(100, Math.max(0, progress)));
51898
+ }
51899
+ }
51900
+ }, ...(ngDevMode ? [{ debugName: "embeddedScrollEffect" }] : []));
51756
51901
  this.scrollProgress = computed(() => this.headerScrollService.scrollProgress(), ...(ngDevMode ? [{ debugName: "scrollProgress" }] : []));
51757
51902
  this.editMode = signal(false, ...(ngDevMode ? [{ debugName: "editMode" }] : []));
51758
51903
  this.sameAsShopName = signal(false, ...(ngDevMode ? [{ debugName: "sameAsShopName" }] : []));
51904
+ this.isLoading = signal(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
51905
+ this.formChanged = signal(false, ...(ngDevMode ? [{ debugName: "formChanged" }] : []));
51906
+ this.originalFormValue = null;
51759
51907
  this.ShopPlatformEnum = ShopPlatformEnum;
51760
51908
  this.JourneyStepIdEnum = JourneyStepIdEnum;
51761
51909
  this.accountForm = this.fb.group({
@@ -51790,11 +51938,19 @@ class SymphiqCreateAccountDashboardComponent {
51790
51938
  this.accountForm.get('companyName')?.setValue(value, { emitEvent: false });
51791
51939
  }
51792
51940
  });
51941
+ this.accountForm.valueChanges.subscribe(() => {
51942
+ if (this.editMode() && this.originalFormValue) {
51943
+ this.checkFormChanged();
51944
+ }
51945
+ });
51793
51946
  }
51794
51947
  onScroll() {
51795
51948
  this.headerScrollService.handleScroll(this.embedded());
51796
51949
  }
51797
51950
  ngAfterViewInit() {
51951
+ if (!this.accountData() && this.shopNameInput) {
51952
+ this.shopNameInput.nativeElement.focus();
51953
+ }
51798
51954
  }
51799
51955
  ngOnDestroy() {
51800
51956
  }
@@ -51806,8 +51962,33 @@ class SymphiqCreateAccountDashboardComponent {
51806
51962
  }
51807
51963
  }
51808
51964
  enableEditMode() {
51965
+ this.originalFormValue = { ...this.accountForm.value };
51966
+ this.formChanged.set(false);
51809
51967
  this.editMode.set(true);
51810
51968
  }
51969
+ cancelEditMode() {
51970
+ if (this.originalFormValue) {
51971
+ this.accountForm.patchValue(this.originalFormValue);
51972
+ if (this.originalFormValue.shopName === this.originalFormValue.companyName) {
51973
+ this.sameAsShopName.set(true);
51974
+ }
51975
+ }
51976
+ this.formChanged.set(false);
51977
+ this.editMode.set(false);
51978
+ }
51979
+ checkFormChanged() {
51980
+ if (!this.originalFormValue) {
51981
+ this.formChanged.set(false);
51982
+ return;
51983
+ }
51984
+ const current = this.accountForm.value;
51985
+ const changed = current.shopName !== this.originalFormValue.shopName ||
51986
+ current.shopUrl !== this.originalFormValue.shopUrl ||
51987
+ current.shopPlatform !== this.originalFormValue.shopPlatform ||
51988
+ current.otherPlatformName !== this.originalFormValue.otherPlatformName ||
51989
+ current.companyName !== this.originalFormValue.companyName;
51990
+ this.formChanged.set(changed);
51991
+ }
51811
51992
  isFieldInvalid(fieldName) {
51812
51993
  const field = this.accountForm.get(fieldName);
51813
51994
  return !!(field && field.invalid && (field.dirty || field.touched));
@@ -51815,8 +51996,19 @@ class SymphiqCreateAccountDashboardComponent {
51815
51996
  isFormValid() {
51816
51997
  return this.accountForm.valid;
51817
51998
  }
51999
+ isButtonEnabled() {
52000
+ if (this.isLoading())
52001
+ return false;
52002
+ if (!this.isFormValid())
52003
+ return false;
52004
+ if (this.accountData() && this.editMode()) {
52005
+ return this.formChanged();
52006
+ }
52007
+ return true;
52008
+ }
51818
52009
  handleContinue() {
51819
- if (this.accountForm.valid) {
52010
+ if (this.accountForm.valid && !this.isLoading()) {
52011
+ this.isLoading.set(true);
51820
52012
  const formData = this.accountForm.value;
51821
52013
  this.onCreateAccount.emit(formData);
51822
52014
  this.editMode.set(false);
@@ -51962,8 +52154,13 @@ class SymphiqCreateAccountDashboardComponent {
51962
52154
  ? 'bg-white/90 border-slate-200'
51963
52155
  : 'bg-slate-900/90 border-slate-700';
51964
52156
  }
52157
+ cancelButtonClasses() {
52158
+ return this.isLightMode()
52159
+ ? 'bg-slate-200 text-slate-700 hover:bg-slate-300'
52160
+ : 'bg-slate-700 text-slate-300 hover:bg-slate-600';
52161
+ }
51965
52162
  continueButtonClasses() {
51966
- if (!this.isFormValid()) {
52163
+ if (!this.isButtonEnabled()) {
51967
52164
  return this.isLightMode()
51968
52165
  ? 'bg-slate-300 text-slate-500'
51969
52166
  : 'bg-slate-700 text-slate-500';
@@ -51973,30 +52170,35 @@ class SymphiqCreateAccountDashboardComponent {
51973
52170
  : 'bg-gradient-to-r from-blue-500 to-cyan-500 hover:from-blue-600 hover:to-cyan-600 text-white';
51974
52171
  }
51975
52172
  static { this.ɵfac = function SymphiqCreateAccountDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqCreateAccountDashboardComponent)(); }; }
51976
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqCreateAccountDashboardComponent, selectors: [["symphiq-create-account-dashboard"]], hostBindings: function SymphiqCreateAccountDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
52173
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqCreateAccountDashboardComponent, selectors: [["symphiq-create-account-dashboard"]], viewQuery: function SymphiqCreateAccountDashboardComponent_Query(rf, ctx) { if (rf & 1) {
52174
+ i0.ɵɵviewQuery(_c0$q, 5);
52175
+ } if (rf & 2) {
52176
+ let _t;
52177
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.shopNameInput = _t.first);
52178
+ } }, hostBindings: function SymphiqCreateAccountDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
51977
52179
  i0.ɵɵlistener("scroll", function SymphiqCreateAccountDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
51978
- } }, inputs: { embedded: [1, "embedded"], parentHeaderOffset: [1, "parentHeaderOffset"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], accountData: [1, "accountData"], forDemo: [1, "forDemo"], showNextStepAction: [1, "showNextStepAction"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { onCreateAccount: "onCreateAccount", stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 26, vars: 44, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "pb-32"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-sm", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "hover:scale-105", "flex", "items-center", "gap-2", "cursor-pointer", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"], [1, "space-y-4"], [1, "block", "text-sm", "font-medium", "mb-1", 3, "ngClass"], [1, "text-base", 3, "ngClass"], ["target", "_blank", "rel", "noopener noreferrer", 1, "text-base", "hover:underline", 3, "href", "ngClass"], [1, "mb-6"], [1, "space-y-6", 3, "formGroup"], [1, "block", "text-sm", "font-semibold", "mb-2", 3, "ngClass"], [1, "text-red-500"], ["type", "text", "formControlName", "shopName", "placeholder", "Enter your shop name", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "mt-1", "text-sm", 3, "ngClass"], [1, "flex", "items-center"], [1, "px-4", "py-3", "rounded-l-lg", "border-2", "border-r-0", "text-sm", "font-medium", 3, "ngClass"], ["type", "text", "formControlName", "shopUrl", "placeholder", "yourshop.com", 1, "flex-1", "px-4", "py-3", "rounded-r-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "block", "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "gap-4"], [1, "cursor-pointer", 3, "ngClass"], ["type", "radio", "formControlName", "shopPlatform", 1, "sr-only", 3, "value"], [1, "flex", "items-center", "gap-3", "p-4", "rounded-lg", "border-2", "transition-all", "duration-200"], [1, "w-5", "h-5", "rounded-full", "border-2", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-current"], [1, "flex-1"], [1, "font-semibold", 3, "ngClass"], ["type", "text", "formControlName", "companyName", "placeholder", "Enter company name", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass", "readonly"], [1, "mt-2"], [1, "flex", "items-center", "gap-2", "cursor-pointer"], ["type", "checkbox", 1, "w-4", "h-4", "rounded", "border-2", "transition-all", "duration-200", 3, "change", "checked", "ngClass"], [1, "text-sm", 3, "ngClass"], ["type", "text", "formControlName", "otherPlatformName", "placeholder", "Enter platform name (e.g., WooCommerce, Magento)", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], ["type", "button", 1, "w-full", "px-6", "py-4", "rounded-xl", "font-bold", "text-lg", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-3", "shadow-lg", 3, "click", "disabled", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqCreateAccountDashboardComponent_Template(rf, ctx) { if (rf & 1) {
51979
- i0.ɵɵelementStart(0, "div", 0)(1, "div");
51980
- i0.ɵɵelement(2, "div", 1);
52180
+ } }, inputs: { embedded: [1, "embedded"], parentHeaderOffset: [1, "parentHeaderOffset"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], accountData: [1, "accountData"], forDemo: [1, "forDemo"], showNextStepAction: [1, "showNextStepAction"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { onCreateAccount: "onCreateAccount", stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 26, vars: 44, consts: [["shopNameInput", ""], [3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "pb-32"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-sm", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "hover:scale-105", "flex", "items-center", "gap-2", "cursor-pointer", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"], [1, "space-y-4"], [1, "block", "text-sm", "font-medium", "mb-1", 3, "ngClass"], [1, "text-base", 3, "ngClass"], ["target", "_blank", "rel", "noopener noreferrer", 1, "text-base", "hover:underline", 3, "href", "ngClass"], [1, "mb-6"], [1, "space-y-6", 3, "formGroup"], [1, "block", "text-sm", "font-semibold", "mb-2", 3, "ngClass"], [1, "text-red-500"], ["type", "text", "formControlName", "shopName", "placeholder", "Enter your shop name", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "mt-1", "text-sm", 3, "ngClass"], [1, "flex", "items-center"], [1, "px-4", "py-3", "rounded-l-lg", "border-2", "border-r-0", "text-sm", "font-medium", 3, "ngClass"], ["type", "text", "formControlName", "shopUrl", "placeholder", "yourshop.com", 1, "flex-1", "px-4", "py-3", "rounded-r-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "block", "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "gap-4"], [1, "cursor-pointer", 3, "ngClass"], ["type", "radio", "formControlName", "shopPlatform", 1, "sr-only", 3, "value"], [1, "flex", "items-center", "gap-3", "p-4", "rounded-lg", "border-2", "transition-all", "duration-200"], [1, "w-5", "h-5", "rounded-full", "border-2", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-current"], [1, "flex-1"], [1, "font-semibold", 3, "ngClass"], ["type", "text", "formControlName", "companyName", "placeholder", "Enter company name", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass", "readonly"], [1, "mt-2"], [1, "flex", "items-center", "gap-2", "cursor-pointer"], ["type", "checkbox", 1, "w-4", "h-4", "rounded", "border-2", "transition-all", "duration-200", 3, "change", "checked", "ngClass"], [1, "text-sm", 3, "ngClass"], ["type", "text", "formControlName", "otherPlatformName", "placeholder", "Enter platform name (e.g., WooCommerce, Magento)", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-3"], ["type", "button", 1, "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-2", "cursor-pointer", "hover:scale-105", 3, "ngClass"], ["type", "button", 1, "flex-1", "px-6", "py-4", "rounded-xl", "font-bold", "text-lg", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-3", "shadow-lg", 3, "click", "disabled", "ngClass"], ["type", "button", 1, "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-2", "cursor-pointer", "hover:scale-105", 3, "click", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "animate-spin"], ["cx", "12", "cy", "12", "r", "10", "stroke", "currentColor", "stroke-width", "4", 1, "opacity-25"], ["fill", "currentColor", "d", "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z", 1, "opacity-75"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqCreateAccountDashboardComponent_Template(rf, ctx) { if (rf & 1) {
52181
+ i0.ɵɵelementStart(0, "div", 1)(1, "div");
52182
+ i0.ɵɵelement(2, "div", 2);
51981
52183
  i0.ɵɵelementEnd();
51982
- i0.ɵɵelement(3, "div", 2);
51983
- i0.ɵɵelementStart(4, "div", 3)(5, "header", 4)(6, "div", 5)(7, "div", 6)(8, "div", 7)(9, "div")(10, "h1", 0);
52184
+ i0.ɵɵelement(3, "div", 3);
52185
+ i0.ɵɵelementStart(4, "div", 4)(5, "header", 5)(6, "div", 6)(7, "div", 7)(8, "div", 8)(9, "div")(10, "h1", 1);
51984
52186
  i0.ɵɵtext(11, " Create Account ");
51985
52187
  i0.ɵɵelementEnd();
51986
- i0.ɵɵelementStart(12, "p", 0);
52188
+ i0.ɵɵelementStart(12, "p", 1);
51987
52189
  i0.ɵɵtext(13, " Tell us about your shop ");
51988
52190
  i0.ɵɵelementEnd()()()()();
51989
- i0.ɵɵelementStart(14, "div", 5)(15, "div", 8)(16, "div", 7)(17, "div", 9)(18, "h1", 0);
52191
+ i0.ɵɵelementStart(14, "div", 6)(15, "div", 9)(16, "div", 8)(17, "div", 10)(18, "h1", 1);
51990
52192
  i0.ɵɵtext(19, " Create Account ");
51991
52193
  i0.ɵɵelementEnd()()()()()();
51992
- i0.ɵɵelementStart(20, "symphiq-journey-progress-indicator", 10);
52194
+ i0.ɵɵelementStart(20, "symphiq-journey-progress-indicator", 11);
51993
52195
  i0.ɵɵlistener("stepClick", function SymphiqCreateAccountDashboardComponent_Template_symphiq_journey_progress_indicator_stepClick_20_listener($event) { return ctx.stepClick.emit($event); })("nextStepClick", function SymphiqCreateAccountDashboardComponent_Template_symphiq_journey_progress_indicator_nextStepClick_20_listener() { return ctx.nextStepClick.emit(); });
51994
52196
  i0.ɵɵelementEnd();
51995
- i0.ɵɵelementStart(21, "main", 11)(22, "div", 12);
51996
- i0.ɵɵconditionalCreate(23, SymphiqCreateAccountDashboardComponent_Conditional_23_Template, 34, 18, "div", 13);
51997
- i0.ɵɵconditionalCreate(24, SymphiqCreateAccountDashboardComponent_Conditional_24_Template, 60, 35, "div", 13);
52197
+ i0.ɵɵelementStart(21, "main", 12)(22, "div", 13);
52198
+ i0.ɵɵconditionalCreate(23, SymphiqCreateAccountDashboardComponent_Conditional_23_Template, 34, 18, "div", 14);
52199
+ i0.ɵɵconditionalCreate(24, SymphiqCreateAccountDashboardComponent_Conditional_24_Template, 61, 35, "div", 14);
51998
52200
  i0.ɵɵelementEnd()();
51999
- i0.ɵɵconditionalCreate(25, SymphiqCreateAccountDashboardComponent_Conditional_25_Template, 6, 11, "div", 14);
52201
+ i0.ɵɵconditionalCreate(25, SymphiqCreateAccountDashboardComponent_Conditional_25_Template, 7, 13, "div", 15);
52000
52202
  i0.ɵɵelementEnd()();
52001
52203
  } if (rf & 2) {
52002
52204
  i0.ɵɵproperty("ngClass", ctx.getContainerClasses());
@@ -52035,352 +52237,383 @@ class SymphiqCreateAccountDashboardComponent {
52035
52237
  }
52036
52238
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqCreateAccountDashboardComponent, [{
52037
52239
  type: Component,
52038
- args: [{ selector: 'symphiq-create-account-dashboard', standalone: true, imports: [CommonModule, ReactiveFormsModule, JourneyProgressIndicatorComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
52039
- <div [ngClass]="getContainerClasses()">
52040
- <!-- Scroll Progress Bar -->
52041
- <div [class]="embedded() ? 'sticky top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30' : 'fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30'">
52042
- <div
52043
- [style.width.%]="scrollProgress()"
52044
- [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400'"
52045
- class="h-full transition-all duration-200 ease-out">
52046
- </div>
52047
- </div>
52048
-
52049
- <div class="animated-bubbles" [class.light-mode]="isLightMode()" style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
52050
-
52051
- <div class="relative z-[51]">
52052
- <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
52053
- <!-- Expanded Header -->
52054
- <div
52055
- class="transition-all duration-300 ease-in-out overflow-hidden"
52056
- [class.max-h-0]="headerScrollService.isScrolled()"
52057
- [class.opacity-0]="headerScrollService.isScrolled()"
52058
- [class.max-h-96]="!headerScrollService.isScrolled()"
52059
- [class.opacity-100]="!headerScrollService.isScrolled()">
52060
- <div
52061
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
52062
- [class.pointer-events-none]="headerScrollService.isScrolled()"
52063
- [class.pointer-events-auto]="!headerScrollService.isScrolled()">
52064
- <div class="flex items-center justify-between">
52065
- <div>
52066
- <h1 [ngClass]="getMainTitleClasses()">
52067
- Create Account
52068
- </h1>
52069
- <p [ngClass]="getSubtitleClasses()">
52070
- Tell us about your shop
52071
- </p>
52072
- </div>
52073
- </div>
52074
- </div>
52075
- </div>
52076
-
52077
- <!-- Condensed Header -->
52078
- <div
52079
- class="transition-all duration-300 ease-in-out overflow-hidden"
52080
- [class.max-h-0]="!headerScrollService.isScrolled()"
52081
- [class.opacity-0]="!headerScrollService.isScrolled()"
52082
- [class.max-h-20]="headerScrollService.isScrolled()"
52083
- [class.opacity-100]="headerScrollService.isScrolled()">
52084
- <div
52085
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
52086
- [class.pointer-events-none]="!headerScrollService.isScrolled()"
52087
- [class.pointer-events-auto]="headerScrollService.isScrolled()">
52088
- <div class="flex items-center justify-between">
52089
- <div class="flex-1 min-w-0 mr-4">
52090
- <h1 [ngClass]="isLightMode() ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-cyan-600 bg-clip-text text-transparent truncate' : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent truncate'">
52091
- Create Account
52092
- </h1>
52093
- </div>
52094
- </div>
52095
- </div>
52096
- </div>
52097
- </header>
52098
-
52099
- <!-- Journey Progress Indicator -->
52100
- <symphiq-journey-progress-indicator
52101
- [viewMode]="viewMode()"
52102
- [currentStepId]="JourneyStepIdEnum.CREATE_ACCOUNT"
52103
- [showNextStepAction]="showNextStepAction()"
52104
- [forDemo]="forDemo()"
52105
- [maxAccessibleStepId]="maxAccessibleStepId()"
52106
- (stepClick)="stepClick.emit($event)"
52107
- (nextStepClick)="nextStepClick.emit()"
52108
- />
52109
-
52110
- <main class="relative pb-32">
52111
- <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
52112
- <!-- View Mode: Display Account Data -->
52113
- @if (accountData() && !editMode()) {
52114
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
52115
- <div [ngClass]="contentClasses()" class="px-8 py-8">
52116
- <div class="flex items-start justify-between mb-6">
52117
- <div>
52118
- <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
52119
- Account Details
52120
- </h2>
52121
- <p [ngClass]="sectionDescriptionClasses()">
52122
- Your shop information
52123
- </p>
52124
- </div>
52125
- <button
52126
- type="button"
52127
- (click)="enableEditMode()"
52128
- [ngClass]="editButtonClasses()"
52129
- class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 hover:scale-105 flex items-center gap-2 cursor-pointer">
52130
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
52131
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"/>
52132
- </svg>
52133
- Edit
52134
- </button>
52135
- </div>
52136
-
52137
- <div class="space-y-4">
52138
- <div>
52139
- <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
52140
- Shop Name
52141
- </label>
52142
- <p [ngClass]="viewValueClasses()" class="text-base">
52143
- {{ accountData()!.shopName }}
52144
- </p>
52145
- </div>
52146
-
52147
- <div>
52148
- <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
52149
- Shop URL
52150
- </label>
52151
- <a [href]="accountData()!.shopUrl" target="_blank" rel="noopener noreferrer"
52152
- [ngClass]="viewLinkClasses()"
52153
- class="text-base hover:underline">
52154
- {{ accountData()!.shopUrl }}
52155
- </a>
52156
- </div>
52157
-
52158
- <div>
52159
- <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
52160
- Shop Platform
52161
- </label>
52162
- <p [ngClass]="viewValueClasses()" class="text-base">
52163
- @if (accountData()!.shopPlatform === ShopPlatformEnum.SHOPIFY) {
52164
- Shopify
52165
- } @else {
52166
- {{ accountData()!.otherPlatformName || 'Other' }}
52167
- }
52168
- </p>
52169
- </div>
52170
-
52171
- <div>
52172
- <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
52173
- Company Name
52174
- </label>
52175
- <p [ngClass]="viewValueClasses()" class="text-base">
52176
- {{ accountData()!.companyName }}
52177
- </p>
52178
- </div>
52179
- </div>
52180
- </div>
52181
- </div>
52182
- }
52183
-
52184
- <!-- Edit Mode: Form -->
52185
- @if (!accountData() || editMode()) {
52186
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
52187
- <div [ngClass]="contentClasses()" class="px-8 py-8">
52188
- <div class="mb-6">
52189
- <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
52190
- Create Account
52191
- </h2>
52192
- <p [ngClass]="sectionDescriptionClasses()">
52193
- Enter your shop details to get started with Symphiq
52194
- </p>
52195
- </div>
52196
-
52197
- <form [formGroup]="accountForm" class="space-y-6">
52198
- <!-- Shop Name -->
52199
- <div>
52200
- <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
52201
- Shop Name <span class="text-red-500">*</span>
52202
- </label>
52203
- <input
52204
- type="text"
52205
- formControlName="shopName"
52206
- [ngClass]="inputClasses('shopName')"
52207
- class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
52208
- placeholder="Enter your shop name"
52209
- />
52210
- @if (isFieldInvalid('shopName')) {
52211
- <p [ngClass]="errorClasses()" class="mt-1 text-sm">
52212
- Shop name is required
52213
- </p>
52214
- }
52215
- </div>
52216
-
52217
- <!-- Shop URL -->
52218
- <div>
52219
- <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
52220
- Shop URL <span class="text-red-500">*</span>
52221
- </label>
52222
- <div class="flex items-center">
52223
- <span [ngClass]="urlPrefixClasses()" class="px-4 py-3 rounded-l-lg border-2 border-r-0 text-sm font-medium">
52224
- https://
52225
- </span>
52226
- <input
52227
- type="text"
52228
- formControlName="shopUrl"
52229
- [ngClass]="urlInputClasses('shopUrl')"
52230
- class="flex-1 px-4 py-3 rounded-r-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
52231
- placeholder="yourshop.com"
52232
- />
52233
- </div>
52234
- @if (isFieldInvalid('shopUrl')) {
52235
- <p [ngClass]="errorClasses()" class="mt-1 text-sm">
52236
- Shop URL is required
52237
- </p>
52238
- }
52239
- </div>
52240
-
52241
- <!-- Shop Platform -->
52242
- <div>
52243
- <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-3">
52244
- Shop Platform <span class="text-red-500">*</span>
52245
- </label>
52246
- <div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
52247
- <label [ngClass]="radioPlatformClasses(ShopPlatformEnum.SHOPIFY)" class="cursor-pointer">
52248
- <input
52249
- type="radio"
52250
- formControlName="shopPlatform"
52251
- [value]="ShopPlatformEnum.SHOPIFY"
52252
- class="sr-only"
52253
- />
52254
- <div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
52255
- <div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.SHOPIFY)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
52256
- @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.SHOPIFY) {
52257
- <div class="w-3 h-3 rounded-full bg-current"></div>
52258
- }
52259
- </div>
52260
- <div class="flex-1">
52261
- <div [ngClass]="radioLabelClasses()" class="font-semibold">
52262
- Shopify
52263
- </div>
52264
- </div>
52265
- </div>
52266
- </label>
52267
-
52268
- <label [ngClass]="radioPlatformClasses(ShopPlatformEnum.OTHER)" class="cursor-pointer">
52269
- <input
52270
- type="radio"
52271
- formControlName="shopPlatform"
52272
- [value]="ShopPlatformEnum.OTHER"
52273
- class="sr-only"
52274
- />
52275
- <div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
52276
- <div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.OTHER)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
52277
- @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
52278
- <div class="w-3 h-3 rounded-full bg-current"></div>
52279
- }
52280
- </div>
52281
- <div class="flex-1">
52282
- <div [ngClass]="radioLabelClasses()" class="font-semibold">
52283
- Other
52284
- </div>
52285
- </div>
52286
- </div>
52287
- </label>
52288
- </div>
52289
- </div>
52290
-
52291
- <!-- Other Platform Name (Conditional) -->
52292
- @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
52293
- <div>
52294
- <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
52295
- Platform Name <span class="text-red-500">*</span>
52296
- </label>
52297
- <input
52298
- type="text"
52299
- formControlName="otherPlatformName"
52300
- [ngClass]="inputClasses('otherPlatformName')"
52301
- class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
52302
- placeholder="Enter platform name (e.g., WooCommerce, Magento)"
52303
- />
52304
- @if (isFieldInvalid('otherPlatformName')) {
52305
- <p [ngClass]="errorClasses()" class="mt-1 text-sm">
52306
- Platform name is required
52307
- </p>
52308
- }
52309
- </div>
52310
- }
52311
-
52312
- <!-- Company Name -->
52313
- <div>
52314
- <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
52315
- Company Name <span class="text-red-500">*</span>
52316
- </label>
52317
- <input
52318
- type="text"
52319
- formControlName="companyName"
52320
- [ngClass]="inputClasses('companyName')"
52321
- [readonly]="sameAsShopName()"
52322
- class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
52323
- [class.cursor-not-allowed]="sameAsShopName()"
52324
- [class.opacity-60]="sameAsShopName()"
52325
- placeholder="Enter company name"
52326
- />
52327
- <div class="mt-2">
52328
- <label class="flex items-center gap-2 cursor-pointer">
52329
- <input
52330
- type="checkbox"
52331
- [checked]="sameAsShopName()"
52332
- (change)="toggleSameAsShopName()"
52333
- [ngClass]="checkboxClasses()"
52334
- class="w-4 h-4 rounded border-2 transition-all duration-200"
52335
- />
52336
- <span [ngClass]="checkboxLabelClasses()" class="text-sm">
52337
- Same as Shop Name
52338
- </span>
52339
- </label>
52340
- </div>
52341
- @if (isFieldInvalid('companyName')) {
52342
- <p [ngClass]="errorClasses()" class="mt-1 text-sm">
52343
- Company name is required
52344
- </p>
52345
- }
52346
- </div>
52347
- </form>
52348
- </div>
52349
- </div>
52350
- }
52351
- </div>
52352
- </main>
52353
-
52354
- <!-- Sticky Continue Button -->
52355
- @if (!accountData() || editMode()) {
52356
- <div [ngClass]="stickyButtonContainerClasses()" class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-sm">
52357
- <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
52358
- <button
52359
- type="button"
52360
- (click)="handleContinue()"
52361
- [disabled]="!isFormValid()"
52362
- [ngClass]="continueButtonClasses()"
52363
- class="w-full px-6 py-4 rounded-xl font-bold text-lg transition-all duration-200 flex items-center justify-center gap-3 shadow-lg"
52364
- [class.cursor-pointer]="isFormValid()"
52365
- [class.cursor-not-allowed]="!isFormValid()"
52366
- [class.opacity-50]="!isFormValid()"
52367
- [class.hover:scale-105]="isFormValid()">
52368
- Create Account
52369
- <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
52370
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"/>
52371
- </svg>
52372
- </button>
52373
- </div>
52374
- </div>
52375
- }
52376
- </div>
52377
- </div>
52240
+ args: [{ selector: 'symphiq-create-account-dashboard', standalone: true, imports: [CommonModule, ReactiveFormsModule, JourneyProgressIndicatorComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
52241
+ <div [ngClass]="getContainerClasses()">
52242
+ <!-- Scroll Progress Bar -->
52243
+ <div [class]="embedded() ? 'sticky top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30' : 'fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30'">
52244
+ <div
52245
+ [style.width.%]="scrollProgress()"
52246
+ [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400'"
52247
+ class="h-full transition-all duration-200 ease-out">
52248
+ </div>
52249
+ </div>
52250
+
52251
+ <div class="animated-bubbles" [class.light-mode]="isLightMode()" style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
52252
+
52253
+ <div class="relative z-[51]">
52254
+ <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
52255
+ <!-- Expanded Header -->
52256
+ <div
52257
+ class="transition-all duration-300 ease-in-out overflow-hidden"
52258
+ [class.max-h-0]="headerScrollService.isScrolled()"
52259
+ [class.opacity-0]="headerScrollService.isScrolled()"
52260
+ [class.max-h-96]="!headerScrollService.isScrolled()"
52261
+ [class.opacity-100]="!headerScrollService.isScrolled()">
52262
+ <div
52263
+ class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
52264
+ [class.pointer-events-none]="headerScrollService.isScrolled()"
52265
+ [class.pointer-events-auto]="!headerScrollService.isScrolled()">
52266
+ <div class="flex items-center justify-between">
52267
+ <div>
52268
+ <h1 [ngClass]="getMainTitleClasses()">
52269
+ Create Account
52270
+ </h1>
52271
+ <p [ngClass]="getSubtitleClasses()">
52272
+ Tell us about your shop
52273
+ </p>
52274
+ </div>
52275
+ </div>
52276
+ </div>
52277
+ </div>
52278
+
52279
+ <!-- Condensed Header -->
52280
+ <div
52281
+ class="transition-all duration-300 ease-in-out overflow-hidden"
52282
+ [class.max-h-0]="!headerScrollService.isScrolled()"
52283
+ [class.opacity-0]="!headerScrollService.isScrolled()"
52284
+ [class.max-h-20]="headerScrollService.isScrolled()"
52285
+ [class.opacity-100]="headerScrollService.isScrolled()">
52286
+ <div
52287
+ class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
52288
+ [class.pointer-events-none]="!headerScrollService.isScrolled()"
52289
+ [class.pointer-events-auto]="headerScrollService.isScrolled()">
52290
+ <div class="flex items-center justify-between">
52291
+ <div class="flex-1 min-w-0 mr-4">
52292
+ <h1 [ngClass]="isLightMode() ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-cyan-600 bg-clip-text text-transparent truncate' : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent truncate'">
52293
+ Create Account
52294
+ </h1>
52295
+ </div>
52296
+ </div>
52297
+ </div>
52298
+ </div>
52299
+ </header>
52300
+
52301
+ <!-- Journey Progress Indicator -->
52302
+ <symphiq-journey-progress-indicator
52303
+ [viewMode]="viewMode()"
52304
+ [currentStepId]="JourneyStepIdEnum.CREATE_ACCOUNT"
52305
+ [showNextStepAction]="showNextStepAction()"
52306
+ [forDemo]="forDemo()"
52307
+ [maxAccessibleStepId]="maxAccessibleStepId()"
52308
+ (stepClick)="stepClick.emit($event)"
52309
+ (nextStepClick)="nextStepClick.emit()"
52310
+ />
52311
+
52312
+ <main class="relative pb-32">
52313
+ <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
52314
+ <!-- View Mode: Display Account Data -->
52315
+ @if (accountData() && !editMode()) {
52316
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
52317
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
52318
+ <div class="flex items-start justify-between mb-6">
52319
+ <div>
52320
+ <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
52321
+ Account Details
52322
+ </h2>
52323
+ <p [ngClass]="sectionDescriptionClasses()">
52324
+ Your shop information
52325
+ </p>
52326
+ </div>
52327
+ <button
52328
+ type="button"
52329
+ (click)="enableEditMode()"
52330
+ [ngClass]="editButtonClasses()"
52331
+ class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 hover:scale-105 flex items-center gap-2 cursor-pointer">
52332
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
52333
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"/>
52334
+ </svg>
52335
+ Edit
52336
+ </button>
52337
+ </div>
52338
+
52339
+ <div class="space-y-4">
52340
+ <div>
52341
+ <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
52342
+ Shop Name
52343
+ </label>
52344
+ <p [ngClass]="viewValueClasses()" class="text-base">
52345
+ {{ accountData()!.shopName }}
52346
+ </p>
52347
+ </div>
52348
+
52349
+ <div>
52350
+ <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
52351
+ Shop URL
52352
+ </label>
52353
+ <a [href]="accountData()!.shopUrl" target="_blank" rel="noopener noreferrer"
52354
+ [ngClass]="viewLinkClasses()"
52355
+ class="text-base hover:underline">
52356
+ {{ accountData()!.shopUrl }}
52357
+ </a>
52358
+ </div>
52359
+
52360
+ <div>
52361
+ <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
52362
+ Shop Platform
52363
+ </label>
52364
+ <p [ngClass]="viewValueClasses()" class="text-base">
52365
+ @if (accountData()!.shopPlatform === ShopPlatformEnum.SHOPIFY) {
52366
+ Shopify
52367
+ } @else {
52368
+ {{ accountData()!.otherPlatformName || 'Other' }}
52369
+ }
52370
+ </p>
52371
+ </div>
52372
+
52373
+ <div>
52374
+ <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
52375
+ Company Name
52376
+ </label>
52377
+ <p [ngClass]="viewValueClasses()" class="text-base">
52378
+ {{ accountData()!.companyName }}
52379
+ </p>
52380
+ </div>
52381
+ </div>
52382
+ </div>
52383
+ </div>
52384
+ }
52385
+
52386
+ <!-- Edit Mode: Form -->
52387
+ @if (!accountData() || editMode()) {
52388
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
52389
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
52390
+ <div class="mb-6">
52391
+ <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
52392
+ Create Account
52393
+ </h2>
52394
+ <p [ngClass]="sectionDescriptionClasses()">
52395
+ Enter your shop details to get started with Symphiq
52396
+ </p>
52397
+ </div>
52398
+
52399
+ <form [formGroup]="accountForm" class="space-y-6">
52400
+ <!-- Shop Name -->
52401
+ <div>
52402
+ <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
52403
+ Shop Name <span class="text-red-500">*</span>
52404
+ </label>
52405
+ <input
52406
+ #shopNameInput
52407
+ type="text"
52408
+ formControlName="shopName"
52409
+ [ngClass]="inputClasses('shopName')"
52410
+ class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
52411
+ placeholder="Enter your shop name"
52412
+ />
52413
+ @if (isFieldInvalid('shopName')) {
52414
+ <p [ngClass]="errorClasses()" class="mt-1 text-sm">
52415
+ Shop name is required
52416
+ </p>
52417
+ }
52418
+ </div>
52419
+
52420
+ <!-- Shop URL -->
52421
+ <div>
52422
+ <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
52423
+ Shop URL <span class="text-red-500">*</span>
52424
+ </label>
52425
+ <div class="flex items-center">
52426
+ <span [ngClass]="urlPrefixClasses()" class="px-4 py-3 rounded-l-lg border-2 border-r-0 text-sm font-medium">
52427
+ https://
52428
+ </span>
52429
+ <input
52430
+ type="text"
52431
+ formControlName="shopUrl"
52432
+ [ngClass]="urlInputClasses('shopUrl')"
52433
+ class="flex-1 px-4 py-3 rounded-r-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
52434
+ placeholder="yourshop.com"
52435
+ />
52436
+ </div>
52437
+ @if (isFieldInvalid('shopUrl')) {
52438
+ <p [ngClass]="errorClasses()" class="mt-1 text-sm">
52439
+ Shop URL is required
52440
+ </p>
52441
+ }
52442
+ </div>
52443
+
52444
+ <!-- Shop Platform -->
52445
+ <div>
52446
+ <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-3">
52447
+ Shop Platform <span class="text-red-500">*</span>
52448
+ </label>
52449
+ <div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
52450
+ <label [ngClass]="radioPlatformClasses(ShopPlatformEnum.SHOPIFY)" class="cursor-pointer">
52451
+ <input
52452
+ type="radio"
52453
+ formControlName="shopPlatform"
52454
+ [value]="ShopPlatformEnum.SHOPIFY"
52455
+ class="sr-only"
52456
+ />
52457
+ <div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
52458
+ <div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.SHOPIFY)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
52459
+ @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.SHOPIFY) {
52460
+ <div class="w-3 h-3 rounded-full bg-current"></div>
52461
+ }
52462
+ </div>
52463
+ <div class="flex-1">
52464
+ <div [ngClass]="radioLabelClasses()" class="font-semibold">
52465
+ Shopify
52466
+ </div>
52467
+ </div>
52468
+ </div>
52469
+ </label>
52470
+
52471
+ <label [ngClass]="radioPlatformClasses(ShopPlatformEnum.OTHER)" class="cursor-pointer">
52472
+ <input
52473
+ type="radio"
52474
+ formControlName="shopPlatform"
52475
+ [value]="ShopPlatformEnum.OTHER"
52476
+ class="sr-only"
52477
+ />
52478
+ <div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
52479
+ <div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.OTHER)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
52480
+ @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
52481
+ <div class="w-3 h-3 rounded-full bg-current"></div>
52482
+ }
52483
+ </div>
52484
+ <div class="flex-1">
52485
+ <div [ngClass]="radioLabelClasses()" class="font-semibold">
52486
+ Other
52487
+ </div>
52488
+ </div>
52489
+ </div>
52490
+ </label>
52491
+ </div>
52492
+ </div>
52493
+
52494
+ <!-- Other Platform Name (Conditional) -->
52495
+ @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
52496
+ <div>
52497
+ <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
52498
+ Platform Name <span class="text-red-500">*</span>
52499
+ </label>
52500
+ <input
52501
+ type="text"
52502
+ formControlName="otherPlatformName"
52503
+ [ngClass]="inputClasses('otherPlatformName')"
52504
+ class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
52505
+ placeholder="Enter platform name (e.g., WooCommerce, Magento)"
52506
+ />
52507
+ @if (isFieldInvalid('otherPlatformName')) {
52508
+ <p [ngClass]="errorClasses()" class="mt-1 text-sm">
52509
+ Platform name is required
52510
+ </p>
52511
+ }
52512
+ </div>
52513
+ }
52514
+
52515
+ <!-- Company Name -->
52516
+ <div>
52517
+ <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
52518
+ Company Name <span class="text-red-500">*</span>
52519
+ </label>
52520
+ <input
52521
+ type="text"
52522
+ formControlName="companyName"
52523
+ [ngClass]="inputClasses('companyName')"
52524
+ [readonly]="sameAsShopName()"
52525
+ class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
52526
+ [class.cursor-not-allowed]="sameAsShopName()"
52527
+ [class.opacity-60]="sameAsShopName()"
52528
+ placeholder="Enter company name"
52529
+ />
52530
+ <div class="mt-2">
52531
+ <label class="flex items-center gap-2 cursor-pointer">
52532
+ <input
52533
+ type="checkbox"
52534
+ [checked]="sameAsShopName()"
52535
+ (change)="toggleSameAsShopName()"
52536
+ [ngClass]="checkboxClasses()"
52537
+ class="w-4 h-4 rounded border-2 transition-all duration-200"
52538
+ />
52539
+ <span [ngClass]="checkboxLabelClasses()" class="text-sm">
52540
+ Same as Shop Name
52541
+ </span>
52542
+ </label>
52543
+ </div>
52544
+ @if (isFieldInvalid('companyName')) {
52545
+ <p [ngClass]="errorClasses()" class="mt-1 text-sm">
52546
+ Company name is required
52547
+ </p>
52548
+ }
52549
+ </div>
52550
+ </form>
52551
+ </div>
52552
+ </div>
52553
+ }
52554
+ </div>
52555
+ </main>
52556
+
52557
+ <!-- Sticky Continue Button -->
52558
+ @if (!accountData() || editMode()) {
52559
+ <div [ngClass]="stickyButtonContainerClasses()" class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-sm">
52560
+ <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
52561
+ <div class="flex items-center gap-3">
52562
+ @if (accountData() && editMode()) {
52563
+ <button
52564
+ type="button"
52565
+ (click)="cancelEditMode()"
52566
+ [ngClass]="cancelButtonClasses()"
52567
+ class="px-6 py-4 rounded-xl font-bold text-base transition-all duration-200 flex items-center justify-center gap-2 cursor-pointer hover:scale-105">
52568
+ Cancel
52569
+ </button>
52570
+ }
52571
+ <button
52572
+ type="button"
52573
+ (click)="handleContinue()"
52574
+ [disabled]="!isButtonEnabled()"
52575
+ [ngClass]="continueButtonClasses()"
52576
+ class="flex-1 px-6 py-4 rounded-xl font-bold text-lg transition-all duration-200 flex items-center justify-center gap-3 shadow-lg"
52577
+ [class.cursor-pointer]="isButtonEnabled()"
52578
+ [class.cursor-not-allowed]="!isButtonEnabled()"
52579
+ [class.opacity-50]="!isButtonEnabled()"
52580
+ [class.hover:scale-105]="isButtonEnabled()">
52581
+ @if (isLoading()) {
52582
+ <svg class="w-6 h-6 animate-spin" fill="none" viewBox="0 0 24 24">
52583
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
52584
+ <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
52585
+ </svg>
52586
+ @if (accountData() && editMode()) {
52587
+ Updating Account...
52588
+ } @else {
52589
+ Creating Account...
52590
+ }
52591
+ } @else {
52592
+ @if (accountData() && editMode()) {
52593
+ Edit Account
52594
+ } @else {
52595
+ Create Account
52596
+ }
52597
+ <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
52598
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"/>
52599
+ </svg>
52600
+ }
52601
+ </button>
52602
+ </div>
52603
+ </div>
52604
+ </div>
52605
+ }
52606
+ </div>
52607
+ </div>
52378
52608
  `, styles: [":host{display:block}.animated-bubbles{overflow:hidden}.animated-bubbles:before,.animated-bubbles:after{content:\"\";position:absolute;border-radius:50%;animation:float 20s infinite ease-in-out;opacity:.05}.animated-bubbles:before{width:600px;height:600px;background:radial-gradient(circle,#3b82f6 0%,transparent 70%);top:-300px;left:-300px;animation-delay:-5s}.animated-bubbles:after{width:800px;height:800px;background:radial-gradient(circle,#06b6d4 0%,transparent 70%);bottom:-400px;right:-400px;animation-delay:-10s}.animated-bubbles.light-mode:before,.animated-bubbles.light-mode:after{opacity:.03}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}\n"] }]
52379
- }], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], accountData: [{ type: i0.Input, args: [{ isSignal: true, alias: "accountData", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], showNextStepAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "showNextStepAction", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], onCreateAccount: [{ type: i0.Output, args: ["onCreateAccount"] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], onScroll: [{
52609
+ }], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], accountData: [{ type: i0.Input, args: [{ isSignal: true, alias: "accountData", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], showNextStepAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "showNextStepAction", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], onCreateAccount: [{ type: i0.Output, args: ["onCreateAccount"] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], shopNameInput: [{
52610
+ type: ViewChild,
52611
+ args: ['shopNameInput']
52612
+ }], onScroll: [{
52380
52613
  type: HostListener,
52381
52614
  args: ['window:scroll', ['$event']]
52382
52615
  }] }); })();
52383
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqCreateAccountDashboardComponent, { className: "SymphiqCreateAccountDashboardComponent", filePath: "lib/components/create-account-dashboard/symphiq-create-account-dashboard.component.ts", lineNumber: 434 }); })();
52616
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqCreateAccountDashboardComponent, { className: "SymphiqCreateAccountDashboardComponent", filePath: "lib/components/create-account-dashboard/symphiq-create-account-dashboard.component.ts", lineNumber: 464 }); })();
52384
52617
 
52385
52618
  class SymphiqConnectGaDashboardComponent {
52386
52619
  constructor() {
@@ -56170,7 +56403,7 @@ function SymphiqBusinessAnalysisDashboardComponent_Conditional_36_Conditional_0_
56170
56403
  i0.ɵɵelementEnd();
56171
56404
  } if (rf & 2) {
56172
56405
  const ctx_r0 = i0.ɵɵnextContext(2);
56173
- i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("currentStepId", ctx_r0.JourneyStepIdEnum.BUSINESS_ANALYSIS)("showNextStepAction", true)("forDemo", ctx_r0.forDemo())("maxAccessibleStepId", ctx_r0.maxAccessibleStepId());
56406
+ i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("currentStepId", ctx_r0.JourneyStepIdEnum.BUSINESS_ANALYSIS)("showNextStepAction", ctx_r0.showNextStepAction())("forDemo", ctx_r0.forDemo())("maxAccessibleStepId", ctx_r0.maxAccessibleStepId());
56174
56407
  } }
56175
56408
  function SymphiqBusinessAnalysisDashboardComponent_Conditional_36_Template(rf, ctx) { if (rf & 1) {
56176
56409
  const _r2 = i0.ɵɵgetCurrentView();
@@ -56273,6 +56506,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
56273
56506
  this.stepClick = output();
56274
56507
  this.nextStepClick = output();
56275
56508
  this.JourneyStepIdEnum = JourneyStepIdEnum;
56509
+ this.showNextStepAction = computed(() => this.profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED, ...(ngDevMode ? [{ debugName: "showNextStepAction" }] : []));
56276
56510
  this.headerScrollService = inject(HeaderScrollService);
56277
56511
  this.lookupService = inject(ProfileItemLookupService);
56278
56512
  this.navigationService = inject(NavigationStateService);
@@ -56848,228 +57082,228 @@ class SymphiqBusinessAnalysisDashboardComponent {
56848
57082
  }
56849
57083
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqBusinessAnalysisDashboardComponent, [{
56850
57084
  type: Component,
56851
- args: [{ selector: 'symphiq-business-analysis-dashboard', standalone: true, imports: [CommonModule, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
56852
- <div [ngClass]="getContainerClasses()">
56853
- <!-- Scroll Progress Bar (fixed at top) -->
56854
- <div [class]="embedded() ? 'sticky top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30' : 'fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30'">
56855
- <div
56856
- [style.width.%]="scrollProgress()"
56857
- [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
56858
- class="h-full transition-all duration-200 ease-out">
56859
- </div>
56860
- </div>
56861
-
56862
- <div class="animated-bubbles" [class.light-mode]="isLightMode()" style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
56863
-
56864
- <div class="relative z-[51]">
56865
- <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
56866
- <!-- Expanded Header (default state) -->
56867
- <div
56868
- class="transition-all duration-300 ease-in-out overflow-hidden"
56869
- [class.max-h-0]="headerScrollService.isScrolled()"
56870
- [class.opacity-0]="headerScrollService.isScrolled()"
56871
- [class.max-h-96]="!headerScrollService.isScrolled()"
56872
- [class.opacity-100]="!headerScrollService.isScrolled()">
56873
- <div
56874
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
56875
- [class.pointer-events-none]="headerScrollService.isScrolled()"
56876
- [class.pointer-events-auto]="!headerScrollService.isScrolled()">
56877
- <div class="flex items-center justify-between">
56878
- <div>
56879
- <h1 [ngClass]="getMainTitleClasses()">
56880
- {{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
56881
- </h1>
56882
- <p [ngClass]="getSubtitleClasses()">
56883
- Business Profile & Analysis
56884
- </p>
56885
- </div>
56886
- <div class="flex items-center gap-2">
56887
- <symphiq-search-button
56888
- [isLightMode]="isLightMode()"
56889
- (searchClick)="openSearch()"
56890
- />
56891
- <button
56892
- type="button"
56893
- (click)="openViewModeSwitcher()"
56894
- [ngClass]="getViewModeButtonClasses()"
56895
- class="cursor-pointer flex items-center gap-2 px-3 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 hover:scale-105">
56896
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
56897
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
56898
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
56899
- </svg>
56900
- <span>{{ displayModeLabel() }}</span>
56901
- </button>
56902
- </div>
56903
- </div>
56904
- </div>
56905
- </div>
56906
-
56907
- <!-- Condensed Header (scrolled state) -->
56908
- <div
56909
- class="transition-all duration-300 ease-in-out overflow-hidden"
56910
- [class.max-h-0]="!headerScrollService.isScrolled()"
56911
- [class.opacity-0]="!headerScrollService.isScrolled()"
56912
- [class.max-h-20]="headerScrollService.isScrolled()"
56913
- [class.opacity-100]="headerScrollService.isScrolled()">
56914
- <div
56915
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
56916
- [class.pointer-events-none]="!headerScrollService.isScrolled()"
56917
- [class.pointer-events-auto]="headerScrollService.isScrolled()">
56918
- <div class="flex items-center justify-between">
56919
- <div class="flex-1 min-w-0 mr-4">
56920
- <h1 [ngClass]="isLightMode() ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent truncate' : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent truncate'">
56921
- {{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
56922
- </h1>
56923
- </div>
56924
- <div class="flex items-center gap-4">
56925
- @if (!isSimplifiedView()) {
56926
- <div class="flex items-center gap-2 text-sm flex-shrink-0">
56927
- <span [ngClass]="isLightMode() ? 'text-slate-600 font-medium' : 'text-slate-400 font-medium'" class="transition-opacity duration-300" [class.opacity-0]="sectionTitleFading()" [class.opacity-100]="!sectionTitleFading()">
56928
- {{ currentSectionTitle() }}
56929
- </span>
56930
- @if (currentSubsectionTitle()) {
56931
- <span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">›</span>
56932
- <span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">
56933
- {{ currentSubsectionTitle() }}
56934
- </span>
56935
- }
56936
- </div>
56937
- }
56938
- <symphiq-search-button
56939
- [isLightMode]="isLightMode()"
56940
- [minimized]="true"
56941
- (searchClick)="openSearch()"
56942
- />
56943
- <button
56944
- type="button"
56945
- (click)="openViewModeSwitcher()"
56946
- [ngClass]="getViewModeButtonClasses()"
56947
- class="cursor-pointer flex items-center gap-2 px-2 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 hover:scale-105">
56948
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
56949
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
56950
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
56951
- </svg>
56952
- </button>
56953
- </div>
56954
- </div>
56955
- </div>
56956
- </div>
56957
- </header>
56958
-
56959
- <main class="relative">
56960
- @if (isSimplifiedView()) {
56961
- <!-- Journey Progress Banner - Full Width Sticky (only show when not onboarded) -->
56962
- @if (!isOnboarded()) {
56963
- <symphiq-journey-progress-indicator
56964
- [viewMode]="viewMode()"
56965
- [currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
56966
- [showNextStepAction]="true"
56967
- [forDemo]="forDemo()"
56968
- [maxAccessibleStepId]="maxAccessibleStepId()"
56969
- (stepClick)="stepClick.emit($event)"
56970
- (nextStepClick)="nextStepClick.emit()"
56971
- />
56972
- }
56973
-
56974
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
56975
- <div class="mb-8">
56976
- <symphiq-welcome-banner
56977
- [viewMode]="viewMode()"
56978
- [businessName]="currentProfile()?.profileStructured?.businessName || 'your business'"
56979
- [isOnboarded]="isOnboarded()"
56980
- />
56981
- </div>
56982
-
56983
- <div class="mb-8">
56984
- <symphiq-recommendations-tiled-grid
56985
- [recommendations]="recommendationItems()"
56986
- [viewMode]="viewMode()"
56987
- (viewMoreClick)="openRecommendationDetailsModal($event)"
56988
- />
56989
- </div>
56990
-
56991
- <div>
56992
- <symphiq-collapsible-section-group
56993
- [sections]="nonRecommendationSections()"
56994
- [viewMode]="viewMode()"
56995
- />
56996
- </div>
56997
- </div>
56998
- } @else {
56999
- @for (section of sections(); track trackBySectionId($index, section); let idx = $index; let last = $last) {
57000
- <symphiq-profile-section
57001
- [section]="section"
57002
- [viewMode]="viewMode()"
57003
- [forceExpanded]="!isCompactView()"
57004
- />
57005
- @if (!last) {
57006
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
57007
- <symphiq-section-divider
57008
- [viewMode]="viewMode()"
57009
- [subsections]="sections()[idx + 1].subsections || []" />
57010
- </div>
57011
- }
57012
- }
57013
- }
57014
- </main>
57015
-
57016
- @if (!isSimplifiedView()) {
57017
- <symphiq-section-navigation
57018
- [sections]="sections()"
57019
- [viewMode]="viewMode()"
57020
- [embedded]="embedded()"
57021
- [scrollElement]="scrollElement() ?? undefined"
57022
- />
57023
- }
57024
-
57025
- @if (!isSimplifiedView()) {
57026
- <symphiq-floating-toc
57027
- [sections]="sections()"
57028
- [viewMode]="viewMode()"
57029
- [embedded]="embedded()"
57030
- [scrollElement]="scrollElement() ?? undefined"
57031
- />
57032
- }
57033
-
57034
- <symphiq-floating-back-button
57035
- [viewMode]="viewMode()"
57036
- [embedded]="embedded()"
57037
- />
57038
- </div>
57039
-
57040
- @if (isLoading()) {
57041
- <div [ngClass]="getLoadingOverlayClasses()">
57042
- <div [ngClass]="getSpinnerClasses()"></div>
57043
- </div>
57044
- }
57045
-
57046
- <symphiq-tooltip-container />
57047
- <symphiq-business-analysis-modal
57048
- [isLightMode]="isLightMode()"
57049
- (viewInContextRequested)="handleViewInContext($event)" />
57050
-
57051
- <symphiq-search-modal
57052
- [isLightMode]="isLightMode()"
57053
- [isOpen]="searchService.isSearchOpen()"
57054
- [searchQuery]="searchService.getSearchQuery()"
57055
- [results]="searchService.searchResults()"
57056
- [hasResults]="searchService.hasResults()"
57057
- [selectedIndex]="selectedSearchIndex()"
57058
- [placeholder]="'Search sections, items, and analysis...'"
57059
- (searchChange)="onSearchChange($event)"
57060
- (resultSelected)="onSearchResultSelected($event)"
57061
- (close)="closeSearch()"
57062
- />
57063
-
57064
- <symphiq-view-mode-switcher-modal
57065
- [isOpen]="isViewModeSwitcherOpen()"
57066
- [currentMode]="displayMode()"
57067
- [viewMode]="viewMode()"
57068
- [isLoading]="isViewModeSwitching()"
57069
- (close)="closeViewModeSwitcher()"
57070
- (modeSelected)="handleDisplayModeChange($event)"
57071
- />
57072
- </div>
57085
+ args: [{ selector: 'symphiq-business-analysis-dashboard', standalone: true, imports: [CommonModule, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
57086
+ <div [ngClass]="getContainerClasses()">
57087
+ <!-- Scroll Progress Bar (fixed at top) -->
57088
+ <div [class]="embedded() ? 'sticky top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30' : 'fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30'">
57089
+ <div
57090
+ [style.width.%]="scrollProgress()"
57091
+ [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
57092
+ class="h-full transition-all duration-200 ease-out">
57093
+ </div>
57094
+ </div>
57095
+
57096
+ <div class="animated-bubbles" [class.light-mode]="isLightMode()" style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
57097
+
57098
+ <div class="relative z-[51]">
57099
+ <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
57100
+ <!-- Expanded Header (default state) -->
57101
+ <div
57102
+ class="transition-all duration-300 ease-in-out overflow-hidden"
57103
+ [class.max-h-0]="headerScrollService.isScrolled()"
57104
+ [class.opacity-0]="headerScrollService.isScrolled()"
57105
+ [class.max-h-96]="!headerScrollService.isScrolled()"
57106
+ [class.opacity-100]="!headerScrollService.isScrolled()">
57107
+ <div
57108
+ class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
57109
+ [class.pointer-events-none]="headerScrollService.isScrolled()"
57110
+ [class.pointer-events-auto]="!headerScrollService.isScrolled()">
57111
+ <div class="flex items-center justify-between">
57112
+ <div>
57113
+ <h1 [ngClass]="getMainTitleClasses()">
57114
+ {{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
57115
+ </h1>
57116
+ <p [ngClass]="getSubtitleClasses()">
57117
+ Business Profile & Analysis
57118
+ </p>
57119
+ </div>
57120
+ <div class="flex items-center gap-2">
57121
+ <symphiq-search-button
57122
+ [isLightMode]="isLightMode()"
57123
+ (searchClick)="openSearch()"
57124
+ />
57125
+ <button
57126
+ type="button"
57127
+ (click)="openViewModeSwitcher()"
57128
+ [ngClass]="getViewModeButtonClasses()"
57129
+ class="cursor-pointer flex items-center gap-2 px-3 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 hover:scale-105">
57130
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
57131
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
57132
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
57133
+ </svg>
57134
+ <span>{{ displayModeLabel() }}</span>
57135
+ </button>
57136
+ </div>
57137
+ </div>
57138
+ </div>
57139
+ </div>
57140
+
57141
+ <!-- Condensed Header (scrolled state) -->
57142
+ <div
57143
+ class="transition-all duration-300 ease-in-out overflow-hidden"
57144
+ [class.max-h-0]="!headerScrollService.isScrolled()"
57145
+ [class.opacity-0]="!headerScrollService.isScrolled()"
57146
+ [class.max-h-20]="headerScrollService.isScrolled()"
57147
+ [class.opacity-100]="headerScrollService.isScrolled()">
57148
+ <div
57149
+ class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
57150
+ [class.pointer-events-none]="!headerScrollService.isScrolled()"
57151
+ [class.pointer-events-auto]="headerScrollService.isScrolled()">
57152
+ <div class="flex items-center justify-between">
57153
+ <div class="flex-1 min-w-0 mr-4">
57154
+ <h1 [ngClass]="isLightMode() ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent truncate' : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent truncate'">
57155
+ {{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
57156
+ </h1>
57157
+ </div>
57158
+ <div class="flex items-center gap-4">
57159
+ @if (!isSimplifiedView()) {
57160
+ <div class="flex items-center gap-2 text-sm flex-shrink-0">
57161
+ <span [ngClass]="isLightMode() ? 'text-slate-600 font-medium' : 'text-slate-400 font-medium'" class="transition-opacity duration-300" [class.opacity-0]="sectionTitleFading()" [class.opacity-100]="!sectionTitleFading()">
57162
+ {{ currentSectionTitle() }}
57163
+ </span>
57164
+ @if (currentSubsectionTitle()) {
57165
+ <span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">›</span>
57166
+ <span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">
57167
+ {{ currentSubsectionTitle() }}
57168
+ </span>
57169
+ }
57170
+ </div>
57171
+ }
57172
+ <symphiq-search-button
57173
+ [isLightMode]="isLightMode()"
57174
+ [minimized]="true"
57175
+ (searchClick)="openSearch()"
57176
+ />
57177
+ <button
57178
+ type="button"
57179
+ (click)="openViewModeSwitcher()"
57180
+ [ngClass]="getViewModeButtonClasses()"
57181
+ class="cursor-pointer flex items-center gap-2 px-2 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 hover:scale-105">
57182
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
57183
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
57184
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
57185
+ </svg>
57186
+ </button>
57187
+ </div>
57188
+ </div>
57189
+ </div>
57190
+ </div>
57191
+ </header>
57192
+
57193
+ <main class="relative">
57194
+ @if (isSimplifiedView()) {
57195
+ <!-- Journey Progress Banner - Full Width Sticky (only show when not onboarded) -->
57196
+ @if (!isOnboarded()) {
57197
+ <symphiq-journey-progress-indicator
57198
+ [viewMode]="viewMode()"
57199
+ [currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
57200
+ [showNextStepAction]="showNextStepAction()"
57201
+ [forDemo]="forDemo()"
57202
+ [maxAccessibleStepId]="maxAccessibleStepId()"
57203
+ (stepClick)="stepClick.emit($event)"
57204
+ (nextStepClick)="nextStepClick.emit()"
57205
+ />
57206
+ }
57207
+
57208
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
57209
+ <div class="mb-8">
57210
+ <symphiq-welcome-banner
57211
+ [viewMode]="viewMode()"
57212
+ [businessName]="currentProfile()?.profileStructured?.businessName || 'your business'"
57213
+ [isOnboarded]="isOnboarded()"
57214
+ />
57215
+ </div>
57216
+
57217
+ <div class="mb-8">
57218
+ <symphiq-recommendations-tiled-grid
57219
+ [recommendations]="recommendationItems()"
57220
+ [viewMode]="viewMode()"
57221
+ (viewMoreClick)="openRecommendationDetailsModal($event)"
57222
+ />
57223
+ </div>
57224
+
57225
+ <div>
57226
+ <symphiq-collapsible-section-group
57227
+ [sections]="nonRecommendationSections()"
57228
+ [viewMode]="viewMode()"
57229
+ />
57230
+ </div>
57231
+ </div>
57232
+ } @else {
57233
+ @for (section of sections(); track trackBySectionId($index, section); let idx = $index; let last = $last) {
57234
+ <symphiq-profile-section
57235
+ [section]="section"
57236
+ [viewMode]="viewMode()"
57237
+ [forceExpanded]="!isCompactView()"
57238
+ />
57239
+ @if (!last) {
57240
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
57241
+ <symphiq-section-divider
57242
+ [viewMode]="viewMode()"
57243
+ [subsections]="sections()[idx + 1].subsections || []" />
57244
+ </div>
57245
+ }
57246
+ }
57247
+ }
57248
+ </main>
57249
+
57250
+ @if (!isSimplifiedView()) {
57251
+ <symphiq-section-navigation
57252
+ [sections]="sections()"
57253
+ [viewMode]="viewMode()"
57254
+ [embedded]="embedded()"
57255
+ [scrollElement]="scrollElement() ?? undefined"
57256
+ />
57257
+ }
57258
+
57259
+ @if (!isSimplifiedView()) {
57260
+ <symphiq-floating-toc
57261
+ [sections]="sections()"
57262
+ [viewMode]="viewMode()"
57263
+ [embedded]="embedded()"
57264
+ [scrollElement]="scrollElement() ?? undefined"
57265
+ />
57266
+ }
57267
+
57268
+ <symphiq-floating-back-button
57269
+ [viewMode]="viewMode()"
57270
+ [embedded]="embedded()"
57271
+ />
57272
+ </div>
57273
+
57274
+ @if (isLoading()) {
57275
+ <div [ngClass]="getLoadingOverlayClasses()">
57276
+ <div [ngClass]="getSpinnerClasses()"></div>
57277
+ </div>
57278
+ }
57279
+
57280
+ <symphiq-tooltip-container />
57281
+ <symphiq-business-analysis-modal
57282
+ [isLightMode]="isLightMode()"
57283
+ (viewInContextRequested)="handleViewInContext($event)" />
57284
+
57285
+ <symphiq-search-modal
57286
+ [isLightMode]="isLightMode()"
57287
+ [isOpen]="searchService.isSearchOpen()"
57288
+ [searchQuery]="searchService.getSearchQuery()"
57289
+ [results]="searchService.searchResults()"
57290
+ [hasResults]="searchService.hasResults()"
57291
+ [selectedIndex]="selectedSearchIndex()"
57292
+ [placeholder]="'Search sections, items, and analysis...'"
57293
+ (searchChange)="onSearchChange($event)"
57294
+ (resultSelected)="onSearchResultSelected($event)"
57295
+ (close)="closeSearch()"
57296
+ />
57297
+
57298
+ <symphiq-view-mode-switcher-modal
57299
+ [isOpen]="isViewModeSwitcherOpen()"
57300
+ [currentMode]="displayMode()"
57301
+ [viewMode]="viewMode()"
57302
+ [isLoading]="isViewModeSwitching()"
57303
+ (close)="closeViewModeSwitcher()"
57304
+ (modeSelected)="handleDisplayModeChange($event)"
57305
+ />
57306
+ </div>
57073
57307
  `, styles: [":host{display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-highlight{0%,to{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.02);box-shadow:0 0 20px 8px #3b82f64d}}:host ::ng-deep .search-highlight-pulse{animation:pulse-highlight 2s ease-in-out;border-color:#3b82f6!important}\n"] }]
57074
57308
  }], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], profile: [{ type: i0.Input, args: [{ isSignal: true, alias: "profile", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], onScroll: [{
57075
57309
  type: HostListener,
@@ -57078,7 +57312,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
57078
57312
  type: HostListener,
57079
57313
  args: ['document:keydown', ['$event']]
57080
57314
  }] }); })();
57081
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 302 }); })();
57315
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 303 }); })();
57082
57316
 
57083
57317
  function DashboardHeaderComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
57084
57318
  i0.ɵɵelement(0, "div", 6);