@eric-emg/symphiq-components 1.2.339 → 1.2.341

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.
@@ -3232,7 +3232,7 @@ class DataLoaderService {
3232
3232
  args: [{ providedIn: 'root' }]
3233
3233
  }], () => [{ type: i1.HttpClient }], null); })();
3234
3234
 
3235
- const _c0$18 = a0 => ["skeleton-loader", "rounded-lg", "relative", "overflow-hidden", a0];
3235
+ const _c0$19 = a0 => ["skeleton-loader", "rounded-lg", "relative", "overflow-hidden", a0];
3236
3236
  const _c1$E = a0 => ["skeleton-shimmer-overlay", "absolute", "inset-0", "bg-gradient-to-r", a0];
3237
3237
  class SkeletonLoaderComponent {
3238
3238
  constructor() {
@@ -3249,7 +3249,7 @@ class SkeletonLoaderComponent {
3249
3249
  } if (rf & 2) {
3250
3250
  i0.ɵɵstyleProp("width", ctx.width())("height", ctx.height());
3251
3251
  i0.ɵɵclassProp("skeleton-shimmer", true)("skeleton-pulse", ctx.pulse());
3252
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$18, ctx.isLightMode() ? "bg-slate-200/80" : "bg-slate-700/80"));
3252
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$19, ctx.isLightMode() ? "bg-slate-200/80" : "bg-slate-700/80"));
3253
3253
  i0.ɵɵadvance();
3254
3254
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$E, ctx.isLightMode() ? "from-transparent via-white/60 to-transparent" : "from-transparent via-slate-500/40 to-transparent"));
3255
3255
  } }, 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 }); }
@@ -3289,7 +3289,7 @@ const ChartContainerComponent_Conditional_1_Conditional_13_Defer_2_DepsFn = () =
3289
3289
  const ChartContainerComponent_Conditional_1_Conditional_14_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return barChart_component; }).then(m => m.BarChartComponent)];
3290
3290
  const ChartContainerComponent_Conditional_1_Conditional_15_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return pieChart_component; }).then(m => m.PieChartComponent)];
3291
3291
  const ChartContainerComponent_Conditional_1_Conditional_16_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
3292
- const _c0$17 = (a0, a1) => [a0, a1];
3292
+ const _c0$18 = (a0, a1) => [a0, a1];
3293
3293
  function ChartContainerComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
3294
3294
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 2);
3295
3295
  i0.ɵɵelement(2, "symphiq-skeleton-loader", 3)(3, "symphiq-skeleton-loader", 3);
@@ -3341,7 +3341,7 @@ function ChartContainerComponent_Conditional_1_Conditional_11_Template(rf, ctx)
3341
3341
  i0.ɵɵelementEnd()();
3342
3342
  } if (rf & 2) {
3343
3343
  const ctx_r0 = i0.ɵɵnextContext(2);
3344
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(1, _c0$17, ctx_r0.iconClass(), ctx_r0.isLightMode() ? "bg-white/90 hover:bg-white" : "bg-slate-800/90 hover:bg-slate-800"));
3344
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(1, _c0$18, ctx_r0.iconClass(), ctx_r0.isLightMode() ? "bg-white/90 hover:bg-white" : "bg-slate-800/90 hover:bg-slate-800"));
3345
3345
  } }
3346
3346
  function ChartContainerComponent_Conditional_1_Conditional_13_Defer_0_Template(rf, ctx) { if (rf & 1) {
3347
3347
  i0.ɵɵelement(0, "symphiq-line-chart", 23);
@@ -4943,7 +4943,7 @@ class CompetitivePositioningSummaryComponent {
4943
4943
  }], 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"] }] }); })();
4944
4944
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitivePositioningSummaryComponent, { className: "CompetitivePositioningSummaryComponent", filePath: "lib/components/funnel-analysis-dashboard/competitive-positioning-summary.component.ts", lineNumber: 298 }); })();
4945
4945
 
4946
- const _c0$16 = () => [1, 2, 3, 4];
4946
+ const _c0$17 = () => [1, 2, 3, 4];
4947
4947
  function OverallAssessmentComponent_Conditional_0_For_10_Template(rf, ctx) { if (rf & 1) {
4948
4948
  i0.ɵɵelementStart(0, "div", 9);
4949
4949
  i0.ɵɵelement(1, "symphiq-skeleton-loader", 6)(2, "symphiq-skeleton-loader", 6);
@@ -4977,7 +4977,7 @@ function OverallAssessmentComponent_Conditional_0_Template(rf, ctx) { if (rf & 1
4977
4977
  i0.ɵɵadvance(2);
4978
4978
  i0.ɵɵproperty("width", "100px")("height", "70px")("isLightMode", ctx_r0.isLightMode());
4979
4979
  i0.ɵɵadvance(2);
4980
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(14, _c0$16));
4980
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(14, _c0$17));
4981
4981
  i0.ɵɵadvance(2);
4982
4982
  i0.ɵɵproperty("width", "100%")("height", "200px")("isLightMode", ctx_r0.isLightMode());
4983
4983
  } }
@@ -6192,7 +6192,7 @@ class OverallAssessmentComponent {
6192
6192
  }], 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"] }] }); })();
6193
6193
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OverallAssessmentComponent, { className: "OverallAssessmentComponent", filePath: "lib/components/funnel-analysis-dashboard/overall-assessment.component.ts", lineNumber: 303 }); })();
6194
6194
 
6195
- const _c0$15 = () => [1, 2, 3];
6195
+ const _c0$16 = () => [1, 2, 3];
6196
6196
  const _c1$D = () => [1, 2, 3, 4];
6197
6197
  const _c2$q = () => [];
6198
6198
  function InsightCardComponent_Conditional_0_Conditional_0_For_7_Template(rf, ctx) { if (rf & 1) {
@@ -6230,7 +6230,7 @@ function InsightCardComponent_Conditional_0_Conditional_0_Template(rf, ctx) { if
6230
6230
  i0.ɵɵadvance();
6231
6231
  i0.ɵɵproperty("width", "60%")("height", "20px")("isLightMode", ctx_r0.isLightMode());
6232
6232
  i0.ɵɵadvance();
6233
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(8, _c0$15));
6233
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(8, _c0$16));
6234
6234
  i0.ɵɵadvance(3);
6235
6235
  i0.ɵɵrepeater(i0.ɵɵpureFunction0(9, _c1$D));
6236
6236
  } }
@@ -8930,7 +8930,7 @@ class MetricCardComponent {
8930
8930
  }], () => [], { 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 }] }] }); })();
8931
8931
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricCardComponent, { className: "MetricCardComponent", filePath: "lib/components/funnel-analysis-dashboard/metric-card.component.ts", lineNumber: 537 }); })();
8932
8932
 
8933
- const _c0$14 = () => [1, 2, 3];
8933
+ const _c0$15 = () => [1, 2, 3];
8934
8934
  const _c1$C = (a0, a1, a2) => [a0, a1, a2];
8935
8935
  const _c2$p = (a0, a1) => [a0, a1];
8936
8936
  const _forTrack0$S = ($index, $item) => $item.metric;
@@ -8960,7 +8960,7 @@ function BreakdownSectionComponent_Conditional_0_For_7_Template(rf, ctx) { if (r
8960
8960
  i0.ɵɵadvance();
8961
8961
  i0.ɵɵproperty("width", "30%")("height", "18px")("isLightMode", ctx_r0.isLightMode());
8962
8962
  i0.ɵɵadvance(2);
8963
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(3, _c0$14));
8963
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(3, _c0$15));
8964
8964
  } }
8965
8965
  function BreakdownSectionComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
8966
8966
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 2);
@@ -8979,7 +8979,7 @@ function BreakdownSectionComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
8979
8979
  i0.ɵɵadvance();
8980
8980
  i0.ɵɵproperty("width", "85%")("height", "14px")("isLightMode", ctx_r0.isLightMode());
8981
8981
  i0.ɵɵadvance(2);
8982
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(10, _c0$14));
8982
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(10, _c0$15));
8983
8983
  } }
8984
8984
  function BreakdownSectionComponent_Conditional_1_Conditional_6_For_2_Template(rf, ctx) { if (rf & 1) {
8985
8985
  const _r2 = i0.ɵɵgetCurrentView();
@@ -11507,7 +11507,7 @@ class FunnelWeaknessesListModalContentComponent {
11507
11507
  }], null, { weaknesses: [{ type: i0.Input, args: [{ isSignal: true, alias: "weaknesses", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: true }] }] }); })();
11508
11508
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelWeaknessesListModalContentComponent, { className: "FunnelWeaknessesListModalContentComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-weaknesses-list-modal-content.component.ts", lineNumber: 132 }); })();
11509
11509
 
11510
- const _c0$13 = () => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
11510
+ const _c0$14 = () => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
11511
11511
  function FunnelStrengthDetailModalContentComponent_For_18_Template(rf, ctx) { if (rf & 1) {
11512
11512
  i0.ɵɵelement(0, "div", 12);
11513
11513
  } if (rf & 2) {
@@ -11783,7 +11783,7 @@ class FunnelStrengthDetailModalContentComponent {
11783
11783
  i0.ɵɵadvance();
11784
11784
  i0.ɵɵproperty("ngClass", ctx.impactScoreLabelClasses());
11785
11785
  i0.ɵɵadvance(3);
11786
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(35, _c0$13));
11786
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(35, _c0$14));
11787
11787
  i0.ɵɵadvance(2);
11788
11788
  i0.ɵɵproperty("ngClass", ctx.titleClasses());
11789
11789
  i0.ɵɵadvance();
@@ -11959,7 +11959,7 @@ class FunnelStrengthDetailModalContentComponent {
11959
11959
  }], 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 }] }] }); })();
11960
11960
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelStrengthDetailModalContentComponent, { className: "FunnelStrengthDetailModalContentComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-strength-detail-modal-content.component.ts", lineNumber: 128 }); })();
11961
11961
 
11962
- const _c0$12 = () => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
11962
+ const _c0$13 = () => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
11963
11963
  function FunnelWeaknessDetailModalContentComponent_For_27_Template(rf, ctx) { if (rf & 1) {
11964
11964
  i0.ɵɵelement(0, "div", 17);
11965
11965
  } if (rf & 2) {
@@ -12470,7 +12470,7 @@ class FunnelWeaknessDetailModalContentComponent {
12470
12470
  i0.ɵɵadvance();
12471
12471
  i0.ɵɵproperty("ngClass", ctx.impactScoreLabelClasses());
12472
12472
  i0.ɵɵadvance(3);
12473
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(49, _c0$12));
12473
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(49, _c0$13));
12474
12474
  i0.ɵɵadvance(2);
12475
12475
  i0.ɵɵproperty("ngClass", ctx.titleClasses());
12476
12476
  i0.ɵɵadvance();
@@ -12931,7 +12931,7 @@ class ProfileItemLookupService {
12931
12931
  }]
12932
12932
  }], null, null); })();
12933
12933
 
12934
- const _c0$11 = a0 => ({ name: "chevron-right", source: a0 });
12934
+ const _c0$12 = a0 => ({ name: "chevron-right", source: a0 });
12935
12935
  const _forTrack0$P = ($index, $item) => $item.id;
12936
12936
  function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
12937
12937
  const _r1 = i0.ɵɵgetCurrentView();
@@ -12949,7 +12949,7 @@ function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (r
12949
12949
  i0.ɵɵadvance(2);
12950
12950
  i0.ɵɵtextInterpolate(item_r2.label);
12951
12951
  i0.ɵɵadvance();
12952
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$11, ctx_r2.IconSourceEnum.HEROICONS));
12952
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$12, ctx_r2.IconSourceEnum.HEROICONS));
12953
12953
  } }
12954
12954
  function RelatedAreaChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
12955
12955
  i0.ɵɵelementStart(0, "div", 0);
@@ -13033,7 +13033,7 @@ class RelatedAreaChipsComponent {
13033
13033
  }], 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 }] }] }); })();
13034
13034
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RelatedAreaChipsComponent, { className: "RelatedAreaChipsComponent", filePath: "lib/components/business-analysis-dashboard/shared/related-area-chips.component.ts", lineNumber: 31 }); })();
13035
13035
 
13036
- const _c0$10 = a0 => ({ name: "chevron-right", source: a0 });
13036
+ const _c0$11 = a0 => ({ name: "chevron-right", source: a0 });
13037
13037
  function CompetitorChipListComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
13038
13038
  const _r1 = i0.ɵɵgetCurrentView();
13039
13039
  i0.ɵɵelementStart(0, "button", 2);
@@ -13050,7 +13050,7 @@ function CompetitorChipListComponent_Conditional_0_For_2_Template(rf, ctx) { if
13050
13050
  i0.ɵɵadvance(2);
13051
13051
  i0.ɵɵtextInterpolate(ctx_r2.getItemLabel(item_r2));
13052
13052
  i0.ɵɵadvance();
13053
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$10, ctx_r2.IconSourceEnum.HEROICONS));
13053
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$11, ctx_r2.IconSourceEnum.HEROICONS));
13054
13054
  } }
13055
13055
  function CompetitorChipListComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
13056
13056
  i0.ɵɵelementStart(0, "div", 0);
@@ -13451,7 +13451,7 @@ class CompetitorContextSectionComponent {
13451
13451
  }], 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"] }] }); })();
13452
13452
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorContextSectionComponent, { className: "CompetitorContextSectionComponent", filePath: "lib/components/business-analysis-dashboard/cards/competitor-context-section.component.ts", lineNumber: 86 }); })();
13453
13453
 
13454
- const _c0$$ = a0 => ({ name: "chevron-right", source: a0 });
13454
+ const _c0$10 = a0 => ({ name: "chevron-right", source: a0 });
13455
13455
  const _forTrack0$N = ($index, $item) => $item.id;
13456
13456
  function RelatedRecommendationChipsComponent_Conditional_0_For_3_Template(rf, ctx) { if (rf & 1) {
13457
13457
  const _r1 = i0.ɵɵgetCurrentView();
@@ -13472,7 +13472,7 @@ function RelatedRecommendationChipsComponent_Conditional_0_For_3_Template(rf, ct
13472
13472
  i0.ɵɵadvance(2);
13473
13473
  i0.ɵɵtextInterpolate(rec_r2.title);
13474
13474
  i0.ɵɵadvance();
13475
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$$, ctx_r2.IconSourceEnum.HEROICONS));
13475
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$10, ctx_r2.IconSourceEnum.HEROICONS));
13476
13476
  } }
13477
13477
  function RelatedRecommendationChipsComponent_Conditional_0_Conditional_4_Template(rf, ctx) { if (rf & 1) {
13478
13478
  const _r4 = i0.ɵɵgetCurrentView();
@@ -20441,7 +20441,7 @@ class MarkdownTooltipComponent {
20441
20441
  }], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }] }); })();
20442
20442
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MarkdownTooltipComponent, { className: "MarkdownTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/markdown-tooltip.component.ts", lineNumber: 69 }); })();
20443
20443
 
20444
- const _c0$_ = () => [];
20444
+ const _c0$$ = () => [];
20445
20445
  function TooltipContainerComponent_Conditional_0_Case_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
20446
20446
  i0.ɵɵelement(0, "symphiq-metric-value-tooltip", 6);
20447
20447
  } if (rf & 2) {
@@ -20605,7 +20605,7 @@ function TooltipContainerComponent_Conditional_0_Case_15_Conditional_1_Template(
20605
20605
  } if (rf & 2) {
20606
20606
  i0.ɵɵnextContext(2);
20607
20607
  const content_r4 = i0.ɵɵreadContextLet(2);
20608
- i0.ɵɵrepeater(content_r4["sections"] || i0.ɵɵpureFunction0(0, _c0$_));
20608
+ i0.ɵɵrepeater(content_r4["sections"] || i0.ɵɵpureFunction0(0, _c0$$));
20609
20609
  } }
20610
20610
  function TooltipContainerComponent_Conditional_0_Case_15_Template(rf, ctx) { if (rf & 1) {
20611
20611
  i0.ɵɵelementStart(0, "div", 3);
@@ -21711,7 +21711,7 @@ class SearchService {
21711
21711
  }]
21712
21712
  }], null, null); })();
21713
21713
 
21714
- const _c0$Z = ["searchInput"];
21714
+ const _c0$_ = ["searchInput"];
21715
21715
  const _forTrack0$H = ($index, $item) => $item.id;
21716
21716
  function SearchBarComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
21717
21717
  const _r3 = i0.ɵɵgetCurrentView();
@@ -22073,7 +22073,7 @@ class SearchBarComponent {
22073
22073
  }
22074
22074
  static { this.ɵfac = function SearchBarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchBarComponent)(); }; }
22075
22075
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBarComponent, selectors: [["symphiq-search-bar"]], viewQuery: function SearchBarComponent_Query(rf, ctx) { if (rf & 1) {
22076
- i0.ɵɵviewQuery(_c0$Z, 5);
22076
+ i0.ɵɵviewQuery(_c0$_, 5);
22077
22077
  } if (rf & 2) {
22078
22078
  let _t;
22079
22079
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchInput = _t.first);
@@ -25756,7 +25756,7 @@ class FunnelWelcomeBannerComponent {
25756
25756
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }] }); })();
25757
25757
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelWelcomeBannerComponent, { className: "FunnelWelcomeBannerComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-welcome-banner.component.ts", lineNumber: 113 }); })();
25758
25758
 
25759
- const _c0$Y = [[["", "slot", "overall-performance"]], [["", "slot", "performance-metrics"]], [["", "slot", "performance-breakdowns"]], [["", "slot", "competitive-intelligence"]]];
25759
+ const _c0$Z = [[["", "slot", "overall-performance"]], [["", "slot", "performance-metrics"]], [["", "slot", "performance-breakdowns"]], [["", "slot", "competitive-intelligence"]]];
25760
25760
  const _c1$B = ["[slot=overall-performance]", "[slot=performance-metrics]", "[slot=performance-breakdowns]", "[slot=competitive-intelligence]"];
25761
25761
  class CollapsibleFunnelSectionGroupComponent {
25762
25762
  constructor() {
@@ -25889,7 +25889,7 @@ class CollapsibleFunnelSectionGroupComponent {
25889
25889
  }
25890
25890
  static { this.ɵfac = function CollapsibleFunnelSectionGroupComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CollapsibleFunnelSectionGroupComponent)(); }; }
25891
25891
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollapsibleFunnelSectionGroupComponent, selectors: [["symphiq-collapsible-funnel-section-group"]], inputs: { viewMode: [1, "viewMode"] }, ngContentSelectors: _c1$B, 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) {
25892
- i0.ɵɵprojectionDef(_c0$Y);
25892
+ i0.ɵɵprojectionDef(_c0$Z);
25893
25893
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4);
25894
25894
  i0.ɵɵnamespaceSVG();
25895
25895
  i0.ɵɵelementStart(5, "svg", 5);
@@ -26732,7 +26732,7 @@ class ViewModeSwitcherModalComponent {
26732
26732
  }], 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"] }] }); })();
26733
26733
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ViewModeSwitcherModalComponent, { className: "ViewModeSwitcherModalComponent", filePath: "lib/components/shared/view-mode-switcher-modal.component.ts", lineNumber: 160 }); })();
26734
26734
 
26735
- const _c0$X = a0 => ({ name: "check-badge", source: a0 });
26735
+ const _c0$Y = a0 => ({ name: "check-badge", source: a0 });
26736
26736
  const _c1$A = a0 => ({ name: "check-circle", source: a0 });
26737
26737
  const _c2$o = a0 => ({ name: "chevron-right", source: a0 });
26738
26738
  const _forTrack0$D = ($index, $item) => $item.area;
@@ -26749,7 +26749,7 @@ function KeyStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) {
26749
26749
  const ctx_r0 = i0.ɵɵnextContext();
26750
26750
  i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
26751
26751
  i0.ɵɵadvance();
26752
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$X, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
26752
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$Y, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
26753
26753
  i0.ɵɵadvance();
26754
26754
  i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
26755
26755
  i0.ɵɵadvance(2);
@@ -26964,7 +26964,7 @@ class KeyStrengthsListModalContentComponent {
26964
26964
  }], null, { keyStrengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "keyStrengths", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }] }); })();
26965
26965
  (() => { (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 }); })();
26966
26966
 
26967
- const _c0$W = a0 => ({ name: "shield-check", source: a0 });
26967
+ const _c0$X = a0 => ({ name: "shield-check", source: a0 });
26968
26968
  const _c1$z = a0 => ({ name: "exclamation-triangle", source: a0 });
26969
26969
  const _c2$n = a0 => ({ name: "document-text", source: a0 });
26970
26970
  const _c3$h = a0 => ({ name: "chevron-right", source: a0 });
@@ -26982,7 +26982,7 @@ function CriticalGapsListModalContentComponent_Conditional_1_Template(rf, ctx) {
26982
26982
  const ctx_r0 = i0.ɵɵnextContext();
26983
26983
  i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
26984
26984
  i0.ɵɵadvance();
26985
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$W, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
26985
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$X, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
26986
26986
  i0.ɵɵadvance();
26987
26987
  i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
26988
26988
  i0.ɵɵadvance(2);
@@ -27280,7 +27280,7 @@ class CriticalGapsListModalContentComponent {
27280
27280
  }], null, { criticalGaps: [{ type: i0.Input, args: [{ isSignal: true, alias: "criticalGaps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }] }); })();
27281
27281
  (() => { (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 }); })();
27282
27282
 
27283
- const _c0$V = a0 => ({ name: "check-circle", source: a0 });
27283
+ const _c0$W = a0 => ({ name: "check-circle", source: a0 });
27284
27284
  const _c1$y = a0 => ({ name: "chat-bubble-left-right", source: a0 });
27285
27285
  const _forTrack0$B = ($index, $item) => $item.questionId;
27286
27286
  function KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
@@ -27336,7 +27336,7 @@ function KeyStrengthDetailModalContentComponent_Conditional_13_Template(rf, ctx)
27336
27336
  i0.ɵɵadvance();
27337
27337
  i0.ɵɵproperty("ngClass", ctx_r1.sectionTitleClasses());
27338
27338
  i0.ɵɵadvance();
27339
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$V, ctx_r1.IconSourceEnum.HEROICONS))("ngClass", ctx_r1.sectionIconClasses());
27339
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$W, ctx_r1.IconSourceEnum.HEROICONS))("ngClass", ctx_r1.sectionIconClasses());
27340
27340
  i0.ɵɵadvance(3);
27341
27341
  i0.ɵɵrepeater(ctx_r1.strength().supportingAnswers);
27342
27342
  } }
@@ -27521,7 +27521,7 @@ class KeyStrengthDetailModalContentComponent {
27521
27521
  }], null, { strength: [{ type: i0.Input, args: [{ isSignal: true, alias: "strength", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }] }); })();
27522
27522
  (() => { (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 }); })();
27523
27523
 
27524
- const _c0$U = a0 => ({ name: "exclamation-triangle", source: a0 });
27524
+ const _c0$V = a0 => ({ name: "exclamation-triangle", source: a0 });
27525
27525
  const _c1$x = a0 => ({ name: "document-text", source: a0 });
27526
27526
  const _c2$m = a0 => ({ name: "chat-bubble-left-right", source: a0 });
27527
27527
  const _forTrack0$A = ($index, $item) => $item.questionId;
@@ -27799,7 +27799,7 @@ class CriticalGapDetailModalContentComponent {
27799
27799
  i0.ɵɵadvance();
27800
27800
  i0.ɵɵproperty("ngClass", ctx.impactSectionClasses());
27801
27801
  i0.ɵɵadvance(2);
27802
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(15, _c0$U, ctx.IconSourceEnum.HEROICONS))("ngClass", ctx.impactIconClasses());
27802
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(15, _c0$V, ctx.IconSourceEnum.HEROICONS))("ngClass", ctx.impactIconClasses());
27803
27803
  i0.ɵɵadvance(2);
27804
27804
  i0.ɵɵproperty("ngClass", ctx.impactTitleClasses());
27805
27805
  i0.ɵɵadvance(2);
@@ -29384,7 +29384,7 @@ class TopPriorityDetailModalContentComponent {
29384
29384
  }], 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 }] }] }); })();
29385
29385
  (() => { (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 }); })();
29386
29386
 
29387
- const _c0$T = a0 => ({ name: "check-badge", source: a0 });
29387
+ const _c0$U = a0 => ({ name: "check-badge", source: a0 });
29388
29388
  const _c1$w = a0 => ({ name: "check-circle", source: a0 });
29389
29389
  const _c2$l = a0 => ({ name: "chevron-right", source: a0 });
29390
29390
  const _c3$g = a0 => ({ name: "chart-bar", source: a0 });
@@ -29402,7 +29402,7 @@ function FocusAreaStrengthsListModalContentComponent_Conditional_1_Template(rf,
29402
29402
  const ctx_r0 = i0.ɵɵnextContext();
29403
29403
  i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
29404
29404
  i0.ɵɵadvance();
29405
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$T, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
29405
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$U, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
29406
29406
  i0.ɵɵadvance();
29407
29407
  i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
29408
29408
  i0.ɵɵadvance(2);
@@ -29707,7 +29707,7 @@ class FocusAreaStrengthsListModalContentComponent {
29707
29707
  }], 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 }] }] }); })();
29708
29708
  (() => { (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 }); })();
29709
29709
 
29710
- const _c0$S = a0 => ({ name: "exclamation-triangle", source: a0 });
29710
+ const _c0$T = a0 => ({ name: "exclamation-triangle", source: a0 });
29711
29711
  const _c1$v = a0 => ({ name: "exclamation-circle", source: a0 });
29712
29712
  const _c2$k = a0 => ({ name: "chevron-right", source: a0 });
29713
29713
  function _forTrack0$y($index, $item) { return this.getGapTitle($item); }
@@ -29724,7 +29724,7 @@ function FocusAreaGapsListModalContentComponent_Conditional_1_Template(rf, ctx)
29724
29724
  const ctx_r0 = i0.ɵɵnextContext();
29725
29725
  i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
29726
29726
  i0.ɵɵadvance();
29727
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$S, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
29727
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$T, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
29728
29728
  i0.ɵɵadvance();
29729
29729
  i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
29730
29730
  i0.ɵɵadvance(2);
@@ -30101,7 +30101,7 @@ class FocusAreaGapsListModalContentComponent {
30101
30101
  }], 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 }] }] }); })();
30102
30102
  (() => { (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 }); })();
30103
30103
 
30104
- const _c0$R = a0 => ({ name: "light-bulb", source: a0 });
30104
+ const _c0$S = a0 => ({ name: "light-bulb", source: a0 });
30105
30105
  const _c1$u = a0 => ({ name: "chevron-right", source: a0 });
30106
30106
  const _c2$j = a0 => ({ name: "chart-bar", source: a0 });
30107
30107
  const _forTrack0$x = ($index, $item) => $item.opportunity;
@@ -30118,7 +30118,7 @@ function FocusAreaOpportunitiesListModalContentComponent_Conditional_1_Template(
30118
30118
  const ctx_r0 = i0.ɵɵnextContext();
30119
30119
  i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
30120
30120
  i0.ɵɵadvance();
30121
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$R, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
30121
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$S, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
30122
30122
  i0.ɵɵadvance();
30123
30123
  i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
30124
30124
  i0.ɵɵadvance(2);
@@ -30370,7 +30370,7 @@ class FocusAreaOpportunitiesListModalContentComponent {
30370
30370
  }], 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 }] }] }); })();
30371
30371
  (() => { (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 }); })();
30372
30372
 
30373
- const _c0$Q = a0 => ({ name: "chevron-right", source: a0 });
30373
+ const _c0$R = a0 => ({ name: "chevron-right", source: a0 });
30374
30374
  const _c1$t = a0 => ({ name: "chat-bubble-left-right", source: a0 });
30375
30375
  const _forTrack0$w = ($index, $item) => $item.performanceItemId;
30376
30376
  function FocusAreaStrengthDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
@@ -30435,7 +30435,7 @@ function FocusAreaStrengthDetailModalContentComponent_Conditional_4_For_5_Templa
30435
30435
  i0.ɵɵadvance(2);
30436
30436
  i0.ɵɵtextInterpolate(ctx_r0.formatMetricName(metric_r3.metric || ""));
30437
30437
  i0.ɵɵadvance();
30438
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$Q, ctx_r0.IconSourceEnum.HEROICONS));
30438
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$R, ctx_r0.IconSourceEnum.HEROICONS));
30439
30439
  } }
30440
30440
  function FocusAreaStrengthDetailModalContentComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
30441
30441
  i0.ɵɵelementStart(0, "div", 1)(1, "h4", 8);
@@ -30755,7 +30755,7 @@ class FocusAreaStrengthDetailModalContentComponent {
30755
30755
  }], 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 }] }] }); })();
30756
30756
  (() => { (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 }); })();
30757
30757
 
30758
- const _c0$P = a0 => ({ name: "chat-bubble-left-right", source: a0 });
30758
+ const _c0$Q = a0 => ({ name: "chat-bubble-left-right", source: a0 });
30759
30759
  function FocusAreaGapDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
30760
30760
  i0.ɵɵelementStart(0, "div", 1)(1, "span", 3);
30761
30761
  i0.ɵɵtext(2);
@@ -30852,7 +30852,7 @@ function FocusAreaGapDetailModalContentComponent_Conditional_6_For_5_Template(rf
30852
30852
  const ctx_r0 = i0.ɵɵnextContext(2);
30853
30853
  i0.ɵɵproperty("ngClass", ctx_r0.answerClasses());
30854
30854
  i0.ɵɵadvance(2);
30855
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$P, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.answerIconClasses());
30855
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$Q, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.answerIconClasses());
30856
30856
  i0.ɵɵadvance();
30857
30857
  i0.ɵɵproperty("ngClass", ctx_r0.answerQuestionClasses());
30858
30858
  i0.ɵɵadvance();
@@ -31091,7 +31091,7 @@ class FocusAreaGapDetailModalContentComponent {
31091
31091
  }], 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 }] }] }); })();
31092
31092
  (() => { (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 }); })();
31093
31093
 
31094
- const _c0$O = a0 => ({ name: "chevron-right", source: a0 });
31094
+ const _c0$P = a0 => ({ name: "chevron-right", source: a0 });
31095
31095
  const _c1$s = () => [];
31096
31096
  const _forTrack0$v = ($index, $item) => $item.performanceItemId;
31097
31097
  function FocusAreaOpportunityDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
@@ -31138,7 +31138,7 @@ function FocusAreaOpportunityDetailModalContentComponent_Conditional_3_For_5_Tem
31138
31138
  i0.ɵɵadvance(2);
31139
31139
  i0.ɵɵtextInterpolate(ctx_r0.formatMetricName(metric_r3.metric || ""));
31140
31140
  i0.ɵɵadvance();
31141
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$O, ctx_r0.IconSourceEnum.HEROICONS));
31141
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$P, ctx_r0.IconSourceEnum.HEROICONS));
31142
31142
  } }
31143
31143
  function FocusAreaOpportunityDetailModalContentComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
31144
31144
  i0.ɵɵelementStart(0, "div", 1)(1, "h4", 5);
@@ -31543,7 +31543,7 @@ class CircularProgressComponent {
31543
31543
  }], 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 }] }] }); })();
31544
31544
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CircularProgressComponent, { className: "CircularProgressComponent", filePath: "lib/components/business-analysis-dashboard/visualizations/circular-progress.component.ts", lineNumber: 41 }); })();
31545
31545
 
31546
- const _c0$N = ["*"];
31546
+ const _c0$O = ["*"];
31547
31547
  const _c1$r = (a0, a1) => [a0, a1];
31548
31548
  function VisualizationContainerComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
31549
31549
  const _r1 = i0.ɵɵgetCurrentView();
@@ -31588,7 +31588,7 @@ class VisualizationContainerComponent {
31588
31588
  });
31589
31589
  }
31590
31590
  static { this.ɵfac = function VisualizationContainerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || VisualizationContainerComponent)(); }; }
31591
- 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$N, 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) {
31591
+ 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$O, 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) {
31592
31592
  i0.ɵɵprojectionDef();
31593
31593
  i0.ɵɵelementStart(0, "div", 0);
31594
31594
  i0.ɵɵlistener("click", function VisualizationContainerComponent_Template_div_click_0_listener($event) { return ctx.onVisualizationClick($event); });
@@ -31709,7 +31709,7 @@ class MetricBadgeComponent {
31709
31709
  }], 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 }] }] }); })();
31710
31710
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricBadgeComponent, { className: "MetricBadgeComponent", filePath: "lib/components/business-analysis-dashboard/badges/metric-badge.component.ts", lineNumber: 22 }); })();
31711
31711
 
31712
- const _c0$M = a0 => ({ name: "light-bulb", source: a0 });
31712
+ const _c0$N = a0 => ({ name: "light-bulb", source: a0 });
31713
31713
  const _c1$q = a0 => ({ name: "chevron-right", source: a0 });
31714
31714
  function OpportunityHighlightBannerComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
31715
31715
  i0.ɵɵelementStart(0, "p", 7);
@@ -31774,7 +31774,7 @@ class OpportunityHighlightBannerComponent {
31774
31774
  i0.ɵɵadvance();
31775
31775
  i0.ɵɵproperty("ngClass", ctx.iconContainerClasses());
31776
31776
  i0.ɵɵadvance();
31777
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(11, _c0$M, ctx.iconSource));
31777
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(11, _c0$N, ctx.iconSource));
31778
31778
  i0.ɵɵadvance(3);
31779
31779
  i0.ɵɵproperty("ngClass", ctx.titleClasses());
31780
31780
  i0.ɵɵadvance();
@@ -31831,7 +31831,7 @@ class OpportunityHighlightBannerComponent {
31831
31831
  }], 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"] }] }); })();
31832
31832
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OpportunityHighlightBannerComponent, { className: "OpportunityHighlightBannerComponent", filePath: "lib/components/business-analysis-dashboard/banners/opportunity-highlight-banner.component.ts", lineNumber: 44 }); })();
31833
31833
 
31834
- const _c0$L = a0 => ({ name: "users", source: a0 });
31834
+ const _c0$M = a0 => ({ name: "users", source: a0 });
31835
31835
  function CompetitorOverlapVisualizationComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
31836
31836
  i0.ɵɵelementStart(0, "div", 5)(1, "div", 6);
31837
31837
  i0.ɵɵelement(2, "symphiq-icon", 7);
@@ -31846,7 +31846,7 @@ function CompetitorOverlapVisualizationComponent_Conditional_18_Template(rf, ctx
31846
31846
  i0.ɵɵadvance();
31847
31847
  i0.ɵɵproperty("ngClass", ctx_r0.competitorListLabelClasses());
31848
31848
  i0.ɵɵadvance();
31849
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$L, ctx_r0.iconSource));
31849
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$M, ctx_r0.iconSource));
31850
31850
  i0.ɵɵadvance(3);
31851
31851
  i0.ɵɵproperty("relatedCompetitorIds", ctx_r0.relatedCompetitorIds())("viewMode", ctx_r0.isDark() ? ctx_r0.ViewModeEnum.DARK : ctx_r0.ViewModeEnum.LIGHT)("isDark", ctx_r0.isDark());
31852
31852
  } }
@@ -32410,7 +32410,7 @@ class ViewportAnimationDirective {
32410
32410
  type: Input
32411
32411
  }] }); })();
32412
32412
 
32413
- const _c0$K = a0 => ({ name: "star", source: a0 });
32413
+ const _c0$L = a0 => ({ name: "star", source: a0 });
32414
32414
  const _c1$p = a0 => ({ name: "globe-americas", source: a0 });
32415
32415
  const _c2$i = a0 => ({ name: "academic-cap", source: a0 });
32416
32416
  const _c3$f = a0 => ({ name: "information-circle", source: a0 });
@@ -32446,7 +32446,7 @@ function RegionCardComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
32446
32446
  i0.ɵɵelement(0, "symphiq-metric-badge", 13);
32447
32447
  } if (rf & 2) {
32448
32448
  const ctx_r0 = i0.ɵɵnextContext();
32449
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(2, _c0$K, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
32449
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(2, _c0$L, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
32450
32450
  } }
32451
32451
  function RegionCardComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
32452
32452
  i0.ɵɵelement(0, "symphiq-metric-badge", 14);
@@ -33488,7 +33488,7 @@ class CompetitiveInsightBadgeComponent {
33488
33488
  }], 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 }] }] }); })();
33489
33489
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveInsightBadgeComponent, { className: "CompetitiveInsightBadgeComponent", filePath: "lib/components/business-analysis-dashboard/badges/competitive-insight-badge.component.ts", lineNumber: 25 }); })();
33490
33490
 
33491
- const _c0$J = a0 => ({ name: "calendar-days", source: a0 });
33491
+ const _c0$K = a0 => ({ name: "calendar-days", source: a0 });
33492
33492
  const _c1$o = a0 => ({ name: "chart-bar", source: a0 });
33493
33493
  const _c2$h = a0 => ({ name: "academic-cap", source: a0 });
33494
33494
  const _c3$e = a0 => ({ name: "information-circle", source: a0 });
@@ -33509,7 +33509,7 @@ function SeasonCardComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
33509
33509
  i0.ɵɵelement(0, "symphiq-metric-badge", 12);
33510
33510
  } if (rf & 2) {
33511
33511
  const ctx_r0 = i0.ɵɵnextContext();
33512
- i0.ɵɵproperty("label", ctx_r0.formatMonthRange())("icon", i0.ɵɵpureFunction1(3, _c0$J, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
33512
+ i0.ɵɵproperty("label", ctx_r0.formatMonthRange())("icon", i0.ɵɵpureFunction1(3, _c0$K, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
33513
33513
  } }
33514
33514
  function SeasonCardComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
33515
33515
  i0.ɵɵelement(0, "symphiq-metric-badge", 13);
@@ -34326,7 +34326,7 @@ class SeasonCardComponent {
34326
34326
  }] }); })();
34327
34327
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SeasonCardComponent, { className: "SeasonCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/season-card.component.ts", lineNumber: 270 }); })();
34328
34328
 
34329
- const _c0$I = a0 => ({ name: "currency-dollar", source: a0 });
34329
+ const _c0$J = a0 => ({ name: "currency-dollar", source: a0 });
34330
34330
  const _c1$n = a0 => ({ name: "chart-bar", source: a0 });
34331
34331
  const _c2$g = a0 => ({ name: "academic-cap", source: a0 });
34332
34332
  const _c3$d = a0 => ({ name: "information-circle", source: a0 });
@@ -34471,7 +34471,7 @@ function CustomerSegmentCardComponent_Conditional_22_Template(rf, ctx) { if (rf
34471
34471
  const ctx_r0 = i0.ɵɵnextContext();
34472
34472
  i0.ɵɵproperty("ngClass", ctx_r0.getExpandedSectionClasses());
34473
34473
  i0.ɵɵadvance();
34474
- i0.ɵɵproperty("label", ctx_r0.formatPercentage(ctx_r0.item().percentageOfRevenue) + " of Revenue")("icon", i0.ɵɵpureFunction1(4, _c0$I, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
34474
+ i0.ɵɵproperty("label", ctx_r0.formatPercentage(ctx_r0.item().percentageOfRevenue) + " of Revenue")("icon", i0.ɵɵpureFunction1(4, _c0$J, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
34475
34475
  } }
34476
34476
  function CustomerSegmentCardComponent_Conditional_23_Conditional_5_Template(rf, ctx) { if (rf & 1) {
34477
34477
  const _r5 = i0.ɵɵgetCurrentView();
@@ -35443,7 +35443,7 @@ class CustomerSegmentCardComponent {
35443
35443
  }] }); })();
35444
35444
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CustomerSegmentCardComponent, { className: "CustomerSegmentCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/customer-segment-card.component.ts", lineNumber: 366 }); })();
35445
35445
 
35446
- const _c0$H = a0 => ({ name: "currency-dollar", source: a0 });
35446
+ const _c0$I = a0 => ({ name: "currency-dollar", source: a0 });
35447
35447
  const _c1$m = a0 => ({ name: "document-text", source: a0 });
35448
35448
  const _c2$f = a0 => ({ name: "academic-cap", source: a0 });
35449
35449
  const _c3$c = a0 => ({ name: "information-circle", source: a0 });
@@ -35541,7 +35541,7 @@ function PriceTierCardComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
35541
35541
  const ctx_r0 = i0.ɵɵnextContext();
35542
35542
  i0.ɵɵproperty("ngClass", ctx_r0.getExpandedSectionClasses());
35543
35543
  i0.ɵɵadvance(2);
35544
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$H, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
35544
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$I, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
35545
35545
  i0.ɵɵadvance();
35546
35546
  i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
35547
35547
  i0.ɵɵadvance(2);
@@ -36280,7 +36280,7 @@ class PriceTierCardComponent {
36280
36280
  }] }); })();
36281
36281
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PriceTierCardComponent, { className: "PriceTierCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/price-tier-card.component.ts", lineNumber: 261 }); })();
36282
36282
 
36283
- const _c0$G = () => ({ name: "cube", source: "HEROICONS" });
36283
+ const _c0$H = () => ({ name: "cube", source: "HEROICONS" });
36284
36284
  const _c1$l = () => ({ name: "currency-dollar", source: "HEROICONS" });
36285
36285
  const _c2$e = () => ({ name: "chart-bar", source: "HEROICONS" });
36286
36286
  const _c3$b = a0 => ({ name: "chart-bar", source: a0 });
@@ -36327,7 +36327,7 @@ function ProductCategoryCardComponent_Conditional_14_Conditional_2_Template(rf,
36327
36327
  const ctx_r0 = i0.ɵɵnextContext(2);
36328
36328
  i0.ɵɵproperty("ngClass", ctx_r0.getStatBoxClasses());
36329
36329
  i0.ɵɵadvance(2);
36330
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(6, _c0$G))("ngClass", ctx_r0.getStatIconClasses());
36330
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(6, _c0$H))("ngClass", ctx_r0.getStatIconClasses());
36331
36331
  i0.ɵɵadvance(2);
36332
36332
  i0.ɵɵproperty("ngClass", ctx_r0.getStatLabelClasses());
36333
36333
  i0.ɵɵadvance(2);
@@ -37275,13 +37275,13 @@ class ProductCategoryCardComponent {
37275
37275
  }] }); })();
37276
37276
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProductCategoryCardComponent, { className: "ProductCategoryCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/product-category-card.component.ts", lineNumber: 324 }); })();
37277
37277
 
37278
- const _c0$F = (a0, a1) => ({ name: a0, source: a1 });
37278
+ const _c0$G = (a0, a1) => ({ name: a0, source: a1 });
37279
37279
  function CompetitiveStrengthIndicatorComponent_For_3_Template(rf, ctx) { if (rf & 1) {
37280
37280
  i0.ɵɵelement(0, "symphiq-icon", 2);
37281
37281
  } if (rf & 2) {
37282
37282
  const star_r1 = ctx.$implicit;
37283
37283
  const ctx_r1 = i0.ɵɵnextContext();
37284
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(2, _c0$F, star_r1.filled ? "star" : "star", ctx_r1.iconSource))("ngClass", star_r1.filled ? ctx_r1.filledStarClasses() : ctx_r1.emptyStarClasses());
37284
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(2, _c0$G, star_r1.filled ? "star" : "star", ctx_r1.iconSource))("ngClass", star_r1.filled ? ctx_r1.filledStarClasses() : ctx_r1.emptyStarClasses());
37285
37285
  } }
37286
37286
  class CompetitiveStrengthIndicatorComponent {
37287
37287
  constructor() {
@@ -37437,7 +37437,7 @@ function getCategoryBadgeClasses(category, isDark) {
37437
37437
  return `px-3 py-1 rounded-full text-xs font-semibold whitespace-nowrap ${colorClasses}`;
37438
37438
  }
37439
37439
 
37440
- const _c0$E = a0 => ({ name: "shield-check", source: a0 });
37440
+ const _c0$F = a0 => ({ name: "shield-check", source: a0 });
37441
37441
  const _c1$k = a0 => ({ name: "building-storefront", source: a0 });
37442
37442
  const _c2$d = a0 => ({ name: "academic-cap", source: a0 });
37443
37443
  const _c3$a = a0 => ({ name: "information-circle", source: a0 });
@@ -37509,7 +37509,7 @@ function EnhancedListItemCardComponent_Conditional_21_Template(rf, ctx) { if (rf
37509
37509
  const ctx_r0 = i0.ɵɵnextContext();
37510
37510
  i0.ɵɵproperty("ngClass", ctx_r0.getExpandedSectionClasses());
37511
37511
  i0.ɵɵadvance(2);
37512
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$E, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
37512
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$F, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
37513
37513
  i0.ɵɵadvance();
37514
37514
  i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
37515
37515
  i0.ɵɵadvance(2);
@@ -38153,7 +38153,7 @@ class EnhancedListItemCardComponent {
38153
38153
  }] }); })();
38154
38154
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EnhancedListItemCardComponent, { className: "EnhancedListItemCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/enhanced-list-item-card.component.ts", lineNumber: 221 }); })();
38155
38155
 
38156
- const _c0$D = a0 => ({ name: "academic-cap", source: a0 });
38156
+ const _c0$E = a0 => ({ name: "academic-cap", source: a0 });
38157
38157
  const _c1$j = a0 => ({ name: "information-circle", source: a0 });
38158
38158
  const _c2$c = a0 => ({ name: "signal", source: a0 });
38159
38159
  const _c3$9 = a0 => ({ name: "wrench-screwdriver", source: a0 });
@@ -38234,7 +38234,7 @@ function FocusAreaDetailCardComponent_Conditional_16_Conditional_5_Template(rf,
38234
38234
  const ctx_r0 = i0.ɵɵnextContext(2);
38235
38235
  i0.ɵɵproperty("ngClass", ctx_r0.getCompetitiveGapSectionClasses());
38236
38236
  i0.ɵɵadvance(2);
38237
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$D, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.expandedIconClasses());
38237
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$E, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.expandedIconClasses());
38238
38238
  i0.ɵɵadvance();
38239
38239
  i0.ɵɵproperty("ngClass", ctx_r0.expandedTitleClasses());
38240
38240
  i0.ɵɵadvance(2);
@@ -40015,7 +40015,7 @@ class CompetitorAnalysisCardComponent {
40015
40015
  }] }); })();
40016
40016
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorAnalysisCardComponent, { className: "CompetitorAnalysisCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/competitor-analysis-card.component.ts", lineNumber: 312 }); })();
40017
40017
 
40018
- const _c0$C = ["*"];
40018
+ const _c0$D = ["*"];
40019
40019
  class SkeletonCardBaseComponent {
40020
40020
  constructor() {
40021
40021
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
@@ -40035,7 +40035,7 @@ class SkeletonCardBaseComponent {
40035
40035
  `.trim();
40036
40036
  }
40037
40037
  static { this.ɵfac = function SkeletonCardBaseComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SkeletonCardBaseComponent)(); }; }
40038
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkeletonCardBaseComponent, selectors: [["symphiq-skeleton-card-base"]], inputs: { viewMode: [1, "viewMode"] }, ngContentSelectors: _c0$C, decls: 2, vars: 1, consts: [[1, "animate-pulse", 3, "ngClass"]], template: function SkeletonCardBaseComponent_Template(rf, ctx) { if (rf & 1) {
40038
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkeletonCardBaseComponent, selectors: [["symphiq-skeleton-card-base"]], inputs: { viewMode: [1, "viewMode"] }, ngContentSelectors: _c0$D, decls: 2, vars: 1, consts: [[1, "animate-pulse", 3, "ngClass"]], template: function SkeletonCardBaseComponent_Template(rf, ctx) { if (rf & 1) {
40039
40039
  i0.ɵɵprojectionDef();
40040
40040
  i0.ɵɵelementStart(0, "div", 0);
40041
40041
  i0.ɵɵprojection(1);
@@ -41200,7 +41200,7 @@ class ProfileItemCardComponent {
41200
41200
  }], 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 }] }] }); })();
41201
41201
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileItemCardComponent, { className: "ProfileItemCardComponent", filePath: "lib/components/business-analysis-dashboard/profile-item-card.component.ts", lineNumber: 171 }); })();
41202
41202
 
41203
- const _c0$B = ["scrollContainer"];
41203
+ const _c0$C = ["scrollContainer"];
41204
41204
  const _c1$i = a0 => ({ name: "arrow-right", source: a0 });
41205
41205
  function ItemDetailModalComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
41206
41206
  const _r2 = i0.ɵɵgetCurrentView();
@@ -41320,7 +41320,7 @@ class ItemDetailModalComponent {
41320
41320
  }
41321
41321
  static { this.ɵfac = function ItemDetailModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ItemDetailModalComponent)(); }; }
41322
41322
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ItemDetailModalComponent, selectors: [["symphiq-item-detail-modal"]], viewQuery: function ItemDetailModalComponent_Query(rf, ctx) { if (rf & 1) {
41323
- i0.ɵɵviewQuery(_c0$B, 5);
41323
+ i0.ɵɵviewQuery(_c0$C, 5);
41324
41324
  } if (rf & 2) {
41325
41325
  let _t;
41326
41326
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollContainer = _t.first);
@@ -41399,7 +41399,7 @@ class ItemDetailModalComponent {
41399
41399
  }] }); })();
41400
41400
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ItemDetailModalComponent, { className: "ItemDetailModalComponent", filePath: "lib/components/business-analysis-dashboard/modals/item-detail-modal.component.ts", lineNumber: 53 }); })();
41401
41401
 
41402
- const _c0$A = ["modalContent"];
41402
+ const _c0$B = ["modalContent"];
41403
41403
  const _c1$h = ["modalWrapper"];
41404
41404
  const _c2$b = ["*"];
41405
41405
  const ProfileAnalysisModalComponent_Conditional_0_Conditional_31_Conditional_3_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return lineChart_component; }).then(m => m.LineChartComponent)];
@@ -43648,7 +43648,7 @@ class ProfileAnalysisModalComponent {
43648
43648
  }
43649
43649
  static { this.ɵfac = function ProfileAnalysisModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ProfileAnalysisModalComponent)(); }; }
43650
43650
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProfileAnalysisModalComponent, selectors: [["symphiq-profile-analysis-modal"]], viewQuery: function ProfileAnalysisModalComponent_Query(rf, ctx) { if (rf & 1) {
43651
- i0.ɵɵviewQuery(_c0$A, 5);
43651
+ i0.ɵɵviewQuery(_c0$B, 5);
43652
43652
  i0.ɵɵviewQuery(_c1$h, 5);
43653
43653
  } if (rf & 2) {
43654
43654
  let _t;
@@ -44203,7 +44203,7 @@ class ProfileAnalysisModalComponent {
44203
44203
  }] }); }); })();
44204
44204
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileAnalysisModalComponent, { className: "ProfileAnalysisModalComponent", filePath: "lib/components/profile-analysis-dashboard/profile-analysis-modal.component.ts", lineNumber: 554 }); })();
44205
44205
 
44206
- const _c0$z = a0 => ({ name: "light-bulb", source: a0 });
44206
+ const _c0$A = a0 => ({ name: "light-bulb", source: a0 });
44207
44207
  const _c1$g = a0 => ({ name: "trophy", source: a0 });
44208
44208
  const _c2$a = a0 => ({ name: "academic-cap", source: a0 });
44209
44209
  const _c3$7 = a0 => ({ name: "signal", source: a0 });
@@ -44413,7 +44413,7 @@ class CompetitiveGapModalComponent {
44413
44413
  i0.ɵɵadvance(2);
44414
44414
  i0.ɵɵproperty("ngClass", ctx.iconContainerClasses());
44415
44415
  i0.ɵɵadvance();
44416
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(12, _c0$z, ctx.iconSource));
44416
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(12, _c0$A, ctx.iconSource));
44417
44417
  i0.ɵɵadvance(3);
44418
44418
  i0.ɵɵproperty("ngClass", ctx.titleClasses());
44419
44419
  i0.ɵɵadvance();
@@ -44534,7 +44534,7 @@ class CompetitiveGapModalComponent {
44534
44534
  }], null, { item: [{ type: i0.Input, args: [{ isSignal: true, alias: "item", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }] }); })();
44535
44535
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveGapModalComponent, { className: "CompetitiveGapModalComponent", filePath: "lib/components/business-analysis-dashboard/modals/competitive-gap-modal.component.ts", lineNumber: 101 }); })();
44536
44536
 
44537
- const _c0$y = a0 => ({ name: "list-bullet", source: a0 });
44537
+ const _c0$z = a0 => ({ name: "list-bullet", source: a0 });
44538
44538
  const _c1$f = a0 => ({ name: "arrow-right", source: a0 });
44539
44539
  const _c2$9 = a0 => ({ name: "check-circle", source: a0 });
44540
44540
  const _c3$6 = a0 => ({ name: "exclamation-circle", source: a0 });
@@ -44554,7 +44554,7 @@ function RecommendationActionStepsModalComponent_Conditional_1_Template(rf, ctx)
44554
44554
  i0.ɵɵadvance();
44555
44555
  i0.ɵɵproperty("ngClass", ctx_r0.iconContainerClasses());
44556
44556
  i0.ɵɵadvance();
44557
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$y, ctx_r0.iconSource));
44557
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$z, ctx_r0.iconSource));
44558
44558
  i0.ɵɵadvance(2);
44559
44559
  i0.ɵɵproperty("ngClass", ctx_r0.titleClasses());
44560
44560
  i0.ɵɵadvance(2);
@@ -44774,7 +44774,7 @@ class RecommendationActionStepsModalComponent {
44774
44774
  }], 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 }] }] }); })();
44775
44775
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RecommendationActionStepsModalComponent, { className: "RecommendationActionStepsModalComponent", filePath: "lib/components/business-analysis-dashboard/modals/recommendation-action-steps-modal.component.ts", lineNumber: 69 }); })();
44776
44776
 
44777
- const _c0$x = ["modalContent"];
44777
+ const _c0$y = ["modalContent"];
44778
44778
  const _c1$e = ["modalWrapper"];
44779
44779
  function BusinessAnalysisModalComponent_Conditional_0_Conditional_10_For_6_Conditional_0_Template(rf, ctx) { if (rf & 1) {
44780
44780
  const _r4 = i0.ɵɵgetCurrentView();
@@ -45297,7 +45297,7 @@ class BusinessAnalysisModalComponent {
45297
45297
  }
45298
45298
  static { this.ɵfac = function BusinessAnalysisModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BusinessAnalysisModalComponent)(); }; }
45299
45299
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BusinessAnalysisModalComponent, selectors: [["symphiq-business-analysis-modal"]], viewQuery: function BusinessAnalysisModalComponent_Query(rf, ctx) { if (rf & 1) {
45300
- i0.ɵɵviewQuery(_c0$x, 5);
45300
+ i0.ɵɵviewQuery(_c0$y, 5);
45301
45301
  i0.ɵɵviewQuery(_c1$e, 5);
45302
45302
  } if (rf & 2) {
45303
45303
  let _t;
@@ -45935,7 +45935,7 @@ class IndeterminateSpinnerComponent {
45935
45935
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] }); })();
45936
45936
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(IndeterminateSpinnerComponent, { className: "IndeterminateSpinnerComponent", filePath: "lib/components/shared/indeterminate-spinner.component.ts", lineNumber: 94 }); })();
45937
45937
 
45938
- const _c0$w = ["dashboardContainer"];
45938
+ const _c0$x = ["dashboardContainer"];
45939
45939
  const _c1$d = () => ({});
45940
45940
  const _c2$8 = () => [1, 2, 3, 4, 5, 6];
45941
45941
  const _c3$5 = () => [1, 2, 3];
@@ -48230,7 +48230,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
48230
48230
  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)); }; }
48231
48231
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqFunnelAnalysisDashboardComponent, selectors: [["symphiq-funnel-analysis-dashboard"]], viewQuery: function SymphiqFunnelAnalysisDashboardComponent_Query(rf, ctx) { if (rf & 1) {
48232
48232
  i0.ɵɵviewQuery(ModalComponent, 5);
48233
- i0.ɵɵviewQuery(_c0$w, 5);
48233
+ i0.ɵɵviewQuery(_c0$x, 5);
48234
48234
  } if (rf & 2) {
48235
48235
  let _t;
48236
48236
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalComponent = _t.first);
@@ -51939,7 +51939,7 @@ class FocusAreaToolsModalComponent {
51939
51939
  }] }); })();
51940
51940
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaToolsModalComponent, { className: "FocusAreaToolsModalComponent", filePath: "lib/components/create-account-dashboard/focus-area-tools-modal.component.ts", lineNumber: 149 }); })();
51941
51941
 
51942
- const _c0$v = ["shopNameInput"];
51942
+ const _c0$w = ["shopNameInput"];
51943
51943
  const _forTrack0$o = ($index, $item) => $item.focusAreaDomain;
51944
51944
  function SymphiqCreateAccountDashboardComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
51945
51945
  i0.ɵɵelementStart(0, "div", 13);
@@ -53139,7 +53139,7 @@ class SymphiqCreateAccountDashboardComponent {
53139
53139
  }
53140
53140
  static { this.ɵfac = function SymphiqCreateAccountDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqCreateAccountDashboardComponent)(); }; }
53141
53141
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqCreateAccountDashboardComponent, selectors: [["symphiq-create-account-dashboard"]], viewQuery: function SymphiqCreateAccountDashboardComponent_Query(rf, ctx) { if (rf & 1) {
53142
- i0.ɵɵviewQuery(_c0$v, 5);
53142
+ i0.ɵɵviewQuery(_c0$w, 5);
53143
53143
  } if (rf & 2) {
53144
53144
  let _t;
53145
53145
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.shopNameInput = _t.first);
@@ -57177,7 +57177,7 @@ class ChartValueFormatter {
57177
57177
  }
57178
57178
  }
57179
57179
 
57180
- const _c0$u = ["chartdiv"];
57180
+ const _c0$v = ["chartdiv"];
57181
57181
  class AreaChartComponent {
57182
57182
  constructor() {
57183
57183
  this.chart = input({}, ...(ngDevMode ? [{ debugName: "chart" }] : []));
@@ -57486,7 +57486,7 @@ class AreaChartComponent {
57486
57486
  }
57487
57487
  static { this.ɵfac = function AreaChartComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AreaChartComponent)(); }; }
57488
57488
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AreaChartComponent, selectors: [["symphiq-area-chart"]], viewQuery: function AreaChartComponent_Query(rf, ctx) { if (rf & 1) {
57489
- i0.ɵɵviewQuery(_c0$u, 7);
57489
+ i0.ɵɵviewQuery(_c0$v, 7);
57490
57490
  } if (rf & 2) {
57491
57491
  let _t;
57492
57492
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chartDiv = _t.first);
@@ -57518,7 +57518,7 @@ var areaChart_component = /*#__PURE__*/Object.freeze({
57518
57518
  AreaChartComponent: AreaChartComponent
57519
57519
  });
57520
57520
 
57521
- const _c0$t = ["chartdiv"];
57521
+ const _c0$u = ["chartdiv"];
57522
57522
  class LineChartComponent {
57523
57523
  constructor() {
57524
57524
  this.chart = input({}, ...(ngDevMode ? [{ debugName: "chart" }] : []));
@@ -57968,7 +57968,7 @@ class LineChartComponent {
57968
57968
  }
57969
57969
  static { this.ɵfac = function LineChartComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LineChartComponent)(); }; }
57970
57970
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LineChartComponent, selectors: [["symphiq-line-chart"]], viewQuery: function LineChartComponent_Query(rf, ctx) { if (rf & 1) {
57971
- i0.ɵɵviewQuery(_c0$t, 7);
57971
+ i0.ɵɵviewQuery(_c0$u, 7);
57972
57972
  } if (rf & 2) {
57973
57973
  let _t;
57974
57974
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chartDiv = _t.first);
@@ -58000,7 +58000,7 @@ var lineChart_component = /*#__PURE__*/Object.freeze({
58000
58000
  LineChartComponent: LineChartComponent
58001
58001
  });
58002
58002
 
58003
- const _c0$s = ["chartdiv"];
58003
+ const _c0$t = ["chartdiv"];
58004
58004
  class ProgressToTargetChartComponent {
58005
58005
  constructor() {
58006
58006
  this.data = input(null, ...(ngDevMode ? [{ debugName: "data" }] : []));
@@ -58251,7 +58251,7 @@ class ProgressToTargetChartComponent {
58251
58251
  }
58252
58252
  static { this.ɵfac = function ProgressToTargetChartComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ProgressToTargetChartComponent)(); }; }
58253
58253
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProgressToTargetChartComponent, selectors: [["symphiq-progress-to-target-chart"]], viewQuery: function ProgressToTargetChartComponent_Query(rf, ctx) { if (rf & 1) {
58254
- i0.ɵɵviewQuery(_c0$s, 7);
58254
+ i0.ɵɵviewQuery(_c0$t, 7);
58255
58255
  } if (rf & 2) {
58256
58256
  let _t;
58257
58257
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chartDiv = _t.first);
@@ -59725,7 +59725,7 @@ class MetricReportModalComponent {
59725
59725
  }] }); })();
59726
59726
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricReportModalComponent, { className: "MetricReportModalComponent", filePath: "lib/components/revenue-calculator-dashboard/metric-report-modal.component.ts", lineNumber: 483 }); })();
59727
59727
 
59728
- const _c0$r = ["absoluteInputRef"];
59728
+ const _c0$s = ["absoluteInputRef"];
59729
59729
  const _c1$c = ["percentageInputRef"];
59730
59730
  const _forTrack0$k = ($index, $item) => $item.id;
59731
59731
  function EditMetricTargetModalComponent_Conditional_0_Conditional_27_Template(rf, ctx) { if (rf & 1) {
@@ -60945,7 +60945,7 @@ class EditMetricTargetModalComponent {
60945
60945
  }
60946
60946
  static { this.ɵfac = function EditMetricTargetModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EditMetricTargetModalComponent)(i0.ɵɵdirectiveInject(i0.Injector)); }; }
60947
60947
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EditMetricTargetModalComponent, selectors: [["symphiq-edit-metric-target-modal"]], viewQuery: function EditMetricTargetModalComponent_Query(rf, ctx) { if (rf & 1) {
60948
- i0.ɵɵviewQuery(_c0$r, 5);
60948
+ i0.ɵɵviewQuery(_c0$s, 5);
60949
60949
  i0.ɵɵviewQuery(_c1$c, 5);
60950
60950
  } if (rf & 2) {
60951
60951
  let _t;
@@ -61396,7 +61396,7 @@ class EditMetricTargetModalComponent {
61396
61396
  }] }); })();
61397
61397
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditMetricTargetModalComponent, { className: "EditMetricTargetModalComponent", filePath: "lib/components/revenue-calculator-dashboard/edit-metric-target-modal.component.ts", lineNumber: 424 }); })();
61398
61398
 
61399
- const _c0$q = ["absoluteInputRef"];
61399
+ const _c0$r = ["absoluteInputRef"];
61400
61400
  const _c1$b = ["percentageInputRef"];
61401
61401
  function InitialTargetSettingComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
61402
61402
  i0.ɵɵtext(0);
@@ -62688,7 +62688,7 @@ class InitialTargetSettingComponent {
62688
62688
  }
62689
62689
  static { this.ɵfac = function InitialTargetSettingComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InitialTargetSettingComponent)(); }; }
62690
62690
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InitialTargetSettingComponent, selectors: [["symphiq-initial-target-setting"]], viewQuery: function InitialTargetSettingComponent_Query(rf, ctx) { if (rf & 1) {
62691
- i0.ɵɵviewQuery(_c0$q, 5);
62691
+ i0.ɵɵviewQuery(_c0$r, 5);
62692
62692
  i0.ɵɵviewQuery(_c1$b, 5);
62693
62693
  } if (rf & 2) {
62694
62694
  let _t;
@@ -63298,7 +63298,7 @@ class InitialTargetSettingComponent {
63298
63298
  }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], funnelMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelMetrics", required: false }] }], mainUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainUiData", required: false }] }], trendUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "trendUiData", required: false }] }], shopId: [{ type: i0.Input, args: [{ isSignal: true, alias: "shopId", required: false }] }], pacingResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingResponse", required: false }] }], dataResults: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataResults", required: false }] }], calculateRevenueReverseResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculateRevenueReverseResponse", required: false }] }], calculateRevenueResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculateRevenueResponse", required: false }] }], isCalculatingTargets: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCalculatingTargets", required: false }] }], targets: [{ type: i0.Input, args: [{ isSignal: true, alias: "targets", required: false }] }], targetHistories: [{ type: i0.Input, args: [{ isSignal: true, alias: "targetHistories", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }], calculateRevenueReverseRequest: [{ type: i0.Output, args: ["calculateRevenueReverseRequest"] }], calculateRevenueRequest: [{ type: i0.Output, args: ["calculateRevenueRequest"] }], editRelatedMetricTarget: [{ type: i0.Output, args: ["editRelatedMetricTarget"] }], saveTargetsClick: [{ type: i0.Output, args: ["saveTargetsClick"] }], discardChangesClick: [{ type: i0.Output, args: ["discardChangesClick"] }], targetsUpdated: [{ type: i0.Output, args: ["targetsUpdated"] }] }); })();
63299
63299
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 626 }); })();
63300
63300
 
63301
- const _c0$p = () => [];
63301
+ const _c0$q = () => [];
63302
63302
  function SymphiqRevenueCalculatorDashboardComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
63303
63303
  i0.ɵɵelementStart(0, "div", 12);
63304
63304
  i0.ɵɵelement(1, "symphiq-indeterminate-spinner", 14);
@@ -63342,7 +63342,7 @@ function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template(rf,
63342
63342
  const ctx_r0 = i0.ɵɵnextContext();
63343
63343
  i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("dataLoadStatus", ctx_r0.dataLoadStatus() ?? ctx_r0.ShopDataLoadStatusEnum.NOT_LOADED)("hasTargets", ctx_r0.hasCurrentYearTargets())("isOnboarded", ctx_r0.isOnboarded());
63344
63344
  i0.ɵɵadvance(2);
63345
- i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("funnelMetrics", ctx_r0.funnelMetrics() ?? i0.ɵɵpureFunction0(17, _c0$p))("mainUiData", ctx_r0.mainUiData())("trendUiData", ctx_r0.trendUiData())("shopId", ctx_r0.shopId())("pacingResponse", ctx_r0.pacingResponse())("dataResults", ctx_r0.dataResults())("calculateRevenueReverseResponse", ctx_r0.calculateRevenueReverseResponse())("calculateRevenueResponse", ctx_r0.calculateRevenueResponse())("isCalculatingTargets", ctx_r0.isCalculatingTargets())("targets", ctx_r0.targets())("targetHistories", ctx_r0.targetHistories() ?? i0.ɵɵpureFunction0(18, _c0$p))("users", ctx_r0.users() ?? i0.ɵɵpureFunction0(19, _c0$p));
63345
+ i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("funnelMetrics", ctx_r0.funnelMetrics() ?? i0.ɵɵpureFunction0(17, _c0$q))("mainUiData", ctx_r0.mainUiData())("trendUiData", ctx_r0.trendUiData())("shopId", ctx_r0.shopId())("pacingResponse", ctx_r0.pacingResponse())("dataResults", ctx_r0.dataResults())("calculateRevenueReverseResponse", ctx_r0.calculateRevenueReverseResponse())("calculateRevenueResponse", ctx_r0.calculateRevenueResponse())("isCalculatingTargets", ctx_r0.isCalculatingTargets())("targets", ctx_r0.targets())("targetHistories", ctx_r0.targetHistories() ?? i0.ɵɵpureFunction0(18, _c0$q))("users", ctx_r0.users() ?? i0.ɵɵpureFunction0(19, _c0$q));
63346
63346
  } }
63347
63347
  function SymphiqRevenueCalculatorDashboardComponent_Conditional_26_Conditional_5_Template(rf, ctx) { if (rf & 1) {
63348
63348
  i0.ɵɵnamespaceSVG();
@@ -64215,7 +64215,7 @@ class HierarchyDisplayComponent {
64215
64215
  }], null, { hierarchyData: [{ type: i0.Input, args: [{ isSignal: true, alias: "hierarchyData", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
64216
64216
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HierarchyDisplayComponent, { className: "HierarchyDisplayComponent", filePath: "lib/components/business-analysis-dashboard/hierarchy-display.component.ts", lineNumber: 119 }); })();
64217
64217
 
64218
- const _c0$o = a0 => ({ name: "chart-bar", source: a0 });
64218
+ const _c0$p = a0 => ({ name: "chart-bar", source: a0 });
64219
64219
  const _c1$a = a0 => ({ name: "light-bulb", source: a0 });
64220
64220
  function CompetitiveBenchmarkCardComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
64221
64221
  const _r1 = i0.ɵɵgetCurrentView();
@@ -64411,7 +64411,7 @@ class CompetitiveBenchmarkCardComponent {
64411
64411
  i0.ɵɵadvance();
64412
64412
  i0.ɵɵproperty("ngClass", ctx.getSectionClasses());
64413
64413
  i0.ɵɵadvance(2);
64414
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(21, _c0$o, ctx.IconSourceEnum.HEROICONS))("ngClass", ctx.getSectionIconClasses());
64414
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(21, _c0$p, ctx.IconSourceEnum.HEROICONS))("ngClass", ctx.getSectionIconClasses());
64415
64415
  i0.ɵɵadvance();
64416
64416
  i0.ɵɵproperty("ngClass", ctx.getSectionTitleClasses());
64417
64417
  i0.ɵɵadvance(2);
@@ -65258,7 +65258,7 @@ class SearchButtonComponent {
65258
65258
  }], null, { isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], minimized: [{ type: i0.Input, args: [{ isSignal: true, alias: "minimized", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], searchClick: [{ type: i0.Output, args: ["searchClick"] }] }); })();
65259
65259
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchButtonComponent, { className: "SearchButtonComponent", filePath: "lib/components/shared/search-button.component.ts", lineNumber: 30 }); })();
65260
65260
 
65261
- const _c0$n = ["searchInput"];
65261
+ const _c0$o = ["searchInput"];
65262
65262
  const _forTrack0$j = ($index, $item) => $item.id;
65263
65263
  function SearchModalComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
65264
65264
  const _r3 = i0.ɵɵgetCurrentView();
@@ -65623,7 +65623,7 @@ class SearchModalComponent {
65623
65623
  }
65624
65624
  static { this.ɵfac = function SearchModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchModalComponent)(); }; }
65625
65625
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchModalComponent, selectors: [["symphiq-search-modal"]], viewQuery: function SearchModalComponent_Query(rf, ctx) { if (rf & 1) {
65626
- i0.ɵɵviewQuery(_c0$n, 5);
65626
+ i0.ɵɵviewQuery(_c0$o, 5);
65627
65627
  } if (rf & 2) {
65628
65628
  let _t;
65629
65629
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchInput = _t.first);
@@ -66520,7 +66520,7 @@ class SimplifiedRecommendationCardComponent {
66520
66520
  }], null, { item: [{ type: i0.Input, args: [{ isSignal: true, alias: "item", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], animationIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationIndex", required: false }] }], viewMoreClick: [{ type: i0.Output, args: ["viewMoreClick"] }] }); })();
66521
66521
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SimplifiedRecommendationCardComponent, { className: "SimplifiedRecommendationCardComponent", filePath: "lib/components/business-analysis-dashboard/simplified-recommendation-card.component.ts", lineNumber: 121 }); })();
66522
66522
 
66523
- const _c0$m = () => [0, 1, 2];
66523
+ const _c0$n = () => [0, 1, 2];
66524
66524
  const _forTrack0$i = ($index, $item) => $item.id;
66525
66525
  function RecommendationsTiledGridComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
66526
66526
  i0.ɵɵelementStart(0, "div", 9);
@@ -66590,7 +66590,7 @@ function RecommendationsTiledGridComponent_Conditional_15_Template(rf, ctx) { if
66590
66590
  i0.ɵɵelementEnd();
66591
66591
  } if (rf & 2) {
66592
66592
  i0.ɵɵadvance();
66593
- i0.ɵɵrepeater(i0.ɵɵpureFunction0(0, _c0$m));
66593
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(0, _c0$n));
66594
66594
  } }
66595
66595
  function RecommendationsTiledGridComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
66596
66596
  i0.ɵɵelementStart(0, "div", 12)(1, "div", 27);
@@ -67188,7 +67188,7 @@ class CollapsibleSectionGroupComponent {
67188
67188
  }], null, { sections: [{ type: i0.Input, args: [{ isSignal: true, alias: "sections", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
67189
67189
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleSectionGroupComponent, { className: "CollapsibleSectionGroupComponent", filePath: "lib/components/business-analysis-dashboard/collapsible-section-group.component.ts", lineNumber: 100 }); })();
67190
67190
 
67191
- const _c0$l = () => [];
67191
+ const _c0$m = () => [];
67192
67192
  function SymphiqBusinessAnalysisDashboardComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
67193
67193
  const _r1 = i0.ɵɵgetCurrentView();
67194
67194
  i0.ɵɵelementStart(0, "div", 8)(1, "symphiq-search-button", 20);
@@ -67332,7 +67332,7 @@ function SymphiqBusinessAnalysisDashboardComponent_Conditional_27_Conditional_1_
67332
67332
  const ɵ$index_113_r7 = i0.ɵɵnextContext().$index;
67333
67333
  const ctx_r1 = i0.ɵɵnextContext(3);
67334
67334
  i0.ɵɵadvance();
67335
- i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("subsections", ctx_r1.sections()[ɵ$index_113_r7 + 1].subsections || i0.ɵɵpureFunction0(2, _c0$l));
67335
+ i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("subsections", ctx_r1.sections()[ɵ$index_113_r7 + 1].subsections || i0.ɵɵpureFunction0(2, _c0$m));
67336
67336
  } }
67337
67337
  function SymphiqBusinessAnalysisDashboardComponent_Conditional_27_Conditional_1_For_1_Template(rf, ctx) { if (rf & 1) {
67338
67338
  i0.ɵɵelement(0, "symphiq-profile-section", 36);
@@ -69997,7 +69997,7 @@ class FocusAreaHealthIndicatorComponent {
69997
69997
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], health: [{ type: i0.Input, args: [{ isSignal: true, alias: "health", required: false }] }] }); })();
69998
69998
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaHealthIndicatorComponent, { className: "FocusAreaHealthIndicatorComponent", filePath: "lib/components/profile-analysis-dashboard/focus-area-health-indicator.component.ts", lineNumber: 46 }); })();
69999
69999
 
70000
- const _c0$k = a0 => ({ name: "chevron-right", source: a0 });
70000
+ const _c0$l = a0 => ({ name: "chevron-right", source: a0 });
70001
70001
  const _forTrack0$g = ($index, $item) => $item.id;
70002
70002
  function RelatedGoalChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
70003
70003
  const _r1 = i0.ɵɵgetCurrentView();
@@ -70015,7 +70015,7 @@ function RelatedGoalChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (r
70015
70015
  i0.ɵɵadvance(2);
70016
70016
  i0.ɵɵtextInterpolate(goal_r2.title);
70017
70017
  i0.ɵɵadvance();
70018
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$k, ctx_r2.IconSourceEnum.HEROICONS));
70018
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$l, ctx_r2.IconSourceEnum.HEROICONS));
70019
70019
  } }
70020
70020
  function RelatedGoalChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
70021
70021
  i0.ɵɵelementStart(0, "div", 0);
@@ -70088,7 +70088,7 @@ class RelatedGoalChipsComponent {
70088
70088
  }], null, { relatedGoalIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "relatedGoalIds", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
70089
70089
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RelatedGoalChipsComponent, { className: "RelatedGoalChipsComponent", filePath: "lib/components/profile-analysis-dashboard/shared/related-goal-chips.component.ts", lineNumber: 31 }); })();
70090
70090
 
70091
- const _c0$j = a0 => ({ name: "chevron-right", source: a0 });
70091
+ const _c0$k = a0 => ({ name: "chevron-right", source: a0 });
70092
70092
  const _c1$9 = a0 => ({ name: "chevron-down", source: a0 });
70093
70093
  const _c2$7 = a0 => [a0];
70094
70094
  function FocusAreaExecutiveSummaryComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
@@ -70417,7 +70417,7 @@ class FocusAreaExecutiveSummaryComponent {
70417
70417
  i0.ɵɵadvance(2);
70418
70418
  i0.ɵɵproperty("ngClass", ctx.getTopPrioritiesButtonTextClasses());
70419
70419
  i0.ɵɵadvance(2);
70420
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(22, _c0$j, ctx.IconSourceEnum.HEROICONS))("ngClass", ctx.getTopPrioritiesButtonTextClasses());
70420
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(22, _c0$k, ctx.IconSourceEnum.HEROICONS))("ngClass", ctx.getTopPrioritiesButtonTextClasses());
70421
70421
  i0.ɵɵadvance();
70422
70422
  i0.ɵɵproperty("ngClass", ctx.getQuickWinsStatCardClasses());
70423
70423
  i0.ɵɵadvance();
@@ -70628,7 +70628,7 @@ class FocusAreaExecutiveSummaryComponent {
70628
70628
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], summary: [{ type: i0.Input, args: [{ isSignal: true, alias: "summary", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", required: false }] }], topPrioritiesClick: [{ type: i0.Output, args: ["topPrioritiesClick"] }], priorityDetailClick: [{ type: i0.Output, args: ["priorityDetailClick"] }] }); })();
70629
70629
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaExecutiveSummaryComponent, { className: "FocusAreaExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-dashboard/focus-area-executive-summary.component.ts", lineNumber: 195 }); })();
70630
70630
 
70631
- const _c0$i = a0 => ({ name: "chart-bar", source: a0 });
70631
+ const _c0$j = a0 => ({ name: "chart-bar", source: a0 });
70632
70632
  const _c1$8 = a0 => ({ name: "signal", source: a0 });
70633
70633
  const _c2$6 = (a0, a1) => ({ name: a0, source: a1 });
70634
70634
  const _c3$4 = a0 => ({ name: "flag", source: a0 });
@@ -71164,7 +71164,7 @@ class MetricExecutiveSummaryComponent {
71164
71164
  i0.ɵɵadvance();
71165
71165
  i0.ɵɵproperty("ngClass", ctx.bannerClasses());
71166
71166
  i0.ɵɵadvance(5);
71167
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(19, _c0$i, ctx.iconSource))("size", "w-8 h-8")("ngClass", ctx.iconClasses());
71167
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(19, _c0$j, ctx.iconSource))("size", "w-8 h-8")("ngClass", ctx.iconClasses());
71168
71168
  i0.ɵɵadvance();
71169
71169
  i0.ɵɵproperty("ngClass", ctx.titleClasses());
71170
71170
  i0.ɵɵadvance();
@@ -71483,7 +71483,7 @@ class MetricExecutiveSummaryComponent {
71483
71483
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], summary: [{ type: i0.Input, args: [{ isSignal: true, alias: "summary", required: true }] }], metricName: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricName", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", required: false }] }], topPrioritiesClick: [{ type: i0.Output, args: ["topPrioritiesClick"] }], priorityDetailClick: [{ type: i0.Output, args: ["priorityDetailClick"] }] }); })();
71484
71484
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricExecutiveSummaryComponent, { className: "MetricExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-dashboard/metric-executive-summary.component.ts", lineNumber: 287 }); })();
71485
71485
 
71486
- const _c0$h = a0 => ({ name: "chevron-right", source: a0 });
71486
+ const _c0$i = a0 => ({ name: "chevron-right", source: a0 });
71487
71487
  function GoalCardComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
71488
71488
  i0.ɵɵelementStart(0, "span", 12);
71489
71489
  i0.ɵɵtext(1);
@@ -71768,7 +71768,7 @@ function GoalCardComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
71768
71768
  i0.ɵɵadvance();
71769
71769
  i0.ɵɵtextInterpolate1(" ", ctx_r0.goal().objectives.length, " ");
71770
71770
  i0.ɵɵadvance();
71771
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$h, ctx_r0.IconSourceEnum.HEROICONS));
71771
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$i, ctx_r0.IconSourceEnum.HEROICONS));
71772
71772
  } }
71773
71773
  function GoalCardComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
71774
71774
  const _r6 = i0.ɵɵgetCurrentView();
@@ -72390,7 +72390,7 @@ class GoalCardComponent {
72390
72390
  }], () => [], { goal: [{ type: i0.Input, args: [{ isSignal: true, alias: "goal", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], goalIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "goalIndex", required: false }] }], sectionIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "sectionIndex", required: false }] }], isInModal: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInModal", required: false }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], allInsights: [{ type: i0.Input, args: [{ isSignal: true, alias: "allInsights", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }], businessProfile: [{ type: i0.Input, args: [{ isSignal: true, alias: "businessProfile", required: false }] }] }); })();
72391
72391
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(GoalCardComponent, { className: "GoalCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/goal-card.component.ts", lineNumber: 239 }); })();
72392
72392
 
72393
- const _c0$g = a0 => ({ name: "link", source: a0 });
72393
+ const _c0$h = a0 => ({ name: "link", source: a0 });
72394
72394
  function CapabilityMatrixCardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
72395
72395
  i0.ɵɵelementStart(0, "p", 4);
72396
72396
  i0.ɵɵtext(1);
@@ -72453,7 +72453,7 @@ function CapabilityMatrixCardComponent_Conditional_29_Template(rf, ctx) { if (rf
72453
72453
  } if (rf & 2) {
72454
72454
  const ctx_r0 = i0.ɵɵnextContext();
72455
72455
  i0.ɵɵadvance(2);
72456
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$g, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.relatedGoalsIconClasses());
72456
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$h, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.relatedGoalsIconClasses());
72457
72457
  i0.ɵɵadvance();
72458
72458
  i0.ɵɵproperty("ngClass", ctx_r0.relatedGoalsTitleClasses());
72459
72459
  i0.ɵɵadvance(2);
@@ -73372,7 +73372,7 @@ class CompetitiveComparisonCardComponent {
73372
73372
  }], () => [], { comparison: [{ type: i0.Input, args: [{ isSignal: true, alias: "comparison", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
73373
73373
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveComparisonCardComponent, { className: "CompetitiveComparisonCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/competitive-comparison-card.component.ts", lineNumber: 125 }); })();
73374
73374
 
73375
- const _c0$f = a0 => ({ name: "chevron-right", source: a0 });
73375
+ const _c0$g = a0 => ({ name: "chevron-right", source: a0 });
73376
73376
  const _forTrack0$e = ($index, $item) => $item.id;
73377
73377
  function PhaseTimelineCardComponent_Conditional_8_For_7_Template(rf, ctx) { if (rf & 1) {
73378
73378
  const _r1 = i0.ɵɵgetCurrentView();
@@ -73390,7 +73390,7 @@ function PhaseTimelineCardComponent_Conditional_8_For_7_Template(rf, ctx) { if (
73390
73390
  i0.ɵɵadvance(2);
73391
73391
  i0.ɵɵtextInterpolate(goal_r2.title);
73392
73392
  i0.ɵɵadvance();
73393
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$f, ctx_r2.IconSourceEnum.HEROICONS));
73393
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$g, ctx_r2.IconSourceEnum.HEROICONS));
73394
73394
  } }
73395
73395
  function PhaseTimelineCardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
73396
73396
  i0.ɵɵelementStart(0, "div", 7)(1, "h6", 10);
@@ -73798,7 +73798,7 @@ class PhaseTimelineCardComponent {
73798
73798
  }], () => [], { phase: [{ type: i0.Input, args: [{ isSignal: true, alias: "phase", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLast: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLast", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", required: false }] }] }); })();
73799
73799
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PhaseTimelineCardComponent, { className: "PhaseTimelineCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/phase-timeline-card.component.ts", lineNumber: 123 }); })();
73800
73800
 
73801
- const _c0$e = a0 => ({ name: "chevron-right", source: a0 });
73801
+ const _c0$f = a0 => ({ name: "chevron-right", source: a0 });
73802
73802
  function OperationalCategoryCardComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
73803
73803
  i0.ɵɵelementStart(0, "div", 13)(1, "div", 19)(2, "span", 20);
73804
73804
  i0.ɵɵtext(3, "Industry Benchmark");
@@ -73844,7 +73844,7 @@ function OperationalCategoryCardComponent_Conditional_20_Template(rf, ctx) { if
73844
73844
  i0.ɵɵadvance(4);
73845
73845
  i0.ɵɵtextInterpolate2("", (tmp_2_0 = ctx_r0.category()) == null ? null : tmp_2_0.strengths == null ? null : tmp_2_0.strengths.length, " Strength", ((tmp_2_0 = ctx_r0.category()) == null ? null : tmp_2_0.strengths == null ? null : tmp_2_0.strengths.length) !== 1 ? "s" : "");
73846
73846
  i0.ɵɵadvance();
73847
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$e, ctx_r0.IconSourceEnum.HEROICONS));
73847
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$f, ctx_r0.IconSourceEnum.HEROICONS));
73848
73848
  } }
73849
73849
  function OperationalCategoryCardComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
73850
73850
  const _r3 = i0.ɵɵgetCurrentView();
@@ -73867,7 +73867,7 @@ function OperationalCategoryCardComponent_Conditional_21_Template(rf, ctx) { if
73867
73867
  i0.ɵɵadvance(4);
73868
73868
  i0.ɵɵtextInterpolate2("", (tmp_2_0 = ctx_r0.category()) == null ? null : tmp_2_0.gaps == null ? null : tmp_2_0.gaps.length, " Gap", ((tmp_2_0 = ctx_r0.category()) == null ? null : tmp_2_0.gaps == null ? null : tmp_2_0.gaps.length) !== 1 ? "s" : "");
73869
73869
  i0.ɵɵadvance();
73870
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$e, ctx_r0.IconSourceEnum.HEROICONS));
73870
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$f, ctx_r0.IconSourceEnum.HEROICONS));
73871
73871
  } }
73872
73872
  function OperationalCategoryCardComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
73873
73873
  const _r4 = i0.ɵɵgetCurrentView();
@@ -73890,7 +73890,7 @@ function OperationalCategoryCardComponent_Conditional_22_Template(rf, ctx) { if
73890
73890
  i0.ɵɵadvance(4);
73891
73891
  i0.ɵɵtextInterpolate2("", (tmp_2_0 = ctx_r0.category()) == null ? null : tmp_2_0.opportunities == null ? null : tmp_2_0.opportunities.length, " Opportunit", ((tmp_2_0 = ctx_r0.category()) == null ? null : tmp_2_0.opportunities == null ? null : tmp_2_0.opportunities.length) !== 1 ? "ies" : "y");
73892
73892
  i0.ɵɵadvance();
73893
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$e, ctx_r0.IconSourceEnum.HEROICONS));
73893
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$f, ctx_r0.IconSourceEnum.HEROICONS));
73894
73894
  } }
73895
73895
  function OperationalCategoryCardComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
73896
73896
  const _r5 = i0.ɵɵgetCurrentView();
@@ -74397,7 +74397,7 @@ class OperationalCategoryCardComponent {
74397
74397
  }], () => [], { category: [{ type: i0.Input, args: [{ isSignal: true, alias: "category", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], categoryClick: [{ type: i0.Output, args: ["categoryClick"] }] }); })();
74398
74398
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OperationalCategoryCardComponent, { className: "OperationalCategoryCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/operational-category-card.component.ts", lineNumber: 164 }); })();
74399
74399
 
74400
- const _c0$d = a0 => ({ name: "arrow-trending-up", source: a0 });
74400
+ const _c0$e = a0 => ({ name: "arrow-trending-up", source: a0 });
74401
74401
  const _c1$7 = a0 => ({ name: "chat-bubble-left-right", source: a0 });
74402
74402
  const _forTrack0$d = ($index, $item) => $item.questionId;
74403
74403
  function KeyDriverCardComponent_Conditional_12_For_6_Template(rf, ctx) { if (rf & 1) {
@@ -74531,7 +74531,7 @@ class KeyDriverCardComponent {
74531
74531
  i0.ɵɵadvance(3);
74532
74532
  i0.ɵɵproperty("ngClass", ctx.iconClasses());
74533
74533
  i0.ɵɵadvance();
74534
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(10, _c0$d, ctx.iconSource));
74534
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(10, _c0$e, ctx.iconSource));
74535
74535
  i0.ɵɵadvance(2);
74536
74536
  i0.ɵɵproperty("ngClass", ctx.titleClasses());
74537
74537
  i0.ɵɵadvance();
@@ -74607,7 +74607,7 @@ class KeyDriverCardComponent {
74607
74607
  }], null, { driver: [{ type: i0.Input, args: [{ isSignal: true, alias: "driver", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
74608
74608
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KeyDriverCardComponent, { className: "KeyDriverCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/key-driver-card.component.ts", lineNumber: 73 }); })();
74609
74609
 
74610
- const _c0$c = a0 => ({ name: "exclamation-triangle", source: a0 });
74610
+ const _c0$d = a0 => ({ name: "exclamation-triangle", source: a0 });
74611
74611
  const _c1$6 = a0 => ({ name: "chat-bubble-left-right", source: a0 });
74612
74612
  const _forTrack0$c = ($index, $item) => $item.questionId;
74613
74613
  function BottleneckCardComponent_Conditional_12_For_6_Template(rf, ctx) { if (rf & 1) {
@@ -74763,7 +74763,7 @@ class BottleneckCardComponent {
74763
74763
  i0.ɵɵadvance(3);
74764
74764
  i0.ɵɵproperty("ngClass", ctx.iconClasses());
74765
74765
  i0.ɵɵadvance();
74766
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(14, _c0$c, ctx.iconSource));
74766
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(14, _c0$d, ctx.iconSource));
74767
74767
  i0.ɵɵadvance(2);
74768
74768
  i0.ɵɵproperty("ngClass", ctx.titleClasses());
74769
74769
  i0.ɵɵadvance();
@@ -74834,7 +74834,7 @@ class BottleneckCardComponent {
74834
74834
  }], null, { bottleneck: [{ type: i0.Input, args: [{ isSignal: true, alias: "bottleneck", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
74835
74835
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BottleneckCardComponent, { className: "BottleneckCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/bottleneck-card.component.ts", lineNumber: 104 }); })();
74836
74836
 
74837
- const _c0$b = a0 => ({ name: "arrow-right", source: a0 });
74837
+ const _c0$c = a0 => ({ name: "arrow-right", source: a0 });
74838
74838
  const _c1$5 = a0 => ({ name: "arrow-left", source: a0 });
74839
74839
  const _c2$5 = a0 => ({ name: "arrows-right-left", source: a0 });
74840
74840
  const _c3$3 = a0 => ({ name: "scale", source: a0 });
@@ -74866,7 +74866,7 @@ function MetricRelationshipsCardComponent_Conditional_1_Template(rf, ctx) { if (
74866
74866
  i0.ɵɵadvance(2);
74867
74867
  i0.ɵɵproperty("ngClass", ctx_r1.getIconClasses("influences"));
74868
74868
  i0.ɵɵadvance();
74869
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$b, ctx_r1.iconSource));
74869
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$c, ctx_r1.iconSource));
74870
74870
  i0.ɵɵadvance();
74871
74871
  i0.ɵɵproperty("ngClass", ctx_r1.titleClasses());
74872
74872
  i0.ɵɵadvance(3);
@@ -75136,7 +75136,7 @@ class MetricRelationshipsCardComponent {
75136
75136
  }], null, { relationships: [{ type: i0.Input, args: [{ isSignal: true, alias: "relationships", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
75137
75137
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricRelationshipsCardComponent, { className: "MetricRelationshipsCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/metric-relationships-card.component.ts", lineNumber: 105 }); })();
75138
75138
 
75139
- const _c0$a = a0 => ({ name: "link", source: a0 });
75139
+ const _c0$b = a0 => ({ name: "link", source: a0 });
75140
75140
  function RelatedMetricCardComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
75141
75141
  i0.ɵɵelementStart(0, "div", 9);
75142
75142
  i0.ɵɵelement(1, "symphiq-icon", 10);
@@ -75147,7 +75147,7 @@ function RelatedMetricCardComponent_Conditional_13_Template(rf, ctx) { if (rf &
75147
75147
  const ctx_r0 = i0.ɵɵnextContext();
75148
75148
  i0.ɵɵproperty("ngClass", ctx_r0.borderClasses());
75149
75149
  i0.ɵɵadvance();
75150
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$a, ctx_r0.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r0.sharedGoalsIconClasses());
75150
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$b, ctx_r0.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r0.sharedGoalsIconClasses());
75151
75151
  i0.ɵɵadvance();
75152
75152
  i0.ɵɵproperty("ngClass", ctx_r0.sharedGoalsTextClasses());
75153
75153
  i0.ɵɵadvance();
@@ -75816,7 +75816,7 @@ class RelatedMetricsListComponent {
75816
75816
  }], null, { relatedMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "relatedMetrics", required: true }] }], currentMetricName: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentMetricName", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], metricClicked: [{ type: i0.Output, args: ["metricClicked"] }] }); })();
75817
75817
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RelatedMetricsListComponent, { className: "RelatedMetricsListComponent", filePath: "lib/components/profile-analysis-dashboard/cards/related-metrics-list.component.ts", lineNumber: 170 }); })();
75818
75818
 
75819
- const _c0$9 = (a0, a1) => ({ name: a0, source: a1 });
75819
+ const _c0$a = (a0, a1) => ({ name: a0, source: a1 });
75820
75820
  const _c1$4 = a0 => ({ name: "signal", source: a0 });
75821
75821
  const _c2$4 = a0 => ({ name: "calendar", source: a0 });
75822
75822
  const _c3$2 = a0 => ({ name: "flag", source: a0 });
@@ -76026,7 +76026,7 @@ class PerformanceMetricsCardComponent {
76026
76026
  i0.ɵɵadvance();
76027
76027
  i0.ɵɵproperty("ngClass", ctx.trendBadgeClasses());
76028
76028
  i0.ɵɵadvance();
76029
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(32, _c0$9, ctx.trendIcon(), ctx.iconSource));
76029
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(32, _c0$a, ctx.trendIcon(), ctx.iconSource));
76030
76030
  i0.ɵɵadvance();
76031
76031
  i0.ɵɵtextInterpolate1(" ", ctx.metrics().trendDirection, " ");
76032
76032
  i0.ɵɵadvance(2);
@@ -76174,7 +76174,7 @@ class PerformanceMetricsCardComponent {
76174
76174
  }], () => [], { performanceMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "performanceMetrics", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }] }); })();
76175
76175
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PerformanceMetricsCardComponent, { className: "PerformanceMetricsCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/performance-metrics-card.component.ts", lineNumber: 144 }); })();
76176
76176
 
76177
- const _c0$8 = a0 => ({ name: "funnel", source: a0 });
76177
+ const _c0$9 = a0 => ({ name: "funnel", source: a0 });
76178
76178
  const _c1$3 = a0 => ({ name: "chart-bar-square", source: a0 });
76179
76179
  const _c2$3 = a0 => ({ name: "chevron-right", source: a0 });
76180
76180
  const _c3$1 = a0 => ({ name: "arrow-left", source: a0 });
@@ -76365,7 +76365,7 @@ class FunnelContextCardComponent {
76365
76365
  } if (rf & 2) {
76366
76366
  i0.ɵɵproperty("ngClass", ctx.cardClasses());
76367
76367
  i0.ɵɵadvance(2);
76368
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(13, _c0$8, ctx.iconSource))("ngClass", ctx.iconClasses());
76368
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(13, _c0$9, ctx.iconSource))("ngClass", ctx.iconClasses());
76369
76369
  i0.ɵɵadvance();
76370
76370
  i0.ɵɵproperty("ngClass", ctx.headerClasses());
76371
76371
  i0.ɵɵadvance(3);
@@ -76501,7 +76501,7 @@ class FunnelContextCardComponent {
76501
76501
  }], () => [], { funnelContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelContext", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], metricClick: [{ type: i0.Output, args: ["metricClick"] }] }); })();
76502
76502
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelContextCardComponent, { className: "FunnelContextCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/funnel-context-card.component.ts", lineNumber: 125 }); })();
76503
76503
 
76504
- const _c0$7 = (a0, a1) => ({ name: a0, source: a1 });
76504
+ const _c0$8 = (a0, a1) => ({ name: a0, source: a1 });
76505
76505
  const _c1$2 = a0 => ({ name: "target", source: a0 });
76506
76506
  const _c2$2 = a0 => ({ name: "star", source: a0 });
76507
76507
  class MetricComparisonStatsComponent {
@@ -76712,7 +76712,7 @@ class MetricComparisonStatsComponent {
76712
76712
  i0.ɵɵadvance();
76713
76713
  i0.ɵɵproperty("ngClass", ctx.statCardClasses());
76714
76714
  i0.ɵɵadvance(2);
76715
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(24, _c0$7, ctx.yoyIcon(), ctx.iconSource))("ngClass", ctx.yoyIconClasses());
76715
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(24, _c0$8, ctx.yoyIcon(), ctx.iconSource))("ngClass", ctx.yoyIconClasses());
76716
76716
  i0.ɵɵadvance();
76717
76717
  i0.ɵɵproperty("ngClass", ctx.labelClasses());
76718
76718
  i0.ɵɵadvance(2);
@@ -76944,7 +76944,7 @@ class PerformanceOverviewContainerComponent {
76944
76944
  }], () => [], { performanceOverviewData: [{ type: i0.Input, args: [{ isSignal: true, alias: "performanceOverviewData", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], metricClick: [{ type: i0.Output, args: ["metricClick"] }] }); })();
76945
76945
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PerformanceOverviewContainerComponent, { className: "PerformanceOverviewContainerComponent", filePath: "lib/components/profile-analysis-dashboard/cards/performance-overview-container.component.ts", lineNumber: 58 }); })();
76946
76946
 
76947
- const _c0$6 = a0 => ({ name: "chevron-right", source: a0 });
76947
+ const _c0$7 = a0 => ({ name: "chevron-right", source: a0 });
76948
76948
  const _c1$1 = a0 => ({ name: "chevron-down", source: a0 });
76949
76949
  const _c2$1 = a0 => ({ name: "clock", source: a0 });
76950
76950
  const _c3 = a0 => [a0];
@@ -77147,7 +77147,7 @@ function ProfileSectionContentComponent_Conditional_1_Template(rf, ctx) { if (rf
77147
77147
  i0.ɵɵadvance(2);
77148
77148
  i0.ɵɵproperty("ngClass", ctx_r1.keyStrengthsButtonClasses());
77149
77149
  i0.ɵɵadvance(2);
77150
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(26, _c0$6, ctx_r1.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r1.keyStrengthsButtonClasses());
77150
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(26, _c0$7, ctx_r1.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r1.keyStrengthsButtonClasses());
77151
77151
  i0.ɵɵadvance();
77152
77152
  i0.ɵɵproperty("ngClass", ctx_r1.criticalGapsCardClasses());
77153
77153
  i0.ɵɵadvance();
@@ -77159,7 +77159,7 @@ function ProfileSectionContentComponent_Conditional_1_Template(rf, ctx) { if (rf
77159
77159
  i0.ɵɵadvance(2);
77160
77160
  i0.ɵɵproperty("ngClass", ctx_r1.criticalGapsButtonClasses());
77161
77161
  i0.ɵɵadvance(2);
77162
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(28, _c0$6, ctx_r1.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r1.criticalGapsButtonClasses());
77162
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(28, _c0$7, ctx_r1.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r1.criticalGapsButtonClasses());
77163
77163
  i0.ɵɵadvance();
77164
77164
  i0.ɵɵproperty("ngClass", ctx_r1.quickWinsCardClasses());
77165
77165
  i0.ɵɵadvance();
@@ -77238,7 +77238,7 @@ function ProfileSectionContentComponent_Conditional_3_Template(rf, ctx) { if (rf
77238
77238
  i0.ɵɵadvance(2);
77239
77239
  i0.ɵɵproperty("ngClass", ctx_r1.focusAreaStrengthsButtonClasses());
77240
77240
  i0.ɵɵadvance(2);
77241
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(21, _c0$6, ctx_r1.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r1.focusAreaStrengthsButtonClasses());
77241
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(21, _c0$7, ctx_r1.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r1.focusAreaStrengthsButtonClasses());
77242
77242
  i0.ɵɵadvance();
77243
77243
  i0.ɵɵproperty("ngClass", ctx_r1.focusAreaGapsStatCardClasses());
77244
77244
  i0.ɵɵadvance();
@@ -77250,7 +77250,7 @@ function ProfileSectionContentComponent_Conditional_3_Template(rf, ctx) { if (rf
77250
77250
  i0.ɵɵadvance(2);
77251
77251
  i0.ɵɵproperty("ngClass", ctx_r1.focusAreaGapsButtonClasses());
77252
77252
  i0.ɵɵadvance(2);
77253
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(23, _c0$6, ctx_r1.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r1.focusAreaGapsButtonClasses());
77253
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(23, _c0$7, ctx_r1.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r1.focusAreaGapsButtonClasses());
77254
77254
  i0.ɵɵadvance();
77255
77255
  i0.ɵɵproperty("ngClass", ctx_r1.focusAreaOpportunitiesStatCardClasses());
77256
77256
  i0.ɵɵadvance();
@@ -77262,7 +77262,7 @@ function ProfileSectionContentComponent_Conditional_3_Template(rf, ctx) { if (rf
77262
77262
  i0.ɵɵadvance(2);
77263
77263
  i0.ɵɵproperty("ngClass", ctx_r1.focusAreaOpportunitiesButtonClasses());
77264
77264
  i0.ɵɵadvance(2);
77265
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(25, _c0$6, ctx_r1.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r1.focusAreaOpportunitiesButtonClasses());
77265
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(25, _c0$7, ctx_r1.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r1.focusAreaOpportunitiesButtonClasses());
77266
77266
  } }
77267
77267
  function ProfileSectionContentComponent_Conditional_4_For_2_Template(rf, ctx) { if (rf & 1) {
77268
77268
  i0.ɵɵelementStart(0, "div");
@@ -77609,7 +77609,7 @@ function ProfileSectionContentComponent_Conditional_11_Conditional_2_For_5_Condi
77609
77609
  i0.ɵɵadvance(2);
77610
77610
  i0.ɵɵtextInterpolate1("", ctx_r1.getTacticalRecRelatedMetricsCount(recommendation_r19), " Related Metrics");
77611
77611
  i0.ɵɵadvance();
77612
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$6, ctx_r1.IconSourceEnumValue.HEROICONS));
77612
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$7, ctx_r1.IconSourceEnumValue.HEROICONS));
77613
77613
  } }
77614
77614
  function ProfileSectionContentComponent_Conditional_11_Conditional_2_For_5_Template(rf, ctx) { if (rf & 1) {
77615
77615
  i0.ɵɵelementStart(0, "div", 16)(1, "div", 69)(2, "h4", 75);
@@ -83024,7 +83024,7 @@ class StrategyRecommendationsModalContentComponent {
83024
83024
  }], null, { strategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "strategy", required: false }] }], objectiveTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "objectiveTitle", required: false }] }], goalTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "goalTitle", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], allInsights: [{ type: i0.Input, args: [{ isSignal: true, alias: "allInsights", required: false }] }], allBusinessInsights: [{ type: i0.Input, args: [{ isSignal: true, alias: "allBusinessInsights", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }] }); })();
83025
83025
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StrategyRecommendationsModalContentComponent, { className: "StrategyRecommendationsModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/strategy-recommendations-modal-content.component.ts", lineNumber: 489 }); })();
83026
83026
 
83027
- const _c0$5 = a0 => ({ name: "chevron-right", source: a0 });
83027
+ const _c0$6 = a0 => ({ name: "chevron-right", source: a0 });
83028
83028
  function CategoryDetailModalContentComponent_Conditional_16_Conditional_6_Template(rf, ctx) { if (rf & 1) {
83029
83029
  i0.ɵɵelementStart(0, "div")(1, "span", 19);
83030
83030
  i0.ɵɵtext(2, "Industry:");
@@ -83137,7 +83137,7 @@ function CategoryDetailModalContentComponent_Conditional_17_For_7_Template(rf, c
83137
83137
  i0.ɵɵadvance();
83138
83138
  i0.ɵɵtextInterpolate1(" ", strength_r3 == null ? null : strength_r3.description, " ");
83139
83139
  i0.ɵɵadvance();
83140
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$5, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.chevronClasses());
83140
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$6, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.chevronClasses());
83141
83141
  } }
83142
83142
  function CategoryDetailModalContentComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
83143
83143
  i0.ɵɵelementStart(0, "div", 27)(1, "h4", 15);
@@ -83204,7 +83204,7 @@ function CategoryDetailModalContentComponent_Conditional_18_For_7_Template(rf, c
83204
83204
  i0.ɵɵadvance();
83205
83205
  i0.ɵɵtextInterpolate1(" ", gap_r5 == null ? null : gap_r5.description, " ");
83206
83206
  i0.ɵɵadvance();
83207
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(8, _c0$5, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.chevronClasses());
83207
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(8, _c0$6, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.chevronClasses());
83208
83208
  } }
83209
83209
  function CategoryDetailModalContentComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
83210
83210
  i0.ɵɵelementStart(0, "div", 38)(1, "h4", 15);
@@ -83271,7 +83271,7 @@ function CategoryDetailModalContentComponent_Conditional_19_For_7_Template(rf, c
83271
83271
  i0.ɵɵadvance();
83272
83272
  i0.ɵɵconditional((opportunity_r7 == null ? null : opportunity_r7.potentialImpact) ? 7 : -1);
83273
83273
  i0.ɵɵadvance();
83274
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(8, _c0$5, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.chevronClasses());
83274
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(8, _c0$6, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.chevronClasses());
83275
83275
  } }
83276
83276
  function CategoryDetailModalContentComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
83277
83277
  i0.ɵɵelementStart(0, "div", 44)(1, "h4", 15);
@@ -84153,7 +84153,7 @@ class StrengthDetailModalContentComponent {
84153
84153
  }], null, { strength: [{ type: i0.Input, args: [{ isSignal: true, alias: "strength", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], allFunnelStrengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "allFunnelStrengths", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }] }); })();
84154
84154
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StrengthDetailModalContentComponent, { className: "StrengthDetailModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/strength-detail-modal-content.component.ts", lineNumber: 124 }); })();
84155
84155
 
84156
- const _c0$4 = () => [];
84156
+ const _c0$5 = () => [];
84157
84157
  function GapDetailModalContentComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
84158
84158
  i0.ɵɵelementStart(0, "span", 9);
84159
84159
  i0.ɵɵtext(1);
@@ -84266,7 +84266,7 @@ function GapDetailModalContentComponent_Conditional_16_Template(rf, ctx) { if (r
84266
84266
  i0.ɵɵclassMap(ctx_r0.isDark() ? "border-slate-700" : "border-slate-200");
84267
84267
  i0.ɵɵproperty("ngClass", ctx_r0.sectionTitleClasses());
84268
84268
  i0.ɵɵadvance(2);
84269
- i0.ɵɵproperty("relatedGoalIds", ((tmp_4_0 = ctx_r0.gap()) == null ? null : tmp_4_0.linkedGoalIds) ?? i0.ɵɵpureFunction0(7, _c0$4))("allGoals", ctx_r0.allGoals())("viewMode", ctx_r0.viewMode());
84269
+ i0.ɵɵproperty("relatedGoalIds", ((tmp_4_0 = ctx_r0.gap()) == null ? null : tmp_4_0.linkedGoalIds) ?? i0.ɵɵpureFunction0(7, _c0$5))("allGoals", ctx_r0.allGoals())("viewMode", ctx_r0.viewMode());
84270
84270
  } }
84271
84271
  function GapDetailModalContentComponent_Conditional_17_For_5_Template(rf, ctx) { if (rf & 1) {
84272
84272
  i0.ɵɵelementStart(0, "div", 25);
@@ -84550,7 +84550,7 @@ class GapDetailModalContentComponent {
84550
84550
  }], null, { gap: [{ type: i0.Input, args: [{ isSignal: true, alias: "gap", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", required: false }] }], allWeaknesses: [{ type: i0.Input, args: [{ isSignal: true, alias: "allWeaknesses", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }] }); })();
84551
84551
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(GapDetailModalContentComponent, { className: "GapDetailModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/gap-detail-modal-content.component.ts", lineNumber: 129 }); })();
84552
84552
 
84553
- const _c0$3 = a0 => ({ name: "chevron-right", source: a0 });
84553
+ const _c0$4 = a0 => ({ name: "chevron-right", source: a0 });
84554
84554
  const _forTrack0$5 = ($index, $item) => $item.id || $index;
84555
84555
  function OpportunityDetailModalContentComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
84556
84556
  i0.ɵɵelementStart(0, "div", 9)(1, "h4", 10);
@@ -84655,7 +84655,7 @@ function OpportunityDetailModalContentComponent_Conditional_14_Conditional_0_For
84655
84655
  i0.ɵɵadvance(2);
84656
84656
  i0.ɵɵtextInterpolate(goal_r5.title || goal_r5.id);
84657
84657
  i0.ɵɵadvance();
84658
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$3, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.chevronClasses());
84658
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$4, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.chevronClasses());
84659
84659
  } }
84660
84660
  function OpportunityDetailModalContentComponent_Conditional_14_Conditional_0_Template(rf, ctx) { if (rf & 1) {
84661
84661
  i0.ɵɵelementStart(0, "div", 9)(1, "h4", 24);
@@ -86431,64 +86431,64 @@ class BillingCurrencySelectorCardComponent {
86431
86431
  standalone: true,
86432
86432
  imports: [CommonModule, FormsModule],
86433
86433
  changeDetection: ChangeDetectionStrategy.OnPush,
86434
- template: `
86435
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
86436
- <div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
86437
- <div class="flex items-center gap-3">
86438
- <div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
86439
- <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
86440
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z"></path>
86441
- </svg>
86442
- </div>
86443
- <div>
86444
- <h2 [ngClass]="titleClasses()" class="text-xl font-bold">
86445
- Select Your Billing Currency
86446
- </h2>
86447
- <p [ngClass]="subtitleClasses()" class="text-sm mt-0.5">
86448
- Choose the currency for your subscription
86449
- </p>
86450
- </div>
86451
- </div>
86452
- </div>
86453
-
86454
- <div [ngClass]="contentClasses()" class="p-6">
86455
- <div class="space-y-6">
86456
- <div class="space-y-3">
86457
- @for (currency of currencies; track currency.code) {
86458
- <label
86459
- [ngClass]="getCurrencyOptionClasses(currency.code)"
86460
- class="flex items-center gap-4 p-4 rounded-xl border-2 cursor-pointer transition-all duration-200 hover:scale-[1.01]">
86461
- <input
86462
- type="radio"
86463
- [name]="'currency'"
86464
- [value]="currency.code"
86465
- [(ngModel)]="selectedCurrency"
86466
- (change)="handleCurrencyChange(currency.code)"
86467
- [disabled]="isLoading()"
86468
- [ngClass]="getRadioClasses()"
86469
- class="w-5 h-5 flex-shrink-0 cursor-pointer disabled:cursor-not-allowed"
86470
- />
86471
- <div class="flex-1">
86472
- <div class="flex items-center gap-2">
86473
- <span [ngClass]="getCurrencyCodeClasses()" class="text-lg font-bold">
86474
- {{ currency.code }}
86475
- </span>
86476
- <span [ngClass]="getCurrencySymbolClasses()" class="text-sm">
86477
- ({{ currency.symbol }})
86478
- </span>
86479
- </div>
86480
- <p [ngClass]="getCurrencyNameClasses()" class="text-sm mt-0.5">
86481
- {{ currency.name }}
86482
- </p>
86483
- </div>
86484
- </label>
86485
- }
86486
- </div>
86487
-
86488
-
86489
- </div>
86490
- </div>
86491
- </div>
86434
+ template: `
86435
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
86436
+ <div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
86437
+ <div class="flex items-center gap-3">
86438
+ <div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
86439
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
86440
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z"></path>
86441
+ </svg>
86442
+ </div>
86443
+ <div>
86444
+ <h2 [ngClass]="titleClasses()" class="text-xl font-bold">
86445
+ Select Your Billing Currency
86446
+ </h2>
86447
+ <p [ngClass]="subtitleClasses()" class="text-sm mt-0.5">
86448
+ Choose the currency for your subscription
86449
+ </p>
86450
+ </div>
86451
+ </div>
86452
+ </div>
86453
+
86454
+ <div [ngClass]="contentClasses()" class="p-6">
86455
+ <div class="space-y-6">
86456
+ <div class="space-y-3">
86457
+ @for (currency of currencies; track currency.code) {
86458
+ <label
86459
+ [ngClass]="getCurrencyOptionClasses(currency.code)"
86460
+ class="flex items-center gap-4 p-4 rounded-xl border-2 cursor-pointer transition-all duration-200 hover:scale-[1.01]">
86461
+ <input
86462
+ type="radio"
86463
+ [name]="'currency'"
86464
+ [value]="currency.code"
86465
+ [(ngModel)]="selectedCurrency"
86466
+ (change)="handleCurrencyChange(currency.code)"
86467
+ [disabled]="isLoading()"
86468
+ [ngClass]="getRadioClasses()"
86469
+ class="w-5 h-5 flex-shrink-0 cursor-pointer disabled:cursor-not-allowed"
86470
+ />
86471
+ <div class="flex-1">
86472
+ <div class="flex items-center gap-2">
86473
+ <span [ngClass]="getCurrencyCodeClasses()" class="text-lg font-bold">
86474
+ {{ currency.code }}
86475
+ </span>
86476
+ <span [ngClass]="getCurrencySymbolClasses()" class="text-sm">
86477
+ ({{ currency.symbol }})
86478
+ </span>
86479
+ </div>
86480
+ <p [ngClass]="getCurrencyNameClasses()" class="text-sm mt-0.5">
86481
+ {{ currency.name }}
86482
+ </p>
86483
+ </div>
86484
+ </label>
86485
+ }
86486
+ </div>
86487
+
86488
+
86489
+ </div>
86490
+ </div>
86491
+ </div>
86492
86492
  `
86493
86493
  }]
86494
86494
  }], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], initialCurrency: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialCurrency", required: false }] }], currencySelected: [{ type: i0.Output, args: ["currencySelected"] }] }); })();
@@ -86650,73 +86650,74 @@ class PlanSelectionPlaceholderCardComponent {
86650
86650
  standalone: true,
86651
86651
  imports: [CommonModule],
86652
86652
  changeDetection: ChangeDetectionStrategy.OnPush,
86653
- template: `
86654
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
86655
- <div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
86656
- <div class="flex items-center gap-3">
86657
- <div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
86658
- <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
86659
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"></path>
86660
- </svg>
86661
- </div>
86662
- <div>
86663
- <h2 [ngClass]="titleClasses()" class="text-xl font-bold">
86664
- Choose Your Plan
86665
- </h2>
86666
- <p [ngClass]="subtitleClasses()" class="text-sm mt-0.5 flex items-center gap-2">
86667
- Selected currency: <span class="font-semibold">{{ selectedCurrency() }}</span>
86668
- <button
86669
- (click)="onEditClick()"
86670
- [ngClass]="editButtonClasses()"
86671
- class="inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-md transition-colors cursor-pointer"
86672
- >
86673
- <svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
86674
- <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"></path>
86675
- </svg>
86676
- Edit
86677
- </button>
86678
- </p>
86679
- </div>
86680
- </div>
86681
- </div>
86682
-
86683
- <div [ngClass]="contentClasses()" class="p-8">
86684
- <div class="text-center space-y-6">
86685
- <div [ngClass]="placeholderIconClasses()" class="w-20 h-20 mx-auto rounded-full flex items-center justify-center">
86686
- <svg class="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
86687
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
86688
- </svg>
86689
- </div>
86690
-
86691
- <div class="space-y-3">
86692
- <h3 [ngClass]="placeholderTitleClasses()" class="text-2xl font-bold">
86693
- Plan Selection Coming Soon
86694
- </h3>
86695
- <p [ngClass]="placeholderTextClasses()" class="text-base leading-relaxed max-w-md mx-auto">
86696
- Your billing currency has been set to <strong>{{ selectedCurrency() }}</strong>. Plan selection and subscription management will be available shortly.
86697
- </p>
86698
- </div>
86699
-
86700
- <div [ngClass]="infoBoxClasses()" class="p-5 rounded-xl border inline-block">
86701
- <div class="flex items-start gap-3 text-left">
86702
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
86703
- <path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z" clip-rule="evenodd"></path>
86704
- </svg>
86705
- <div class="flex-1">
86706
- <p [ngClass]="infoTextClasses()" class="text-sm leading-relaxed">
86707
- You'll be able to view and select from our subscription plans once this feature is enabled. In the meantime, your currency preference has been saved.
86708
- </p>
86709
- </div>
86710
- </div>
86711
- </div>
86712
- </div>
86713
- </div>
86714
- </div>
86653
+ template: `
86654
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
86655
+ <div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
86656
+ <div class="flex items-center gap-3">
86657
+ <div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
86658
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
86659
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"></path>
86660
+ </svg>
86661
+ </div>
86662
+ <div>
86663
+ <h2 [ngClass]="titleClasses()" class="text-xl font-bold">
86664
+ Choose Your Plan
86665
+ </h2>
86666
+ <p [ngClass]="subtitleClasses()" class="text-sm mt-0.5 flex items-center gap-2">
86667
+ Selected currency: <span class="font-semibold">{{ selectedCurrency() }}</span>
86668
+ <button
86669
+ (click)="onEditClick()"
86670
+ [ngClass]="editButtonClasses()"
86671
+ class="inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-md transition-colors cursor-pointer"
86672
+ >
86673
+ <svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
86674
+ <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"></path>
86675
+ </svg>
86676
+ Edit
86677
+ </button>
86678
+ </p>
86679
+ </div>
86680
+ </div>
86681
+ </div>
86682
+
86683
+ <div [ngClass]="contentClasses()" class="p-8">
86684
+ <div class="text-center space-y-6">
86685
+ <div [ngClass]="placeholderIconClasses()" class="w-20 h-20 mx-auto rounded-full flex items-center justify-center">
86686
+ <svg class="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
86687
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
86688
+ </svg>
86689
+ </div>
86690
+
86691
+ <div class="space-y-3">
86692
+ <h3 [ngClass]="placeholderTitleClasses()" class="text-2xl font-bold">
86693
+ Plan Selection Coming Soon
86694
+ </h3>
86695
+ <p [ngClass]="placeholderTextClasses()" class="text-base leading-relaxed max-w-md mx-auto">
86696
+ Your billing currency has been set to <strong>{{ selectedCurrency() }}</strong>. Plan selection and subscription management will be available shortly.
86697
+ </p>
86698
+ </div>
86699
+
86700
+ <div [ngClass]="infoBoxClasses()" class="p-5 rounded-xl border inline-block">
86701
+ <div class="flex items-start gap-3 text-left">
86702
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
86703
+ <path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z" clip-rule="evenodd"></path>
86704
+ </svg>
86705
+ <div class="flex-1">
86706
+ <p [ngClass]="infoTextClasses()" class="text-sm leading-relaxed">
86707
+ You'll be able to view and select from our subscription plans once this feature is enabled. In the meantime, your currency preference has been saved.
86708
+ </p>
86709
+ </div>
86710
+ </div>
86711
+ </div>
86712
+ </div>
86713
+ </div>
86714
+ </div>
86715
86715
  `
86716
86716
  }]
86717
86717
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], selectedCurrency: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedCurrency", required: false }] }], editCurrency: [{ type: i0.Output, args: ["editCurrency"] }] }); })();
86718
86718
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PlanSelectionPlaceholderCardComponent, { className: "PlanSelectionPlaceholderCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/plan-selection-placeholder-card.component.ts", lineNumber: 74 }); })();
86719
86719
 
86720
+ const _c0$3 = (a0, a1) => ({ "mb-8": a0, "mb-12": a1 });
86720
86721
  function BillingPeriodToggleComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
86721
86722
  i0.ɵɵelement(0, "div", 7);
86722
86723
  } }
@@ -86780,7 +86781,7 @@ class BillingPeriodToggleComponent {
86780
86781
  : 'text-slate-600';
86781
86782
  }
86782
86783
  static { this.ɵfac = function BillingPeriodToggleComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BillingPeriodToggleComponent)(); }; }
86783
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BillingPeriodToggleComponent, selectors: [["symphiq-billing-period-toggle"]], inputs: { viewMode: [1, "viewMode"], selectedPeriodUnit: [1, "selectedPeriodUnit"], isLoading: [1, "isLoading"] }, outputs: { periodUnitChanged: "periodUnitChanged" }, decls: 15, vars: 10, consts: [[1, "flex", "flex-col", "items-center", "gap-4", "mb-8"], [1, "flex", "items-center", "gap-3"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "inline-flex", "gap-2", "rounded-xl", "p-1.5", "transition-all", "duration-200", 3, "ngClass"], ["type", "button", 1, "relative", "px-6", "py-3", "rounded-lg", "font-semibold", "text-sm", "transition-all", "duration-200", "disabled:cursor-not-allowed", 3, "click", "disabled", "ngClass"], [1, "relative", "z-10"], [1, "absolute", "inset-0", "rounded-lg", "shadow-lg", "opacity-20"], [1, "text-sm", 3, "ngClass"]], template: function BillingPeriodToggleComponent_Template(rf, ctx) { if (rf & 1) {
86784
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BillingPeriodToggleComponent, selectors: [["symphiq-billing-period-toggle"]], inputs: { viewMode: [1, "viewMode"], selectedPeriodUnit: [1, "selectedPeriodUnit"], isLoading: [1, "isLoading"] }, outputs: { periodUnitChanged: "periodUnitChanged" }, decls: 15, vars: 14, consts: [[1, "flex", "flex-col", "items-center", "gap-4", 3, "ngClass"], [1, "flex", "items-center", "gap-3"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "inline-flex", "gap-2", "rounded-xl", "p-1.5", "transition-all", "duration-200", 3, "ngClass"], ["type", "button", 1, "relative", "px-6", "py-3", "rounded-lg", "font-semibold", "text-sm", "transition-all", "duration-200", "disabled:cursor-not-allowed", 3, "click", "disabled", "ngClass"], [1, "relative", "z-10"], [1, "absolute", "inset-0", "rounded-lg", "shadow-lg", "opacity-20"], [1, "text-sm", 3, "ngClass"]], template: function BillingPeriodToggleComponent_Template(rf, ctx) { if (rf & 1) {
86784
86785
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
86785
86786
  i0.ɵɵnamespaceSVG();
86786
86787
  i0.ɵɵelementStart(2, "svg", 2);
@@ -86805,6 +86806,7 @@ class BillingPeriodToggleComponent {
86805
86806
  i0.ɵɵtext(14);
86806
86807
  i0.ɵɵelementEnd()();
86807
86808
  } if (rf & 2) {
86809
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(11, _c0$3, ctx.selectedPeriodUnit() !== ctx.periodUnitEnum.YEAR, ctx.selectedPeriodUnit() === ctx.periodUnitEnum.YEAR));
86808
86810
  i0.ɵɵadvance(2);
86809
86811
  i0.ɵɵproperty("ngClass", ctx.iconClasses());
86810
86812
  i0.ɵɵadvance(2);
@@ -86830,69 +86832,110 @@ class BillingPeriodToggleComponent {
86830
86832
  standalone: true,
86831
86833
  imports: [CommonModule],
86832
86834
  changeDetection: ChangeDetectionStrategy.OnPush,
86833
- template: `
86834
- <div class="flex flex-col items-center gap-4 mb-8">
86835
- <div class="flex items-center gap-3">
86836
- <svg [ngClass]="iconClasses()" class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
86837
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path>
86838
- </svg>
86839
- <div [ngClass]="toggleContainerClasses()" class="inline-flex gap-2 rounded-xl p-1.5 transition-all duration-200">
86840
- <button
86841
- type="button"
86842
- [disabled]="isLoading()"
86843
- (click)="selectPeriod(periodUnitEnum.YEAR)"
86844
- [ngClass]="getButtonClasses(periodUnitEnum.YEAR)"
86845
- class="relative px-6 py-3 rounded-lg font-semibold text-sm transition-all duration-200 disabled:cursor-not-allowed">
86846
- <span class="relative z-10">Annual contract</span>
86847
- @if (selectedPeriodUnit() === periodUnitEnum.YEAR) {
86848
- <div class="absolute inset-0 rounded-lg shadow-lg opacity-20"></div>
86849
- }
86850
- </button>
86851
- <button
86852
- type="button"
86853
- [disabled]="isLoading()"
86854
- (click)="selectPeriod(periodUnitEnum.MONTH)"
86855
- [ngClass]="getButtonClasses(periodUnitEnum.MONTH)"
86856
- class="relative px-6 py-3 rounded-lg font-semibold text-sm transition-all duration-200 disabled:cursor-not-allowed">
86857
- <span class="relative z-10">Monthly contract</span>
86858
- @if (selectedPeriodUnit() === periodUnitEnum.MONTH) {
86859
- <div class="absolute inset-0 rounded-lg shadow-lg opacity-20"></div>
86860
- }
86861
- </button>
86862
- </div>
86863
- </div>
86864
- <p [ngClass]="subtitleClasses()" class="text-sm">
86865
- {{ getSubtitle() }}
86866
- </p>
86867
- </div>
86835
+ template: `
86836
+ <div [ngClass]="{'mb-8': selectedPeriodUnit() !== periodUnitEnum.YEAR, 'mb-12': selectedPeriodUnit() === periodUnitEnum.YEAR}" class="flex flex-col items-center gap-4">
86837
+ <div class="flex items-center gap-3">
86838
+ <svg [ngClass]="iconClasses()" class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
86839
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path>
86840
+ </svg>
86841
+ <div [ngClass]="toggleContainerClasses()" class="inline-flex gap-2 rounded-xl p-1.5 transition-all duration-200">
86842
+ <button
86843
+ type="button"
86844
+ [disabled]="isLoading()"
86845
+ (click)="selectPeriod(periodUnitEnum.YEAR)"
86846
+ [ngClass]="getButtonClasses(periodUnitEnum.YEAR)"
86847
+ class="relative px-6 py-3 rounded-lg font-semibold text-sm transition-all duration-200 disabled:cursor-not-allowed">
86848
+ <span class="relative z-10">Annual contract</span>
86849
+ @if (selectedPeriodUnit() === periodUnitEnum.YEAR) {
86850
+ <div class="absolute inset-0 rounded-lg shadow-lg opacity-20"></div>
86851
+ }
86852
+ </button>
86853
+ <button
86854
+ type="button"
86855
+ [disabled]="isLoading()"
86856
+ (click)="selectPeriod(periodUnitEnum.MONTH)"
86857
+ [ngClass]="getButtonClasses(periodUnitEnum.MONTH)"
86858
+ class="relative px-6 py-3 rounded-lg font-semibold text-sm transition-all duration-200 disabled:cursor-not-allowed">
86859
+ <span class="relative z-10">Monthly contract</span>
86860
+ @if (selectedPeriodUnit() === periodUnitEnum.MONTH) {
86861
+ <div class="absolute inset-0 rounded-lg shadow-lg opacity-20"></div>
86862
+ }
86863
+ </button>
86864
+ </div>
86865
+ </div>
86866
+ <p [ngClass]="subtitleClasses()" class="text-sm">
86867
+ {{ getSubtitle() }}
86868
+ </p>
86869
+ </div>
86868
86870
  `
86869
86871
  }]
86870
86872
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], selectedPeriodUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedPeriodUnit", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], periodUnitChanged: [{ type: i0.Output, args: ["periodUnitChanged"] }] }); })();
86871
86873
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BillingPeriodToggleComponent, { className: "BillingPeriodToggleComponent", filePath: "lib/components/profile-analysis-dashboard/cards/billing-period-toggle.component.ts", lineNumber: 47 }); })();
86872
86874
 
86875
+ function PlanCardComponent_Conditional_1_Conditional_8_Template(rf, ctx) { if (rf & 1) {
86876
+ i0.ɵɵelementStart(0, "div", 31);
86877
+ i0.ɵɵtext(1);
86878
+ i0.ɵɵelementEnd();
86879
+ } if (rf & 2) {
86880
+ const ctx_r0 = i0.ɵɵnextContext(2);
86881
+ i0.ɵɵproperty("ngClass", ctx_r0.savingsBadgeClasses());
86882
+ i0.ɵɵadvance();
86883
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.getSavingsPercentage(), " ");
86884
+ } }
86873
86885
  function PlanCardComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
86874
- i0.ɵɵelementStart(0, "div", 1);
86875
- i0.ɵɵtext(1, " Best value ");
86886
+ i0.ɵɵelementStart(0, "div", 1)(1, "div", 27);
86887
+ i0.ɵɵnamespaceSVG();
86888
+ i0.ɵɵelementStart(2, "svg", 28);
86889
+ i0.ɵɵelement(3, "path", 29);
86890
+ i0.ɵɵelementEnd();
86891
+ i0.ɵɵnamespaceHTML();
86892
+ i0.ɵɵelementStart(4, "span", 30);
86893
+ i0.ɵɵtext(5, "Best Value");
86894
+ i0.ɵɵelementEnd();
86895
+ i0.ɵɵnamespaceSVG();
86896
+ i0.ɵɵelementStart(6, "svg", 28);
86897
+ i0.ɵɵelement(7, "path", 29);
86898
+ i0.ɵɵelementEnd()();
86899
+ i0.ɵɵconditionalCreate(8, PlanCardComponent_Conditional_1_Conditional_8_Template, 2, 2, "div", 31);
86876
86900
  i0.ɵɵelementEnd();
86877
86901
  } if (rf & 2) {
86878
86902
  const ctx_r0 = i0.ɵɵnextContext();
86903
+ i0.ɵɵadvance();
86879
86904
  i0.ɵɵproperty("ngClass", ctx_r0.badgeClasses());
86905
+ i0.ɵɵadvance(7);
86906
+ i0.ɵɵconditional(ctx_r0.getSavingsPercentage() ? 8 : -1);
86880
86907
  } }
86881
- function PlanCardComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
86882
- i0.ɵɵelement(0, "div", 10);
86908
+ function PlanCardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
86909
+ i0.ɵɵelementStart(0, "div", 5);
86910
+ i0.ɵɵnamespaceSVG();
86911
+ i0.ɵɵelementStart(1, "svg", 18);
86912
+ i0.ɵɵelement(2, "path", 32);
86913
+ i0.ɵɵelementEnd();
86914
+ i0.ɵɵtext(3, " Most Popular Choice ");
86915
+ i0.ɵɵelementEnd();
86883
86916
  } if (rf & 2) {
86884
86917
  const ctx_r0 = i0.ɵɵnextContext();
86885
- i0.ɵɵproperty("ngClass", ctx_r0.radioInnerClasses());
86918
+ i0.ɵɵproperty("ngClass", ctx_r0.recommendedTextClasses());
86886
86919
  } }
86887
- function PlanCardComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
86888
- i0.ɵɵelementStart(0, "button", 15);
86920
+ function PlanCardComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
86921
+ i0.ɵɵelementStart(0, "div", 9);
86889
86922
  i0.ɵɵnamespaceSVG();
86890
- i0.ɵɵelementStart(1, "svg", 23);
86891
- i0.ɵɵelement(2, "path", 24);
86892
- i0.ɵɵelementEnd()();
86923
+ i0.ɵɵelementStart(1, "svg", 18);
86924
+ i0.ɵɵelement(2, "path", 33);
86925
+ i0.ɵɵelementEnd();
86926
+ i0.ɵɵtext(3);
86927
+ i0.ɵɵelementEnd();
86893
86928
  } if (rf & 2) {
86894
86929
  const ctx_r0 = i0.ɵɵnextContext();
86895
- i0.ɵɵproperty("ngClass", ctx_r0.tooltipButtonClasses());
86930
+ i0.ɵɵproperty("ngClass", ctx_r0.savingsTextClasses());
86931
+ i0.ɵɵadvance(3);
86932
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.getSavingsAmount(), " ");
86933
+ } }
86934
+ function PlanCardComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
86935
+ i0.ɵɵelement(0, "div", 12);
86936
+ } if (rf & 2) {
86937
+ const ctx_r0 = i0.ɵɵnextContext();
86938
+ i0.ɵɵproperty("ngClass", ctx_r0.radioInnerClasses());
86896
86939
  } }
86897
86940
  class PlanCardComponent {
86898
86941
  constructor() {
@@ -86957,25 +87000,40 @@ class PlanCardComponent {
86957
87000
  }
86958
87001
  getContractTerms() {
86959
87002
  const info = this.planInfo();
86960
- if (info.periodUnit === ChargebeeItemPricePeriodUnitEnum.YEAR) {
86961
- return 'One up-front payment covers 12 months of service. Plan auto-renews yearly—cancel at least 14 days before the renewal date to prevent the next term.';
86962
- }
86963
- else {
86964
- return 'Billed every month with no long-term commitment. Plan auto-renews each month—cancel at least 14 days before your next bill to stop future charges.';
86965
- }
87003
+ return info.planItemPrice.description || '';
86966
87004
  }
86967
- hasTooltip(field) {
86968
- return false;
87005
+ aiUsageTooltipContent() {
87006
+ return {
87007
+ title: 'How it works:',
87008
+ markdown: `Your monthly subscription fee covers access to core features.
87009
+
87010
+ AI usage is tracked throughout the month.
87011
+
87012
+ At the end of each month, your total AI usage is calculated and automatically billed as a separate line item on your invoice.`
87013
+ };
86969
87014
  }
86970
87015
  cardContainerClasses() {
86971
87016
  const isSelected = this.isSelected();
87017
+ const isBestValue = this.showBestValueBadge();
86972
87018
  if (this.viewMode() === ViewModeEnum.DARK) {
87019
+ if (isBestValue && isSelected) {
87020
+ return 'bg-slate-800/60 border-amber-500 shadow-2xl shadow-amber-500/30';
87021
+ }
87022
+ if (isBestValue) {
87023
+ return 'bg-slate-800/50 border-amber-500/70 hover:border-amber-400 hover:shadow-2xl hover:shadow-amber-500/40';
87024
+ }
86973
87025
  if (isSelected) {
86974
87026
  return 'bg-slate-800/60 border-blue-500 shadow-2xl shadow-blue-500/20';
86975
87027
  }
86976
87028
  return 'bg-slate-800/40 border-slate-700/50 hover:border-blue-500/50 hover:shadow-xl hover:shadow-blue-500/10';
86977
87029
  }
86978
87030
  else {
87031
+ if (isBestValue && isSelected) {
87032
+ return 'bg-white border-amber-500 shadow-2xl shadow-amber-500/30';
87033
+ }
87034
+ if (isBestValue) {
87035
+ return 'bg-white border-amber-500/70 hover:border-amber-500 hover:shadow-2xl hover:shadow-amber-500/40';
87036
+ }
86979
87037
  if (isSelected) {
86980
87038
  return 'bg-white border-blue-500 shadow-2xl shadow-blue-500/20';
86981
87039
  }
@@ -86983,9 +87041,7 @@ class PlanCardComponent {
86983
87041
  }
86984
87042
  }
86985
87043
  badgeClasses() {
86986
- return this.viewMode() === ViewModeEnum.DARK
86987
- ? 'bg-gradient-to-r from-purple-600 to-pink-600 text-white'
86988
- : 'bg-gradient-to-r from-purple-600 to-pink-600 text-white';
87044
+ return 'text-white';
86989
87045
  }
86990
87046
  planTitleClasses() {
86991
87047
  return this.viewMode() === ViewModeEnum.DARK
@@ -87070,62 +87126,119 @@ class PlanCardComponent {
87070
87126
  ? 'text-slate-400'
87071
87127
  : 'text-slate-600';
87072
87128
  }
87129
+ savingsBadgeClasses() {
87130
+ return this.viewMode() === ViewModeEnum.DARK
87131
+ ? 'bg-gradient-to-r from-emerald-500 to-teal-500 text-white'
87132
+ : 'bg-gradient-to-r from-emerald-500 to-teal-500 text-white';
87133
+ }
87134
+ recommendedTextClasses() {
87135
+ return this.viewMode() === ViewModeEnum.DARK
87136
+ ? 'text-amber-400'
87137
+ : 'text-amber-600';
87138
+ }
87139
+ savingsTextClasses() {
87140
+ return this.viewMode() === ViewModeEnum.DARK
87141
+ ? 'text-emerald-400'
87142
+ : 'text-emerald-600';
87143
+ }
87144
+ getSavingsPercentage() {
87145
+ if (!this.showBestValueBadge())
87146
+ return null;
87147
+ const info = this.planInfo();
87148
+ if (info.periodUnit === ChargebeeItemPricePeriodUnitEnum.YEAR) {
87149
+ const annualPrice = info.planItemPrice.price || 0;
87150
+ const monthlyEquivalent = (annualPrice / 12) * 12;
87151
+ const monthlyPrice = info.planItemPrice.price || annualPrice;
87152
+ if (monthlyPrice > 0) {
87153
+ const savings = ((monthlyEquivalent - annualPrice) / monthlyEquivalent) * 100;
87154
+ if (savings > 0) {
87155
+ return `Save ${Math.round(savings)}%`;
87156
+ }
87157
+ }
87158
+ }
87159
+ return null;
87160
+ }
87161
+ getSavingsAmount() {
87162
+ if (!this.showBestValueBadge())
87163
+ return null;
87164
+ const info = this.planInfo();
87165
+ if (info.periodUnit === ChargebeeItemPricePeriodUnitEnum.YEAR) {
87166
+ const annualPrice = info.planItemPrice.price || 0;
87167
+ const monthlyPrice = annualPrice / 12;
87168
+ const monthlyPlanPrice = monthlyPrice * 1.2;
87169
+ const totalMonthlyOver12 = monthlyPlanPrice * 12;
87170
+ const savings = totalMonthlyOver12 - annualPrice;
87171
+ if (savings > 0) {
87172
+ const symbol = this.getCurrencySymbol();
87173
+ const savingsFormatted = Math.floor(savings).toLocaleString();
87174
+ return `${symbol}${savingsFormatted} savings vs. monthly billing`;
87175
+ }
87176
+ }
87177
+ return null;
87178
+ }
87073
87179
  static { this.ɵfac = function PlanCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PlanCardComponent)(); }; }
87074
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PlanCardComponent, selectors: [["symphiq-plan-card"]], inputs: { viewMode: [1, "viewMode"], planInfo: [1, "planInfo"], isSelected: [1, "isSelected"], selectedPeriodUnit: [1, "selectedPeriodUnit"] }, outputs: { planSelected: "planSelected" }, decls: 42, vars: 28, consts: [[1, "relative", "rounded-2xl", "border-2", "p-6", "transition-all", "duration-200", "cursor-pointer", "hover:scale-[1.02]", 3, "click", "ngClass"], [1, "absolute", "-top-3", "left-1/2", "transform", "-translate-x-1/2", "px-4", "py-1", "rounded-full", "text-xs", "font-bold", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], [1, "flex-1"], [1, "text-xl", "font-bold", "mb-2", 3, "ngClass"], [1, "flex", "items-baseline", "gap-2"], [1, "text-4xl", "font-bold", 3, "ngClass"], [1, "text-base", 3, "ngClass"], [1, "flex-shrink-0", "ml-4"], [1, "w-6", "h-6", "rounded-full", "border-2", "flex", "items-center", "justify-center", "transition-all", "duration-200", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", 3, "ngClass"], [1, "space-y-4", 3, "ngClass"], [1, "flex", "justify-between", "items-center", "py-3", "border-b", 3, "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "text-sm", "font-medium", 3, "ngClass"], [1, "w-4", "h-4", "rounded-full", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "text-sm", "font-semibold", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", 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, "flex", "justify-between", "items-center", "py-3", 3, "ngClass"], [1, "pt-4", "mt-4", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-3", "h-3"], ["fill-rule", "evenodd", "d", "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z", "clip-rule", "evenodd"]], template: function PlanCardComponent_Template(rf, ctx) { if (rf & 1) {
87180
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PlanCardComponent, selectors: [["symphiq-plan-card"]], inputs: { viewMode: [1, "viewMode"], planInfo: [1, "planInfo"], isSelected: [1, "isSelected"], selectedPeriodUnit: [1, "selectedPeriodUnit"] }, outputs: { planSelected: "planSelected" }, decls: 45, vars: 33, consts: [[1, "relative", "rounded-2xl", "border-2", "p-6", "transition-all", "duration-200", "cursor-pointer", "hover:scale-[1.02]", 3, "click", "ngClass"], [1, "absolute", "-top-5", "left-1/2", "flex", "flex-col", "items-center", "gap-2", "z-10"], [1, "flex", "items-start", "justify-between", "mb-6"], [1, "flex-1"], [1, "text-xl", "font-bold", "mb-2", 3, "ngClass"], [1, "text-sm", "font-semibold", "mb-2", "flex", "items-center", "gap-1", 3, "ngClass"], [1, "flex", "items-baseline", "gap-2"], [1, "text-4xl", "font-bold", 3, "ngClass"], [1, "text-base", 3, "ngClass"], [1, "text-sm", "font-bold", "mt-2", "flex", "items-center", "gap-1", 3, "ngClass"], [1, "flex-shrink-0", "ml-4"], [1, "w-6", "h-6", "rounded-full", "border-2", "flex", "items-center", "justify-center", "transition-all", "duration-200", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", 3, "ngClass"], [1, "space-y-4", 3, "ngClass"], [1, "flex", "justify-between", "items-center", "py-3", "border-b", 3, "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "text-sm", "font-medium", 3, "ngClass"], ["tooltipType", "markdown", "tooltipPosition", "right", 1, "w-5", "h-5", "rounded-full", "flex", "items-center", "justify-center", 3, "libSymphiqTooltip", "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-4", "h-4"], ["fill-rule", "evenodd", "d", "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z", "clip-rule", "evenodd"], [1, "text-sm", "font-semibold", "text-right", "max-w-[60%]", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", 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, "flex", "justify-between", "items-center", "py-3", 3, "ngClass"], [1, "pt-4", "mt-4", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass", "innerHTML"], [1, "best-value-badge", "px-6", "py-2", "rounded-full", "text-base", "font-extrabold", "flex", "items-center", "gap-2", "shadow-2xl", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "sparkle-icon"], ["d", "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"], [1, "drop-shadow-lg"], [1, "savings-badge", "px-3", "py-1", "rounded-full", "text-xs", "font-bold", "shadow-lg", 3, "ngClass"], ["fill-rule", "evenodd", "d", "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z", "clip-rule", "evenodd"], ["fill-rule", "evenodd", "d", "M5 2a1 1 0 011 1v1h1a1 1 0 010 2H6v1a1 1 0 01-2 0V6H3a1 1 0 010-2h1V3a1 1 0 011-1zm0 10a1 1 0 011 1v1h1a1 1 0 110 2H6v1a1 1 0 11-2 0v-1H3a1 1 0 110-2h1v-1a1 1 0 011-1zM12 2a1 1 0 01.967.744L14.146 7.2 17.5 9.134a1 1 0 010 1.732l-3.354 1.935-1.18 4.455a1 1 0 01-1.933 0L9.854 12.8 6.5 10.866a1 1 0 010-1.732l3.354-1.935 1.18-4.455A1 1 0 0112 2z", "clip-rule", "evenodd"]], template: function PlanCardComponent_Template(rf, ctx) { if (rf & 1) {
87075
87181
  i0.ɵɵelementStart(0, "div", 0);
87076
87182
  i0.ɵɵlistener("click", function PlanCardComponent_Template_div_click_0_listener() { return ctx.handleCardClick(); });
87077
- i0.ɵɵconditionalCreate(1, PlanCardComponent_Conditional_1_Template, 2, 1, "div", 1);
87183
+ i0.ɵɵconditionalCreate(1, PlanCardComponent_Conditional_1_Template, 9, 2, "div", 1);
87078
87184
  i0.ɵɵelementStart(2, "div", 2)(3, "div", 3)(4, "h3", 4);
87079
87185
  i0.ɵɵtext(5);
87080
87186
  i0.ɵɵelementEnd();
87081
- i0.ɵɵelementStart(6, "div", 5)(7, "span", 6);
87082
- i0.ɵɵtext(8);
87187
+ i0.ɵɵconditionalCreate(6, PlanCardComponent_Conditional_6_Template, 4, 1, "div", 5);
87188
+ i0.ɵɵelementStart(7, "div", 6)(8, "span", 7);
87189
+ i0.ɵɵtext(9);
87083
87190
  i0.ɵɵelementEnd();
87084
- i0.ɵɵelementStart(9, "span", 7);
87085
- i0.ɵɵtext(10);
87086
- i0.ɵɵelementEnd()()();
87087
- i0.ɵɵelementStart(11, "div", 8)(12, "div", 9);
87088
- i0.ɵɵconditionalCreate(13, PlanCardComponent_Conditional_13_Template, 1, 1, "div", 10);
87089
- i0.ɵɵelementEnd()()();
87090
- i0.ɵɵelementStart(14, "div", 11)(15, "div", 12)(16, "div", 13)(17, "span", 14);
87091
- i0.ɵɵtext(18, "AI usage");
87191
+ i0.ɵɵelementStart(10, "span", 8);
87192
+ i0.ɵɵtext(11);
87193
+ i0.ɵɵelementEnd()();
87194
+ i0.ɵɵconditionalCreate(12, PlanCardComponent_Conditional_12_Template, 4, 2, "div", 9);
87092
87195
  i0.ɵɵelementEnd();
87093
- i0.ɵɵconditionalCreate(19, PlanCardComponent_Conditional_19_Template, 3, 1, "button", 15);
87196
+ i0.ɵɵelementStart(13, "div", 10)(14, "div", 11);
87197
+ i0.ɵɵconditionalCreate(15, PlanCardComponent_Conditional_15_Template, 1, 1, "div", 12);
87198
+ i0.ɵɵelementEnd()()();
87199
+ i0.ɵɵelementStart(16, "div", 13)(17, "div", 14)(18, "div", 15)(19, "span", 16);
87200
+ i0.ɵɵtext(20, "AI usage");
87094
87201
  i0.ɵɵelementEnd();
87095
- i0.ɵɵelementStart(20, "span", 16);
87096
- i0.ɵɵtext(21, " charged monthly based on your actual usage ");
87202
+ i0.ɵɵelementStart(21, "button", 17);
87203
+ i0.ɵɵnamespaceSVG();
87204
+ i0.ɵɵelementStart(22, "svg", 18);
87205
+ i0.ɵɵelement(23, "path", 19);
87206
+ i0.ɵɵelementEnd()()();
87207
+ i0.ɵɵnamespaceHTML();
87208
+ i0.ɵɵelementStart(24, "span", 20);
87209
+ i0.ɵɵtext(25, " Charged monthly based on your actual usage\u2014no per-token counting, just straightforward monthly billing. ");
87097
87210
  i0.ɵɵelementEnd()();
87098
- i0.ɵɵelementStart(22, "div", 12)(23, "span", 14);
87099
- i0.ɵɵtext(24, "Unlimited recommendations");
87211
+ i0.ɵɵelementStart(26, "div", 14)(27, "span", 16);
87212
+ i0.ɵɵtext(28, "Unlimited recommendations");
87100
87213
  i0.ɵɵelementEnd();
87101
87214
  i0.ɵɵnamespaceSVG();
87102
- i0.ɵɵelementStart(25, "svg", 17);
87103
- i0.ɵɵelement(26, "path", 18);
87215
+ i0.ɵɵelementStart(29, "svg", 21);
87216
+ i0.ɵɵelement(30, "path", 22);
87104
87217
  i0.ɵɵelementEnd()();
87105
87218
  i0.ɵɵnamespaceHTML();
87106
- i0.ɵɵelementStart(27, "div", 12)(28, "span", 14);
87107
- i0.ɵɵtext(29, "Unlimited seats");
87219
+ i0.ɵɵelementStart(31, "div", 14)(32, "span", 16);
87220
+ i0.ɵɵtext(33, "Unlimited seats");
87108
87221
  i0.ɵɵelementEnd();
87109
87222
  i0.ɵɵnamespaceSVG();
87110
- i0.ɵɵelementStart(30, "svg", 17);
87111
- i0.ɵɵelement(31, "path", 18);
87223
+ i0.ɵɵelementStart(34, "svg", 21);
87224
+ i0.ɵɵelement(35, "path", 22);
87112
87225
  i0.ɵɵelementEnd()();
87113
87226
  i0.ɵɵnamespaceHTML();
87114
- i0.ɵɵelementStart(32, "div", 19)(33, "span", 14);
87115
- i0.ɵɵtext(34, "Google Analytics integration");
87227
+ i0.ɵɵelementStart(36, "div", 23)(37, "span", 16);
87228
+ i0.ɵɵtext(38, "Google Analytics integration");
87116
87229
  i0.ɵɵelementEnd();
87117
87230
  i0.ɵɵnamespaceSVG();
87118
- i0.ɵɵelementStart(35, "svg", 17);
87119
- i0.ɵɵelement(36, "path", 18);
87231
+ i0.ɵɵelementStart(39, "svg", 21);
87232
+ i0.ɵɵelement(40, "path", 22);
87120
87233
  i0.ɵɵelementEnd()();
87121
87234
  i0.ɵɵnamespaceHTML();
87122
- i0.ɵɵelementStart(37, "div", 20)(38, "h4", 21);
87123
- i0.ɵɵtext(39, " Contract terms ");
87235
+ i0.ɵɵelementStart(41, "div", 24)(42, "h4", 25);
87236
+ i0.ɵɵtext(43, " Contract terms ");
87124
87237
  i0.ɵɵelementEnd();
87125
- i0.ɵɵelementStart(40, "p", 22);
87126
- i0.ɵɵtext(41);
87127
- i0.ɵɵelementEnd()()()();
87238
+ i0.ɵɵelement(44, "p", 26);
87239
+ i0.ɵɵelementEnd()()();
87128
87240
  } if (rf & 2) {
87241
+ i0.ɵɵclassProp("best-value-card", ctx.showBestValueBadge());
87129
87242
  i0.ɵɵproperty("ngClass", ctx.cardContainerClasses());
87130
87243
  i0.ɵɵadvance();
87131
87244
  i0.ɵɵconditional(ctx.showBestValueBadge() ? 1 : -1);
@@ -87133,6 +87246,8 @@ class PlanCardComponent {
87133
87246
  i0.ɵɵproperty("ngClass", ctx.planTitleClasses());
87134
87247
  i0.ɵɵadvance();
87135
87248
  i0.ɵɵtextInterpolate1(" ", ctx.getPlanTitle(), " ");
87249
+ i0.ɵɵadvance();
87250
+ i0.ɵɵconditional(ctx.showBestValueBadge() ? 6 : -1);
87136
87251
  i0.ɵɵadvance(2);
87137
87252
  i0.ɵɵproperty("ngClass", ctx.priceClasses());
87138
87253
  i0.ɵɵadvance();
@@ -87141,10 +87256,12 @@ class PlanCardComponent {
87141
87256
  i0.ɵɵproperty("ngClass", ctx.pricePeriodClasses());
87142
87257
  i0.ɵɵadvance();
87143
87258
  i0.ɵɵtextInterpolate1(" ", ctx.getPricePeriod(), " ");
87259
+ i0.ɵɵadvance();
87260
+ i0.ɵɵconditional(ctx.showBestValueBadge() && ctx.getSavingsAmount() ? 12 : -1);
87144
87261
  i0.ɵɵadvance(2);
87145
87262
  i0.ɵɵproperty("ngClass", ctx.radioClasses());
87146
87263
  i0.ɵɵadvance();
87147
- i0.ɵɵconditional(ctx.isSelected() ? 13 : -1);
87264
+ i0.ɵɵconditional(ctx.isSelected() ? 15 : -1);
87148
87265
  i0.ɵɵadvance();
87149
87266
  i0.ɵɵproperty("ngClass", ctx.sectionClasses());
87150
87267
  i0.ɵɵadvance();
@@ -87152,8 +87269,8 @@ class PlanCardComponent {
87152
87269
  i0.ɵɵadvance(2);
87153
87270
  i0.ɵɵproperty("ngClass", ctx.labelClasses());
87154
87271
  i0.ɵɵadvance(2);
87155
- i0.ɵɵconditional(ctx.hasTooltip("aiUsage") ? 19 : -1);
87156
- i0.ɵɵadvance();
87272
+ i0.ɵɵproperty("libSymphiqTooltip", ctx.aiUsageTooltipContent())("ngClass", ctx.tooltipButtonClasses());
87273
+ i0.ɵɵadvance(3);
87157
87274
  i0.ɵɵproperty("ngClass", ctx.valueClasses());
87158
87275
  i0.ɵɵadvance(2);
87159
87276
  i0.ɵɵproperty("ngClass", ctx.featureRowClasses());
@@ -87178,105 +87295,128 @@ class PlanCardComponent {
87178
87295
  i0.ɵɵadvance();
87179
87296
  i0.ɵɵproperty("ngClass", ctx.contractTermsLabelClasses());
87180
87297
  i0.ɵɵadvance(2);
87181
- i0.ɵɵproperty("ngClass", ctx.contractTermsTextClasses());
87182
- i0.ɵɵadvance();
87183
- i0.ɵɵtextInterpolate1(" ", ctx.getContractTerms(), " ");
87184
- } }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
87298
+ i0.ɵɵproperty("ngClass", ctx.contractTermsTextClasses())("innerHTML", ctx.getContractTerms(), i0.ɵɵsanitizeHtml);
87299
+ } }, dependencies: [CommonModule, i1$1.NgClass, TooltipDirective], styles: ["@keyframes _ngcontent-%COMP%_pulse-glow{0%,to{transform:translate(-50%) scale(1);box-shadow:0 0 20px #eab30899,0 0 40px #eab30866,0 0 60px #eab30833,inset 0 0 20px #ffffff4d}50%{transform:translate(-50%) scale(1.1);box-shadow:0 0 30px #eab308cc,0 0 60px #eab30899,0 0 90px #eab30866,inset 0 0 30px #ffffff80}}@keyframes _ngcontent-%COMP%_shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes _ngcontent-%COMP%_sparkle{0%,to{opacity:1;transform:rotate(0) scale(1)}50%{opacity:.7;transform:rotate(180deg) scale(1.2)}}@keyframes _ngcontent-%COMP%_border-glow{0%,to{box-shadow:0 0 20px #eab30880,0 0 40px #eab3084d,0 0 60px #eab30826,inset 0 0 20px #eab3081a}50%{box-shadow:0 0 30px #eab308b3,0 0 60px #eab30880,0 0 90px #eab3084d,inset 0 0 30px #eab30833}}@keyframes _ngcontent-%COMP%_float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.best-value-badge[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse-glow 2s ease-in-out infinite;background:linear-gradient(135deg,#fbbf24,#f59e0b,#d946ef,#a855f7,#fbbf24);background-size:200% 200%;animation:_ngcontent-%COMP%_pulse-glow 2s ease-in-out infinite,_ngcontent-%COMP%_shimmer 3s linear infinite;position:relative;overflow:hidden}.best-value-badge[_ngcontent-%COMP%]:before{content:\"\";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:_ngcontent-%COMP%_shimmer 2s infinite}.best-value-card[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_border-glow 2s ease-in-out infinite;transform:scale(1.05);border-width:3px}.best-value-card[_ngcontent-%COMP%]:hover{transform:scale(1.07)}.sparkle-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_sparkle 1.5s ease-in-out infinite}.savings-badge[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse-glow 2.5s ease-in-out infinite}"], changeDetection: 0 }); }
87185
87300
  }
87186
87301
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PlanCardComponent, [{
87187
87302
  type: Component,
87188
- args: [{
87189
- selector: 'symphiq-plan-card',
87190
- standalone: true,
87191
- imports: [CommonModule],
87192
- changeDetection: ChangeDetectionStrategy.OnPush,
87193
- template: `
87194
- <div
87195
- (click)="handleCardClick()"
87196
- [ngClass]="cardContainerClasses()"
87197
- class="relative rounded-2xl border-2 p-6 transition-all duration-200 cursor-pointer hover:scale-[1.02]">
87198
-
87199
- @if (showBestValueBadge()) {
87200
- <div [ngClass]="badgeClasses()" class="absolute -top-3 left-1/2 transform -translate-x-1/2 px-4 py-1 rounded-full text-xs font-bold">
87201
- Best value
87202
- </div>
87203
- }
87204
-
87205
- <div class="flex items-start justify-between mb-6">
87206
- <div class="flex-1">
87207
- <h3 [ngClass]="planTitleClasses()" class="text-xl font-bold mb-2">
87208
- {{ getPlanTitle() }}
87209
- </h3>
87210
- <div class="flex items-baseline gap-2">
87211
- <span [ngClass]="priceClasses()" class="text-4xl font-bold">
87212
- {{ formatPrice() }}
87213
- </span>
87214
- <span [ngClass]="pricePeriodClasses()" class="text-base">
87215
- {{ getPricePeriod() }}
87216
- </span>
87217
- </div>
87218
- </div>
87219
- <div class="flex-shrink-0 ml-4">
87220
- <div [ngClass]="radioClasses()" class="w-6 h-6 rounded-full border-2 flex items-center justify-center transition-all duration-200">
87221
- @if (isSelected()) {
87222
- <div [ngClass]="radioInnerClasses()" class="w-3 h-3 rounded-full"></div>
87223
- }
87224
- </div>
87225
- </div>
87226
- </div>
87227
-
87228
- <div [ngClass]="sectionClasses()" class="space-y-4">
87229
- <div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
87230
- <div class="flex items-center gap-2">
87231
- <span [ngClass]="labelClasses()" class="text-sm font-medium">AI usage</span>
87232
- @if (hasTooltip('aiUsage')) {
87233
- <button [ngClass]="tooltipButtonClasses()" class="w-4 h-4 rounded-full flex items-center justify-center">
87234
- <svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20">
87235
- <path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path>
87236
- </svg>
87237
- </button>
87238
- }
87239
- </div>
87240
- <span [ngClass]="valueClasses()" class="text-sm font-semibold">
87241
- charged monthly based on your actual usage
87242
- </span>
87243
- </div>
87244
-
87245
- <div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
87246
- <span [ngClass]="labelClasses()" class="text-sm font-medium">Unlimited recommendations</span>
87247
- <svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
87248
- <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>
87249
- </svg>
87250
- </div>
87251
-
87252
- <div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
87253
- <span [ngClass]="labelClasses()" class="text-sm font-medium">Unlimited seats</span>
87254
- <svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
87255
- <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>
87256
- </svg>
87257
- </div>
87258
-
87259
- <div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3">
87260
- <span [ngClass]="labelClasses()" class="text-sm font-medium">Google Analytics integration</span>
87261
- <svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
87262
- <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>
87263
- </svg>
87264
- </div>
87265
-
87266
- <div [ngClass]="contractTermsClasses()" class="pt-4 mt-4">
87267
- <h4 [ngClass]="contractTermsLabelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-2">
87268
- Contract terms
87269
- </h4>
87270
- <p [ngClass]="contractTermsTextClasses()" class="text-sm leading-relaxed">
87271
- {{ getContractTerms() }}
87272
- </p>
87273
- </div>
87274
- </div>
87275
- </div>
87276
- `
87277
- }]
87303
+ args: [{ selector: 'symphiq-plan-card', standalone: true, imports: [CommonModule, TooltipDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: `
87304
+ <div
87305
+ (click)="handleCardClick()"
87306
+ [ngClass]="cardContainerClasses()"
87307
+ [class.best-value-card]="showBestValueBadge()"
87308
+ class="relative rounded-2xl border-2 p-6 transition-all duration-200 cursor-pointer hover:scale-[1.02]">
87309
+
87310
+ @if (showBestValueBadge()) {
87311
+ <div class="absolute -top-5 left-1/2 flex flex-col items-center gap-2 z-10">
87312
+ <div [ngClass]="badgeClasses()" class="best-value-badge px-6 py-2 rounded-full text-base font-extrabold flex items-center gap-2 shadow-2xl">
87313
+ <svg class="w-5 h-5 sparkle-icon" fill="currentColor" viewBox="0 0 20 20">
87314
+ <path d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"/>
87315
+ </svg>
87316
+ <span class="drop-shadow-lg">Best Value</span>
87317
+ <svg class="w-5 h-5 sparkle-icon" fill="currentColor" viewBox="0 0 20 20">
87318
+ <path d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"/>
87319
+ </svg>
87320
+ </div>
87321
+ @if (getSavingsPercentage()) {
87322
+ <div [ngClass]="savingsBadgeClasses()" class="savings-badge px-3 py-1 rounded-full text-xs font-bold shadow-lg">
87323
+ {{ getSavingsPercentage() }}
87324
+ </div>
87325
+ }
87326
+ </div>
87327
+ }
87328
+
87329
+ <div class="flex items-start justify-between mb-6">
87330
+ <div class="flex-1">
87331
+ <h3 [ngClass]="planTitleClasses()" class="text-xl font-bold mb-2">
87332
+ {{ getPlanTitle() }}
87333
+ </h3>
87334
+ @if (showBestValueBadge()) {
87335
+ <div [ngClass]="recommendedTextClasses()" class="text-sm font-semibold mb-2 flex items-center gap-1">
87336
+ <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
87337
+ <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/>
87338
+ </svg>
87339
+ Most Popular Choice
87340
+ </div>
87341
+ }
87342
+ <div class="flex items-baseline gap-2">
87343
+ <span [ngClass]="priceClasses()" class="text-4xl font-bold">
87344
+ {{ formatPrice() }}
87345
+ </span>
87346
+ <span [ngClass]="pricePeriodClasses()" class="text-base">
87347
+ {{ getPricePeriod() }}
87348
+ </span>
87349
+ </div>
87350
+ @if (showBestValueBadge() && getSavingsAmount()) {
87351
+ <div [ngClass]="savingsTextClasses()" class="text-sm font-bold mt-2 flex items-center gap-1">
87352
+ <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
87353
+ <path fill-rule="evenodd" d="M5 2a1 1 0 011 1v1h1a1 1 0 010 2H6v1a1 1 0 01-2 0V6H3a1 1 0 010-2h1V3a1 1 0 011-1zm0 10a1 1 0 011 1v1h1a1 1 0 110 2H6v1a1 1 0 11-2 0v-1H3a1 1 0 110-2h1v-1a1 1 0 011-1zM12 2a1 1 0 01.967.744L14.146 7.2 17.5 9.134a1 1 0 010 1.732l-3.354 1.935-1.18 4.455a1 1 0 01-1.933 0L9.854 12.8 6.5 10.866a1 1 0 010-1.732l3.354-1.935 1.18-4.455A1 1 0 0112 2z" clip-rule="evenodd"/>
87354
+ </svg>
87355
+ {{ getSavingsAmount() }}
87356
+ </div>
87357
+ }
87358
+ </div>
87359
+ <div class="flex-shrink-0 ml-4">
87360
+ <div [ngClass]="radioClasses()" class="w-6 h-6 rounded-full border-2 flex items-center justify-center transition-all duration-200">
87361
+ @if (isSelected()) {
87362
+ <div [ngClass]="radioInnerClasses()" class="w-3 h-3 rounded-full"></div>
87363
+ }
87364
+ </div>
87365
+ </div>
87366
+ </div>
87367
+
87368
+ <div [ngClass]="sectionClasses()" class="space-y-4">
87369
+ <div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
87370
+ <div class="flex items-center gap-2">
87371
+ <span [ngClass]="labelClasses()" class="text-sm font-medium">AI usage</span>
87372
+ <button
87373
+ [libSymphiqTooltip]="aiUsageTooltipContent()"
87374
+ tooltipType="markdown"
87375
+ tooltipPosition="right"
87376
+ [ngClass]="tooltipButtonClasses()"
87377
+ class="w-5 h-5 rounded-full flex items-center justify-center">
87378
+ <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
87379
+ <path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path>
87380
+ </svg>
87381
+ </button>
87382
+ </div>
87383
+ <span [ngClass]="valueClasses()" class="text-sm font-semibold text-right max-w-[60%]">
87384
+ Charged monthly based on your actual usage—no per-token counting, just straightforward monthly billing.
87385
+ </span>
87386
+ </div>
87387
+
87388
+ <div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
87389
+ <span [ngClass]="labelClasses()" class="text-sm font-medium">Unlimited recommendations</span>
87390
+ <svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
87391
+ <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>
87392
+ </svg>
87393
+ </div>
87394
+
87395
+ <div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
87396
+ <span [ngClass]="labelClasses()" class="text-sm font-medium">Unlimited seats</span>
87397
+ <svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
87398
+ <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>
87399
+ </svg>
87400
+ </div>
87401
+
87402
+ <div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3">
87403
+ <span [ngClass]="labelClasses()" class="text-sm font-medium">Google Analytics integration</span>
87404
+ <svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
87405
+ <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>
87406
+ </svg>
87407
+ </div>
87408
+
87409
+ <div [ngClass]="contractTermsClasses()" class="pt-4 mt-4">
87410
+ <h4 [ngClass]="contractTermsLabelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-2">
87411
+ Contract terms
87412
+ </h4>
87413
+ <p [ngClass]="contractTermsTextClasses()" class="text-sm leading-relaxed" [innerHTML]="getContractTerms()"></p>
87414
+ </div>
87415
+ </div>
87416
+ </div>
87417
+ `, styles: ["@keyframes pulse-glow{0%,to{transform:translate(-50%) scale(1);box-shadow:0 0 20px #eab30899,0 0 40px #eab30866,0 0 60px #eab30833,inset 0 0 20px #ffffff4d}50%{transform:translate(-50%) scale(1.1);box-shadow:0 0 30px #eab308cc,0 0 60px #eab30899,0 0 90px #eab30866,inset 0 0 30px #ffffff80}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes sparkle{0%,to{opacity:1;transform:rotate(0) scale(1)}50%{opacity:.7;transform:rotate(180deg) scale(1.2)}}@keyframes border-glow{0%,to{box-shadow:0 0 20px #eab30880,0 0 40px #eab3084d,0 0 60px #eab30826,inset 0 0 20px #eab3081a}50%{box-shadow:0 0 30px #eab308b3,0 0 60px #eab30880,0 0 90px #eab3084d,inset 0 0 30px #eab30833}}@keyframes float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.best-value-badge{animation:pulse-glow 2s ease-in-out infinite;background:linear-gradient(135deg,#fbbf24,#f59e0b,#d946ef,#a855f7,#fbbf24);background-size:200% 200%;animation:pulse-glow 2s ease-in-out infinite,shimmer 3s linear infinite;position:relative;overflow:hidden}.best-value-badge:before{content:\"\";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}.best-value-card{animation:border-glow 2s ease-in-out infinite;transform:scale(1.05);border-width:3px}.best-value-card:hover{transform:scale(1.07)}.sparkle-icon{animation:sparkle 1.5s ease-in-out infinite}.savings-badge{animation:pulse-glow 2.5s ease-in-out infinite}\n"] }]
87278
87418
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], planInfo: [{ type: i0.Input, args: [{ isSignal: true, alias: "planInfo", required: true }] }], isSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSelected", required: false }] }], selectedPeriodUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedPeriodUnit", required: false }] }], planSelected: [{ type: i0.Output, args: ["planSelected"] }] }); })();
87279
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PlanCardComponent, { className: "PlanCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/plan-card.component.ts", lineNumber: 95 }); })();
87419
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PlanCardComponent, { className: "PlanCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/plan-card.component.ts", lineNumber: 239 }); })();
87280
87420
 
87281
87421
  const _forTrack0$1 = ($index, $item) => $item.planItemPrice.id;
87282
87422
  function PlanSelectionContainerComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
@@ -87474,81 +87614,81 @@ class PlanSelectionContainerComponent {
87474
87614
  standalone: true,
87475
87615
  imports: [CommonModule, BillingPeriodToggleComponent, PlanCardComponent, IndeterminateSpinnerComponent],
87476
87616
  changeDetection: ChangeDetectionStrategy.OnPush,
87477
- template: `
87478
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
87479
- <div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
87480
- <div class="flex items-center gap-3">
87481
- <div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
87482
- <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
87483
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"></path>
87484
- </svg>
87485
- </div>
87486
- <div>
87487
- <h2 [ngClass]="titleClasses()" class="text-xl font-bold">
87488
- Choose Your Plan
87489
- </h2>
87490
- <p [ngClass]="subtitleClasses()" class="text-sm mt-0.5 flex items-center gap-2">
87491
- Selected currency: <span class="font-semibold">{{ selectedCurrency() }}</span>
87492
- <button
87493
- (click)="editCurrency.emit()"
87494
- [ngClass]="editButtonClasses()"
87495
- class="inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-md transition-colors"
87496
- >
87497
- <svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
87498
- <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"></path>
87499
- </svg>
87500
- Edit
87501
- </button>
87502
- </p>
87503
- </div>
87504
- </div>
87505
- </div>
87506
-
87507
- <div [ngClass]="contentClasses()" class="p-8">
87508
- <symphiq-billing-period-toggle
87509
- [viewMode]="viewMode()"
87510
- [selectedPeriodUnit]="selectedPeriodUnit()"
87511
- [isLoading]="isLoading()"
87512
- (periodUnitChanged)="handlePeriodChange($event)"
87513
- />
87514
-
87515
- @if (isLoading()) {
87516
- <div class="flex flex-col items-center justify-center space-y-6 min-h-[500px] mb-32">
87517
- <symphiq-indeterminate-spinner
87518
- [viewMode]="viewMode()"
87519
- [size]="'large'"
87520
- />
87521
- <p [ngClass]="loadingTextClasses()" class="text-base font-medium">
87522
- Loading your plan options...
87523
- </p>
87524
- </div>
87525
- } @else if (planCardInfos() && planCardInfos()!.length > 0) {
87526
- <div class="flex flex-col gap-8 mb-32 min-h-[500px]">
87527
- @for (plan of planCardInfos(); track plan.planItemPrice.id) {
87528
- <symphiq-plan-card
87529
- [viewMode]="viewMode()"
87530
- [planInfo]="plan"
87531
- [isSelected]="isSelectedPlan(plan)"
87532
- [selectedPeriodUnit]="selectedPeriodUnit()"
87533
- (planSelected)="handlePlanSelection($event)"
87534
- />
87535
- }
87536
- </div>
87537
- } @else {
87538
- <div [ngClass]="emptyStateClasses()" class="text-center py-16">
87539
- <svg [ngClass]="emptyIconClasses()" class="w-16 h-16 mx-auto mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
87540
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
87541
- </svg>
87542
- <p [ngClass]="emptyTextClasses()" class="text-lg font-semibold">
87543
- No plans available
87544
- </p>
87545
- <p [ngClass]="emptySubtextClasses()" class="text-sm mt-2">
87546
- Please contact support if this issue persists
87547
- </p>
87548
- </div>
87549
- }
87550
- </div>
87551
- </div>
87617
+ template: `
87618
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
87619
+ <div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
87620
+ <div class="flex items-center gap-3">
87621
+ <div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
87622
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
87623
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"></path>
87624
+ </svg>
87625
+ </div>
87626
+ <div>
87627
+ <h2 [ngClass]="titleClasses()" class="text-xl font-bold">
87628
+ Choose Your Plan
87629
+ </h2>
87630
+ <p [ngClass]="subtitleClasses()" class="text-sm mt-0.5 flex items-center gap-2">
87631
+ Selected currency: <span class="font-semibold">{{ selectedCurrency() }}</span>
87632
+ <button
87633
+ (click)="editCurrency.emit()"
87634
+ [ngClass]="editButtonClasses()"
87635
+ class="inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-md transition-colors"
87636
+ >
87637
+ <svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
87638
+ <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"></path>
87639
+ </svg>
87640
+ Edit
87641
+ </button>
87642
+ </p>
87643
+ </div>
87644
+ </div>
87645
+ </div>
87646
+
87647
+ <div [ngClass]="contentClasses()" class="p-8">
87648
+ <symphiq-billing-period-toggle
87649
+ [viewMode]="viewMode()"
87650
+ [selectedPeriodUnit]="selectedPeriodUnit()"
87651
+ [isLoading]="isLoading()"
87652
+ (periodUnitChanged)="handlePeriodChange($event)"
87653
+ />
87654
+
87655
+ @if (isLoading()) {
87656
+ <div class="flex flex-col items-center justify-center space-y-6 min-h-[500px] mb-32">
87657
+ <symphiq-indeterminate-spinner
87658
+ [viewMode]="viewMode()"
87659
+ [size]="'large'"
87660
+ />
87661
+ <p [ngClass]="loadingTextClasses()" class="text-base font-medium">
87662
+ Loading your plan options...
87663
+ </p>
87664
+ </div>
87665
+ } @else if (planCardInfos() && planCardInfos()!.length > 0) {
87666
+ <div class="flex flex-col gap-8 mb-32 min-h-[500px]">
87667
+ @for (plan of planCardInfos(); track plan.planItemPrice.id) {
87668
+ <symphiq-plan-card
87669
+ [viewMode]="viewMode()"
87670
+ [planInfo]="plan"
87671
+ [isSelected]="isSelectedPlan(plan)"
87672
+ [selectedPeriodUnit]="selectedPeriodUnit()"
87673
+ (planSelected)="handlePlanSelection($event)"
87674
+ />
87675
+ }
87676
+ </div>
87677
+ } @else {
87678
+ <div [ngClass]="emptyStateClasses()" class="text-center py-16">
87679
+ <svg [ngClass]="emptyIconClasses()" class="w-16 h-16 mx-auto mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
87680
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
87681
+ </svg>
87682
+ <p [ngClass]="emptyTextClasses()" class="text-lg font-semibold">
87683
+ No plans available
87684
+ </p>
87685
+ <p [ngClass]="emptySubtextClasses()" class="text-sm mt-2">
87686
+ Please contact support if this issue persists
87687
+ </p>
87688
+ </div>
87689
+ }
87690
+ </div>
87691
+ </div>
87552
87692
  `
87553
87693
  }]
87554
87694
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], selectedCurrency: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedCurrency", required: false }] }], planCardInfos: [{ type: i0.Input, args: [{ isSignal: true, alias: "planCardInfos", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], selectedPeriodUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedPeriodUnit", required: false }] }], periodUnitChanged: [{ type: i0.Output, args: ["periodUnitChanged"] }], planSelected: [{ type: i0.Output, args: ["planSelected"] }], editCurrency: [{ type: i0.Output, args: ["editCurrency"] }] }); })();
@@ -89813,611 +89953,611 @@ class SymphiqProfileAnalysisDashboardComponent {
89813
89953
  standalone: true,
89814
89954
  imports: [CommonModule, DashboardHeaderComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, FloatingTocComponent, SectionNavigationComponent, GradeBadgeComponent, ShopWelcomeBannerComponent, FocusAreaWelcomeBannerComponent, MetricWelcomeBannerComponent, FocusAreaExecutiveSummaryComponent, MetricExecutiveSummaryComponent, NapkinVisualPlaceholderComponent, TooltipContainerComponent, ProfileSectionContentComponent, ProfileAnalysisModalComponent, ModalComponent, GoalCardComponent, GoalObjectivesModalContentComponent, ObjectiveStrategiesModalContentComponent, StrategyRecommendationsModalContentComponent, CategoryDetailModalContentComponent, StrengthDetailModalContentComponent, GapDetailModalContentComponent, OpportunityDetailModalContentComponent, BusinessAnalysisModalComponent, SectionDividerComponent, SymphiqIconComponent, RelatedGoalChipsComponent, StrategicGoalsTiledGridComponent, CollapsibleAnalysisSectionGroupComponent, BillingCurrencySelectorCardComponent, PlanSelectionPlaceholderCardComponent, PlanSelectionContainerComponent, SubscriptionValuePropositionCardComponent, StickySubscriptionContinueButtonComponent],
89815
89955
  changeDetection: ChangeDetectionStrategy.OnPush,
89816
- template: `
89817
- <div [ngClass]="getContainerClasses()" class="min-h-screen relative">
89818
- <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>
89819
-
89820
- <!-- Scroll Progress Bar -->
89821
- <div
89822
- [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'">
89823
- <div
89824
- [style.width.%]="scrollProgress()"
89825
- [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
89826
- class="h-full transition-all duration-200 ease-out">
89827
- </div>
89828
- </div>
89829
-
89830
- <div class="relative z-[51]">
89831
- <!-- Dashboard Header -->
89832
- <symphiq-dashboard-header
89833
- [title]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'Profile Analysis'"
89834
- [subtitle]="getAnalysisSubtitle()"
89835
- [currentSection]="getAnalysisSubtitle()"
89836
- [viewMode]="viewMode()"
89837
- [viewModeLabel]="displayModeLabel()"
89838
- [isLoading]="isLoading()"
89839
- [requestedByUser]="requestedByUser()"
89840
- [createdDate]="profileAnalysis()?.selfContentCompletedDate"
89841
- (searchClick)="openSearch()"
89842
- (viewModeClick)="openViewModeSwitcher()"
89843
- />
89844
-
89845
- <!-- Journey Progress Banner -->
89846
- @if (isSimplifiedView() && !isOnboarded()) {
89847
- <symphiq-journey-progress-indicator
89848
- [viewMode]="viewMode()"
89849
- [currentStepId]="currentStepId()"
89850
- [showNextStepAction]="shouldShowContinueButton()"
89851
- [forDemo]="forDemo()"
89852
- [maxAccessibleStepId]="maxAccessibleStepId()"
89853
- (nextStepClick)="nextStepClick.emit()"
89854
- (stepClick)="stepClick.emit($event)"
89855
- />
89856
- }
89857
-
89858
- <!-- Main Content -->
89859
- <main class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 space-y-12" [class.pb-32]="shouldShowStickyButton()">
89860
-
89861
- <!-- Welcome Banner (Simplified View Only) -->
89862
- @if (isSimplifiedView()) {
89863
- <div class="mb-12">
89864
- @if (!isFocusAreaAnalysis() && !isMetricAnalysis()) {
89865
- <symphiq-shop-welcome-banner
89866
- [viewMode]="viewMode()"
89867
- [businessName]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'your shop'"
89868
- [isOnboarded]="isOnboarded()"
89869
- />
89870
- }
89871
- @if (isFocusAreaAnalysis()) {
89872
- <symphiq-focus-area-welcome-banner
89873
- [viewMode]="viewMode()"
89874
- [focusAreaDomain]="focusAreaDomain()"
89875
- [focusAreaName]="focusAreaName()"
89876
- [focusAreaDetails]="focusAreaDetails()"
89877
- />
89878
- }
89879
- @if (isMetricAnalysis()) {
89880
- <symphiq-metric-welcome-banner
89881
- [viewMode]="viewMode()"
89882
- [metricName]="profileAnalysis()?.profileAnalysisStructured?.metricExecutiveSummary?.metric"
89883
- [isOnboarded]="isOnboarded()"
89884
- />
89885
- }
89886
- </div>
89887
- }
89888
-
89889
- <!-- Simplified View Content -->
89890
- @if (isSimplifiedView()) {
89891
- <!-- Strategic Insights & Goals (or Subscription Flow) -->
89892
- <div class="mb-8">
89893
- @if (isSubscriptionActive() || isFocusAreaAnalysis() || isMetricAnalysis()) {
89894
- <symphiq-strategic-goals-tiled-grid
89895
- [goals]="strategicRoadmapGoals()"
89896
- [viewMode]="viewMode()"
89897
- (viewMoreClick)="openGoalModal($event)"
89898
- />
89899
- } @else {
89900
- <!-- Subscription Value Proposition -->
89901
- @if (!hasBillingCurrency() || isEditingCurrency()) {
89902
- @if (!hasBillingCurrency()) {
89903
- <div class="mb-8">
89904
- <symphiq-subscription-value-proposition-card
89905
- [viewMode]="viewMode()"
89906
- />
89907
- </div>
89908
- }
89909
-
89910
- <!-- Currency Selection -->
89911
- <symphiq-billing-currency-selector-card
89912
- [viewMode]="viewMode()"
89913
- [isLoading]="isCurrencySelectionLoading()"
89914
- [initialCurrency]="isEditingCurrency() ? (account()?.billingCurrencyCode || null) : null"
89915
- (currencySelected)="handleCurrencyChange($event)"
89916
- />
89917
- } @else if (showPlanSelection()) {
89918
- <!-- Plan Selection -->
89919
-
89920
- <div class="mb-32">
89921
- <symphiq-plan-selection-container
89922
- [viewMode]="viewMode()"
89923
- [selectedCurrency]="account()?.billingCurrencyCode || CurrencyCodeEnum.USD"
89924
- [planCardInfos]="planCardInfos()"
89925
- [isLoading]="isPlanLoading()"
89926
- [selectedPeriodUnit]="selectedPeriodUnit()"
89927
- (periodUnitChanged)="handlePeriodUnitChange($event)"
89928
- (planSelected)="handlePlanSelection($event)"
89929
- (editCurrency)="handleEditCurrencyClick()"
89930
- />
89931
- </div>
89932
- } @else {
89933
- <symphiq-plan-selection-placeholder-card
89934
- [viewMode]="viewMode()"
89935
- [selectedCurrency]="account()?.billingCurrencyCode || CurrencyCodeEnum.USD"
89936
- (editCurrency)="handleEditCurrencyClick()"
89937
- />
89938
- }
89939
- }
89940
- </div>
89941
-
89942
- <!-- Supporting Business Context -->
89943
- @if (nonStrategicSections().length > 0) {
89944
- <div>
89945
- <symphiq-collapsible-analysis-section-group
89946
- [sections]="nonStrategicSections()"
89947
- [viewMode]="viewMode()"
89948
- [executiveSummary]="executiveSummary()"
89949
- [focusAreaExecutiveSummary]="focusAreaExecutiveSummary()"
89950
- [metricExecutiveSummary]="metricExecutiveSummary()"
89951
- [metricName]="metricName()"
89952
- [allGoals]="allGoals()"
89953
- [allMetrics]="allMetrics()"
89954
- [allCharts]="allCharts()"
89955
- [allInsights]="allInsights()"
89956
- [businessProfile]="profile()"
89957
- />
89958
- </div>
89959
- }
89960
- }
89961
-
89962
- <!-- Compact & Expanded View Content -->
89963
- @if (!isSimplifiedView()) {
89964
- <!-- SHOP Executive Summary -->
89965
- @if (!isFocusAreaAnalysis() && executiveSummary(); as summary) {
89966
- <section id="section-executive-summary" class="space-y-6 scroll-mt-24">
89967
- <!-- Summary Banner -->
89968
- <div [ngClass]="getBannerClasses()" class="rounded-2xl p-8 shadow-xl">
89969
- <div class="space-y-6">
89970
- <div class="flex items-start justify-between gap-4">
89971
- <div class="flex-1">
89972
- <h2 [ngClass]="getSectionTitleClasses()" class="text-2xl font-bold mb-3">
89973
- Executive Summary
89974
- </h2>
89975
- <p [ngClass]="getTextClasses()" class="text-lg leading-relaxed">
89976
- {{ summary.gradeRationale }}
89977
- </p>
89978
- </div>
89979
- @if (summary.overallGrade) {
89980
- <symphiq-grade-badge
89981
- [grade]="summary.overallGrade"
89982
- [gradeRationale]="summary.gradeRationale || ''"
89983
- [viewMode]="viewMode()"
89984
- />
89985
- }
89986
- </div>
89987
-
89988
- @if (summary.narrative) {
89989
- <div [ngClass]="getNarrativeClasses()" class="rounded-xl p-6">
89990
- <h3 [ngClass]="getSubheadingClasses()" class="text-lg font-semibold mb-3">
89991
- Analysis Narrative
89992
- </h3>
89993
- <div class="relative">
89994
- @if (summary.napkinVisual && summary.napkinVisual.enabled) {
89995
- <div class="mb-6 lg:float-left lg:mr-6 lg:mb-4 lg:max-w-[66%]">
89996
- <symphiq-napkin-visual-placeholder
89997
- [visual]="summary.napkinVisual"
89998
- [viewMode]="viewMode()"
89999
- />
90000
- </div>
90001
- }
90002
- <p [ngClass]="getTextClasses()" class="text-sm leading-relaxed whitespace-pre-line">
90003
- {{ summary.narrative }}
90004
- </p>
90005
- <div class="clear-both"></div>
90006
- </div>
90007
- </div>
90008
- }
90009
-
90010
- <!-- Stats -->
90011
- <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
90012
- <button
90013
- type="button"
90014
- (click)="onKeyStrengthsClick(summary)"
90015
- [ngClass]="getKeyStrengthsStatCardClasses()"
90016
- class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
90017
- <div [ngClass]="getKeyStrengthsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
90018
- Key Strengths
90019
- </div>
90020
- <div [ngClass]="getKeyStrengthsStatValueClasses()" class="text-3xl font-bold mb-2">
90021
- {{ summary.keyStrengths?.length || 0 }}
90022
- </div>
90023
- <div class="flex items-center gap-1.5 text-xs font-medium">
90024
- <span [ngClass]="getKeyStrengthsButtonTextClasses()">View Details</span>
90025
- <symphiq-icon
90026
- [icon]="{ name: 'chevron-right', source: IconSourceEnum.HEROICONS }"
90027
- size="w-4 h-4"
90028
- [ngClass]="getKeyStrengthsButtonTextClasses()"
90029
- class="transition-transform group-hover:translate-x-1"
90030
- />
90031
- </div>
90032
- </button>
90033
- <button
90034
- type="button"
90035
- (click)="onCriticalGapsClick(summary)"
90036
- [ngClass]="getCriticalGapsStatCardClasses()"
90037
- class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
90038
- <div [ngClass]="getCriticalGapsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
90039
- Critical Gaps
90040
- </div>
90041
- <div [ngClass]="getCriticalGapsStatValueClasses()" class="text-3xl font-bold mb-2">
90042
- {{ summary.criticalGaps?.length || 0 }}
90043
- </div>
90044
- <div class="flex items-center gap-1.5 text-xs font-medium">
90045
- <span [ngClass]="getCriticalGapsButtonTextClasses()">View Details</span>
90046
- <symphiq-icon
90047
- [icon]="{ name: 'chevron-right', source: IconSourceEnum.HEROICONS }"
90048
- size="w-4 h-4"
90049
- [ngClass]="getCriticalGapsButtonTextClasses()"
90050
- class="transition-transform group-hover:translate-x-1"
90051
- />
90052
- </div>
90053
- </button>
90054
- <button
90055
- type="button"
90056
- (click)="scrollToQuickWins()"
90057
- [ngClass]="getQuickWinsStatCardClasses()"
90058
- class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
90059
- <div [ngClass]="getQuickWinsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
90060
- Quick Wins
90061
- </div>
90062
- <div [ngClass]="getQuickWinsStatValueClasses()" class="text-3xl font-bold mb-2">
90063
- {{ summary.quickWins?.length || 0 }}
90064
- </div>
90065
- <div class="flex items-center gap-1.5 text-xs font-medium">
90066
- <span [ngClass]="getQuickWinsButtonTextClasses()">Details Below</span>
90067
- <symphiq-icon
90068
- [icon]="{ name: 'chevron-down', source: IconSourceEnum.HEROICONS }"
90069
- size="w-4 h-4"
90070
- [ngClass]="getQuickWinsButtonTextClasses()"
90071
- class="transition-transform group-hover:translate-y-1 animate-bounce"
90072
- />
90073
- </div>
90074
- </button>
90075
- </div>
90076
- </div>
90077
- </div>
90078
-
90079
- <!-- Quick Wins -->
90080
- @if (summary.quickWins && summary.quickWins.length > 0) {
90081
- <div id="quick-wins-section" class="space-y-4 scroll-mt-24">
90082
- <h3 [ngClass]="getSectionTitleClasses()" class="text-xl font-bold">
90083
- Quick Wins
90084
- </h3>
90085
- <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
90086
- @for (win of summary.quickWins; track $index) {
90087
- <div [ngClass]="getQuickWinCardClasses()"
90088
- class="rounded-xl p-6 transition-all duration-300">
90089
- <div class="space-y-4">
90090
- <div class="flex items-start gap-3">
90091
- <span [ngClass]="getNumberBadgeClasses()"
90092
- class="flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold">
90093
- {{ $index + 1 }}
90094
- </span>
90095
- <p [ngClass]="getQuickWinTextClasses()" class="font-semibold leading-tight flex-1">
90096
- {{ win.action }}
90097
- </p>
90098
- </div>
90099
-
90100
- <div class="flex flex-wrap gap-2">
90101
- <span [ngClass]="getEffortBadgeClasses(win.effort)"
90102
- class="px-3 py-1 rounded-full text-xs font-semibold">
90103
- {{ formatLabel(win.effort) }} Effort
90104
- </span>
90105
- <span [ngClass]="getImpactBadgeClasses(win.impact)"
90106
- class="px-3 py-1 rounded-full text-xs font-semibold">
90107
- {{ formatLabel(win.impact) }} Impact
90108
- </span>
90109
- </div>
90110
-
90111
- @if (win.estimatedTimeframe) {
90112
- <div class="flex items-center gap-2 text-sm" [ngClass]="getMetaTextClasses()">
90113
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
90114
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
90115
- d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
90116
- </svg>
90117
- <span>{{ win.estimatedTimeframe }}</span>
90118
- </div>
90119
- }
90120
-
90121
- @if (win.relatedGoalId) {
90122
- <div class="space-y-2">
90123
- <h4 [ngClass]="getMetaTextClasses()"
90124
- class="text-xs font-semibold uppercase tracking-wider">
90125
- Related Goal
90126
- </h4>
90127
- <symphiq-related-goal-chips
90128
- [relatedGoalIds]="[win.relatedGoalId]"
90129
- [allGoals]="allGoals()"
90130
- [viewMode]="viewMode()"
90131
- />
90132
- </div>
90133
- }
90134
- </div>
90135
- </div>
90136
- }
90137
- </div>
90138
- </div>
90139
- }
90140
- </section>
90141
- }
90142
-
90143
- <!-- FOCUS_AREA Executive Summary -->
90144
- @if (isFocusAreaAnalysis() && focusAreaExecutiveSummary(); as summary) {
90145
- <symphiq-focus-area-executive-summary
90146
- [viewMode]="viewMode()"
90147
- [summary]="summary"
90148
- [allGoals]="allGoals()"
90149
- (topPrioritiesClick)="handleTopPrioritiesClick()"
90150
- (priorityDetailClick)="handlePriorityDetailClick($event)"
90151
- />
90152
- }
90153
-
90154
- <!-- METRIC Executive Summary -->
90155
- @if (isMetricAnalysis() && metricExecutiveSummary(); as summary) {
90156
- <symphiq-metric-executive-summary
90157
- [viewMode]="viewMode()"
90158
- [summary]="summary"
90159
- [metricName]="metricName()"
90160
- [allGoals]="allGoals()"
90161
- (topPrioritiesClick)="handleMetricTopPrioritiesClick()"
90162
- (priorityDetailClick)="handleMetricPriorityDetailClick($event)"
90163
- />
90164
- }
90165
-
90166
- <!-- Divider Before First Section -->
90167
- @if (sections(); as sectionList) {
90168
- @if (sectionList.length > 0 && sectionList[0].icon) {
90169
- <symphiq-section-divider
90170
- [viewMode]="viewMode()"
90171
- [sectionIcon]="sectionList[0].icon"
90172
- />
90173
- }
90174
- }
90175
-
90176
- <!-- Profile Analysis Sections -->
90177
- @if (sections(); as sectionList) {
90178
- <section class="space-y-8">
90179
- @for (section of sectionList; track section.id; let idx = $index; let last = $last) {
90180
- <div [id]="'section-' + section.id" [ngClass]="getSectionCardClasses()"
90181
- class="rounded-xl p-8 scroll-mt-24">
90182
- <!-- Icon and Title -->
90183
- <div class="flex items-start gap-3 mb-6">
90184
- @if (section.icon) {
90185
- <div [ngClass]="getSectionIconClasses()"
90186
- class="flex-shrink-0 w-12 h-12 rounded-xl flex items-center justify-center">
90187
- <symphiq-icon [icon]="section.icon" size="w-6 h-6"></symphiq-icon>
90188
- </div>
90189
- }
90190
- <div class="flex-1">
90191
- <h3 [ngClass]="getSectionTitleClasses()" class="text-2xl font-bold">
90192
- {{ section.title }}
90193
- </h3>
90194
- </div>
90195
- </div>
90196
-
90197
- <!-- Description and Visual Side-by-Side -->
90198
- @if (section.description || (section.visual && section.visual.enabled)) {
90199
- <div class="mb-6 flex flex-col lg:flex-row gap-6 items-start"
90200
- [class.lg:flex-row-reverse]="idx % 2 === 0">
90201
- @if (section.visual && section.visual.enabled) {
90202
- <div class="w-full lg:w-2/3">
90203
- <symphiq-napkin-visual-placeholder
90204
- [visual]="section.visual"
90205
- [viewMode]="viewMode()"
90206
- />
90207
- </div>
90208
- }
90209
- @if (section.description) {
90210
- <div class="w-full"
90211
- [class.lg:w-1/3]="section.visual && section.visual.enabled" [class.lg:w-full]="!section.visual || !section.visual.enabled">
90212
- <p [ngClass]="getSectionDescriptionClasses()"
90213
- class="text-sm leading-relaxed whitespace-pre-line">
90214
- {{ section.description }}
90215
- </p>
90216
- </div>
90217
- }
90218
- </div>
90219
- }
90220
-
90221
- <!-- Section Content -->
90222
- <symphiq-profile-section-content
90223
- [section]="section"
90224
- [executiveSummary]="section.id === 'executive-summary' ? executiveSummary() : undefined"
90225
- [viewMode]="viewMode()"
90226
- [sectionIndex]="idx"
90227
- [allGoals]="allGoals()"
90228
- [allMetrics]="allMetrics()"
90229
- [allCharts]="allCharts()"
90230
- [allInsights]="allInsights()"
90231
- [businessProfile]="profile()"
90232
- />
90233
- </div>
90234
-
90235
- <!-- Section Divider (between sections) -->
90236
- @if (!last) {
90237
- <symphiq-section-divider
90238
- [viewMode]="viewMode()"
90239
- [sectionIcon]="sectionList[idx + 1].icon"
90240
- />
90241
- }
90242
- }
90243
- </section>
90244
- }
90245
- }
90246
-
90247
- </main>
90248
-
90249
- <!-- Table of Contents (Compact & Expanded Views) -->
90250
- @if (!isSimplifiedView() && sections()) {
90251
- <symphiq-floating-toc
90252
- [sections]="tocSections()"
90253
- [viewMode]="viewMode()"
90254
- [embedded]="embedded()"
90255
- [scrollElement]="scrollElement() ?? undefined"
90256
- />
90257
- }
90258
-
90259
- <!-- Section Navigation Dots (Compact & Expanded Views) -->
90260
- @if (!isSimplifiedView() && sections()) {
90261
- <symphiq-section-navigation
90262
- [sections]="tocSections()"
90263
- [viewMode]="viewMode()"
90264
- [embedded]="embedded()"
90265
- [scrollElement]="scrollElement() ?? undefined"
90266
- />
90267
- }
90268
-
90269
- <!-- Search Modal -->
90270
- <symphiq-search-modal
90271
- [isOpen]="isSearchOpen()"
90272
- [isLightMode]="isLightMode()"
90273
- (close)="closeSearch()"
90274
- />
90275
-
90276
- <!-- View Mode Switcher Modal -->
90277
- <symphiq-view-mode-switcher-modal
90278
- [isOpen]="isViewModeSwitcherOpen()"
90279
- [currentMode]="currentDisplayMode()"
90280
- [viewMode]="viewMode()"
90281
- (close)="closeViewModeSwitcher()"
90282
- (modeSelected)="handleDisplayModeChange($event)"
90283
- />
90284
-
90285
- <!-- Profile Analysis Modal -->
90286
- <symphiq-profile-analysis-modal
90287
- [isLightMode]="isLightMode()"
90288
- [allMetrics]="allMetrics()"
90289
- [allInsights]="allInsights()"
90290
- [allBusinessInsights]="allBusinessInsights()"
90291
- [allCharts]="allCharts()"
90292
- >
90293
- @if (modalType() === 'goal-detail' && getGoalDetailData(); as data) {
90294
- <symphiq-goal-card
90295
- [goal]="data.goal"
90296
- [viewMode]="data.viewMode"
90297
- [isInModal]="true"
90298
- [allMetrics]="allMetrics()"
90299
- [allCharts]="allCharts()"
90300
- [allInsights]="allInsights()"
90301
- [currentModalState]="getCurrentModalState()"
90302
- [businessProfile]="profile()"
90303
- />
90304
- }
90305
- @if (modalType() === 'goal-objectives' && getGoalDetailData(); as data) {
90306
- <symphiq-goal-objectives-modal-content
90307
- [goal]="data.goal"
90308
- [viewMode]="data.viewMode"
90309
- />
90310
- }
90311
- @if (modalType() === 'objective-strategies' && getObjectiveStrategiesData(); as data) {
90312
- <symphiq-objective-strategies-modal-content
90313
- [objective]="data.objective"
90314
- [goalTitle]="data.goalTitle"
90315
- [viewMode]="data.viewMode"
90316
- />
90317
- }
90318
- @if (modalType() === 'strategy-recommendations' && getStrategyRecommendationsData(); as data) {
90319
- <symphiq-strategy-recommendations-modal-content
90320
- [strategy]="data.strategy"
90321
- [objectiveTitle]="data.objectiveTitle"
90322
- [goalTitle]="data.goalTitle"
90323
- [viewMode]="data.viewMode"
90324
- [allMetrics]="allMetrics()"
90325
- [allCharts]="allCharts()"
90326
- [allInsights]="allInsights()"
90327
- [allBusinessInsights]="allBusinessInsights()"
90328
- [currentModalState]="getCurrentModalState()"
90329
- />
90330
- }
90331
- @if (modalType() === 'category-detail' && getCategoryDetailData(); as data) {
90332
- <symphiq-category-detail-modal-content
90333
- [category]="data.category"
90334
- [viewMode]="data.viewMode"
90335
- [scrollToSection]="data.scrollToSection"
90336
- />
90337
- }
90338
- @if (modalType() === 'strength-detail' && getStrengthDetailData(); as data) {
90339
- <symphiq-strength-detail-modal-content
90340
- [strength]="data.strength"
90341
- [viewMode]="data.viewMode"
90342
- [allFunnelStrengths]="funnelStrengths()"
90343
- [currentModalState]="getCurrentModalState()"
90344
- />
90345
- }
90346
- @if (modalType() === 'gap-detail' && getGapDetailData(); as data) {
90347
- <symphiq-gap-detail-modal-content
90348
- [gap]="data.gap"
90349
- [viewMode]="data.viewMode"
90350
- [allGoals]="allGoals()"
90351
- [allWeaknesses]="funnelWeaknesses()"
90352
- [currentModalState]="getCurrentModalState()"
90353
- />
90354
- }
90355
- @if (modalType() === 'opportunity-detail' && getOpportunityDetailData(); as data) {
90356
- <symphiq-opportunity-detail-modal-content
90357
- [opportunity]="data.opportunity"
90358
- [viewMode]="data.viewMode"
90359
- [allStrengths]="funnelStrengths()"
90360
- [currentModalState]="getCurrentModalState()"
90361
- />
90362
- }
90363
- </symphiq-profile-analysis-modal>
90364
-
90365
- <!-- Funnel Analysis Modal (for insights and metrics from profile goals) -->
90366
- <symphiq-funnel-analysis-modal
90367
- [isLightMode]="isLightMode()"
90368
- [viewMode]="viewMode()"
90369
- [allMetrics]="allMetrics()"
90370
- [allInsights]="allInsights()"
90371
- [allCharts]="allCharts()"
90372
- />
90373
-
90374
- <!-- Business Analysis Modal (for napkin visuals and other content) -->
90375
- <symphiq-business-analysis-modal [isLightMode]="isLightMode()"/>
90376
-
90377
- <!-- Tooltip Container -->
90378
- <symphiq-tooltip-container/>
90379
-
90380
- <!-- Sticky Continue Button (Only shown when not subscribed and no currency selected) -->
90381
- @if (!isSubscriptionActive() && !hasBillingCurrency() && isSimplifiedView() && !isFocusAreaAnalysis() && !isMetricAnalysis()) {
90382
- <symphiq-sticky-subscription-continue-button
90383
- [viewMode]="viewMode()"
90384
- [isEnabled]="hasCurrencySelected()"
90385
- [isLoading]="isCurrencySelectionLoading()"
90386
- (continueClick)="handleStickyButtonClick()"
90387
- />
90388
- }
90389
-
90390
- <!-- Sticky Footer for Edit Currency Mode -->
90391
- @if (isEditingCurrency()) {
90392
- <div
90393
- [ngClass]="getEditCurrencyFooterClasses()"
90394
- class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-lg"
90395
- >
90396
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
90397
- <div class="flex items-center gap-4">
90398
- <button
90399
- (click)="handleCancelCurrencyEdit()"
90400
- [ngClass]="getEditCurrencyCancelButtonClasses()"
90401
- class="px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 cursor-pointer"
90402
- >
90403
- Cancel
90404
- </button>
90405
- <button
90406
- (click)="handleContinueToPlans()"
90407
- [disabled]="!editingCurrencySelection()"
90408
- [ngClass]="getEditCurrencyContinueButtonClasses()"
90409
- class="flex-1 px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 flex items-center justify-center gap-3 shadow-2xl"
90410
- >
90411
- <span>Continue to Plans</span>
90412
- <svg class="w-6 h-6 transition-transform duration-200" [class.translate-x-1]="editingCurrencySelection()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
90413
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
90414
- </svg>
90415
- </button>
90416
- </div>
90417
- </div>
90418
- </div>
90419
- }
90420
- </div>
89956
+ template: `
89957
+ <div [ngClass]="getContainerClasses()" class="min-h-screen relative">
89958
+ <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>
89959
+
89960
+ <!-- Scroll Progress Bar -->
89961
+ <div
89962
+ [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'">
89963
+ <div
89964
+ [style.width.%]="scrollProgress()"
89965
+ [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
89966
+ class="h-full transition-all duration-200 ease-out">
89967
+ </div>
89968
+ </div>
89969
+
89970
+ <div class="relative z-[51]">
89971
+ <!-- Dashboard Header -->
89972
+ <symphiq-dashboard-header
89973
+ [title]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'Profile Analysis'"
89974
+ [subtitle]="getAnalysisSubtitle()"
89975
+ [currentSection]="getAnalysisSubtitle()"
89976
+ [viewMode]="viewMode()"
89977
+ [viewModeLabel]="displayModeLabel()"
89978
+ [isLoading]="isLoading()"
89979
+ [requestedByUser]="requestedByUser()"
89980
+ [createdDate]="profileAnalysis()?.selfContentCompletedDate"
89981
+ (searchClick)="openSearch()"
89982
+ (viewModeClick)="openViewModeSwitcher()"
89983
+ />
89984
+
89985
+ <!-- Journey Progress Banner -->
89986
+ @if (isSimplifiedView() && !isOnboarded()) {
89987
+ <symphiq-journey-progress-indicator
89988
+ [viewMode]="viewMode()"
89989
+ [currentStepId]="currentStepId()"
89990
+ [showNextStepAction]="shouldShowContinueButton()"
89991
+ [forDemo]="forDemo()"
89992
+ [maxAccessibleStepId]="maxAccessibleStepId()"
89993
+ (nextStepClick)="nextStepClick.emit()"
89994
+ (stepClick)="stepClick.emit($event)"
89995
+ />
89996
+ }
89997
+
89998
+ <!-- Main Content -->
89999
+ <main class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 space-y-12" [class.pb-32]="shouldShowStickyButton()">
90000
+
90001
+ <!-- Welcome Banner (Simplified View Only) -->
90002
+ @if (isSimplifiedView()) {
90003
+ <div class="mb-12">
90004
+ @if (!isFocusAreaAnalysis() && !isMetricAnalysis()) {
90005
+ <symphiq-shop-welcome-banner
90006
+ [viewMode]="viewMode()"
90007
+ [businessName]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'your shop'"
90008
+ [isOnboarded]="isOnboarded()"
90009
+ />
90010
+ }
90011
+ @if (isFocusAreaAnalysis()) {
90012
+ <symphiq-focus-area-welcome-banner
90013
+ [viewMode]="viewMode()"
90014
+ [focusAreaDomain]="focusAreaDomain()"
90015
+ [focusAreaName]="focusAreaName()"
90016
+ [focusAreaDetails]="focusAreaDetails()"
90017
+ />
90018
+ }
90019
+ @if (isMetricAnalysis()) {
90020
+ <symphiq-metric-welcome-banner
90021
+ [viewMode]="viewMode()"
90022
+ [metricName]="profileAnalysis()?.profileAnalysisStructured?.metricExecutiveSummary?.metric"
90023
+ [isOnboarded]="isOnboarded()"
90024
+ />
90025
+ }
90026
+ </div>
90027
+ }
90028
+
90029
+ <!-- Simplified View Content -->
90030
+ @if (isSimplifiedView()) {
90031
+ <!-- Strategic Insights & Goals (or Subscription Flow) -->
90032
+ <div class="mb-8">
90033
+ @if (isSubscriptionActive() || isFocusAreaAnalysis() || isMetricAnalysis()) {
90034
+ <symphiq-strategic-goals-tiled-grid
90035
+ [goals]="strategicRoadmapGoals()"
90036
+ [viewMode]="viewMode()"
90037
+ (viewMoreClick)="openGoalModal($event)"
90038
+ />
90039
+ } @else {
90040
+ <!-- Subscription Value Proposition -->
90041
+ @if (!hasBillingCurrency() || isEditingCurrency()) {
90042
+ @if (!hasBillingCurrency()) {
90043
+ <div class="mb-8">
90044
+ <symphiq-subscription-value-proposition-card
90045
+ [viewMode]="viewMode()"
90046
+ />
90047
+ </div>
90048
+ }
90049
+
90050
+ <!-- Currency Selection -->
90051
+ <symphiq-billing-currency-selector-card
90052
+ [viewMode]="viewMode()"
90053
+ [isLoading]="isCurrencySelectionLoading()"
90054
+ [initialCurrency]="isEditingCurrency() ? (account()?.billingCurrencyCode || null) : null"
90055
+ (currencySelected)="handleCurrencyChange($event)"
90056
+ />
90057
+ } @else if (showPlanSelection()) {
90058
+ <!-- Plan Selection -->
90059
+
90060
+ <div class="mb-32">
90061
+ <symphiq-plan-selection-container
90062
+ [viewMode]="viewMode()"
90063
+ [selectedCurrency]="account()?.billingCurrencyCode || CurrencyCodeEnum.USD"
90064
+ [planCardInfos]="planCardInfos()"
90065
+ [isLoading]="isPlanLoading()"
90066
+ [selectedPeriodUnit]="selectedPeriodUnit()"
90067
+ (periodUnitChanged)="handlePeriodUnitChange($event)"
90068
+ (planSelected)="handlePlanSelection($event)"
90069
+ (editCurrency)="handleEditCurrencyClick()"
90070
+ />
90071
+ </div>
90072
+ } @else {
90073
+ <symphiq-plan-selection-placeholder-card
90074
+ [viewMode]="viewMode()"
90075
+ [selectedCurrency]="account()?.billingCurrencyCode || CurrencyCodeEnum.USD"
90076
+ (editCurrency)="handleEditCurrencyClick()"
90077
+ />
90078
+ }
90079
+ }
90080
+ </div>
90081
+
90082
+ <!-- Supporting Business Context -->
90083
+ @if (nonStrategicSections().length > 0) {
90084
+ <div>
90085
+ <symphiq-collapsible-analysis-section-group
90086
+ [sections]="nonStrategicSections()"
90087
+ [viewMode]="viewMode()"
90088
+ [executiveSummary]="executiveSummary()"
90089
+ [focusAreaExecutiveSummary]="focusAreaExecutiveSummary()"
90090
+ [metricExecutiveSummary]="metricExecutiveSummary()"
90091
+ [metricName]="metricName()"
90092
+ [allGoals]="allGoals()"
90093
+ [allMetrics]="allMetrics()"
90094
+ [allCharts]="allCharts()"
90095
+ [allInsights]="allInsights()"
90096
+ [businessProfile]="profile()"
90097
+ />
90098
+ </div>
90099
+ }
90100
+ }
90101
+
90102
+ <!-- Compact & Expanded View Content -->
90103
+ @if (!isSimplifiedView()) {
90104
+ <!-- SHOP Executive Summary -->
90105
+ @if (!isFocusAreaAnalysis() && executiveSummary(); as summary) {
90106
+ <section id="section-executive-summary" class="space-y-6 scroll-mt-24">
90107
+ <!-- Summary Banner -->
90108
+ <div [ngClass]="getBannerClasses()" class="rounded-2xl p-8 shadow-xl">
90109
+ <div class="space-y-6">
90110
+ <div class="flex items-start justify-between gap-4">
90111
+ <div class="flex-1">
90112
+ <h2 [ngClass]="getSectionTitleClasses()" class="text-2xl font-bold mb-3">
90113
+ Executive Summary
90114
+ </h2>
90115
+ <p [ngClass]="getTextClasses()" class="text-lg leading-relaxed">
90116
+ {{ summary.gradeRationale }}
90117
+ </p>
90118
+ </div>
90119
+ @if (summary.overallGrade) {
90120
+ <symphiq-grade-badge
90121
+ [grade]="summary.overallGrade"
90122
+ [gradeRationale]="summary.gradeRationale || ''"
90123
+ [viewMode]="viewMode()"
90124
+ />
90125
+ }
90126
+ </div>
90127
+
90128
+ @if (summary.narrative) {
90129
+ <div [ngClass]="getNarrativeClasses()" class="rounded-xl p-6">
90130
+ <h3 [ngClass]="getSubheadingClasses()" class="text-lg font-semibold mb-3">
90131
+ Analysis Narrative
90132
+ </h3>
90133
+ <div class="relative">
90134
+ @if (summary.napkinVisual && summary.napkinVisual.enabled) {
90135
+ <div class="mb-6 lg:float-left lg:mr-6 lg:mb-4 lg:max-w-[66%]">
90136
+ <symphiq-napkin-visual-placeholder
90137
+ [visual]="summary.napkinVisual"
90138
+ [viewMode]="viewMode()"
90139
+ />
90140
+ </div>
90141
+ }
90142
+ <p [ngClass]="getTextClasses()" class="text-sm leading-relaxed whitespace-pre-line">
90143
+ {{ summary.narrative }}
90144
+ </p>
90145
+ <div class="clear-both"></div>
90146
+ </div>
90147
+ </div>
90148
+ }
90149
+
90150
+ <!-- Stats -->
90151
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
90152
+ <button
90153
+ type="button"
90154
+ (click)="onKeyStrengthsClick(summary)"
90155
+ [ngClass]="getKeyStrengthsStatCardClasses()"
90156
+ class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
90157
+ <div [ngClass]="getKeyStrengthsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
90158
+ Key Strengths
90159
+ </div>
90160
+ <div [ngClass]="getKeyStrengthsStatValueClasses()" class="text-3xl font-bold mb-2">
90161
+ {{ summary.keyStrengths?.length || 0 }}
90162
+ </div>
90163
+ <div class="flex items-center gap-1.5 text-xs font-medium">
90164
+ <span [ngClass]="getKeyStrengthsButtonTextClasses()">View Details</span>
90165
+ <symphiq-icon
90166
+ [icon]="{ name: 'chevron-right', source: IconSourceEnum.HEROICONS }"
90167
+ size="w-4 h-4"
90168
+ [ngClass]="getKeyStrengthsButtonTextClasses()"
90169
+ class="transition-transform group-hover:translate-x-1"
90170
+ />
90171
+ </div>
90172
+ </button>
90173
+ <button
90174
+ type="button"
90175
+ (click)="onCriticalGapsClick(summary)"
90176
+ [ngClass]="getCriticalGapsStatCardClasses()"
90177
+ class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
90178
+ <div [ngClass]="getCriticalGapsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
90179
+ Critical Gaps
90180
+ </div>
90181
+ <div [ngClass]="getCriticalGapsStatValueClasses()" class="text-3xl font-bold mb-2">
90182
+ {{ summary.criticalGaps?.length || 0 }}
90183
+ </div>
90184
+ <div class="flex items-center gap-1.5 text-xs font-medium">
90185
+ <span [ngClass]="getCriticalGapsButtonTextClasses()">View Details</span>
90186
+ <symphiq-icon
90187
+ [icon]="{ name: 'chevron-right', source: IconSourceEnum.HEROICONS }"
90188
+ size="w-4 h-4"
90189
+ [ngClass]="getCriticalGapsButtonTextClasses()"
90190
+ class="transition-transform group-hover:translate-x-1"
90191
+ />
90192
+ </div>
90193
+ </button>
90194
+ <button
90195
+ type="button"
90196
+ (click)="scrollToQuickWins()"
90197
+ [ngClass]="getQuickWinsStatCardClasses()"
90198
+ class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
90199
+ <div [ngClass]="getQuickWinsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
90200
+ Quick Wins
90201
+ </div>
90202
+ <div [ngClass]="getQuickWinsStatValueClasses()" class="text-3xl font-bold mb-2">
90203
+ {{ summary.quickWins?.length || 0 }}
90204
+ </div>
90205
+ <div class="flex items-center gap-1.5 text-xs font-medium">
90206
+ <span [ngClass]="getQuickWinsButtonTextClasses()">Details Below</span>
90207
+ <symphiq-icon
90208
+ [icon]="{ name: 'chevron-down', source: IconSourceEnum.HEROICONS }"
90209
+ size="w-4 h-4"
90210
+ [ngClass]="getQuickWinsButtonTextClasses()"
90211
+ class="transition-transform group-hover:translate-y-1 animate-bounce"
90212
+ />
90213
+ </div>
90214
+ </button>
90215
+ </div>
90216
+ </div>
90217
+ </div>
90218
+
90219
+ <!-- Quick Wins -->
90220
+ @if (summary.quickWins && summary.quickWins.length > 0) {
90221
+ <div id="quick-wins-section" class="space-y-4 scroll-mt-24">
90222
+ <h3 [ngClass]="getSectionTitleClasses()" class="text-xl font-bold">
90223
+ Quick Wins
90224
+ </h3>
90225
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
90226
+ @for (win of summary.quickWins; track $index) {
90227
+ <div [ngClass]="getQuickWinCardClasses()"
90228
+ class="rounded-xl p-6 transition-all duration-300">
90229
+ <div class="space-y-4">
90230
+ <div class="flex items-start gap-3">
90231
+ <span [ngClass]="getNumberBadgeClasses()"
90232
+ class="flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold">
90233
+ {{ $index + 1 }}
90234
+ </span>
90235
+ <p [ngClass]="getQuickWinTextClasses()" class="font-semibold leading-tight flex-1">
90236
+ {{ win.action }}
90237
+ </p>
90238
+ </div>
90239
+
90240
+ <div class="flex flex-wrap gap-2">
90241
+ <span [ngClass]="getEffortBadgeClasses(win.effort)"
90242
+ class="px-3 py-1 rounded-full text-xs font-semibold">
90243
+ {{ formatLabel(win.effort) }} Effort
90244
+ </span>
90245
+ <span [ngClass]="getImpactBadgeClasses(win.impact)"
90246
+ class="px-3 py-1 rounded-full text-xs font-semibold">
90247
+ {{ formatLabel(win.impact) }} Impact
90248
+ </span>
90249
+ </div>
90250
+
90251
+ @if (win.estimatedTimeframe) {
90252
+ <div class="flex items-center gap-2 text-sm" [ngClass]="getMetaTextClasses()">
90253
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
90254
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
90255
+ d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
90256
+ </svg>
90257
+ <span>{{ win.estimatedTimeframe }}</span>
90258
+ </div>
90259
+ }
90260
+
90261
+ @if (win.relatedGoalId) {
90262
+ <div class="space-y-2">
90263
+ <h4 [ngClass]="getMetaTextClasses()"
90264
+ class="text-xs font-semibold uppercase tracking-wider">
90265
+ Related Goal
90266
+ </h4>
90267
+ <symphiq-related-goal-chips
90268
+ [relatedGoalIds]="[win.relatedGoalId]"
90269
+ [allGoals]="allGoals()"
90270
+ [viewMode]="viewMode()"
90271
+ />
90272
+ </div>
90273
+ }
90274
+ </div>
90275
+ </div>
90276
+ }
90277
+ </div>
90278
+ </div>
90279
+ }
90280
+ </section>
90281
+ }
90282
+
90283
+ <!-- FOCUS_AREA Executive Summary -->
90284
+ @if (isFocusAreaAnalysis() && focusAreaExecutiveSummary(); as summary) {
90285
+ <symphiq-focus-area-executive-summary
90286
+ [viewMode]="viewMode()"
90287
+ [summary]="summary"
90288
+ [allGoals]="allGoals()"
90289
+ (topPrioritiesClick)="handleTopPrioritiesClick()"
90290
+ (priorityDetailClick)="handlePriorityDetailClick($event)"
90291
+ />
90292
+ }
90293
+
90294
+ <!-- METRIC Executive Summary -->
90295
+ @if (isMetricAnalysis() && metricExecutiveSummary(); as summary) {
90296
+ <symphiq-metric-executive-summary
90297
+ [viewMode]="viewMode()"
90298
+ [summary]="summary"
90299
+ [metricName]="metricName()"
90300
+ [allGoals]="allGoals()"
90301
+ (topPrioritiesClick)="handleMetricTopPrioritiesClick()"
90302
+ (priorityDetailClick)="handleMetricPriorityDetailClick($event)"
90303
+ />
90304
+ }
90305
+
90306
+ <!-- Divider Before First Section -->
90307
+ @if (sections(); as sectionList) {
90308
+ @if (sectionList.length > 0 && sectionList[0].icon) {
90309
+ <symphiq-section-divider
90310
+ [viewMode]="viewMode()"
90311
+ [sectionIcon]="sectionList[0].icon"
90312
+ />
90313
+ }
90314
+ }
90315
+
90316
+ <!-- Profile Analysis Sections -->
90317
+ @if (sections(); as sectionList) {
90318
+ <section class="space-y-8">
90319
+ @for (section of sectionList; track section.id; let idx = $index; let last = $last) {
90320
+ <div [id]="'section-' + section.id" [ngClass]="getSectionCardClasses()"
90321
+ class="rounded-xl p-8 scroll-mt-24">
90322
+ <!-- Icon and Title -->
90323
+ <div class="flex items-start gap-3 mb-6">
90324
+ @if (section.icon) {
90325
+ <div [ngClass]="getSectionIconClasses()"
90326
+ class="flex-shrink-0 w-12 h-12 rounded-xl flex items-center justify-center">
90327
+ <symphiq-icon [icon]="section.icon" size="w-6 h-6"></symphiq-icon>
90328
+ </div>
90329
+ }
90330
+ <div class="flex-1">
90331
+ <h3 [ngClass]="getSectionTitleClasses()" class="text-2xl font-bold">
90332
+ {{ section.title }}
90333
+ </h3>
90334
+ </div>
90335
+ </div>
90336
+
90337
+ <!-- Description and Visual Side-by-Side -->
90338
+ @if (section.description || (section.visual && section.visual.enabled)) {
90339
+ <div class="mb-6 flex flex-col lg:flex-row gap-6 items-start"
90340
+ [class.lg:flex-row-reverse]="idx % 2 === 0">
90341
+ @if (section.visual && section.visual.enabled) {
90342
+ <div class="w-full lg:w-2/3">
90343
+ <symphiq-napkin-visual-placeholder
90344
+ [visual]="section.visual"
90345
+ [viewMode]="viewMode()"
90346
+ />
90347
+ </div>
90348
+ }
90349
+ @if (section.description) {
90350
+ <div class="w-full"
90351
+ [class.lg:w-1/3]="section.visual && section.visual.enabled" [class.lg:w-full]="!section.visual || !section.visual.enabled">
90352
+ <p [ngClass]="getSectionDescriptionClasses()"
90353
+ class="text-sm leading-relaxed whitespace-pre-line">
90354
+ {{ section.description }}
90355
+ </p>
90356
+ </div>
90357
+ }
90358
+ </div>
90359
+ }
90360
+
90361
+ <!-- Section Content -->
90362
+ <symphiq-profile-section-content
90363
+ [section]="section"
90364
+ [executiveSummary]="section.id === 'executive-summary' ? executiveSummary() : undefined"
90365
+ [viewMode]="viewMode()"
90366
+ [sectionIndex]="idx"
90367
+ [allGoals]="allGoals()"
90368
+ [allMetrics]="allMetrics()"
90369
+ [allCharts]="allCharts()"
90370
+ [allInsights]="allInsights()"
90371
+ [businessProfile]="profile()"
90372
+ />
90373
+ </div>
90374
+
90375
+ <!-- Section Divider (between sections) -->
90376
+ @if (!last) {
90377
+ <symphiq-section-divider
90378
+ [viewMode]="viewMode()"
90379
+ [sectionIcon]="sectionList[idx + 1].icon"
90380
+ />
90381
+ }
90382
+ }
90383
+ </section>
90384
+ }
90385
+ }
90386
+
90387
+ </main>
90388
+
90389
+ <!-- Table of Contents (Compact & Expanded Views) -->
90390
+ @if (!isSimplifiedView() && sections()) {
90391
+ <symphiq-floating-toc
90392
+ [sections]="tocSections()"
90393
+ [viewMode]="viewMode()"
90394
+ [embedded]="embedded()"
90395
+ [scrollElement]="scrollElement() ?? undefined"
90396
+ />
90397
+ }
90398
+
90399
+ <!-- Section Navigation Dots (Compact & Expanded Views) -->
90400
+ @if (!isSimplifiedView() && sections()) {
90401
+ <symphiq-section-navigation
90402
+ [sections]="tocSections()"
90403
+ [viewMode]="viewMode()"
90404
+ [embedded]="embedded()"
90405
+ [scrollElement]="scrollElement() ?? undefined"
90406
+ />
90407
+ }
90408
+
90409
+ <!-- Search Modal -->
90410
+ <symphiq-search-modal
90411
+ [isOpen]="isSearchOpen()"
90412
+ [isLightMode]="isLightMode()"
90413
+ (close)="closeSearch()"
90414
+ />
90415
+
90416
+ <!-- View Mode Switcher Modal -->
90417
+ <symphiq-view-mode-switcher-modal
90418
+ [isOpen]="isViewModeSwitcherOpen()"
90419
+ [currentMode]="currentDisplayMode()"
90420
+ [viewMode]="viewMode()"
90421
+ (close)="closeViewModeSwitcher()"
90422
+ (modeSelected)="handleDisplayModeChange($event)"
90423
+ />
90424
+
90425
+ <!-- Profile Analysis Modal -->
90426
+ <symphiq-profile-analysis-modal
90427
+ [isLightMode]="isLightMode()"
90428
+ [allMetrics]="allMetrics()"
90429
+ [allInsights]="allInsights()"
90430
+ [allBusinessInsights]="allBusinessInsights()"
90431
+ [allCharts]="allCharts()"
90432
+ >
90433
+ @if (modalType() === 'goal-detail' && getGoalDetailData(); as data) {
90434
+ <symphiq-goal-card
90435
+ [goal]="data.goal"
90436
+ [viewMode]="data.viewMode"
90437
+ [isInModal]="true"
90438
+ [allMetrics]="allMetrics()"
90439
+ [allCharts]="allCharts()"
90440
+ [allInsights]="allInsights()"
90441
+ [currentModalState]="getCurrentModalState()"
90442
+ [businessProfile]="profile()"
90443
+ />
90444
+ }
90445
+ @if (modalType() === 'goal-objectives' && getGoalDetailData(); as data) {
90446
+ <symphiq-goal-objectives-modal-content
90447
+ [goal]="data.goal"
90448
+ [viewMode]="data.viewMode"
90449
+ />
90450
+ }
90451
+ @if (modalType() === 'objective-strategies' && getObjectiveStrategiesData(); as data) {
90452
+ <symphiq-objective-strategies-modal-content
90453
+ [objective]="data.objective"
90454
+ [goalTitle]="data.goalTitle"
90455
+ [viewMode]="data.viewMode"
90456
+ />
90457
+ }
90458
+ @if (modalType() === 'strategy-recommendations' && getStrategyRecommendationsData(); as data) {
90459
+ <symphiq-strategy-recommendations-modal-content
90460
+ [strategy]="data.strategy"
90461
+ [objectiveTitle]="data.objectiveTitle"
90462
+ [goalTitle]="data.goalTitle"
90463
+ [viewMode]="data.viewMode"
90464
+ [allMetrics]="allMetrics()"
90465
+ [allCharts]="allCharts()"
90466
+ [allInsights]="allInsights()"
90467
+ [allBusinessInsights]="allBusinessInsights()"
90468
+ [currentModalState]="getCurrentModalState()"
90469
+ />
90470
+ }
90471
+ @if (modalType() === 'category-detail' && getCategoryDetailData(); as data) {
90472
+ <symphiq-category-detail-modal-content
90473
+ [category]="data.category"
90474
+ [viewMode]="data.viewMode"
90475
+ [scrollToSection]="data.scrollToSection"
90476
+ />
90477
+ }
90478
+ @if (modalType() === 'strength-detail' && getStrengthDetailData(); as data) {
90479
+ <symphiq-strength-detail-modal-content
90480
+ [strength]="data.strength"
90481
+ [viewMode]="data.viewMode"
90482
+ [allFunnelStrengths]="funnelStrengths()"
90483
+ [currentModalState]="getCurrentModalState()"
90484
+ />
90485
+ }
90486
+ @if (modalType() === 'gap-detail' && getGapDetailData(); as data) {
90487
+ <symphiq-gap-detail-modal-content
90488
+ [gap]="data.gap"
90489
+ [viewMode]="data.viewMode"
90490
+ [allGoals]="allGoals()"
90491
+ [allWeaknesses]="funnelWeaknesses()"
90492
+ [currentModalState]="getCurrentModalState()"
90493
+ />
90494
+ }
90495
+ @if (modalType() === 'opportunity-detail' && getOpportunityDetailData(); as data) {
90496
+ <symphiq-opportunity-detail-modal-content
90497
+ [opportunity]="data.opportunity"
90498
+ [viewMode]="data.viewMode"
90499
+ [allStrengths]="funnelStrengths()"
90500
+ [currentModalState]="getCurrentModalState()"
90501
+ />
90502
+ }
90503
+ </symphiq-profile-analysis-modal>
90504
+
90505
+ <!-- Funnel Analysis Modal (for insights and metrics from profile goals) -->
90506
+ <symphiq-funnel-analysis-modal
90507
+ [isLightMode]="isLightMode()"
90508
+ [viewMode]="viewMode()"
90509
+ [allMetrics]="allMetrics()"
90510
+ [allInsights]="allInsights()"
90511
+ [allCharts]="allCharts()"
90512
+ />
90513
+
90514
+ <!-- Business Analysis Modal (for napkin visuals and other content) -->
90515
+ <symphiq-business-analysis-modal [isLightMode]="isLightMode()"/>
90516
+
90517
+ <!-- Tooltip Container -->
90518
+ <symphiq-tooltip-container/>
90519
+
90520
+ <!-- Sticky Continue Button (Only shown when not subscribed and no currency selected) -->
90521
+ @if (!isSubscriptionActive() && !hasBillingCurrency() && isSimplifiedView() && !isFocusAreaAnalysis() && !isMetricAnalysis()) {
90522
+ <symphiq-sticky-subscription-continue-button
90523
+ [viewMode]="viewMode()"
90524
+ [isEnabled]="hasCurrencySelected()"
90525
+ [isLoading]="isCurrencySelectionLoading()"
90526
+ (continueClick)="handleStickyButtonClick()"
90527
+ />
90528
+ }
90529
+
90530
+ <!-- Sticky Footer for Edit Currency Mode -->
90531
+ @if (isEditingCurrency()) {
90532
+ <div
90533
+ [ngClass]="getEditCurrencyFooterClasses()"
90534
+ class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-lg"
90535
+ >
90536
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
90537
+ <div class="flex items-center gap-4">
90538
+ <button
90539
+ (click)="handleCancelCurrencyEdit()"
90540
+ [ngClass]="getEditCurrencyCancelButtonClasses()"
90541
+ class="px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 cursor-pointer"
90542
+ >
90543
+ Cancel
90544
+ </button>
90545
+ <button
90546
+ (click)="handleContinueToPlans()"
90547
+ [disabled]="!editingCurrencySelection()"
90548
+ [ngClass]="getEditCurrencyContinueButtonClasses()"
90549
+ class="flex-1 px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 flex items-center justify-center gap-3 shadow-2xl"
90550
+ >
90551
+ <span>Continue to Plans</span>
90552
+ <svg class="w-6 h-6 transition-transform duration-200" [class.translate-x-1]="editingCurrencySelection()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
90553
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
90554
+ </svg>
90555
+ </button>
90556
+ </div>
90557
+ </div>
90558
+ </div>
90559
+ }
90560
+ </div>
90421
90561
  `
90422
90562
  }]
90423
90563
  }], () => [], { funnelModalComponent: [{