@eric-emg/symphiq-components 1.2.551 → 1.2.552

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.
@@ -2,7 +2,7 @@ import { ViewModeEnum, MetricStatusEnum, TrendDirectionEnum, CompetitiveScoreEnu
2
2
  export * from '@jebgem/model';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Injectable, signal, computed, input, ChangeDetectionStrategy, Component, output, inject, ElementRef, Renderer2, effect, Directive, HostListener, untracked, DestroyRef, ViewChild, PLATFORM_ID, Inject, Input, afterNextRender, NgZone } from '@angular/core';
5
- import { BehaviorSubject, of, fromEvent, shareReplay as shareReplay$1, catchError as catchError$1 } from 'rxjs';
5
+ import { BehaviorSubject, of, fromEvent, shareReplay as shareReplay$1, catchError as catchError$1, filter } from 'rxjs';
6
6
  import { map, catchError, shareReplay, debounceTime, switchMap } from 'rxjs/operators';
7
7
  import * as i1 from '@angular/common/http';
8
8
  import * as i2 from '@angular/platform-browser';
@@ -15,6 +15,7 @@ import { FormsModule, FormBuilder, Validators, ReactiveFormsModule } from '@angu
15
15
  import { trigger, transition, style, animate } from '@angular/animations';
16
16
  import { toObservable, toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
17
17
  import { MarkdownComponent } from 'ngx-markdown';
18
+ import { Router, NavigationStart } from '@angular/router';
18
19
  import dayjs from 'dayjs';
19
20
  import utc from 'dayjs/plugin/utc';
20
21
  import { Root, color, Tooltip, Bullet, Circle, Legend, percent, LinearGradient, p100, p50, Label } from '@amcharts/amcharts5';
@@ -10766,9 +10767,56 @@ class MetricListItemComponent {
10766
10767
  }], () => [], { metric: [{ type: i0.Input, args: [{ isSignal: true, alias: "metric", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], animationKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationKey", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }], metricClick: [{ type: i0.Output, args: ["metricClick"] }] }); })();
10767
10768
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricListItemComponent, { className: "MetricListItemComponent", filePath: "lib/components/shared/metric-list-item.component.ts", lineNumber: 50 }); })();
10768
10769
 
10769
- const ChartCardComponent_Defer_15_DepsFn = () => [Promise.resolve().then(function () { return lineChart_component; }).then(m => m.LineChartComponent), Promise.resolve().then(function () { return barChart_component; }).then(m => m.BarChartComponent), Promise.resolve().then(function () { return pieChart_component; }).then(m => m.PieChartComponent), Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
10770
- function ChartCardComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
10771
- i0.ɵɵelementStart(0, "p", 8);
10770
+ class CurrentDataIndicatorComponent {
10771
+ constructor() {
10772
+ this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
10773
+ this.tooltipPosition = input('top', ...(ngDevMode ? [{ debugName: "tooltipPosition" }] : []));
10774
+ this.tooltipText = input('This data reflects current values and updates in real-time, rather than a snapshot from when the analysis was completed.', ...(ngDevMode ? [{ debugName: "tooltipText" }] : []));
10775
+ this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
10776
+ this.indicatorClass = computed(() => {
10777
+ const base = 'inline-flex items-center gap-1 px-2 py-0.5 rounded-full cursor-pointer transition-opacity hover:opacity-80';
10778
+ return this.isLightMode()
10779
+ ? `${base} bg-emerald-100 text-emerald-700`
10780
+ : `${base} bg-emerald-500/20 text-emerald-400`;
10781
+ }, ...(ngDevMode ? [{ debugName: "indicatorClass" }] : []));
10782
+ }
10783
+ static { this.ɵfac = function CurrentDataIndicatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CurrentDataIndicatorComponent)(); }; }
10784
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CurrentDataIndicatorComponent, selectors: [["symphiq-current-data-indicator"]], inputs: { viewMode: [1, "viewMode"], tooltipPosition: [1, "tooltipPosition"], tooltipText: [1, "tooltipText"] }, decls: 6, vars: 4, consts: [["tooltipType", "text", 3, "libSymphiqTooltip", "tooltipPosition"], ["fill", "currentColor", "viewBox", "0 0 12 12", 1, "w-3", "h-3"], ["cx", "6", "cy", "6", "r", "5", "fill", "currentColor", "opacity", "0.3"], ["cx", "6", "cy", "6", "r", "3", "fill", "currentColor"], [1, "text-xs", "font-medium"]], template: function CurrentDataIndicatorComponent_Template(rf, ctx) { if (rf & 1) {
10785
+ i0.ɵɵelementStart(0, "span", 0);
10786
+ i0.ɵɵnamespaceSVG();
10787
+ i0.ɵɵelementStart(1, "svg", 1);
10788
+ i0.ɵɵelement(2, "circle", 2)(3, "circle", 3);
10789
+ i0.ɵɵelementEnd();
10790
+ i0.ɵɵnamespaceHTML();
10791
+ i0.ɵɵelementStart(4, "span", 4);
10792
+ i0.ɵɵtext(5, "Live");
10793
+ i0.ɵɵelementEnd()();
10794
+ } if (rf & 2) {
10795
+ i0.ɵɵclassMap(ctx.indicatorClass());
10796
+ i0.ɵɵproperty("libSymphiqTooltip", ctx.tooltipText())("tooltipPosition", ctx.tooltipPosition());
10797
+ } }, dependencies: [CommonModule, TooltipDirective], styles: ["[_nghost-%COMP%]{display:inline-block}"], changeDetection: 0 }); }
10798
+ }
10799
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CurrentDataIndicatorComponent, [{
10800
+ type: Component,
10801
+ args: [{ selector: 'symphiq-current-data-indicator', standalone: true, imports: [CommonModule, TooltipDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: `
10802
+ <span
10803
+ [class]="indicatorClass()"
10804
+ [libSymphiqTooltip]="tooltipText()"
10805
+ tooltipType="text"
10806
+ [tooltipPosition]="tooltipPosition()">
10807
+ <svg class="w-3 h-3" fill="currentColor" viewBox="0 0 12 12">
10808
+ <circle cx="6" cy="6" r="5" fill="currentColor" opacity="0.3"/>
10809
+ <circle cx="6" cy="6" r="3" fill="currentColor"/>
10810
+ </svg>
10811
+ <span class="text-xs font-medium">Live</span>
10812
+ </span>
10813
+ `, styles: [":host{display:inline-block}\n"] }]
10814
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], tooltipPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipPosition", required: false }] }], tooltipText: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipText", required: false }] }] }); })();
10815
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CurrentDataIndicatorComponent, { className: "CurrentDataIndicatorComponent", filePath: "lib/components/shared/current-data-indicator.component.ts", lineNumber: 30 }); })();
10816
+
10817
+ const ChartCardComponent_Defer_17_DepsFn = () => [Promise.resolve().then(function () { return lineChart_component; }).then(m => m.LineChartComponent), Promise.resolve().then(function () { return barChart_component; }).then(m => m.BarChartComponent), Promise.resolve().then(function () { return pieChart_component; }).then(m => m.PieChartComponent), Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
10818
+ function ChartCardComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
10819
+ i0.ɵɵelementStart(0, "p", 10);
10772
10820
  i0.ɵɵtext(1);
10773
10821
  i0.ɵɵelementEnd();
10774
10822
  } if (rf & 2) {
@@ -10777,38 +10825,38 @@ function ChartCardComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
10777
10825
  i0.ɵɵadvance();
10778
10826
  i0.ɵɵtextInterpolate1(" ", ctx_r0.chart().description, " ");
10779
10827
  } }
10780
- function ChartCardComponent_Defer_13_Conditional_0_Template(rf, ctx) { if (rf & 1) {
10781
- i0.ɵɵelement(0, "symphiq-line-chart", 11);
10828
+ function ChartCardComponent_Defer_15_Conditional_0_Template(rf, ctx) { if (rf & 1) {
10829
+ i0.ɵɵelement(0, "symphiq-line-chart", 13);
10782
10830
  } if (rf & 2) {
10783
10831
  const ctx_r0 = i0.ɵɵnextContext(2);
10784
10832
  i0.ɵɵproperty("chart", ctx_r0.chart())("showAxisLabels", false)("viewMode", ctx_r0.viewMode());
10785
10833
  } }
10786
- function ChartCardComponent_Defer_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
10787
- i0.ɵɵelement(0, "symphiq-bar-chart", 11);
10834
+ function ChartCardComponent_Defer_15_Conditional_1_Template(rf, ctx) { if (rf & 1) {
10835
+ i0.ɵɵelement(0, "symphiq-bar-chart", 13);
10788
10836
  } if (rf & 2) {
10789
10837
  const ctx_r0 = i0.ɵɵnextContext(2);
10790
10838
  i0.ɵɵproperty("chart", ctx_r0.chart())("showAxisLabels", false)("viewMode", ctx_r0.viewMode());
10791
10839
  } }
10792
- function ChartCardComponent_Defer_13_Conditional_2_Template(rf, ctx) { if (rf & 1) {
10793
- i0.ɵɵelement(0, "symphiq-pie-chart", 12);
10840
+ function ChartCardComponent_Defer_15_Conditional_2_Template(rf, ctx) { if (rf & 1) {
10841
+ i0.ɵɵelement(0, "symphiq-pie-chart", 14);
10794
10842
  } if (rf & 2) {
10795
10843
  const ctx_r0 = i0.ɵɵnextContext(2);
10796
10844
  i0.ɵɵproperty("chart", ctx_r0.chart())("viewMode", ctx_r0.viewMode());
10797
10845
  } }
10798
- function ChartCardComponent_Defer_13_Conditional_3_Template(rf, ctx) { if (rf & 1) {
10799
- i0.ɵɵelement(0, "symphiq-area-chart", 11);
10846
+ function ChartCardComponent_Defer_15_Conditional_3_Template(rf, ctx) { if (rf & 1) {
10847
+ i0.ɵɵelement(0, "symphiq-area-chart", 13);
10800
10848
  } if (rf & 2) {
10801
10849
  const ctx_r0 = i0.ɵɵnextContext(2);
10802
10850
  i0.ɵɵproperty("chart", ctx_r0.chart())("showAxisLabels", false)("viewMode", ctx_r0.viewMode());
10803
10851
  } }
10804
- function ChartCardComponent_Defer_13_Template(rf, ctx) { if (rf & 1) {
10805
- i0.ɵɵconditionalCreate(0, ChartCardComponent_Defer_13_Conditional_0_Template, 1, 3, "symphiq-line-chart", 11)(1, ChartCardComponent_Defer_13_Conditional_1_Template, 1, 3, "symphiq-bar-chart", 11)(2, ChartCardComponent_Defer_13_Conditional_2_Template, 1, 2, "symphiq-pie-chart", 12)(3, ChartCardComponent_Defer_13_Conditional_3_Template, 1, 3, "symphiq-area-chart", 11);
10852
+ function ChartCardComponent_Defer_15_Template(rf, ctx) { if (rf & 1) {
10853
+ i0.ɵɵconditionalCreate(0, ChartCardComponent_Defer_15_Conditional_0_Template, 1, 3, "symphiq-line-chart", 13)(1, ChartCardComponent_Defer_15_Conditional_1_Template, 1, 3, "symphiq-bar-chart", 13)(2, ChartCardComponent_Defer_15_Conditional_2_Template, 1, 2, "symphiq-pie-chart", 14)(3, ChartCardComponent_Defer_15_Conditional_3_Template, 1, 3, "symphiq-area-chart", 13);
10806
10854
  } if (rf & 2) {
10807
10855
  const ctx_r0 = i0.ɵɵnextContext();
10808
10856
  i0.ɵɵconditional(ctx_r0.chart().chartType === ctx_r0.ChartTypeEnum.LINE && ctx_r0.chart().lineChartData ? 0 : ctx_r0.chart().chartType === ctx_r0.ChartTypeEnum.BAR && ctx_r0.chart().barChartData ? 1 : ctx_r0.chart().chartType === ctx_r0.ChartTypeEnum.PIE && ctx_r0.chart().pieChartData ? 2 : ctx_r0.chart().chartType === ctx_r0.ChartTypeEnum.AREA && ctx_r0.chart().areaChartData ? 3 : -1);
10809
10857
  } }
10810
- function ChartCardComponent_DeferPlaceholder_14_Template(rf, ctx) { if (rf & 1) {
10811
- i0.ɵɵelementStart(0, "div", 13)(1, "span", 14);
10858
+ function ChartCardComponent_DeferPlaceholder_16_Template(rf, ctx) { if (rf & 1) {
10859
+ i0.ɵɵelementStart(0, "div", 15)(1, "span", 16);
10812
10860
  i0.ɵɵtext(2, " Loading preview... ");
10813
10861
  i0.ɵɵelementEnd()();
10814
10862
  } if (rf & 2) {
@@ -10825,7 +10873,7 @@ class ChartCardComponent {
10825
10873
  this.ChartTypeEnum = ChartTypeEnum;
10826
10874
  }
10827
10875
  static { this.ɵfac = function ChartCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ChartCardComponent)(); }; }
10828
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ChartCardComponent, selectors: [["symphiq-chart-card"]], inputs: { chart: [1, "chart"], viewMode: [1, "viewMode"], isLightMode: [1, "isLightMode"] }, outputs: { chartClick: "chartClick" }, decls: 17, vars: 6, consts: [["type", "button", 1, "w-full", "p-5", "rounded-lg", "border", "transition-all", "duration-300", "hover:scale-[1.01]", "hover:shadow-lg", "active:scale-[0.99]", "cursor-pointer", "group", "text-left", 3, "click", "ngClass"], [1, "flex", "flex-col", "sm:flex-row", "items-start", "gap-4"], [1, "flex-1", "min-w-0"], [1, "flex", "items-start", "gap-3", "mb-3"], [1, "flex-shrink-0", "w-8", "h-8", "flex", "items-center", "justify-center", "rounded-full", "text-xs", "font-bold", "border-2", "backdrop-blur-md", "transition-all", "duration-300", "group-hover:scale-110", 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, "font-semibold", "mb-2", "transition-colors", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "w-full", "sm:w-32", "h-20", "flex-shrink-0"], [1, "w-full", "h-full", "rounded-md", "border", "overflow-hidden", "bg-opacity-50", "transition-all", "duration-300", 3, "ngClass"], [3, "chart", "showAxisLabels", "viewMode"], [3, "chart", "viewMode"], [1, "w-full", "h-full", "flex", "items-center", "justify-center"], [1, "text-xs", 3, "ngClass"]], template: function ChartCardComponent_Template(rf, ctx) { if (rf & 1) {
10876
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ChartCardComponent, selectors: [["symphiq-chart-card"]], inputs: { chart: [1, "chart"], viewMode: [1, "viewMode"], isLightMode: [1, "isLightMode"] }, outputs: { chartClick: "chartClick" }, decls: 19, vars: 7, consts: [["type", "button", 1, "w-full", "p-5", "rounded-lg", "border", "transition-all", "duration-300", "hover:scale-[1.01]", "hover:shadow-lg", "active:scale-[0.99]", "cursor-pointer", "group", "text-left", 3, "click", "ngClass"], [1, "flex", "flex-col", "sm:flex-row", "items-start", "gap-4"], [1, "flex-1", "min-w-0"], [1, "flex", "items-start", "gap-3", "mb-3"], [1, "flex-shrink-0", "w-8", "h-8", "flex", "items-center", "justify-center", "rounded-full", "text-xs", "font-bold", "border-2", "backdrop-blur-md", "transition-all", "duration-300", "group-hover:scale-110", 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", "items-center", "gap-2", "mb-2"], [1, "font-semibold", "transition-colors", 3, "ngClass"], ["tooltipPosition", "top", 3, "viewMode"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "w-full", "sm:w-32", "h-20", "flex-shrink-0"], [1, "w-full", "h-full", "rounded-md", "border", "overflow-hidden", "bg-opacity-50", "transition-all", "duration-300", 3, "ngClass"], [3, "chart", "showAxisLabels", "viewMode"], [3, "chart", "viewMode"], [1, "w-full", "h-full", "flex", "items-center", "justify-center"], [1, "text-xs", 3, "ngClass"]], template: function ChartCardComponent_Template(rf, ctx) { if (rf & 1) {
10829
10877
  i0.ɵɵelementStart(0, "button", 0);
10830
10878
  i0.ɵɵlistener("click", function ChartCardComponent_Template_button_click_0_listener() { return ctx.chartClick.emit(ctx.chart()); });
10831
10879
  i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4);
@@ -10834,14 +10882,16 @@ class ChartCardComponent {
10834
10882
  i0.ɵɵelement(6, "path", 6);
10835
10883
  i0.ɵɵelementEnd()();
10836
10884
  i0.ɵɵnamespaceHTML();
10837
- i0.ɵɵelementStart(7, "div", 2)(8, "h4", 7);
10838
- i0.ɵɵtext(9);
10885
+ i0.ɵɵelementStart(7, "div", 2)(8, "div", 7)(9, "h4", 8);
10886
+ i0.ɵɵtext(10);
10839
10887
  i0.ɵɵelementEnd();
10840
- i0.ɵɵconditionalCreate(10, ChartCardComponent_Conditional_10_Template, 2, 2, "p", 8);
10888
+ i0.ɵɵelement(11, "symphiq-current-data-indicator", 9);
10889
+ i0.ɵɵelementEnd();
10890
+ i0.ɵɵconditionalCreate(12, ChartCardComponent_Conditional_12_Template, 2, 2, "p", 10);
10841
10891
  i0.ɵɵelementEnd()()();
10842
- i0.ɵɵelementStart(11, "div", 9)(12, "div", 10);
10843
- i0.ɵɵdomTemplate(13, ChartCardComponent_Defer_13_Template, 4, 1)(14, ChartCardComponent_DeferPlaceholder_14_Template, 3, 1);
10844
- i0.ɵɵdefer(15, 13, ChartCardComponent_Defer_15_DepsFn, null, 14);
10892
+ i0.ɵɵelementStart(13, "div", 11)(14, "div", 12);
10893
+ i0.ɵɵdomTemplate(15, ChartCardComponent_Defer_15_Template, 4, 1)(16, ChartCardComponent_DeferPlaceholder_16_Template, 3, 1);
10894
+ i0.ɵɵdefer(17, 15, ChartCardComponent_Defer_17_DepsFn, null, 16);
10845
10895
  i0.ɵɵdeferOnIdle();
10846
10896
  i0.ɵɵdeferOnViewport(0, -1);
10847
10897
  i0.ɵɵelementEnd()()()();
@@ -10849,15 +10899,17 @@ class ChartCardComponent {
10849
10899
  i0.ɵɵproperty("ngClass", ctx.isLightMode() ? "bg-slate-50 hover:bg-slate-100 border-slate-200" : "bg-slate-900/30 hover:bg-slate-900/50 border-slate-700/50");
10850
10900
  i0.ɵɵadvance(4);
10851
10901
  i0.ɵɵproperty("ngClass", ctx.isLightMode() ? "bg-blue-100/70 text-blue-600 border-blue-300" : "bg-blue-500/20 text-blue-400 border-blue-500/50");
10852
- i0.ɵɵadvance(4);
10902
+ i0.ɵɵadvance(5);
10853
10903
  i0.ɵɵproperty("ngClass", ctx.isLightMode() ? "text-slate-900 group-hover:text-blue-600" : "text-white group-hover:text-blue-400");
10854
10904
  i0.ɵɵadvance();
10855
10905
  i0.ɵɵtextInterpolate1(" ", ctx.chart().title, " ");
10856
10906
  i0.ɵɵadvance();
10857
- i0.ɵɵconditional(ctx.chart().description ? 10 : -1);
10907
+ i0.ɵɵproperty("viewMode", ctx.viewMode());
10908
+ i0.ɵɵadvance();
10909
+ i0.ɵɵconditional(ctx.chart().description ? 12 : -1);
10858
10910
  i0.ɵɵadvance(2);
10859
10911
  i0.ɵɵproperty("ngClass", ctx.isLightMode() ? "border-slate-300" : "border-slate-600");
10860
- } }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
10912
+ } }, dependencies: [CommonModule, i1$1.NgClass, CurrentDataIndicatorComponent], encapsulation: 2, changeDetection: 0 }); }
10861
10913
  }
10862
10914
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadataAsync(ChartCardComponent, () => [Promise.resolve().then(function () { return lineChart_component; }).then(m => m.LineChartComponent), Promise.resolve().then(function () { return barChart_component; }).then(m => m.BarChartComponent), Promise.resolve().then(function () { return pieChart_component; }).then(m => m.PieChartComponent), Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)], (LineChartComponent, BarChartComponent, PieChartComponent, AreaChartComponent) => { i0.ɵsetClassMetadata(ChartCardComponent, [{
10863
10915
  type: Component,
@@ -10870,91 +10922,97 @@ class ChartCardComponent {
10870
10922
  LineChartComponent,
10871
10923
  BarChartComponent,
10872
10924
  PieChartComponent,
10873
- AreaChartComponent
10925
+ AreaChartComponent,
10926
+ CurrentDataIndicatorComponent
10874
10927
  ],
10875
- template: `
10876
- <button
10877
- type="button"
10878
- (click)="chartClick.emit(chart())"
10879
- [ngClass]="isLightMode()
10880
- ? 'bg-slate-50 hover:bg-slate-100 border-slate-200'
10881
- : 'bg-slate-900/30 hover:bg-slate-900/50 border-slate-700/50'"
10882
- class="w-full p-5 rounded-lg border transition-all duration-300 hover:scale-[1.01] hover:shadow-lg active:scale-[0.99] cursor-pointer group text-left">
10883
- <div class="flex flex-col sm:flex-row items-start gap-4">
10884
- <div class="flex-1 min-w-0">
10885
- <div class="flex items-start gap-3 mb-3">
10886
- <div
10887
- [ngClass]="isLightMode()
10888
- ? 'bg-blue-100/70 text-blue-600 border-blue-300'
10889
- : 'bg-blue-500/20 text-blue-400 border-blue-500/50'"
10890
- class="flex-shrink-0 w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md transition-all duration-300 group-hover:scale-110">
10891
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
10892
- <path 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" />
10893
- </svg>
10894
- </div>
10895
- <div class="flex-1 min-w-0">
10896
- <h4
10897
- [ngClass]="isLightMode()
10898
- ? 'text-slate-900 group-hover:text-blue-600'
10899
- : 'text-white group-hover:text-blue-400'"
10900
- class="font-semibold mb-2 transition-colors">
10901
- {{ chart().title }}
10902
- </h4>
10903
- @if (chart().description) {
10904
- <p
10905
- [ngClass]="isLightMode() ? 'text-slate-700' : 'text-slate-300'"
10906
- class="text-sm leading-relaxed">
10907
- {{ chart().description }}
10908
- </p>
10909
- }
10910
- </div>
10911
- </div>
10912
- </div>
10913
-
10914
- <div class="w-full sm:w-32 h-20 flex-shrink-0">
10915
- <div
10916
- [ngClass]="isLightMode()
10917
- ? 'border-slate-300'
10918
- : 'border-slate-600'"
10919
- class="w-full h-full rounded-md border overflow-hidden bg-opacity-50 transition-all duration-300">
10920
- @defer (on idle; on viewport) {
10921
- @if (chart().chartType === ChartTypeEnum.LINE && chart().lineChartData) {
10922
- <symphiq-line-chart
10923
- [chart]="chart()"
10924
- [showAxisLabels]="false"
10925
- [viewMode]="viewMode()" />
10926
- } @else if (chart().chartType === ChartTypeEnum.BAR && chart().barChartData) {
10927
- <symphiq-bar-chart
10928
- [chart]="chart()"
10929
- [showAxisLabels]="false"
10930
- [viewMode]="viewMode()" />
10931
- } @else if (chart().chartType === ChartTypeEnum.PIE && chart().pieChartData) {
10932
- <symphiq-pie-chart
10933
- [chart]="chart()"
10934
- [viewMode]="viewMode()" />
10935
- } @else if (chart().chartType === ChartTypeEnum.AREA && chart().areaChartData) {
10936
- <symphiq-area-chart
10937
- [chart]="chart()"
10938
- [showAxisLabels]="false"
10939
- [viewMode]="viewMode()" />
10940
- }
10941
- } @placeholder {
10942
- <div class="w-full h-full flex items-center justify-center">
10943
- <span
10944
- [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'"
10945
- class="text-xs">
10946
- Loading preview...
10947
- </span>
10948
- </div>
10949
- }
10950
- </div>
10951
- </div>
10952
- </div>
10953
- </button>
10928
+ template: `
10929
+ <button
10930
+ type="button"
10931
+ (click)="chartClick.emit(chart())"
10932
+ [ngClass]="isLightMode()
10933
+ ? 'bg-slate-50 hover:bg-slate-100 border-slate-200'
10934
+ : 'bg-slate-900/30 hover:bg-slate-900/50 border-slate-700/50'"
10935
+ class="w-full p-5 rounded-lg border transition-all duration-300 hover:scale-[1.01] hover:shadow-lg active:scale-[0.99] cursor-pointer group text-left">
10936
+ <div class="flex flex-col sm:flex-row items-start gap-4">
10937
+ <div class="flex-1 min-w-0">
10938
+ <div class="flex items-start gap-3 mb-3">
10939
+ <div
10940
+ [ngClass]="isLightMode()
10941
+ ? 'bg-blue-100/70 text-blue-600 border-blue-300'
10942
+ : 'bg-blue-500/20 text-blue-400 border-blue-500/50'"
10943
+ class="flex-shrink-0 w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md transition-all duration-300 group-hover:scale-110">
10944
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
10945
+ <path 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" />
10946
+ </svg>
10947
+ </div>
10948
+ <div class="flex-1 min-w-0">
10949
+ <div class="flex items-center gap-2 mb-2">
10950
+ <h4
10951
+ [ngClass]="isLightMode()
10952
+ ? 'text-slate-900 group-hover:text-blue-600'
10953
+ : 'text-white group-hover:text-blue-400'"
10954
+ class="font-semibold transition-colors">
10955
+ {{ chart().title }}
10956
+ </h4>
10957
+ <symphiq-current-data-indicator
10958
+ [viewMode]="viewMode()"
10959
+ tooltipPosition="top" />
10960
+ </div>
10961
+ @if (chart().description) {
10962
+ <p
10963
+ [ngClass]="isLightMode() ? 'text-slate-700' : 'text-slate-300'"
10964
+ class="text-sm leading-relaxed">
10965
+ {{ chart().description }}
10966
+ </p>
10967
+ }
10968
+ </div>
10969
+ </div>
10970
+ </div>
10971
+
10972
+ <div class="w-full sm:w-32 h-20 flex-shrink-0">
10973
+ <div
10974
+ [ngClass]="isLightMode()
10975
+ ? 'border-slate-300'
10976
+ : 'border-slate-600'"
10977
+ class="w-full h-full rounded-md border overflow-hidden bg-opacity-50 transition-all duration-300">
10978
+ @defer (on idle; on viewport) {
10979
+ @if (chart().chartType === ChartTypeEnum.LINE && chart().lineChartData) {
10980
+ <symphiq-line-chart
10981
+ [chart]="chart()"
10982
+ [showAxisLabels]="false"
10983
+ [viewMode]="viewMode()" />
10984
+ } @else if (chart().chartType === ChartTypeEnum.BAR && chart().barChartData) {
10985
+ <symphiq-bar-chart
10986
+ [chart]="chart()"
10987
+ [showAxisLabels]="false"
10988
+ [viewMode]="viewMode()" />
10989
+ } @else if (chart().chartType === ChartTypeEnum.PIE && chart().pieChartData) {
10990
+ <symphiq-pie-chart
10991
+ [chart]="chart()"
10992
+ [viewMode]="viewMode()" />
10993
+ } @else if (chart().chartType === ChartTypeEnum.AREA && chart().areaChartData) {
10994
+ <symphiq-area-chart
10995
+ [chart]="chart()"
10996
+ [showAxisLabels]="false"
10997
+ [viewMode]="viewMode()" />
10998
+ }
10999
+ } @placeholder {
11000
+ <div class="w-full h-full flex items-center justify-center">
11001
+ <span
11002
+ [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'"
11003
+ class="text-xs">
11004
+ Loading preview...
11005
+ </span>
11006
+ </div>
11007
+ }
11008
+ </div>
11009
+ </div>
11010
+ </div>
11011
+ </button>
10954
11012
  `
10955
11013
  }]
10956
11014
  }], null, { chart: [{ type: i0.Input, args: [{ isSignal: true, alias: "chart", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], chartClick: [{ type: i0.Output, args: ["chartClick"] }] }); }); })();
10957
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChartCardComponent, { className: "ChartCardComponent", filePath: "lib/components/shared/chart-card.component.ts", lineNumber: 101 }); })();
11015
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChartCardComponent, { className: "ChartCardComponent", filePath: "lib/components/shared/chart-card.component.ts", lineNumber: 108 }); })();
10958
11016
 
10959
11017
  const _forTrack0$14 = ($index, $item) => $item.id;
10960
11018
  function FunnelStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
@@ -25870,30 +25928,55 @@ function FunnelWelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (rf &
25870
25928
  function FunnelWelcomeBannerComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
25871
25929
  i0.ɵɵtext(0, " Welcome to Your Funnel Analysis ");
25872
25930
  } }
25873
- function FunnelWelcomeBannerComponent_Conditional_50_Template(rf, ctx) { if (rf & 1) {
25931
+ function FunnelWelcomeBannerComponent_Conditional_48_Template(rf, ctx) { if (rf & 1) {
25932
+ i0.ɵɵelementStart(0, "li", 19);
25874
25933
  i0.ɵɵnamespaceSVG();
25875
- i0.ɵɵelement(0, "path", 23);
25934
+ i0.ɵɵelementStart(1, "svg", 20);
25935
+ i0.ɵɵelement(2, "path", 21);
25936
+ i0.ɵɵelementEnd();
25937
+ i0.ɵɵnamespaceHTML();
25938
+ i0.ɵɵelementStart(3, "span")(4, "strong", 11);
25939
+ i0.ɵɵtext(5, "Analysis Snapshot");
25940
+ i0.ɵɵelementEnd();
25941
+ i0.ɵɵtext(6);
25942
+ i0.ɵɵelementEnd()();
25943
+ } if (rf & 2) {
25944
+ const ctx_r0 = i0.ɵɵnextContext();
25945
+ i0.ɵɵadvance(6);
25946
+ i0.ɵɵtextInterpolate1(" \u2014 This analysis represents a snapshot of your business taken on ", ctx_r0.formattedAnalysisDate());
25876
25947
  } }
25877
25948
  function FunnelWelcomeBannerComponent_Conditional_51_Template(rf, ctx) { if (rf & 1) {
25949
+ i0.ɵɵnamespaceSVG();
25950
+ i0.ɵɵelement(0, "path", 23);
25951
+ } }
25952
+ function FunnelWelcomeBannerComponent_Conditional_52_Template(rf, ctx) { if (rf & 1) {
25878
25953
  i0.ɵɵnamespaceSVG();
25879
25954
  i0.ɵɵelement(0, "path", 24);
25880
25955
  } }
25881
- function FunnelWelcomeBannerComponent_Conditional_54_Template(rf, ctx) { if (rf & 1) {
25956
+ function FunnelWelcomeBannerComponent_Conditional_55_Template(rf, ctx) { if (rf & 1) {
25882
25957
  i0.ɵɵtext(0, " Keep Your Analysis Current ");
25883
25958
  } }
25884
- function FunnelWelcomeBannerComponent_Conditional_55_Template(rf, ctx) { if (rf & 1) {
25959
+ function FunnelWelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
25885
25960
  i0.ɵɵtext(0, " Continue Your Journey ");
25886
25961
  } }
25887
- function FunnelWelcomeBannerComponent_Conditional_57_Template(rf, ctx) { if (rf & 1) {
25962
+ function FunnelWelcomeBannerComponent_Conditional_58_Template(rf, ctx) { if (rf & 1) {
25888
25963
  i0.ɵɵtext(0, " As you execute recommendations and your business evolves, refresh your analysis regularly. Update your revenue targets as needed and review your funnel metrics to track progress. The more you use Symphiq to plan and execute, the better it gets at identifying what drives results for your specific business. ");
25889
25964
  } }
25890
- function FunnelWelcomeBannerComponent_Conditional_58_Template(rf, ctx) { if (rf & 1) {
25965
+ function FunnelWelcomeBannerComponent_Conditional_59_Template(rf, ctx) { if (rf & 1) {
25891
25966
  i0.ɵɵtext(0, " The next steps in your journey\u2014Shop Analysis, Focus Area Analysis, and Metric Analysis\u2014add deeper layers of context about how you currently operate and what you're already doing. This operational knowledge helps Symphiq deliver recommendations that fit naturally into your existing workflows and capabilities. ");
25892
25967
  } }
25893
25968
  class FunnelWelcomeBannerComponent {
25894
25969
  constructor() {
25895
25970
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
25896
25971
  this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
25972
+ this.analysisDate = input(...(ngDevMode ? [undefined, { debugName: "analysisDate" }] : []));
25973
+ this.formattedAnalysisDate = computed(() => {
25974
+ const date = this.analysisDate();
25975
+ if (!date) {
25976
+ return null;
25977
+ }
25978
+ return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
25979
+ }, ...(ngDevMode ? [{ debugName: "formattedAnalysisDate" }] : []));
25897
25980
  }
25898
25981
  containerClasses() {
25899
25982
  return this.viewMode() === ViewModeEnum.DARK
@@ -25961,7 +26044,7 @@ class FunnelWelcomeBannerComponent {
25961
26044
  : 'text-slate-700';
25962
26045
  }
25963
26046
  static { this.ɵfac = function FunnelWelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FunnelWelcomeBannerComponent)(); }; }
25964
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FunnelWelcomeBannerComponent, selectors: [["symphiq-funnel-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], isOnboarded: [1, "isOnboarded"] }, decls: 59, vars: 19, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["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"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], ["currentStepId", "funnel-analysis", 3, "viewMode"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function FunnelWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
26047
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FunnelWelcomeBannerComponent, selectors: [["symphiq-funnel-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], isOnboarded: [1, "isOnboarded"], analysisDate: [1, "analysisDate"] }, decls: 60, vars: 20, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["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"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], ["currentStepId", "funnel-analysis", 3, "viewMode"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function FunnelWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
25965
26048
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
25966
26049
  i0.ɵɵnamespaceSVG();
25967
26050
  i0.ɵɵelementStart(4, "svg", 4);
@@ -26023,18 +26106,20 @@ class FunnelWelcomeBannerComponent {
26023
26106
  i0.ɵɵtext(46, "Your Journey");
26024
26107
  i0.ɵɵelementEnd();
26025
26108
  i0.ɵɵtext(47, " \u2014 Continue building context by answering questions about your shop setup and marketing focus areas for even more precise recommendations");
26026
- i0.ɵɵelementEnd()()()()();
26027
- i0.ɵɵelementStart(48, "div", 22);
26109
+ i0.ɵɵelementEnd()();
26110
+ i0.ɵɵconditionalCreate(48, FunnelWelcomeBannerComponent_Conditional_48_Template, 7, 1, "li", 19);
26111
+ i0.ɵɵelementEnd()()();
26112
+ i0.ɵɵelementStart(49, "div", 22);
26028
26113
  i0.ɵɵnamespaceSVG();
26029
- i0.ɵɵelementStart(49, "svg", 15);
26030
- i0.ɵɵconditionalCreate(50, FunnelWelcomeBannerComponent_Conditional_50_Template, 1, 0, ":svg:path", 23)(51, FunnelWelcomeBannerComponent_Conditional_51_Template, 1, 0, ":svg:path", 24);
26114
+ i0.ɵɵelementStart(50, "svg", 15);
26115
+ i0.ɵɵconditionalCreate(51, FunnelWelcomeBannerComponent_Conditional_51_Template, 1, 0, ":svg:path", 23)(52, FunnelWelcomeBannerComponent_Conditional_52_Template, 1, 0, ":svg:path", 24);
26031
26116
  i0.ɵɵelementEnd();
26032
26117
  i0.ɵɵnamespaceHTML();
26033
- i0.ɵɵelementStart(52, "div", 6)(53, "h3", 25);
26034
- i0.ɵɵconditionalCreate(54, FunnelWelcomeBannerComponent_Conditional_54_Template, 1, 0)(55, FunnelWelcomeBannerComponent_Conditional_55_Template, 1, 0);
26118
+ i0.ɵɵelementStart(53, "div", 6)(54, "h3", 25);
26119
+ i0.ɵɵconditionalCreate(55, FunnelWelcomeBannerComponent_Conditional_55_Template, 1, 0)(56, FunnelWelcomeBannerComponent_Conditional_56_Template, 1, 0);
26035
26120
  i0.ɵɵelementEnd();
26036
- i0.ɵɵelementStart(56, "p", 26);
26037
- i0.ɵɵconditionalCreate(57, FunnelWelcomeBannerComponent_Conditional_57_Template, 1, 0)(58, FunnelWelcomeBannerComponent_Conditional_58_Template, 1, 0);
26121
+ i0.ɵɵelementStart(57, "p", 26);
26122
+ i0.ɵɵconditionalCreate(58, FunnelWelcomeBannerComponent_Conditional_58_Template, 1, 0)(59, FunnelWelcomeBannerComponent_Conditional_59_Template, 1, 0);
26038
26123
  i0.ɵɵelementEnd()()()()()()();
26039
26124
  } if (rf & 2) {
26040
26125
  i0.ɵɵproperty("ngClass", ctx.containerClasses());
@@ -26061,19 +26146,21 @@ class FunnelWelcomeBannerComponent {
26061
26146
  i0.ɵɵadvance(2);
26062
26147
  i0.ɵɵproperty("ngClass", ctx.highlightListClasses());
26063
26148
  i0.ɵɵadvance(22);
26149
+ i0.ɵɵconditional(ctx.formattedAnalysisDate() ? 48 : -1);
26150
+ i0.ɵɵadvance();
26064
26151
  i0.ɵɵproperty("ngClass", ctx.nextStepsBoxClasses());
26065
26152
  i0.ɵɵadvance();
26066
26153
  i0.ɵɵproperty("ngClass", ctx.nextStepsIconClasses());
26067
26154
  i0.ɵɵadvance();
26068
- i0.ɵɵconditional(ctx.isOnboarded() ? 50 : 51);
26155
+ i0.ɵɵconditional(ctx.isOnboarded() ? 51 : 52);
26069
26156
  i0.ɵɵadvance(3);
26070
26157
  i0.ɵɵproperty("ngClass", ctx.nextStepsTitleClasses());
26071
26158
  i0.ɵɵadvance();
26072
- i0.ɵɵconditional(ctx.isOnboarded() ? 54 : 55);
26159
+ i0.ɵɵconditional(ctx.isOnboarded() ? 55 : 56);
26073
26160
  i0.ɵɵadvance(2);
26074
26161
  i0.ɵɵproperty("ngClass", ctx.nextStepsTextClasses());
26075
26162
  i0.ɵɵadvance();
26076
- i0.ɵɵconditional(ctx.isOnboarded() ? 57 : 58);
26163
+ i0.ɵɵconditional(ctx.isOnboarded() ? 58 : 59);
26077
26164
  } }, dependencies: [CommonModule, i1$1.NgClass, ConfidenceLevelCardComponent], encapsulation: 2, changeDetection: 0 }); }
26078
26165
  }
26079
26166
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FunnelWelcomeBannerComponent, [{
@@ -26150,6 +26237,14 @@ class FunnelWelcomeBannerComponent {
26150
26237
  </svg>
26151
26238
  <span><strong class="font-semibold">Your Journey</strong> — Continue building context by answering questions about your shop setup and marketing focus areas for even more precise recommendations</span>
26152
26239
  </li>
26240
+ @if (formattedAnalysisDate()) {
26241
+ <li class="flex items-start gap-2">
26242
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
26243
+ <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"></path>
26244
+ </svg>
26245
+ <span><strong class="font-semibold">Analysis Snapshot</strong> — This analysis represents a snapshot of your business taken on {{ formattedAnalysisDate() }}</span>
26246
+ </li>
26247
+ }
26153
26248
  </ul>
26154
26249
  </div>
26155
26250
  </div>
@@ -26185,8 +26280,8 @@ class FunnelWelcomeBannerComponent {
26185
26280
  </div>
26186
26281
  `
26187
26282
  }]
26188
- }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }] }); })();
26189
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelWelcomeBannerComponent, { className: "FunnelWelcomeBannerComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-welcome-banner.component.ts", lineNumber: 113 }); })();
26283
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], analysisDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisDate", required: false }] }] }); })();
26284
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelWelcomeBannerComponent, { className: "FunnelWelcomeBannerComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-welcome-banner.component.ts", lineNumber: 121 }); })();
26190
26285
 
26191
26286
  const _c0$18 = [[["", "slot", "overall-performance"]], [["", "slot", "performance-metrics"]], [["", "slot", "performance-breakdowns"]], [["", "slot", "competitive-intelligence"]]];
26192
26287
  const _c1$H = ["[slot=overall-performance]", "[slot=performance-metrics]", "[slot=performance-breakdowns]", "[slot=competitive-intelligence]"];
@@ -26194,6 +26289,8 @@ class CollapsibleFunnelSectionGroupComponent {
26194
26289
  constructor() {
26195
26290
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
26196
26291
  this.storageKey = input('collapsible-funnel-section-group', ...(ngDevMode ? [{ debugName: "storageKey" }] : []));
26292
+ this.router = inject(Router);
26293
+ this.routerSubscription = null;
26197
26294
  this.expandedSections = signal([], ...(ngDevMode ? [{ debugName: "expandedSections" }] : []));
26198
26295
  }
26199
26296
  ngOnInit() {
@@ -26204,6 +26301,14 @@ class CollapsibleFunnelSectionGroupComponent {
26204
26301
  else {
26205
26302
  this.expandedSections.set(new Array(4).fill(false));
26206
26303
  }
26304
+ this.routerSubscription = this.router.events
26305
+ .pipe(filter(event => event instanceof NavigationStart))
26306
+ .subscribe(() => {
26307
+ this.clearExpandedState();
26308
+ });
26309
+ }
26310
+ ngOnDestroy() {
26311
+ this.routerSubscription?.unsubscribe();
26207
26312
  }
26208
26313
  toggleSection(index) {
26209
26314
  const willBeExpanded = !this.expandedSections()[index];
@@ -26243,6 +26348,13 @@ class CollapsibleFunnelSectionGroupComponent {
26243
26348
  }
26244
26349
  return null;
26245
26350
  }
26351
+ clearExpandedState() {
26352
+ try {
26353
+ localStorage.removeItem(this.storageKey());
26354
+ }
26355
+ catch {
26356
+ }
26357
+ }
26246
26358
  containerClasses() {
26247
26359
  return this.viewMode() === ViewModeEnum.DARK
26248
26360
  ? 'bg-slate-800/40 border-slate-700/50'
@@ -26760,7 +26872,7 @@ class CollapsibleFunnelSectionGroupComponent {
26760
26872
  `
26761
26873
  }]
26762
26874
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], storageKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "storageKey", required: false }] }] }); })();
26763
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleFunnelSectionGroupComponent, { className: "CollapsibleFunnelSectionGroupComponent", filePath: "lib/components/funnel-analysis-dashboard/collapsible-funnel-section-group.component.ts", lineNumber: 220 }); })();
26875
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleFunnelSectionGroupComponent, { className: "CollapsibleFunnelSectionGroupComponent", filePath: "lib/components/funnel-analysis-dashboard/collapsible-funnel-section-group.component.ts", lineNumber: 222 }); })();
26764
26876
 
26765
26877
  function ViewModeSwitcherModalComponent_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
26766
26878
  i0.ɵɵelementStart(0, "div", 11)(1, "div", 13);
@@ -47422,12 +47534,13 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_17_Template(rf, ctx
47422
47534
  i0.ɵɵconditionalCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_17_Conditional_14_Template, 2, 6, "div", 56);
47423
47535
  i0.ɵɵelementEnd()()()();
47424
47536
  } if (rf & 2) {
47537
+ let tmp_6_0;
47425
47538
  const ctx_r2 = i0.ɵɵnextContext();
47426
47539
  i0.ɵɵconditional(!ctx_r2.isOnboarded() ? 0 : -1);
47427
47540
  i0.ɵɵadvance();
47428
47541
  i0.ɵɵclassProp("pb-32", ctx_r2.shouldShowReviewFooter());
47429
47542
  i0.ɵɵadvance(3);
47430
- i0.ɵɵproperty("viewMode", ctx_r2.isLightMode() ? ctx_r2.ViewModeEnum.LIGHT : ctx_r2.ViewModeEnum.DARK)("isOnboarded", ctx_r2.isOnboarded());
47543
+ i0.ɵɵproperty("viewMode", ctx_r2.isLightMode() ? ctx_r2.ViewModeEnum.LIGHT : ctx_r2.ViewModeEnum.DARK)("isOnboarded", ctx_r2.isOnboarded())("analysisDate", (tmp_6_0 = ctx_r2.funnelAnalysis()) == null ? null : tmp_6_0.selfContentCompletedDate);
47431
47544
  i0.ɵɵadvance();
47432
47545
  i0.ɵɵconditional(ctx_r2.showKeyInsights() ? 5 : -1);
47433
47546
  i0.ɵɵadvance();
@@ -49321,7 +49434,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
49321
49434
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dashboardContainer = _t.first);
49322
49435
  } }, hostBindings: function SymphiqFunnelAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
49323
49436
  i0.ɵɵlistener("scroll", function SymphiqFunnelAnalysisDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
49324
- } }, inputs: { requestedByUser: [1, "requestedByUser"], viewMode: [1, "viewMode"], funnelAnalysis: [1, "funnelAnalysis"], businessProfile: [1, "businessProfile"], embedded: [1, "embedded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", markAsReviewedClick: "markAsReviewedClick" }, decls: 28, vars: 57, consts: [["dashboardContainer", ""], [1, "bg-transparent"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [3, "searchClick", "viewModeClick", "title", "subtitle", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate", "showControls", "hasCondensedLeftContent"], ["expandedControls", ""], [1, "flex", "items-center", "gap-2", "sm:gap-3", "whitespace-nowrap"], ["condensedLeftContent", ""], [1, "hidden", "lg:flex", "items-center", "gap-3", "px-4", "py-1.5", "rounded-lg", 3, "ngClass"], ["condensedControls", ""], [1, "sticky", "top-[var(--header-height)]", "z-40", "border-b", "backdrop-blur-md", "animate-slide-up-fade", 3, "ngClass"], [3, "sections", "viewMode", "embedded", "scrollElement"], [1, "fixed", "right-6", "top-1/2", "-translate-y-1/2", "z-40", "hidden", "xl:flex", "flex-col", "gap-4"], [1, "flex", "items-center", "justify-center", "min-h-[60vh]"], [1, "max-w-7xl", "mx-auto", "px-6", "sm:px-8", 3, "pb-32"], [3, "isLightMode", "viewMode", "allMetrics", "allInsights", "allCharts", "currencySymbol", "businessProfile"], [3, "isLightMode", "allMetrics"], [3, "isLightMode"], [3, "resultSelected", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode", "isLoading"], [3, "expandedChange", "scrollToTop", "toggleView", "isLightMode", "isCompactMode", "isExpanded"], [3, "navigate", "isLightMode", "sections", "activeSection"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed", "isLoading"], [1, "text-xs", "sm:text-sm", "font-medium"], [3, "click", "mousedown", "pointerdown"], [1, "px-3", "sm:px-4", "py-1.5", "rounded-lg", "text-xs", "sm:text-sm", "font-medium", "focus:outline-none", "focus:ring-2", "focus:ring-blue-500", "focus:border-transparent", "transition-colors", "duration-200", "cursor-pointer", 3, "ngModelChange", "ngModel"], [3, "value"], [1, "text-xs", "font-medium"], [1, "text-sm", "font-bold"], [1, "text-xs", "font-semibold", 3, "ngClass"], [1, "px-3", "py-1.5", "rounded-lg", "text-xs", "font-medium", "focus:outline-none", "focus:ring-2", "focus:ring-blue-500", "focus:border-transparent", "transition-colors", "duration-200", "cursor-pointer", 3, "ngModelChange", "ngModel"], [1, "max-w-7xl", "mx-auto", "px-6", "sm:px-8", "py-3"], [1, "flex", "items-center", "justify-between", "gap-4"], [1, "flex", "items-center", "gap-3", "flex-1", "min-w-0"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"], [1, "flex", "items-center", "gap-2", "flex-1", "min-w-0"], [1, "text-sm", "font-medium", 3, "ngClass"], [1, "text-sm", "font-semibold", "truncate", 3, "ngClass"], [1, "px-2", "py-0.5", "rounded", "text-xs", "font-medium", "uppercase", "border", "flex-shrink-0", 3, "ngClass"], ["title", "Clear search", 1, "p-2", "rounded-lg", "transition-colors", "flex-shrink-0", 3, "click", "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", "M6 18L18 6M6 6l12 12"], [1, "w-3", "h-3", "rounded-full", "transition-all", "duration-200", "hover:scale-150", "active:scale-100", "cursor-pointer", 3, "libSymphiqTooltip", "tooltipPosition", "ngClass"], [1, "w-3", "h-3", "rounded-full", "transition-all", "duration-200", "hover:scale-150", "active:scale-100", "cursor-pointer", 3, "click", "libSymphiqTooltip", "tooltipPosition", "ngClass"], ["size", "large", 3, "viewMode"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "itemStatus", "currentStatus", "confettiIntensity", "title", "subtitle"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "max-w-7xl", "mx-auto", "px-6", "sm:px-8"], [1, "pt-8", "sm:pt-12", "pb-16", "sm:pb-24"], [1, "mb-8"], [3, "viewMode", "isOnboarded"], ["id", "section-insights", 1, "mb-8"], [3, "viewMode"], ["slot", "overall-performance"], [1, "p-6"], ["slot", "performance-metrics"], [1, "p-6", "space-y-8"], ["slot", "performance-breakdowns"], ["slot", "competitive-intelligence"], [1, "flex", "items-center", "justify-between", "mb-6"], [1, "flex", "items-center", "gap-3"], [1, "pl-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"], [1, "text-xl", "sm:text-2xl", "font-bold"], [1, "text-xs", "sm:text-sm"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "gap-6"], [3, "insight", "allMetrics", "charts", "allCharts", "allBusinessInsights", "isLightMode", "viewMode", "isCompactMode", "isLoading"], [3, "width", "height", "isLightMode"], [3, "assessment", "revenueMetric", "charts", "metrics", "isLightMode", "isLoading", "isCompactMode", "isChartsLoading", "strengths", "weaknesses", "currencySymbol"], [3, "scrollToSection", "assessment", "revenueMetric", "charts", "metrics", "isLightMode", "isLoading", "isCompactMode", "isChartsLoading", "strengths", "weaknesses", "currencySymbol"], [1, "w-full"], [3, "metric", "insights", "charts", "allCharts", "analysis", "isLightMode", "viewMode", "isCompactMode", "currencySymbol"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-3", "gap-6", "mt-4"], [3, "breakdown", "charts", "isLightMode", "isLoading", "isCompactMode", "currencySymbol"], [3, "metrics", "allCharts", "isLightMode", "isCompactMode", "competitiveBenchmark", "currencySymbol"], ["id", "section-overall", 1, "animate-fade-in-up", "mb-20", "sm:mb-28", 2, "animation-delay", "0.1s"], [1, "rounded-xl", "border", "p-6", "sm:p-8", "animate-pulse", 3, "ngClass"], [1, "space-y-6"], [1, "flex-1", "space-y-2"], [1, "space-y-2"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "gap-4", "mt-6"], ["animationDelay", "0.15s", 3, "viewMode"], ["id", "section-insights", 1, "relative"], [1, "absolute", "inset-0", "-mx-6", "sm:-mx-8", "-mt-8", "rounded-3xl", "opacity-30", "backdrop-blur-sm", 2, "mask-image", "radial-gradient(ellipse at center, black 0%, transparent 70%)", 3, "ngClass"], [1, "relative"], [1, "flex", "items-center", "justify-between", "mb-6", "sm:mb-8", "animate-fade-in", 2, "animation-delay", "0.2s"], [1, "masonry-grid"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-3", "gap-4"], [1, "rounded-xl", "border", "p-6", "animate-pulse", "min-h-[280px]", 3, "ngClass"], [1, "space-y-4"], [1, "flex", "items-center", "gap-3", "mb-4"], [1, "mt-6", "space-y-2"], [1, "flex", "gap-2", "mt-4"], [1, "animate-fade-in-up", 3, "class", "animation-delay", "libSymphiqSearchHighlight", "highlightId"], [1, "animate-fade-in-up", 3, "libSymphiqSearchHighlight", "highlightId"], [3, "insight", "allMetrics", "charts", "allCharts", "allBusinessInsights", "isLightMode", "viewMode", "isCompactMode"], [1, "animate-fade-in-up", 3, "animation-delay", "libSymphiqSearchHighlight", "highlightId"], [1, "relative", "mb-14", "sm:mb-24", "mt-24", "sm:mt-32", "animate-fade-in", 2, "animation-delay", "0.35s"], ["id", "section-metrics", 1, "relative"], [1, "absolute", "inset-0", "-mx-6", "sm:-mx-8", "-mt-8", "rounded-3xl", "opacity-30", "backdrop-blur-sm", 2, "mask-image", "radial-gradient(ellipse at top right, black 0%, transparent 70%)", 3, "ngClass"], [1, "flex", "flex-col", "gap-4", "mb-6", "sm:mb-8", "animate-fade-in", 2, "animation-delay", "0.4s"], [1, "flex", "items-center", "justify-between"], ["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, "hidden", "sm:flex", "gap-2", "sm:gap-3", "items-center", "relative"], [1, "absolute", "-right-2", "top-1/2", "-translate-y-1/2", "z-10"], [1, "px-3", "sm:px-4", "py-2", "rounded-lg", "text-xs", "sm:text-sm", "font-medium", "focus:outline-none", "focus:ring-2", "focus:ring-blue-500", "focus:border-transparent", "transition-all", "duration-200", "cursor-pointer", 3, "ngModelChange", "ngModel"], [1, "px-3", "sm:px-4", "py-2", "rounded-lg", "text-xs", "sm:text-sm", "font-medium", "focus:outline-none", "focus:ring-2", "focus:ring-blue-500", "transition-all", "flex", "items-center", "gap-2", "cursor-pointer", "hover:scale-105", "active:scale-95", 3, "click", "title"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M3 4h13M3 8h9m-9 4h9m5-4v12m0 0l-4-4m4 4l4-4"], [1, "sm:hidden", "-mx-6", "px-6"], [1, "flex", "gap-2", "overflow-x-auto", "pb-2", "snap-x", "snap-mandatory", "scrollbar-hide"], [1, "space-y-8", "sm:space-y-10"], [1, "space-y-8", "sm:space-y-10", 3, "animate-content-change", "transition-opacity-slow"], ["aria-hidden", "true", 1, "absolute", "inset-0", "flex", "items-center"], [1, "w-full", "h-px", "bg-gradient-to-r", 3, "ngClass"], [1, "relative", "flex", "justify-center"], [1, "px-4", "py-2", "rounded-full", 3, "ngClass"], ["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", "M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z"], [1, "w-4", "h-4", "border-2", "border-blue-500/30", "border-t-blue-500", "rounded-full", "animate-spin"], ["disabled", "", 1, "font-semibold", 3, "value"], [1, "px-4", "py-2", "rounded-full", "text-xs", "font-medium", "whitespace-nowrap", "transition-all", "duration-200", "flex-shrink-0", "snap-start", "active:scale-95", 3, "ngClass", "opacity-70"], [1, "px-4", "py-2", "rounded-full", "text-xs", "font-medium", "whitespace-nowrap", "transition-all", "duration-200", "flex-shrink-0", "snap-start", "active:scale-95", 3, "click", "ngClass"], [1, "rounded-xl", "border", "p-6", "animate-pulse", 3, "ngClass"], [1, "flex", "items-center", "justify-between", "mb-4"], [1, "grid", "grid-cols-2", "md:grid-cols-4", "gap-4", "mt-6"], [1, "rounded-xl", "p-12", "border", "text-center", "animate-fade-in", 3, "ngClass"], [1, "w-full", "animate-fade-in-up", 3, "libSymphiqSearchHighlight", "highlightId"], [1, "bento-grid", "mt-4"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-4", "gap-3", "sm:gap-4", "mt-4"], [1, "animate-fade-in-up", 3, "class", "animation-delay"], [1, "animate-fade-in-up"], [1, "h-full", 3, "metric", "insights", "charts", "allCharts", "analysis", "isLightMode", "viewMode", "isCompactMode", "currencySymbol"], [1, "animate-fade-in-up", 3, "animation-delay"], [1, "rounded-xl", "border", "p-6", "animate-pulse", "min-h-[240px]", 3, "ngClass"], [1, "flex", "items-center", "gap-3", "mt-4"], [1, "mt-4"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-16", "h-16", "mx-auto", "mb-4", 3, "ngClass"], [1, "text-lg", "font-semibold", "mb-2", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mt-28", "sm:mt-36"], ["id", "section-breakdowns", 1, "relative"], [1, "absolute", "inset-0", "-mx-6", "sm:-mx-8", "-mt-8", "rounded-3xl", "opacity-30", "backdrop-blur-sm", 2, "mask-image", "radial-gradient(ellipse at bottom left, black 0%, transparent 70%)", 3, "ngClass"], [1, "flex", "flex-col", "sm:flex-row", "sm:items-center", "justify-between", "gap-4", "mb-6", "sm:mb-8", "animate-fade-in", 2, "animation-delay", "0.7s"], ["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 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"], [1, "relative", "inline-block", 3, "click", "mousedown", "pointerdown"], [1, "px-3", "py-2", "text-sm", "rounded-lg", "border", "transition-all", "duration-200", "cursor-pointer", "focus:ring-2", "focus:ring-blue-500", "focus:outline-none", 3, "ngModelChange", "ngModel", "ngClass"], [1, "space-y-6", 3, "animate-content-change", "transition-opacity-slow"], ["animationDelay", "0.65s", 3, "viewMode"], [1, "w-4", "h-4", "border-2", "border-purple-500/30", "border-t-purple-500", "rounded-full", "animate-spin"], [1, "space-y-3"], [1, "flex", "items-center", "justify-between", "p-3", "rounded-lg", 3, "ngClass"], [3, "breakdown", "charts", "isLightMode", "isCompactMode", "currencySymbol"], ["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"], ["id", "section-competitive", 1, "relative"], [1, "flex", "items-center", "justify-between", "mb-6", "sm:mb-8", "animate-fade-in", 2, "animation-delay", "0.9s"], ["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"], [1, "hidden", "sm:block", "relative"], ["animationDelay", "0.85s", 3, "viewMode"], [1, "w-4", "h-4", "border-2", "border-indigo-500/30", "border-t-indigo-500", "rounded-full", "animate-spin"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4", "mt-6"]], template: function SymphiqFunnelAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
49437
+ } }, inputs: { requestedByUser: [1, "requestedByUser"], viewMode: [1, "viewMode"], funnelAnalysis: [1, "funnelAnalysis"], businessProfile: [1, "businessProfile"], embedded: [1, "embedded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", markAsReviewedClick: "markAsReviewedClick" }, decls: 28, vars: 57, consts: [["dashboardContainer", ""], [1, "bg-transparent"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [3, "searchClick", "viewModeClick", "title", "subtitle", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate", "showControls", "hasCondensedLeftContent"], ["expandedControls", ""], [1, "flex", "items-center", "gap-2", "sm:gap-3", "whitespace-nowrap"], ["condensedLeftContent", ""], [1, "hidden", "lg:flex", "items-center", "gap-3", "px-4", "py-1.5", "rounded-lg", 3, "ngClass"], ["condensedControls", ""], [1, "sticky", "top-[var(--header-height)]", "z-40", "border-b", "backdrop-blur-md", "animate-slide-up-fade", 3, "ngClass"], [3, "sections", "viewMode", "embedded", "scrollElement"], [1, "fixed", "right-6", "top-1/2", "-translate-y-1/2", "z-40", "hidden", "xl:flex", "flex-col", "gap-4"], [1, "flex", "items-center", "justify-center", "min-h-[60vh]"], [1, "max-w-7xl", "mx-auto", "px-6", "sm:px-8", 3, "pb-32"], [3, "isLightMode", "viewMode", "allMetrics", "allInsights", "allCharts", "currencySymbol", "businessProfile"], [3, "isLightMode", "allMetrics"], [3, "isLightMode"], [3, "resultSelected", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode", "isLoading"], [3, "expandedChange", "scrollToTop", "toggleView", "isLightMode", "isCompactMode", "isExpanded"], [3, "navigate", "isLightMode", "sections", "activeSection"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed", "isLoading"], [1, "text-xs", "sm:text-sm", "font-medium"], [3, "click", "mousedown", "pointerdown"], [1, "px-3", "sm:px-4", "py-1.5", "rounded-lg", "text-xs", "sm:text-sm", "font-medium", "focus:outline-none", "focus:ring-2", "focus:ring-blue-500", "focus:border-transparent", "transition-colors", "duration-200", "cursor-pointer", 3, "ngModelChange", "ngModel"], [3, "value"], [1, "text-xs", "font-medium"], [1, "text-sm", "font-bold"], [1, "text-xs", "font-semibold", 3, "ngClass"], [1, "px-3", "py-1.5", "rounded-lg", "text-xs", "font-medium", "focus:outline-none", "focus:ring-2", "focus:ring-blue-500", "focus:border-transparent", "transition-colors", "duration-200", "cursor-pointer", 3, "ngModelChange", "ngModel"], [1, "max-w-7xl", "mx-auto", "px-6", "sm:px-8", "py-3"], [1, "flex", "items-center", "justify-between", "gap-4"], [1, "flex", "items-center", "gap-3", "flex-1", "min-w-0"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"], [1, "flex", "items-center", "gap-2", "flex-1", "min-w-0"], [1, "text-sm", "font-medium", 3, "ngClass"], [1, "text-sm", "font-semibold", "truncate", 3, "ngClass"], [1, "px-2", "py-0.5", "rounded", "text-xs", "font-medium", "uppercase", "border", "flex-shrink-0", 3, "ngClass"], ["title", "Clear search", 1, "p-2", "rounded-lg", "transition-colors", "flex-shrink-0", 3, "click", "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", "M6 18L18 6M6 6l12 12"], [1, "w-3", "h-3", "rounded-full", "transition-all", "duration-200", "hover:scale-150", "active:scale-100", "cursor-pointer", 3, "libSymphiqTooltip", "tooltipPosition", "ngClass"], [1, "w-3", "h-3", "rounded-full", "transition-all", "duration-200", "hover:scale-150", "active:scale-100", "cursor-pointer", 3, "click", "libSymphiqTooltip", "tooltipPosition", "ngClass"], ["size", "large", 3, "viewMode"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "itemStatus", "currentStatus", "confettiIntensity", "title", "subtitle"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "max-w-7xl", "mx-auto", "px-6", "sm:px-8"], [1, "pt-8", "sm:pt-12", "pb-16", "sm:pb-24"], [1, "mb-8"], [3, "viewMode", "isOnboarded", "analysisDate"], ["id", "section-insights", 1, "mb-8"], [3, "viewMode"], ["slot", "overall-performance"], [1, "p-6"], ["slot", "performance-metrics"], [1, "p-6", "space-y-8"], ["slot", "performance-breakdowns"], ["slot", "competitive-intelligence"], [1, "flex", "items-center", "justify-between", "mb-6"], [1, "flex", "items-center", "gap-3"], [1, "pl-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"], [1, "text-xl", "sm:text-2xl", "font-bold"], [1, "text-xs", "sm:text-sm"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "gap-6"], [3, "insight", "allMetrics", "charts", "allCharts", "allBusinessInsights", "isLightMode", "viewMode", "isCompactMode", "isLoading"], [3, "width", "height", "isLightMode"], [3, "assessment", "revenueMetric", "charts", "metrics", "isLightMode", "isLoading", "isCompactMode", "isChartsLoading", "strengths", "weaknesses", "currencySymbol"], [3, "scrollToSection", "assessment", "revenueMetric", "charts", "metrics", "isLightMode", "isLoading", "isCompactMode", "isChartsLoading", "strengths", "weaknesses", "currencySymbol"], [1, "w-full"], [3, "metric", "insights", "charts", "allCharts", "analysis", "isLightMode", "viewMode", "isCompactMode", "currencySymbol"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-3", "gap-6", "mt-4"], [3, "breakdown", "charts", "isLightMode", "isLoading", "isCompactMode", "currencySymbol"], [3, "metrics", "allCharts", "isLightMode", "isCompactMode", "competitiveBenchmark", "currencySymbol"], ["id", "section-overall", 1, "animate-fade-in-up", "mb-20", "sm:mb-28", 2, "animation-delay", "0.1s"], [1, "rounded-xl", "border", "p-6", "sm:p-8", "animate-pulse", 3, "ngClass"], [1, "space-y-6"], [1, "flex-1", "space-y-2"], [1, "space-y-2"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "gap-4", "mt-6"], ["animationDelay", "0.15s", 3, "viewMode"], ["id", "section-insights", 1, "relative"], [1, "absolute", "inset-0", "-mx-6", "sm:-mx-8", "-mt-8", "rounded-3xl", "opacity-30", "backdrop-blur-sm", 2, "mask-image", "radial-gradient(ellipse at center, black 0%, transparent 70%)", 3, "ngClass"], [1, "relative"], [1, "flex", "items-center", "justify-between", "mb-6", "sm:mb-8", "animate-fade-in", 2, "animation-delay", "0.2s"], [1, "masonry-grid"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-3", "gap-4"], [1, "rounded-xl", "border", "p-6", "animate-pulse", "min-h-[280px]", 3, "ngClass"], [1, "space-y-4"], [1, "flex", "items-center", "gap-3", "mb-4"], [1, "mt-6", "space-y-2"], [1, "flex", "gap-2", "mt-4"], [1, "animate-fade-in-up", 3, "class", "animation-delay", "libSymphiqSearchHighlight", "highlightId"], [1, "animate-fade-in-up", 3, "libSymphiqSearchHighlight", "highlightId"], [3, "insight", "allMetrics", "charts", "allCharts", "allBusinessInsights", "isLightMode", "viewMode", "isCompactMode"], [1, "animate-fade-in-up", 3, "animation-delay", "libSymphiqSearchHighlight", "highlightId"], [1, "relative", "mb-14", "sm:mb-24", "mt-24", "sm:mt-32", "animate-fade-in", 2, "animation-delay", "0.35s"], ["id", "section-metrics", 1, "relative"], [1, "absolute", "inset-0", "-mx-6", "sm:-mx-8", "-mt-8", "rounded-3xl", "opacity-30", "backdrop-blur-sm", 2, "mask-image", "radial-gradient(ellipse at top right, black 0%, transparent 70%)", 3, "ngClass"], [1, "flex", "flex-col", "gap-4", "mb-6", "sm:mb-8", "animate-fade-in", 2, "animation-delay", "0.4s"], [1, "flex", "items-center", "justify-between"], ["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, "hidden", "sm:flex", "gap-2", "sm:gap-3", "items-center", "relative"], [1, "absolute", "-right-2", "top-1/2", "-translate-y-1/2", "z-10"], [1, "px-3", "sm:px-4", "py-2", "rounded-lg", "text-xs", "sm:text-sm", "font-medium", "focus:outline-none", "focus:ring-2", "focus:ring-blue-500", "focus:border-transparent", "transition-all", "duration-200", "cursor-pointer", 3, "ngModelChange", "ngModel"], [1, "px-3", "sm:px-4", "py-2", "rounded-lg", "text-xs", "sm:text-sm", "font-medium", "focus:outline-none", "focus:ring-2", "focus:ring-blue-500", "transition-all", "flex", "items-center", "gap-2", "cursor-pointer", "hover:scale-105", "active:scale-95", 3, "click", "title"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M3 4h13M3 8h9m-9 4h9m5-4v12m0 0l-4-4m4 4l4-4"], [1, "sm:hidden", "-mx-6", "px-6"], [1, "flex", "gap-2", "overflow-x-auto", "pb-2", "snap-x", "snap-mandatory", "scrollbar-hide"], [1, "space-y-8", "sm:space-y-10"], [1, "space-y-8", "sm:space-y-10", 3, "animate-content-change", "transition-opacity-slow"], ["aria-hidden", "true", 1, "absolute", "inset-0", "flex", "items-center"], [1, "w-full", "h-px", "bg-gradient-to-r", 3, "ngClass"], [1, "relative", "flex", "justify-center"], [1, "px-4", "py-2", "rounded-full", 3, "ngClass"], ["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", "M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z"], [1, "w-4", "h-4", "border-2", "border-blue-500/30", "border-t-blue-500", "rounded-full", "animate-spin"], ["disabled", "", 1, "font-semibold", 3, "value"], [1, "px-4", "py-2", "rounded-full", "text-xs", "font-medium", "whitespace-nowrap", "transition-all", "duration-200", "flex-shrink-0", "snap-start", "active:scale-95", 3, "ngClass", "opacity-70"], [1, "px-4", "py-2", "rounded-full", "text-xs", "font-medium", "whitespace-nowrap", "transition-all", "duration-200", "flex-shrink-0", "snap-start", "active:scale-95", 3, "click", "ngClass"], [1, "rounded-xl", "border", "p-6", "animate-pulse", 3, "ngClass"], [1, "flex", "items-center", "justify-between", "mb-4"], [1, "grid", "grid-cols-2", "md:grid-cols-4", "gap-4", "mt-6"], [1, "rounded-xl", "p-12", "border", "text-center", "animate-fade-in", 3, "ngClass"], [1, "w-full", "animate-fade-in-up", 3, "libSymphiqSearchHighlight", "highlightId"], [1, "bento-grid", "mt-4"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-4", "gap-3", "sm:gap-4", "mt-4"], [1, "animate-fade-in-up", 3, "class", "animation-delay"], [1, "animate-fade-in-up"], [1, "h-full", 3, "metric", "insights", "charts", "allCharts", "analysis", "isLightMode", "viewMode", "isCompactMode", "currencySymbol"], [1, "animate-fade-in-up", 3, "animation-delay"], [1, "rounded-xl", "border", "p-6", "animate-pulse", "min-h-[240px]", 3, "ngClass"], [1, "flex", "items-center", "gap-3", "mt-4"], [1, "mt-4"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-16", "h-16", "mx-auto", "mb-4", 3, "ngClass"], [1, "text-lg", "font-semibold", "mb-2", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mt-28", "sm:mt-36"], ["id", "section-breakdowns", 1, "relative"], [1, "absolute", "inset-0", "-mx-6", "sm:-mx-8", "-mt-8", "rounded-3xl", "opacity-30", "backdrop-blur-sm", 2, "mask-image", "radial-gradient(ellipse at bottom left, black 0%, transparent 70%)", 3, "ngClass"], [1, "flex", "flex-col", "sm:flex-row", "sm:items-center", "justify-between", "gap-4", "mb-6", "sm:mb-8", "animate-fade-in", 2, "animation-delay", "0.7s"], ["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 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"], [1, "relative", "inline-block", 3, "click", "mousedown", "pointerdown"], [1, "px-3", "py-2", "text-sm", "rounded-lg", "border", "transition-all", "duration-200", "cursor-pointer", "focus:ring-2", "focus:ring-blue-500", "focus:outline-none", 3, "ngModelChange", "ngModel", "ngClass"], [1, "space-y-6", 3, "animate-content-change", "transition-opacity-slow"], ["animationDelay", "0.65s", 3, "viewMode"], [1, "w-4", "h-4", "border-2", "border-purple-500/30", "border-t-purple-500", "rounded-full", "animate-spin"], [1, "space-y-3"], [1, "flex", "items-center", "justify-between", "p-3", "rounded-lg", 3, "ngClass"], [3, "breakdown", "charts", "isLightMode", "isCompactMode", "currencySymbol"], ["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"], ["id", "section-competitive", 1, "relative"], [1, "flex", "items-center", "justify-between", "mb-6", "sm:mb-8", "animate-fade-in", 2, "animation-delay", "0.9s"], ["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"], [1, "hidden", "sm:block", "relative"], ["animationDelay", "0.85s", 3, "viewMode"], [1, "w-4", "h-4", "border-2", "border-indigo-500/30", "border-t-indigo-500", "rounded-full", "animate-spin"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4", "mt-6"]], template: function SymphiqFunnelAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
49325
49438
  const _r1 = i0.ɵɵgetCurrentView();
49326
49439
  i0.ɵɵelementStart(0, "div", 1, 0);
49327
49440
  i0.ɵɵelement(2, "div", 2);
@@ -49342,7 +49455,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
49342
49455
  i0.ɵɵconditionalCreate(12, SymphiqFunnelAnalysisDashboardComponent_Conditional_12_Template, 16, 8, "div", 10);
49343
49456
  i0.ɵɵconditionalCreate(13, SymphiqFunnelAnalysisDashboardComponent_Conditional_13_Template, 1, 4, "symphiq-floating-toc", 11);
49344
49457
  i0.ɵɵconditionalCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_14_Template, 6, 5, "div", 12);
49345
- i0.ɵɵconditionalCreate(15, SymphiqFunnelAnalysisDashboardComponent_Conditional_15_Template, 2, 1, "div", 13)(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_16_Template, 2, 7)(17, SymphiqFunnelAnalysisDashboardComponent_Conditional_17_Template, 15, 11)(18, SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Template, 7, 7, "main", 14);
49458
+ i0.ɵɵconditionalCreate(15, SymphiqFunnelAnalysisDashboardComponent_Conditional_15_Template, 2, 1, "div", 13)(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_16_Template, 2, 7)(17, SymphiqFunnelAnalysisDashboardComponent_Conditional_17_Template, 15, 12)(18, SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Template, 7, 7, "main", 14);
49346
49459
  i0.ɵɵelement(19, "symphiq-funnel-analysis-modal", 15)(20, "symphiq-profile-analysis-modal", 16)(21, "symphiq-business-analysis-modal", 17)(22, "symphiq-tooltip-container");
49347
49460
  i0.ɵɵelementStart(23, "symphiq-search-bar", 18);
49348
49461
  i0.ɵɵlistener("resultSelected", function SymphiqFunnelAnalysisDashboardComponent_Template_symphiq_search_bar_resultSelected_23_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleSearchResult($event)); });
@@ -49690,6 +49803,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
49690
49803
  <symphiq-funnel-welcome-banner
49691
49804
  [viewMode]="isLightMode() ? ViewModeEnum.LIGHT : ViewModeEnum.DARK"
49692
49805
  [isOnboarded]="isOnboarded()"
49806
+ [analysisDate]="funnelAnalysis()?.selfContentCompletedDate"
49693
49807
  />
49694
49808
  </div>
49695
49809
 
@@ -50417,7 +50531,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
50417
50531
  type: HostListener,
50418
50532
  args: ['window:scroll', ['$event']]
50419
50533
  }] }); })();
50420
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqFunnelAnalysisDashboardComponent, { className: "SymphiqFunnelAnalysisDashboardComponent", filePath: "lib/components/funnel-analysis-dashboard/symphiq-funnel-analysis-dashboard.component.ts", lineNumber: 1162 }); })();
50534
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqFunnelAnalysisDashboardComponent, { className: "SymphiqFunnelAnalysisDashboardComponent", filePath: "lib/components/funnel-analysis-dashboard/symphiq-funnel-analysis-dashboard.component.ts", lineNumber: 1163 }); })();
50421
50535
 
50422
50536
  /**
50423
50537
  * Shared Theme Color Utilities
@@ -66589,24 +66703,41 @@ function WelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
66589
66703
  function WelcomeBannerComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
66590
66704
  i0.ɵɵtext(0, " Welcome to Your Business Analysis ");
66591
66705
  } }
66592
- function WelcomeBannerComponent_Conditional_50_Template(rf, ctx) { if (rf & 1) {
66706
+ function WelcomeBannerComponent_Conditional_48_Template(rf, ctx) { if (rf & 1) {
66707
+ i0.ɵɵelementStart(0, "li", 19);
66593
66708
  i0.ɵɵnamespaceSVG();
66594
- i0.ɵɵelement(0, "path", 23);
66709
+ i0.ɵɵelementStart(1, "svg", 20);
66710
+ i0.ɵɵelement(2, "path", 21);
66711
+ i0.ɵɵelementEnd();
66712
+ i0.ɵɵnamespaceHTML();
66713
+ i0.ɵɵelementStart(3, "span")(4, "strong", 11);
66714
+ i0.ɵɵtext(5, "Analysis Snapshot");
66715
+ i0.ɵɵelementEnd();
66716
+ i0.ɵɵtext(6);
66717
+ i0.ɵɵelementEnd()();
66718
+ } if (rf & 2) {
66719
+ const ctx_r0 = i0.ɵɵnextContext();
66720
+ i0.ɵɵadvance(6);
66721
+ i0.ɵɵtextInterpolate1(" \u2014 This analysis represents a snapshot of your business taken on ", ctx_r0.formattedAnalysisDate());
66595
66722
  } }
66596
66723
  function WelcomeBannerComponent_Conditional_51_Template(rf, ctx) { if (rf & 1) {
66724
+ i0.ɵɵnamespaceSVG();
66725
+ i0.ɵɵelement(0, "path", 23);
66726
+ } }
66727
+ function WelcomeBannerComponent_Conditional_52_Template(rf, ctx) { if (rf & 1) {
66597
66728
  i0.ɵɵnamespaceSVG();
66598
66729
  i0.ɵɵelement(0, "path", 24);
66599
66730
  } }
66600
- function WelcomeBannerComponent_Conditional_54_Template(rf, ctx) { if (rf & 1) {
66731
+ function WelcomeBannerComponent_Conditional_55_Template(rf, ctx) { if (rf & 1) {
66601
66732
  i0.ɵɵtext(0, " Keep Your Analysis Current ");
66602
66733
  } }
66603
- function WelcomeBannerComponent_Conditional_55_Template(rf, ctx) { if (rf & 1) {
66734
+ function WelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
66604
66735
  i0.ɵɵtext(0, " This is Just the Beginning ");
66605
66736
  } }
66606
- function WelcomeBannerComponent_Conditional_57_Template(rf, ctx) { if (rf & 1) {
66737
+ function WelcomeBannerComponent_Conditional_58_Template(rf, ctx) { if (rf & 1) {
66607
66738
  i0.ɵɵtext(0, " As you execute business goals within Symphiq, this Business Analysis serves as important qualitative context that helps our AI deliver more accurate recommendations. Update your business profile periodically and after major changes to your website, business strategy, or when you notice significant competitive shifts to ensure the most relevant insights. ");
66608
66739
  } }
66609
- function WelcomeBannerComponent_Conditional_58_Template(rf, ctx) { if (rf & 1) {
66740
+ function WelcomeBannerComponent_Conditional_59_Template(rf, ctx) { if (rf & 1) {
66610
66741
  i0.ɵɵtext(0, " Connect your Google Analytics 4 account to merge these qualitative insights with quantitative performance data. This combination unlocks dramatically more accurate recommendations and reveals specific opportunities in your conversion funnel. ");
66611
66742
  } }
66612
66743
  class WelcomeBannerComponent {
@@ -66614,6 +66745,14 @@ class WelcomeBannerComponent {
66614
66745
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
66615
66746
  this.businessName = input('your business', ...(ngDevMode ? [{ debugName: "businessName" }] : []));
66616
66747
  this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
66748
+ this.analysisDate = input(...(ngDevMode ? [undefined, { debugName: "analysisDate" }] : []));
66749
+ this.formattedAnalysisDate = computed(() => {
66750
+ const date = this.analysisDate();
66751
+ if (!date) {
66752
+ return null;
66753
+ }
66754
+ return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
66755
+ }, ...(ngDevMode ? [{ debugName: "formattedAnalysisDate" }] : []));
66617
66756
  }
66618
66757
  containerClasses() {
66619
66758
  return this.viewMode() === ViewModeEnum.DARK
@@ -66681,7 +66820,7 @@ class WelcomeBannerComponent {
66681
66820
  : 'text-slate-700';
66682
66821
  }
66683
66822
  static { this.ɵfac = function WelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WelcomeBannerComponent)(); }; }
66684
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WelcomeBannerComponent, selectors: [["symphiq-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], businessName: [1, "businessName"], isOnboarded: [1, "isOnboarded"] }, decls: 59, vars: 20, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], ["currentStepId", "business-analysis", 3, "viewMode"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function WelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
66823
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WelcomeBannerComponent, selectors: [["symphiq-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], businessName: [1, "businessName"], isOnboarded: [1, "isOnboarded"], analysisDate: [1, "analysisDate"] }, decls: 60, vars: 21, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], ["currentStepId", "business-analysis", 3, "viewMode"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function WelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
66685
66824
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
66686
66825
  i0.ɵɵnamespaceSVG();
66687
66826
  i0.ɵɵelementStart(4, "svg", 4);
@@ -66743,18 +66882,20 @@ class WelcomeBannerComponent {
66743
66882
  i0.ɵɵtext(46, "Your Journey");
66744
66883
  i0.ɵɵelementEnd();
66745
66884
  i0.ɵɵtext(47, " \u2014 Clear next steps to unlock deeper insights by connecting your GA4 data and completing your profile");
66746
- i0.ɵɵelementEnd()()()()();
66747
- i0.ɵɵelementStart(48, "div", 22);
66885
+ i0.ɵɵelementEnd()();
66886
+ i0.ɵɵconditionalCreate(48, WelcomeBannerComponent_Conditional_48_Template, 7, 1, "li", 19);
66887
+ i0.ɵɵelementEnd()()();
66888
+ i0.ɵɵelementStart(49, "div", 22);
66748
66889
  i0.ɵɵnamespaceSVG();
66749
- i0.ɵɵelementStart(49, "svg", 15);
66750
- i0.ɵɵconditionalCreate(50, WelcomeBannerComponent_Conditional_50_Template, 1, 0, ":svg:path", 23)(51, WelcomeBannerComponent_Conditional_51_Template, 1, 0, ":svg:path", 24);
66890
+ i0.ɵɵelementStart(50, "svg", 15);
66891
+ i0.ɵɵconditionalCreate(51, WelcomeBannerComponent_Conditional_51_Template, 1, 0, ":svg:path", 23)(52, WelcomeBannerComponent_Conditional_52_Template, 1, 0, ":svg:path", 24);
66751
66892
  i0.ɵɵelementEnd();
66752
66893
  i0.ɵɵnamespaceHTML();
66753
- i0.ɵɵelementStart(52, "div", 6)(53, "h3", 25);
66754
- i0.ɵɵconditionalCreate(54, WelcomeBannerComponent_Conditional_54_Template, 1, 0)(55, WelcomeBannerComponent_Conditional_55_Template, 1, 0);
66894
+ i0.ɵɵelementStart(53, "div", 6)(54, "h3", 25);
66895
+ i0.ɵɵconditionalCreate(55, WelcomeBannerComponent_Conditional_55_Template, 1, 0)(56, WelcomeBannerComponent_Conditional_56_Template, 1, 0);
66755
66896
  i0.ɵɵelementEnd();
66756
- i0.ɵɵelementStart(56, "p", 26);
66757
- i0.ɵɵconditionalCreate(57, WelcomeBannerComponent_Conditional_57_Template, 1, 0)(58, WelcomeBannerComponent_Conditional_58_Template, 1, 0);
66897
+ i0.ɵɵelementStart(57, "p", 26);
66898
+ i0.ɵɵconditionalCreate(58, WelcomeBannerComponent_Conditional_58_Template, 1, 0)(59, WelcomeBannerComponent_Conditional_59_Template, 1, 0);
66758
66899
  i0.ɵɵelementEnd()()()()()()();
66759
66900
  } if (rf & 2) {
66760
66901
  i0.ɵɵproperty("ngClass", ctx.containerClasses());
@@ -66783,19 +66924,21 @@ class WelcomeBannerComponent {
66783
66924
  i0.ɵɵadvance(2);
66784
66925
  i0.ɵɵproperty("ngClass", ctx.highlightListClasses());
66785
66926
  i0.ɵɵadvance(22);
66927
+ i0.ɵɵconditional(ctx.formattedAnalysisDate() ? 48 : -1);
66928
+ i0.ɵɵadvance();
66786
66929
  i0.ɵɵproperty("ngClass", ctx.nextStepsBoxClasses());
66787
66930
  i0.ɵɵadvance();
66788
66931
  i0.ɵɵproperty("ngClass", ctx.nextStepsIconClasses());
66789
66932
  i0.ɵɵadvance();
66790
- i0.ɵɵconditional(ctx.isOnboarded() ? 50 : 51);
66933
+ i0.ɵɵconditional(ctx.isOnboarded() ? 51 : 52);
66791
66934
  i0.ɵɵadvance(3);
66792
66935
  i0.ɵɵproperty("ngClass", ctx.nextStepsTitleClasses());
66793
66936
  i0.ɵɵadvance();
66794
- i0.ɵɵconditional(ctx.isOnboarded() ? 54 : 55);
66937
+ i0.ɵɵconditional(ctx.isOnboarded() ? 55 : 56);
66795
66938
  i0.ɵɵadvance(2);
66796
66939
  i0.ɵɵproperty("ngClass", ctx.nextStepsTextClasses());
66797
66940
  i0.ɵɵadvance();
66798
- i0.ɵɵconditional(ctx.isOnboarded() ? 57 : 58);
66941
+ i0.ɵɵconditional(ctx.isOnboarded() ? 58 : 59);
66799
66942
  } }, dependencies: [CommonModule, i1$1.NgClass, ConfidenceLevelCardComponent], encapsulation: 2, changeDetection: 0 }); }
66800
66943
  }
66801
66944
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WelcomeBannerComponent, [{
@@ -66872,6 +67015,14 @@ class WelcomeBannerComponent {
66872
67015
  </svg>
66873
67016
  <span><strong class="font-semibold">Your Journey</strong> — Clear next steps to unlock deeper insights by connecting your GA4 data and completing your profile</span>
66874
67017
  </li>
67018
+ @if (formattedAnalysisDate()) {
67019
+ <li class="flex items-start gap-2">
67020
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
67021
+ <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"></path>
67022
+ </svg>
67023
+ <span><strong class="font-semibold">Analysis Snapshot</strong> — This analysis represents a snapshot of your business taken on {{ formattedAnalysisDate() }}</span>
67024
+ </li>
67025
+ }
66875
67026
  </ul>
66876
67027
  </div>
66877
67028
  </div>
@@ -66907,8 +67058,8 @@ class WelcomeBannerComponent {
66907
67058
  </div>
66908
67059
  `
66909
67060
  }]
66910
- }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], businessName: [{ type: i0.Input, args: [{ isSignal: true, alias: "businessName", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }] }); })();
66911
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WelcomeBannerComponent, { className: "WelcomeBannerComponent", filePath: "lib/components/business-analysis-dashboard/welcome-banner.component.ts", lineNumber: 113 }); })();
67061
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], businessName: [{ type: i0.Input, args: [{ isSignal: true, alias: "businessName", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], analysisDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisDate", required: false }] }] }); })();
67062
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WelcomeBannerComponent, { className: "WelcomeBannerComponent", filePath: "lib/components/business-analysis-dashboard/welcome-banner.component.ts", lineNumber: 121 }); })();
66912
67063
 
66913
67064
  function SimplifiedRecommendationCardComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
66914
67065
  i0.ɵɵelementStart(0, "div", 6);
@@ -67702,6 +67853,8 @@ class CollapsibleSectionGroupComponent {
67702
67853
  this.sections = input([], ...(ngDevMode ? [{ debugName: "sections" }] : []));
67703
67854
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
67704
67855
  this.storageKey = input('collapsible-section-group', ...(ngDevMode ? [{ debugName: "storageKey" }] : []));
67856
+ this.router = inject(Router);
67857
+ this.routerSubscription = null;
67705
67858
  this.expandedSections = signal([], ...(ngDevMode ? [{ debugName: "expandedSections" }] : []));
67706
67859
  }
67707
67860
  ngOnInit() {
@@ -67712,6 +67865,14 @@ class CollapsibleSectionGroupComponent {
67712
67865
  else {
67713
67866
  this.expandedSections.set(new Array(this.sections().length).fill(false));
67714
67867
  }
67868
+ this.routerSubscription = this.router.events
67869
+ .pipe(filter(event => event instanceof NavigationStart))
67870
+ .subscribe(() => {
67871
+ this.clearExpandedState();
67872
+ });
67873
+ }
67874
+ ngOnDestroy() {
67875
+ this.routerSubscription?.unsubscribe();
67715
67876
  }
67716
67877
  toggleSection(index) {
67717
67878
  const willBeExpanded = !this.expandedSections()[index];
@@ -67750,6 +67911,13 @@ class CollapsibleSectionGroupComponent {
67750
67911
  }
67751
67912
  return null;
67752
67913
  }
67914
+ clearExpandedState() {
67915
+ try {
67916
+ localStorage.removeItem(this.storageKey());
67917
+ }
67918
+ catch {
67919
+ }
67920
+ }
67753
67921
  getSectionItemCount(section) {
67754
67922
  if (!section?.subsections)
67755
67923
  return 0;
@@ -68010,7 +68178,7 @@ class CollapsibleSectionGroupComponent {
68010
68178
  `
68011
68179
  }]
68012
68180
  }], null, { sections: [{ type: i0.Input, args: [{ isSignal: true, alias: "sections", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], storageKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "storageKey", required: false }] }] }); })();
68013
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleSectionGroupComponent, { className: "CollapsibleSectionGroupComponent", filePath: "lib/components/business-analysis-dashboard/collapsible-section-group.component.ts", lineNumber: 100 }); })();
68181
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleSectionGroupComponent, { className: "CollapsibleSectionGroupComponent", filePath: "lib/components/business-analysis-dashboard/collapsible-section-group.component.ts", lineNumber: 102 }); })();
68014
68182
 
68015
68183
  const _c0$w = () => [];
68016
68184
  function SymphiqBusinessAnalysisDashboardComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
@@ -68065,10 +68233,11 @@ function SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Conditional_0_T
68065
68233
  i0.ɵɵelementEnd()();
68066
68234
  } if (rf & 2) {
68067
68235
  let tmp_4_0;
68236
+ let tmp_6_0;
68068
68237
  const ctx_r0 = i0.ɵɵnextContext(2);
68069
68238
  i0.ɵɵconditional(!ctx_r0.isOnboarded() ? 0 : -1);
68070
68239
  i0.ɵɵadvance(3);
68071
- i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("businessName", ((tmp_4_0 = ctx_r0.currentProfile()) == null ? null : tmp_4_0.profileStructured == null ? null : tmp_4_0.profileStructured.businessName) || "your business")("isOnboarded", ctx_r0.isOnboarded());
68240
+ i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("businessName", ((tmp_4_0 = ctx_r0.currentProfile()) == null ? null : tmp_4_0.profileStructured == null ? null : tmp_4_0.profileStructured.businessName) || "your business")("isOnboarded", ctx_r0.isOnboarded())("analysisDate", (tmp_6_0 = ctx_r0.profile()) == null ? null : tmp_6_0.selfContentCompletedDate);
68072
68241
  i0.ɵɵadvance(2);
68073
68242
  i0.ɵɵproperty("recommendations", ctx_r0.recommendationItems())("viewMode", ctx_r0.viewMode());
68074
68243
  i0.ɵɵadvance(2);
@@ -68103,7 +68272,7 @@ function SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Conditional_1_T
68103
68272
  i0.ɵɵrepeater(ctx_r0.sections());
68104
68273
  } }
68105
68274
  function SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
68106
- i0.ɵɵconditionalCreate(0, SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Conditional_0_Template, 8, 8)(1, SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Conditional_1_Template, 2, 0);
68275
+ i0.ɵɵconditionalCreate(0, SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Conditional_0_Template, 8, 9)(1, SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Conditional_1_Template, 2, 0);
68107
68276
  } if (rf & 2) {
68108
68277
  const ctx_r0 = i0.ɵɵnextContext();
68109
68278
  i0.ɵɵconditional(ctx_r0.isSimplifiedView() ? 0 : 1);
@@ -68645,7 +68814,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
68645
68814
  static { this.ɵfac = function SymphiqBusinessAnalysisDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqBusinessAnalysisDashboardComponent)(); }; }
68646
68815
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqBusinessAnalysisDashboardComponent, selectors: [["symphiq-business-analysis-dashboard"]], hostBindings: function SymphiqBusinessAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
68647
68816
  i0.ɵɵlistener("scroll", function SymphiqBusinessAnalysisDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow)("keydown", function SymphiqBusinessAnalysisDashboardComponent_keydown_HostBindingHandler($event) { return ctx.handleKeyDown($event); }, i0.ɵɵresolveDocument);
68648
- } }, inputs: { embedded: [1, "embedded"], profile: [1, "profile"], parentHeaderOffset: [1, "parentHeaderOffset"], requestedByUser: [1, "requestedByUser"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", markAsReviewedClick: "markAsReviewedClick" }, decls: 18, vars: 41, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "viewMode", "viewModeLabel", "currentSection", "currentSubsection", "sectionFading", "subsectionFading", "showControls"], [1, "relative"], [1, "flex", "items-center", "justify-center", "min-h-[60vh]"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "viewMode", "embedded"], [3, "viewInContextRequested", "isLightMode"], [3, "searchChange", "resultSelected", "close", "isLightMode", "isOpen", "searchQuery", "results", "hasResults", "selectedIndex", "placeholder"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode", "isLoading"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed", "isLoading"], ["size", "large", 3, "viewMode"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "itemStatus", "currentStatus", "confettiIntensity", "title", "subtitle"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "mb-8"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMoreClick", "recommendations", "viewMode"], [3, "sections", "viewMode"], [3, "section", "viewMode", "forceExpanded"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8"], [3, "viewMode", "subsections"]], template: function SymphiqBusinessAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
68817
+ } }, inputs: { embedded: [1, "embedded"], profile: [1, "profile"], parentHeaderOffset: [1, "parentHeaderOffset"], requestedByUser: [1, "requestedByUser"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", markAsReviewedClick: "markAsReviewedClick" }, decls: 18, vars: 41, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "viewMode", "viewModeLabel", "currentSection", "currentSubsection", "sectionFading", "subsectionFading", "showControls"], [1, "relative"], [1, "flex", "items-center", "justify-center", "min-h-[60vh]"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "viewMode", "embedded"], [3, "viewInContextRequested", "isLightMode"], [3, "searchChange", "resultSelected", "close", "isLightMode", "isOpen", "searchQuery", "results", "hasResults", "selectedIndex", "placeholder"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode", "isLoading"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed", "isLoading"], ["size", "large", 3, "viewMode"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "itemStatus", "currentStatus", "confettiIntensity", "title", "subtitle"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "mb-8"], [3, "viewMode", "businessName", "isOnboarded", "analysisDate"], [3, "viewMoreClick", "recommendations", "viewMode"], [3, "sections", "viewMode"], [3, "section", "viewMode", "forceExpanded"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8"], [3, "viewMode", "subsections"]], template: function SymphiqBusinessAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
68649
68818
  i0.ɵɵelementStart(0, "div", 0)(1, "div");
68650
68819
  i0.ɵɵelement(2, "div", 1);
68651
68820
  i0.ɵɵelementEnd();
@@ -68791,6 +68960,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
68791
68960
  [viewMode]="viewMode()"
68792
68961
  [businessName]="currentProfile()?.profileStructured?.businessName || 'your business'"
68793
68962
  [isOnboarded]="isOnboarded()"
68963
+ [analysisDate]="profile()?.selfContentCompletedDate"
68794
68964
  />
68795
68965
  </div>
68796
68966
 
@@ -68897,7 +69067,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
68897
69067
  type: HostListener,
68898
69068
  args: ['document:keydown', ['$event']]
68899
69069
  }] }); })();
68900
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 268 }); })();
69070
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 269 }); })();
68901
69071
 
68902
69072
  class GradeBadgeComponent {
68903
69073
  constructor() {
@@ -69023,24 +69193,41 @@ function ShopWelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (rf & 1
69023
69193
  function ShopWelcomeBannerComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
69024
69194
  i0.ɵɵtext(0, " Welcome to Your Shop Analysis ");
69025
69195
  } }
69026
- function ShopWelcomeBannerComponent_Conditional_50_Template(rf, ctx) { if (rf & 1) {
69196
+ function ShopWelcomeBannerComponent_Conditional_48_Template(rf, ctx) { if (rf & 1) {
69197
+ i0.ɵɵelementStart(0, "li", 19);
69027
69198
  i0.ɵɵnamespaceSVG();
69028
- i0.ɵɵelement(0, "path", 23);
69199
+ i0.ɵɵelementStart(1, "svg", 20);
69200
+ i0.ɵɵelement(2, "path", 21);
69201
+ i0.ɵɵelementEnd();
69202
+ i0.ɵɵnamespaceHTML();
69203
+ i0.ɵɵelementStart(3, "span")(4, "strong", 11);
69204
+ i0.ɵɵtext(5, "Analysis Snapshot");
69205
+ i0.ɵɵelementEnd();
69206
+ i0.ɵɵtext(6);
69207
+ i0.ɵɵelementEnd()();
69208
+ } if (rf & 2) {
69209
+ const ctx_r0 = i0.ɵɵnextContext();
69210
+ i0.ɵɵadvance(6);
69211
+ i0.ɵɵtextInterpolate1(" \u2014 This analysis represents a snapshot of your business taken on ", ctx_r0.formattedAnalysisDate());
69029
69212
  } }
69030
69213
  function ShopWelcomeBannerComponent_Conditional_51_Template(rf, ctx) { if (rf & 1) {
69214
+ i0.ɵɵnamespaceSVG();
69215
+ i0.ɵɵelement(0, "path", 23);
69216
+ } }
69217
+ function ShopWelcomeBannerComponent_Conditional_52_Template(rf, ctx) { if (rf & 1) {
69031
69218
  i0.ɵɵnamespaceSVG();
69032
69219
  i0.ɵɵelement(0, "path", 24);
69033
69220
  } }
69034
- function ShopWelcomeBannerComponent_Conditional_54_Template(rf, ctx) { if (rf & 1) {
69221
+ function ShopWelcomeBannerComponent_Conditional_55_Template(rf, ctx) { if (rf & 1) {
69035
69222
  i0.ɵɵtext(0, " Keep Your Shop Profile Current ");
69036
69223
  } }
69037
- function ShopWelcomeBannerComponent_Conditional_55_Template(rf, ctx) { if (rf & 1) {
69224
+ function ShopWelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
69038
69225
  i0.ɵɵtext(0, " Continue Your Journey ");
69039
69226
  } }
69040
- function ShopWelcomeBannerComponent_Conditional_57_Template(rf, ctx) { if (rf & 1) {
69227
+ function ShopWelcomeBannerComponent_Conditional_58_Template(rf, ctx) { if (rf & 1) {
69041
69228
  i0.ɵɵtext(0, " As you implement improvements, adopt new tools, or change your operational processes, update your Shop Analysis to keep recommendations aligned with your current capabilities. This ensures Symphiq continues to suggest tactics you can actually execute with your existing team and infrastructure. ");
69042
69229
  } }
69043
- function ShopWelcomeBannerComponent_Conditional_58_Template(rf, ctx) { if (rf & 1) {
69230
+ function ShopWelcomeBannerComponent_Conditional_59_Template(rf, ctx) { if (rf & 1) {
69044
69231
  i0.ɵɵtext(0, " The next steps\u2014Focus Area Analysis and Metric Analysis\u2014let you share what marketing tactics you're already using and provide context for each metric in your funnel. This final layer of knowledge ensures every recommendation Symphiq generates fits seamlessly into your current strategy while identifying the highest-leverage improvements. ");
69045
69232
  } }
69046
69233
  class ShopWelcomeBannerComponent {
@@ -69048,6 +69235,14 @@ class ShopWelcomeBannerComponent {
69048
69235
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
69049
69236
  this.businessName = input('your shop', ...(ngDevMode ? [{ debugName: "businessName" }] : []));
69050
69237
  this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
69238
+ this.analysisDate = input(...(ngDevMode ? [undefined, { debugName: "analysisDate" }] : []));
69239
+ this.formattedAnalysisDate = computed(() => {
69240
+ const date = this.analysisDate();
69241
+ if (!date) {
69242
+ return null;
69243
+ }
69244
+ return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
69245
+ }, ...(ngDevMode ? [{ debugName: "formattedAnalysisDate" }] : []));
69051
69246
  }
69052
69247
  containerClasses() {
69053
69248
  return this.viewMode() === ViewModeEnum.DARK
@@ -69115,7 +69310,7 @@ class ShopWelcomeBannerComponent {
69115
69310
  : 'text-slate-700';
69116
69311
  }
69117
69312
  static { this.ɵfac = function ShopWelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ShopWelcomeBannerComponent)(); }; }
69118
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShopWelcomeBannerComponent, selectors: [["symphiq-shop-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], businessName: [1, "businessName"], isOnboarded: [1, "isOnboarded"] }, decls: 59, vars: 20, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], ["currentStepId", "shop-analysis", 3, "viewMode"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function ShopWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
69313
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShopWelcomeBannerComponent, selectors: [["symphiq-shop-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], businessName: [1, "businessName"], isOnboarded: [1, "isOnboarded"], analysisDate: [1, "analysisDate"] }, decls: 60, vars: 21, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], ["currentStepId", "shop-analysis", 3, "viewMode"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function ShopWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
69119
69314
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
69120
69315
  i0.ɵɵnamespaceSVG();
69121
69316
  i0.ɵɵelementStart(4, "svg", 4);
@@ -69177,18 +69372,20 @@ class ShopWelcomeBannerComponent {
69177
69372
  i0.ɵɵtext(46, "Your Journey");
69178
69373
  i0.ɵɵelementEnd();
69179
69374
  i0.ɵɵtext(47, " \u2014 Next steps to add marketing and metric context for comprehensive, execution-ready recommendations");
69180
- i0.ɵɵelementEnd()()()()();
69181
- i0.ɵɵelementStart(48, "div", 22);
69375
+ i0.ɵɵelementEnd()();
69376
+ i0.ɵɵconditionalCreate(48, ShopWelcomeBannerComponent_Conditional_48_Template, 7, 1, "li", 19);
69377
+ i0.ɵɵelementEnd()()();
69378
+ i0.ɵɵelementStart(49, "div", 22);
69182
69379
  i0.ɵɵnamespaceSVG();
69183
- i0.ɵɵelementStart(49, "svg", 15);
69184
- i0.ɵɵconditionalCreate(50, ShopWelcomeBannerComponent_Conditional_50_Template, 1, 0, ":svg:path", 23)(51, ShopWelcomeBannerComponent_Conditional_51_Template, 1, 0, ":svg:path", 24);
69380
+ i0.ɵɵelementStart(50, "svg", 15);
69381
+ i0.ɵɵconditionalCreate(51, ShopWelcomeBannerComponent_Conditional_51_Template, 1, 0, ":svg:path", 23)(52, ShopWelcomeBannerComponent_Conditional_52_Template, 1, 0, ":svg:path", 24);
69185
69382
  i0.ɵɵelementEnd();
69186
69383
  i0.ɵɵnamespaceHTML();
69187
- i0.ɵɵelementStart(52, "div", 6)(53, "h3", 25);
69188
- i0.ɵɵconditionalCreate(54, ShopWelcomeBannerComponent_Conditional_54_Template, 1, 0)(55, ShopWelcomeBannerComponent_Conditional_55_Template, 1, 0);
69384
+ i0.ɵɵelementStart(53, "div", 6)(54, "h3", 25);
69385
+ i0.ɵɵconditionalCreate(55, ShopWelcomeBannerComponent_Conditional_55_Template, 1, 0)(56, ShopWelcomeBannerComponent_Conditional_56_Template, 1, 0);
69189
69386
  i0.ɵɵelementEnd();
69190
- i0.ɵɵelementStart(56, "p", 26);
69191
- i0.ɵɵconditionalCreate(57, ShopWelcomeBannerComponent_Conditional_57_Template, 1, 0)(58, ShopWelcomeBannerComponent_Conditional_58_Template, 1, 0);
69387
+ i0.ɵɵelementStart(57, "p", 26);
69388
+ i0.ɵɵconditionalCreate(58, ShopWelcomeBannerComponent_Conditional_58_Template, 1, 0)(59, ShopWelcomeBannerComponent_Conditional_59_Template, 1, 0);
69192
69389
  i0.ɵɵelementEnd()()()()()()();
69193
69390
  } if (rf & 2) {
69194
69391
  i0.ɵɵproperty("ngClass", ctx.containerClasses());
@@ -69217,19 +69414,21 @@ class ShopWelcomeBannerComponent {
69217
69414
  i0.ɵɵadvance(2);
69218
69415
  i0.ɵɵproperty("ngClass", ctx.highlightListClasses());
69219
69416
  i0.ɵɵadvance(22);
69417
+ i0.ɵɵconditional(ctx.formattedAnalysisDate() ? 48 : -1);
69418
+ i0.ɵɵadvance();
69220
69419
  i0.ɵɵproperty("ngClass", ctx.nextStepsBoxClasses());
69221
69420
  i0.ɵɵadvance();
69222
69421
  i0.ɵɵproperty("ngClass", ctx.nextStepsIconClasses());
69223
69422
  i0.ɵɵadvance();
69224
- i0.ɵɵconditional(ctx.isOnboarded() ? 50 : 51);
69423
+ i0.ɵɵconditional(ctx.isOnboarded() ? 51 : 52);
69225
69424
  i0.ɵɵadvance(3);
69226
69425
  i0.ɵɵproperty("ngClass", ctx.nextStepsTitleClasses());
69227
69426
  i0.ɵɵadvance();
69228
- i0.ɵɵconditional(ctx.isOnboarded() ? 54 : 55);
69427
+ i0.ɵɵconditional(ctx.isOnboarded() ? 55 : 56);
69229
69428
  i0.ɵɵadvance(2);
69230
69429
  i0.ɵɵproperty("ngClass", ctx.nextStepsTextClasses());
69231
69430
  i0.ɵɵadvance();
69232
- i0.ɵɵconditional(ctx.isOnboarded() ? 57 : 58);
69431
+ i0.ɵɵconditional(ctx.isOnboarded() ? 58 : 59);
69233
69432
  } }, dependencies: [CommonModule, i1$1.NgClass, ConfidenceLevelCardComponent], encapsulation: 2, changeDetection: 0 }); }
69234
69433
  }
69235
69434
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShopWelcomeBannerComponent, [{
@@ -69239,110 +69438,118 @@ class ShopWelcomeBannerComponent {
69239
69438
  standalone: true,
69240
69439
  imports: [CommonModule, ConfidenceLevelCardComponent],
69241
69440
  changeDetection: ChangeDetectionStrategy.OnPush,
69242
- template: `
69243
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
69244
- <div [ngClass]="contentClasses()" class="px-8 py-8">
69245
- <div class="flex items-start gap-6">
69246
- <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
69247
- <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
69248
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
69249
- </svg>
69250
- </div>
69251
-
69252
- <div class="flex-1">
69253
- <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
69254
- @if (isOnboarded()) {
69255
- Your Shop Analysis
69256
- } @else {
69257
- Welcome to Your Shop Analysis
69258
- }
69259
- </h2>
69260
-
69261
- <!-- Description and Confidence Card in Responsive Layout -->
69262
- <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
69263
- <!-- Description (takes 2 columns on large screens) -->
69264
- <div class="lg:col-span-2 space-y-3">
69265
- <p [ngClass]="textClasses()" class="text-base leading-relaxed">
69266
- Shop Analysis captures the operational context of how {{ businessName() }} is set up and runs day-to-day. By answering questions about your shop setup, fulfillment processes, customer engagement, and technology stack, you help Symphiq understand your current capabilities and constraints.
69267
- </p>
69268
- <p [ngClass]="textClasses()" class="text-base leading-relaxed">
69269
- <strong class="font-semibold">Why this matters:</strong> Understanding your operational reality ensures recommendations fit your actual workflows. Rather than suggesting tactics that require capabilities you don't have, Symphiq tailors advice to what you can execute today—while also identifying high-impact upgrades worth considering.
69270
- </p>
69271
- </div>
69272
-
69273
- <!-- Confidence Card (takes 1 column on large screens, full width on mobile) -->
69274
- <div class="lg:col-span-1">
69275
- <symphiq-confidence-level-card
69276
- [viewMode]="viewMode()"
69277
- currentStepId="shop-analysis"
69278
- />
69279
- </div>
69280
- </div>
69281
-
69282
- <div [ngClass]="highlightBoxClasses()" class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
69283
- <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="highlightIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
69284
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
69285
- </svg>
69286
- <div class="flex-1">
69287
- <h3 [ngClass]="highlightTitleClasses()" class="font-bold text-lg mb-2">
69288
- What You'll See Below
69289
- </h3>
69290
- <ul [ngClass]="highlightListClasses()" class="space-y-2 text-sm">
69291
- <li class="flex items-start gap-2">
69292
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
69293
- <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"></path>
69294
- </svg>
69295
- <span><strong class="font-semibold">Operational Analysis</strong> — Insights into your shop's strengths, gaps, and opportunities based on your setup and processes</span>
69296
- </li>
69297
- <li class="flex items-start gap-2">
69298
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
69299
- <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"></path>
69300
- </svg>
69301
- <span><strong class="font-semibold">Capability Recommendations</strong> — Prioritized improvements to your shop infrastructure and operational workflows</span>
69302
- </li>
69303
- <li class="flex items-start gap-2">
69304
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
69305
- <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"></path>
69306
- </svg>
69307
- <span><strong class="font-semibold">Your Journey</strong> — Next steps to add marketing and metric context for comprehensive, execution-ready recommendations</span>
69308
- </li>
69309
- </ul>
69310
- </div>
69311
- </div>
69312
-
69313
- <div [ngClass]="nextStepsBoxClasses()" class="mt-6 p-5 rounded-xl border flex items-start gap-4">
69314
- <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="nextStepsIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
69315
- @if (isOnboarded()) {
69316
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"></path>
69317
- } @else {
69318
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
69319
- }
69320
- </svg>
69321
- <div class="flex-1">
69322
- <h3 [ngClass]="nextStepsTitleClasses()" class="font-bold mb-1">
69323
- @if (isOnboarded()) {
69324
- Keep Your Shop Profile Current
69325
- } @else {
69326
- Continue Your Journey
69327
- }
69328
- </h3>
69329
- <p [ngClass]="nextStepsTextClasses()" class="text-sm leading-relaxed">
69330
- @if (isOnboarded()) {
69331
- As you implement improvements, adopt new tools, or change your operational processes, update your Shop Analysis to keep recommendations aligned with your current capabilities. This ensures Symphiq continues to suggest tactics you can actually execute with your existing team and infrastructure.
69332
- } @else {
69333
- The next steps—Focus Area Analysis and Metric Analysis—let you share what marketing tactics you're already using and provide context for each metric in your funnel. This final layer of knowledge ensures every recommendation Symphiq generates fits seamlessly into your current strategy while identifying the highest-leverage improvements.
69334
- }
69335
- </p>
69336
- </div>
69337
- </div>
69338
- </div>
69339
- </div>
69340
- </div>
69341
- </div>
69441
+ template: `
69442
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
69443
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
69444
+ <div class="flex items-start gap-6">
69445
+ <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
69446
+ <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
69447
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
69448
+ </svg>
69449
+ </div>
69450
+
69451
+ <div class="flex-1">
69452
+ <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
69453
+ @if (isOnboarded()) {
69454
+ Your Shop Analysis
69455
+ } @else {
69456
+ Welcome to Your Shop Analysis
69457
+ }
69458
+ </h2>
69459
+
69460
+ <!-- Description and Confidence Card in Responsive Layout -->
69461
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
69462
+ <!-- Description (takes 2 columns on large screens) -->
69463
+ <div class="lg:col-span-2 space-y-3">
69464
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed">
69465
+ Shop Analysis captures the operational context of how {{ businessName() }} is set up and runs day-to-day. By answering questions about your shop setup, fulfillment processes, customer engagement, and technology stack, you help Symphiq understand your current capabilities and constraints.
69466
+ </p>
69467
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed">
69468
+ <strong class="font-semibold">Why this matters:</strong> Understanding your operational reality ensures recommendations fit your actual workflows. Rather than suggesting tactics that require capabilities you don't have, Symphiq tailors advice to what you can execute today—while also identifying high-impact upgrades worth considering.
69469
+ </p>
69470
+ </div>
69471
+
69472
+ <!-- Confidence Card (takes 1 column on large screens, full width on mobile) -->
69473
+ <div class="lg:col-span-1">
69474
+ <symphiq-confidence-level-card
69475
+ [viewMode]="viewMode()"
69476
+ currentStepId="shop-analysis"
69477
+ />
69478
+ </div>
69479
+ </div>
69480
+
69481
+ <div [ngClass]="highlightBoxClasses()" class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
69482
+ <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="highlightIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
69483
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
69484
+ </svg>
69485
+ <div class="flex-1">
69486
+ <h3 [ngClass]="highlightTitleClasses()" class="font-bold text-lg mb-2">
69487
+ What You'll See Below
69488
+ </h3>
69489
+ <ul [ngClass]="highlightListClasses()" class="space-y-2 text-sm">
69490
+ <li class="flex items-start gap-2">
69491
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
69492
+ <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"></path>
69493
+ </svg>
69494
+ <span><strong class="font-semibold">Operational Analysis</strong> — Insights into your shop's strengths, gaps, and opportunities based on your setup and processes</span>
69495
+ </li>
69496
+ <li class="flex items-start gap-2">
69497
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
69498
+ <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"></path>
69499
+ </svg>
69500
+ <span><strong class="font-semibold">Capability Recommendations</strong> — Prioritized improvements to your shop infrastructure and operational workflows</span>
69501
+ </li>
69502
+ <li class="flex items-start gap-2">
69503
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
69504
+ <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"></path>
69505
+ </svg>
69506
+ <span><strong class="font-semibold">Your Journey</strong> — Next steps to add marketing and metric context for comprehensive, execution-ready recommendations</span>
69507
+ </li>
69508
+ @if (formattedAnalysisDate()) {
69509
+ <li class="flex items-start gap-2">
69510
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
69511
+ <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"></path>
69512
+ </svg>
69513
+ <span><strong class="font-semibold">Analysis Snapshot</strong> This analysis represents a snapshot of your business taken on {{ formattedAnalysisDate() }}</span>
69514
+ </li>
69515
+ }
69516
+ </ul>
69517
+ </div>
69518
+ </div>
69519
+
69520
+ <div [ngClass]="nextStepsBoxClasses()" class="mt-6 p-5 rounded-xl border flex items-start gap-4">
69521
+ <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="nextStepsIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
69522
+ @if (isOnboarded()) {
69523
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"></path>
69524
+ } @else {
69525
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
69526
+ }
69527
+ </svg>
69528
+ <div class="flex-1">
69529
+ <h3 [ngClass]="nextStepsTitleClasses()" class="font-bold mb-1">
69530
+ @if (isOnboarded()) {
69531
+ Keep Your Shop Profile Current
69532
+ } @else {
69533
+ Continue Your Journey
69534
+ }
69535
+ </h3>
69536
+ <p [ngClass]="nextStepsTextClasses()" class="text-sm leading-relaxed">
69537
+ @if (isOnboarded()) {
69538
+ As you implement improvements, adopt new tools, or change your operational processes, update your Shop Analysis to keep recommendations aligned with your current capabilities. This ensures Symphiq continues to suggest tactics you can actually execute with your existing team and infrastructure.
69539
+ } @else {
69540
+ The next steps—Focus Area Analysis and Metric Analysis—let you share what marketing tactics you're already using and provide context for each metric in your funnel. This final layer of knowledge ensures every recommendation Symphiq generates fits seamlessly into your current strategy while identifying the highest-leverage improvements.
69541
+ }
69542
+ </p>
69543
+ </div>
69544
+ </div>
69545
+ </div>
69546
+ </div>
69547
+ </div>
69548
+ </div>
69342
69549
  `
69343
69550
  }]
69344
- }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], businessName: [{ type: i0.Input, args: [{ isSignal: true, alias: "businessName", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }] }); })();
69345
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopWelcomeBannerComponent, { className: "ShopWelcomeBannerComponent", filePath: "lib/components/profile-analysis-shop-dashboard/shop-welcome-banner.component.ts", lineNumber: 113 }); })();
69551
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], businessName: [{ type: i0.Input, args: [{ isSignal: true, alias: "businessName", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], analysisDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisDate", required: false }] }] }); })();
69552
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopWelcomeBannerComponent, { className: "ShopWelcomeBannerComponent", filePath: "lib/components/profile-analysis-shop-dashboard/shop-welcome-banner.component.ts", lineNumber: 121 }); })();
69346
69553
 
69347
69554
  function MetricWelcomeBannerComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
69348
69555
  i0.ɵɵtext(0);
@@ -69356,24 +69563,41 @@ function MetricWelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (rf &
69356
69563
  const ctx_r0 = i0.ɵɵnextContext();
69357
69564
  i0.ɵɵtextInterpolate1(" Welcome to Your ", ctx_r0.metricDisplayName(), " Analysis ");
69358
69565
  } }
69359
- function MetricWelcomeBannerComponent_Conditional_48_Template(rf, ctx) { if (rf & 1) {
69566
+ function MetricWelcomeBannerComponent_Conditional_46_Template(rf, ctx) { if (rf & 1) {
69567
+ i0.ɵɵelementStart(0, "li", 15);
69360
69568
  i0.ɵɵnamespaceSVG();
69361
- i0.ɵɵelement(0, "path", 19);
69569
+ i0.ɵɵelementStart(1, "svg", 16);
69570
+ i0.ɵɵelement(2, "path", 17);
69571
+ i0.ɵɵelementEnd();
69572
+ i0.ɵɵnamespaceHTML();
69573
+ i0.ɵɵelementStart(3, "span")(4, "strong", 9);
69574
+ i0.ɵɵtext(5, "Analysis Snapshot");
69575
+ i0.ɵɵelementEnd();
69576
+ i0.ɵɵtext(6);
69577
+ i0.ɵɵelementEnd()();
69578
+ } if (rf & 2) {
69579
+ const ctx_r0 = i0.ɵɵnextContext();
69580
+ i0.ɵɵadvance(6);
69581
+ i0.ɵɵtextInterpolate1(" \u2014 This analysis represents a snapshot of your business taken on ", ctx_r0.formattedAnalysisDate());
69362
69582
  } }
69363
69583
  function MetricWelcomeBannerComponent_Conditional_49_Template(rf, ctx) { if (rf & 1) {
69584
+ i0.ɵɵnamespaceSVG();
69585
+ i0.ɵɵelement(0, "path", 19);
69586
+ } }
69587
+ function MetricWelcomeBannerComponent_Conditional_50_Template(rf, ctx) { if (rf & 1) {
69364
69588
  i0.ɵɵnamespaceSVG();
69365
69589
  i0.ɵɵelement(0, "path", 20);
69366
69590
  } }
69367
- function MetricWelcomeBannerComponent_Conditional_52_Template(rf, ctx) { if (rf & 1) {
69591
+ function MetricWelcomeBannerComponent_Conditional_53_Template(rf, ctx) { if (rf & 1) {
69368
69592
  i0.ɵɵtext(0, " Keep Your Metric Context Updated ");
69369
69593
  } }
69370
- function MetricWelcomeBannerComponent_Conditional_53_Template(rf, ctx) { if (rf & 1) {
69594
+ function MetricWelcomeBannerComponent_Conditional_54_Template(rf, ctx) { if (rf & 1) {
69371
69595
  i0.ɵɵtext(0, " Continue Your Journey ");
69372
69596
  } }
69373
- function MetricWelcomeBannerComponent_Conditional_55_Template(rf, ctx) { if (rf & 1) {
69597
+ function MetricWelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
69374
69598
  i0.ɵɵtext(0, " As your marketing tactics evolve and performance shifts, update your metric analysis to keep recommendations aligned with your current reality. Fresh context ensures Symphiq continues to provide relevant, actionable insights. ");
69375
69599
  } }
69376
- function MetricWelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
69600
+ function MetricWelcomeBannerComponent_Conditional_57_Template(rf, ctx) { if (rf & 1) {
69377
69601
  i0.ɵɵtext(0, " Complete metric analysis for all your funnel stages to unlock maximum recommendation precision. Each metric you analyze adds another layer of context, enabling Symphiq to deliver increasingly tailored and effective strategies for your unique business. ");
69378
69602
  } }
69379
69603
  class MetricWelcomeBannerComponent {
@@ -69381,7 +69605,15 @@ class MetricWelcomeBannerComponent {
69381
69605
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
69382
69606
  this.metricName = input(...(ngDevMode ? [undefined, { debugName: "metricName" }] : []));
69383
69607
  this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
69608
+ this.analysisDate = input(...(ngDevMode ? [undefined, { debugName: "analysisDate" }] : []));
69384
69609
  this.IconSourceEnum = IconSourceEnum;
69610
+ this.formattedAnalysisDate = computed(() => {
69611
+ const date = this.analysisDate();
69612
+ if (!date) {
69613
+ return null;
69614
+ }
69615
+ return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
69616
+ }, ...(ngDevMode ? [{ debugName: "formattedAnalysisDate" }] : []));
69385
69617
  this.metricDisplayName = computed(() => {
69386
69618
  if (!this.metricName())
69387
69619
  return 'Metric';
@@ -69477,7 +69709,7 @@ class MetricWelcomeBannerComponent {
69477
69709
  : 'text-slate-300';
69478
69710
  }
69479
69711
  static { this.ɵfac = function MetricWelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MetricWelcomeBannerComponent)(); }; }
69480
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MetricWelcomeBannerComponent, selectors: [["symphiq-metric-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], metricName: [1, "metricName"], isOnboarded: [1, "isOnboarded"] }, decls: 57, vars: 26, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["size", "w-8 h-8", 3, "icon"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-3", "mb-6"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function MetricWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
69712
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MetricWelcomeBannerComponent, selectors: [["symphiq-metric-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], metricName: [1, "metricName"], isOnboarded: [1, "isOnboarded"], analysisDate: [1, "analysisDate"] }, decls: 58, vars: 27, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["size", "w-8 h-8", 3, "icon"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-3", "mb-6"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function MetricWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
69481
69713
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
69482
69714
  i0.ɵɵelement(4, "symphiq-icon", 4);
69483
69715
  i0.ɵɵelementEnd();
@@ -69535,18 +69767,20 @@ class MetricWelcomeBannerComponent {
69535
69767
  i0.ɵɵtext(44, "Top Priorities and Quick Wins");
69536
69768
  i0.ɵɵelementEnd();
69537
69769
  i0.ɵɵtext(45, " \u2014 High-impact actions to improve this specific metric");
69538
- i0.ɵɵelementEnd()()()()();
69539
- i0.ɵɵelementStart(46, "div", 18);
69770
+ i0.ɵɵelementEnd()();
69771
+ i0.ɵɵconditionalCreate(46, MetricWelcomeBannerComponent_Conditional_46_Template, 7, 1, "li", 15);
69772
+ i0.ɵɵelementEnd()()();
69773
+ i0.ɵɵelementStart(47, "div", 18);
69540
69774
  i0.ɵɵnamespaceSVG();
69541
- i0.ɵɵelementStart(47, "svg", 11);
69542
- i0.ɵɵconditionalCreate(48, MetricWelcomeBannerComponent_Conditional_48_Template, 1, 0, ":svg:path", 19)(49, MetricWelcomeBannerComponent_Conditional_49_Template, 1, 0, ":svg:path", 20);
69775
+ i0.ɵɵelementStart(48, "svg", 11);
69776
+ i0.ɵɵconditionalCreate(49, MetricWelcomeBannerComponent_Conditional_49_Template, 1, 0, ":svg:path", 19)(50, MetricWelcomeBannerComponent_Conditional_50_Template, 1, 0, ":svg:path", 20);
69543
69777
  i0.ɵɵelementEnd();
69544
69778
  i0.ɵɵnamespaceHTML();
69545
- i0.ɵɵelementStart(50, "div", 5)(51, "h3", 21);
69546
- i0.ɵɵconditionalCreate(52, MetricWelcomeBannerComponent_Conditional_52_Template, 1, 0)(53, MetricWelcomeBannerComponent_Conditional_53_Template, 1, 0);
69779
+ i0.ɵɵelementStart(51, "div", 5)(52, "h3", 21);
69780
+ i0.ɵɵconditionalCreate(53, MetricWelcomeBannerComponent_Conditional_53_Template, 1, 0)(54, MetricWelcomeBannerComponent_Conditional_54_Template, 1, 0);
69547
69781
  i0.ɵɵelementEnd();
69548
- i0.ɵɵelementStart(54, "p", 22);
69549
- i0.ɵɵconditionalCreate(55, MetricWelcomeBannerComponent_Conditional_55_Template, 1, 0)(56, MetricWelcomeBannerComponent_Conditional_56_Template, 1, 0);
69782
+ i0.ɵɵelementStart(55, "p", 22);
69783
+ i0.ɵɵconditionalCreate(56, MetricWelcomeBannerComponent_Conditional_56_Template, 1, 0)(57, MetricWelcomeBannerComponent_Conditional_57_Template, 1, 0);
69550
69784
  i0.ɵɵelementEnd()()()()()()();
69551
69785
  } if (rf & 2) {
69552
69786
  i0.ɵɵproperty("ngClass", ctx.containerClasses());
@@ -69563,7 +69797,7 @@ class MetricWelcomeBannerComponent {
69563
69797
  i0.ɵɵadvance(3);
69564
69798
  i0.ɵɵproperty("ngClass", ctx.textClasses());
69565
69799
  i0.ɵɵadvance();
69566
- i0.ɵɵtextInterpolate2(" ", ctx.metricDisplayName(), " Analysis provides deep insights into this critical funnel metric. By analyzing patterns, trends, and performance drivers for ", i0.ɵɵpipeBind1(12, 22, ctx.metricDisplayName()), ", Symphiq identifies specific opportunities to improve this metric and create measurable impact on your revenue. ");
69800
+ i0.ɵɵtextInterpolate2(" ", ctx.metricDisplayName(), " Analysis provides deep insights into this critical funnel metric. By analyzing patterns, trends, and performance drivers for ", i0.ɵɵpipeBind1(12, 23, ctx.metricDisplayName()), ", Symphiq identifies specific opportunities to improve this metric and create measurable impact on your revenue. ");
69567
69801
  i0.ɵɵadvance(2);
69568
69802
  i0.ɵɵproperty("ngClass", ctx.textClasses());
69569
69803
  i0.ɵɵadvance(4);
@@ -69575,21 +69809,23 @@ class MetricWelcomeBannerComponent {
69575
69809
  i0.ɵɵadvance(2);
69576
69810
  i0.ɵɵproperty("ngClass", ctx.highlightListClasses());
69577
69811
  i0.ɵɵadvance(7);
69578
- i0.ɵɵtextInterpolate1(" \u2014 Current performance assessment and trends for ", i0.ɵɵpipeBind1(31, 24, ctx.metricDisplayName()));
69812
+ i0.ɵɵtextInterpolate1(" \u2014 Current performance assessment and trends for ", i0.ɵɵpipeBind1(31, 25, ctx.metricDisplayName()));
69579
69813
  i0.ɵɵadvance(16);
69814
+ i0.ɵɵconditional(ctx.formattedAnalysisDate() ? 46 : -1);
69815
+ i0.ɵɵadvance();
69580
69816
  i0.ɵɵproperty("ngClass", ctx.nextStepsBoxClasses());
69581
69817
  i0.ɵɵadvance();
69582
69818
  i0.ɵɵproperty("ngClass", ctx.nextStepsIconClasses());
69583
69819
  i0.ɵɵadvance();
69584
- i0.ɵɵconditional(ctx.isOnboarded() ? 48 : 49);
69820
+ i0.ɵɵconditional(ctx.isOnboarded() ? 49 : 50);
69585
69821
  i0.ɵɵadvance(3);
69586
69822
  i0.ɵɵproperty("ngClass", ctx.nextStepsTitleClasses());
69587
69823
  i0.ɵɵadvance();
69588
- i0.ɵɵconditional(ctx.isOnboarded() ? 52 : 53);
69824
+ i0.ɵɵconditional(ctx.isOnboarded() ? 53 : 54);
69589
69825
  i0.ɵɵadvance(2);
69590
69826
  i0.ɵɵproperty("ngClass", ctx.nextStepsTextClasses());
69591
69827
  i0.ɵɵadvance();
69592
- i0.ɵɵconditional(ctx.isOnboarded() ? 55 : 56);
69828
+ i0.ɵɵconditional(ctx.isOnboarded() ? 56 : 57);
69593
69829
  } }, dependencies: [CommonModule, i1$1.NgClass, SymphiqIconComponent, i1$1.LowerCasePipe], encapsulation: 2, changeDetection: 0 }); }
69594
69830
  }
69595
69831
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MetricWelcomeBannerComponent, [{
@@ -69653,6 +69889,14 @@ class MetricWelcomeBannerComponent {
69653
69889
  </svg>
69654
69890
  <span><strong class="font-semibold">Top Priorities and Quick Wins</strong> — High-impact actions to improve this specific metric</span>
69655
69891
  </li>
69892
+ @if (formattedAnalysisDate()) {
69893
+ <li class="flex items-start gap-2">
69894
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
69895
+ <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"></path>
69896
+ </svg>
69897
+ <span><strong class="font-semibold">Analysis Snapshot</strong> — This analysis represents a snapshot of your business taken on {{ formattedAnalysisDate() }}</span>
69898
+ </li>
69899
+ }
69656
69900
  </ul>
69657
69901
  </div>
69658
69902
  </div>
@@ -69688,8 +69932,8 @@ class MetricWelcomeBannerComponent {
69688
69932
  </div>
69689
69933
  `
69690
69934
  }]
69691
- }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], metricName: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricName", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }] }); })();
69692
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricWelcomeBannerComponent, { className: "MetricWelcomeBannerComponent", filePath: "lib/components/profile-analysis-shop-dashboard/metric-welcome-banner.component.ts", lineNumber: 100 }); })();
69935
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], metricName: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricName", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], analysisDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisDate", required: false }] }] }); })();
69936
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricWelcomeBannerComponent, { className: "MetricWelcomeBannerComponent", filePath: "lib/components/profile-analysis-shop-dashboard/metric-welcome-banner.component.ts", lineNumber: 108 }); })();
69693
69937
 
69694
69938
  const _c0$v = a0 => ({ name: "chevron-right", source: a0 });
69695
69939
  const _forTrack0$v = ($index, $item) => $item.id;
@@ -86259,8 +86503,10 @@ class CollapsibleAnalysisSectionGroupComponent {
86259
86503
  this.businessProfile = input(undefined, ...(ngDevMode ? [{ debugName: "businessProfile" }] : []));
86260
86504
  this.storageKey = input('collapsible-analysis-section-group', ...(ngDevMode ? [{ debugName: "storageKey" }] : []));
86261
86505
  this.viewReportClick = output();
86506
+ this.router = inject(Router);
86262
86507
  this.modalService = inject(ModalService);
86263
86508
  this.profileContextService = inject(ProfileContextService);
86509
+ this.routerSubscription = null;
86264
86510
  this.expandedSections = signal([], ...(ngDevMode ? [{ debugName: "expandedSections" }] : []));
86265
86511
  }
86266
86512
  ngOnInit() {
@@ -86271,6 +86517,14 @@ class CollapsibleAnalysisSectionGroupComponent {
86271
86517
  else {
86272
86518
  this.expandedSections.set(new Array(this.sections().length).fill(false));
86273
86519
  }
86520
+ this.routerSubscription = this.router.events
86521
+ .pipe(filter(event => event instanceof NavigationStart))
86522
+ .subscribe(() => {
86523
+ this.clearExpandedState();
86524
+ });
86525
+ }
86526
+ ngOnDestroy() {
86527
+ this.routerSubscription?.unsubscribe();
86274
86528
  }
86275
86529
  toggleSection(index) {
86276
86530
  const willBeExpanded = !this.expandedSections()[index];
@@ -86309,6 +86563,13 @@ class CollapsibleAnalysisSectionGroupComponent {
86309
86563
  }
86310
86564
  return null;
86311
86565
  }
86566
+ clearExpandedState() {
86567
+ try {
86568
+ localStorage.removeItem(this.storageKey());
86569
+ }
86570
+ catch {
86571
+ }
86572
+ }
86312
86573
  containerClasses() {
86313
86574
  return this.viewMode() === ViewModeEnum.DARK
86314
86575
  ? 'bg-slate-800/40 border-slate-700/50'
@@ -86721,7 +86982,7 @@ class CollapsibleAnalysisSectionGroupComponent {
86721
86982
  `
86722
86983
  }]
86723
86984
  }], null, { sections: [{ type: i0.Input, args: [{ isSignal: true, alias: "sections", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], executiveSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "executiveSummary", required: false }] }], focusAreaExecutiveSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaExecutiveSummary", required: false }] }], metricExecutiveSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricExecutiveSummary", required: false }] }], metricName: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricName", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", 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 }] }], businessProfile: [{ type: i0.Input, args: [{ isSignal: true, alias: "businessProfile", required: false }] }], storageKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "storageKey", required: false }] }], viewReportClick: [{ type: i0.Output, args: ["viewReportClick"] }] }); })();
86724
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleAnalysisSectionGroupComponent, { className: "CollapsibleAnalysisSectionGroupComponent", filePath: "lib/components/profile-analysis-shop-dashboard/cards/collapsible-analysis-section-group.component.ts", lineNumber: 174 }); })();
86985
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleAnalysisSectionGroupComponent, { className: "CollapsibleAnalysisSectionGroupComponent", filePath: "lib/components/profile-analysis-shop-dashboard/cards/collapsible-analysis-section-group.component.ts", lineNumber: 176 }); })();
86725
86986
 
86726
86987
  const _forTrack0$g = ($index, $item) => $item.code;
86727
86988
  function BillingCurrencySelectorCardComponent_For_15_Template(rf, ctx) { if (rf & 1) {
@@ -92910,15 +93171,17 @@ function SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_
92910
93171
  i0.ɵɵelement(0, "symphiq-shop-welcome-banner", 29);
92911
93172
  } if (rf & 2) {
92912
93173
  let tmp_3_0;
93174
+ let tmp_5_0;
92913
93175
  const ctx_r1 = i0.ɵɵnextContext(2);
92914
- i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("businessName", ((tmp_3_0 = ctx_r1.profileAnalysis()) == null ? null : tmp_3_0.profileAnalysisStructured == null ? null : tmp_3_0.profileAnalysisStructured.businessName) || "your shop")("isOnboarded", ctx_r1.isOnboarded());
93176
+ i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("businessName", ((tmp_3_0 = ctx_r1.profileAnalysis()) == null ? null : tmp_3_0.profileAnalysisStructured == null ? null : tmp_3_0.profileAnalysisStructured.businessName) || "your shop")("isOnboarded", ctx_r1.isOnboarded())("analysisDate", (tmp_5_0 = ctx_r1.profileAnalysis()) == null ? null : tmp_5_0.selfContentCompletedDate);
92915
93177
  } }
92916
93178
  function SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_2_Template(rf, ctx) { if (rf & 1) {
92917
93179
  i0.ɵɵelement(0, "symphiq-metric-welcome-banner", 30);
92918
93180
  } if (rf & 2) {
92919
93181
  let tmp_3_0;
93182
+ let tmp_5_0;
92920
93183
  const ctx_r1 = i0.ɵɵnextContext(2);
92921
- i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("metricName", (tmp_3_0 = ctx_r1.profileAnalysis()) == null ? null : tmp_3_0.profileAnalysisStructured == null ? null : tmp_3_0.profileAnalysisStructured.metricExecutiveSummary == null ? null : tmp_3_0.profileAnalysisStructured.metricExecutiveSummary.metric)("isOnboarded", ctx_r1.isOnboarded());
93184
+ i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("metricName", (tmp_3_0 = ctx_r1.profileAnalysis()) == null ? null : tmp_3_0.profileAnalysisStructured == null ? null : tmp_3_0.profileAnalysisStructured.metricExecutiveSummary == null ? null : tmp_3_0.profileAnalysisStructured.metricExecutiveSummary.metric)("isOnboarded", ctx_r1.isOnboarded())("analysisDate", (tmp_5_0 = ctx_r1.profileAnalysis()) == null ? null : tmp_5_0.selfContentCompletedDate);
92922
93185
  } }
92923
93186
  function SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_3_Template(rf, ctx) { if (rf & 1) {
92924
93187
  i0.ɵɵelementStart(0, "div", 31)(1, "div", 32);
@@ -92941,8 +93204,8 @@ function SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_
92941
93204
  } }
92942
93205
  function SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
92943
93206
  i0.ɵɵelementStart(0, "div", 28);
92944
- i0.ɵɵconditionalCreate(1, SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_1_Template, 1, 3, "symphiq-shop-welcome-banner", 29);
92945
- i0.ɵɵconditionalCreate(2, SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_2_Template, 1, 3, "symphiq-metric-welcome-banner", 30);
93207
+ i0.ɵɵconditionalCreate(1, SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_1_Template, 1, 4, "symphiq-shop-welcome-banner", 29);
93208
+ i0.ɵɵconditionalCreate(2, SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_2_Template, 1, 4, "symphiq-metric-welcome-banner", 30);
92946
93209
  i0.ɵɵelementEnd();
92947
93210
  i0.ɵɵconditionalCreate(3, SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_3_Template, 8, 4, "div", 31);
92948
93211
  } if (rf & 2) {
@@ -94589,7 +94852,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
94589
94852
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.planSelectionContainer = _t.first);
94590
94853
  } }, hostBindings: function SymphiqProfileShopAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
94591
94854
  i0.ɵɵlistener("scroll", function SymphiqProfileShopAnalysisDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
94592
- } }, inputs: { viewMode: [1, "viewMode"], requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalysis: [1, "profileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], profileShop: [1, "profileShop"], profileShopQuestions: [1, "profileShopQuestions"], profileAnswers: [1, "profileAnswers"], profileAnswerHistories: [1, "profileAnswerHistories"], itemStatusProfileShop: [1, "itemStatusProfileShop"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], planCardInfos: [1, "planCardInfos"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], users: [1, "users"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], currentUser: [1, "currentUser"], maxAccessibleStepId: [1, "maxAccessibleStepId"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", currencySelectionClick: "currencySelectionClick", editCurrencyClick: "editCurrencyClick", periodUnitChanged: "periodUnitChanged", planSelected: "planSelected", checkoutPlanClick: "checkoutPlanClick", answerShopProfileQuestions: "answerShopProfileQuestions", continueShopProfileQuestions: "continueShopProfileQuestions", profileQuestionAnswerSave: "profileQuestionAnswerSave", shopProfileAdminAnswerAction: "shopProfileAdminAnswerAction", markAsReviewedClick: "markAsReviewedClick" }, features: [i0.ɵɵNgOnChangesFeature], decls: 31, vars: 59, consts: [["shopProfileStatusCard", ""], ["planSelectionContainer", ""], [1, "relative", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate", "showControls"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "expandedRecommendationId", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode", "viewMode", "allMetrics", "allInsights", "allCharts"], [3, "isLightMode"], [3, "viewMode", "isEnabled", "isLoading"], [3, "viewMode", "totalQuestions", "answeredQuestions", "buttonConfig"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-lg", 3, "ngClass"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed", "isLoading"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "mb-12"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMode", "metricName", "isOnboarded"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "justify-center", "space-y-4"], ["size", "large", 3, "viewMode"], [1, "text-center"], [1, "text-lg", "font-semibold", "mb-1", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mb-8"], [3, "startCategoryQuestions", "answerSave", "adminAnswerAction", "viewMode", "totalQuestions", "answeredQuestions", "questions", "profileAnswers", "profileAnswerHistories", "users", "config", "groupConfig", "currentUser"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], ["title", "Generating Your Shop Profile", "subtitle", "We're analyzing your data to create shop specific questions and answers. They will appear when ready.", 3, "itemStatus", "viewMode"], [3, "goals", "viewMode"], ["subtitle", "We're analyzing your data to create your personalized analysis. It will appear when ready.", 3, "itemStatus", "viewMode", "title"], [3, "viewMoreClick", "goals", "viewMode"], [3, "viewMode", "selectedCurrency"], [3, "currencySelected", "selectionChanged", "viewMode", "isLoading", "initialCurrency"], [3, "viewMode"], [1, "mb-32"], [3, "periodUnitChanged", "planSelected", "editCurrency", "checkout", "viewMode", "selectedCurrency", "planCardInfos", "isLoading", "selectedPeriodUnit"], [3, "editCurrency", "viewMode", "selectedCurrency"], [3, "sections", "viewMode", "executiveSummary", "metricExecutiveSummary", "metricName", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "summary", "metricName", "allGoals"], [1, "space-y-8"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [1, "rounded-xl", "p-6", 3, "ngClass"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], ["type", "button", 1, "p-4", "rounded-xl", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "group", "cursor-pointer", 3, "click", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", "mb-2", 3, "ngClass"], [1, "flex", "items-center", "gap-1.5", "text-xs", "font-medium"], [3, "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-x-1", 3, "icon", "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-y-1", "animate-bounce", 3, "icon", "ngClass"], ["id", "quick-wins-section", 1, "space-y-4", "scroll-mt-24"], [1, "text-lg", "font-semibold", "mb-3", 3, "ngClass"], [1, "relative"], [1, "mb-6", "lg:float-left", "lg:mr-6", "lg:mb-4", "lg:max-w-[66%]"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "clear-both"], [3, "visual", "viewMode"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-2", "gap-6"], [1, "rounded-xl", "p-6", "transition-all", "duration-300", 3, "ngClass"], [1, "space-y-4"], [1, "flex", "items-start", "gap-3"], [1, "flex-shrink-0", "w-8", "h-8", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-bold", 3, "ngClass"], [1, "font-semibold", "leading-tight", "flex-1", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-2"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "text-sm", 3, "ngClass"], [1, "space-y-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["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, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "relatedGoalIds", "allGoals", "viewMode"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMetricDetailsClick", "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "executiveSummary", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [1, "w-full"], [3, "continueClick", "viewMode", "isEnabled", "isLoading"], [3, "continueClick", "viewMode", "totalQuestions", "answeredQuestions", "buttonConfig"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-4"], [1, "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "cursor-pointer", 3, "click", "ngClass"], [1, "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", 3, "click", "disabled", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-200"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqProfileShopAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
94855
+ } }, inputs: { viewMode: [1, "viewMode"], requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalysis: [1, "profileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], profileShop: [1, "profileShop"], profileShopQuestions: [1, "profileShopQuestions"], profileAnswers: [1, "profileAnswers"], profileAnswerHistories: [1, "profileAnswerHistories"], itemStatusProfileShop: [1, "itemStatusProfileShop"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], planCardInfos: [1, "planCardInfos"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], users: [1, "users"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], currentUser: [1, "currentUser"], maxAccessibleStepId: [1, "maxAccessibleStepId"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", currencySelectionClick: "currencySelectionClick", editCurrencyClick: "editCurrencyClick", periodUnitChanged: "periodUnitChanged", planSelected: "planSelected", checkoutPlanClick: "checkoutPlanClick", answerShopProfileQuestions: "answerShopProfileQuestions", continueShopProfileQuestions: "continueShopProfileQuestions", profileQuestionAnswerSave: "profileQuestionAnswerSave", shopProfileAdminAnswerAction: "shopProfileAdminAnswerAction", markAsReviewedClick: "markAsReviewedClick" }, features: [i0.ɵɵNgOnChangesFeature], decls: 31, vars: 59, consts: [["shopProfileStatusCard", ""], ["planSelectionContainer", ""], [1, "relative", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate", "showControls"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "expandedRecommendationId", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode", "viewMode", "allMetrics", "allInsights", "allCharts"], [3, "isLightMode"], [3, "viewMode", "isEnabled", "isLoading"], [3, "viewMode", "totalQuestions", "answeredQuestions", "buttonConfig"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-lg", 3, "ngClass"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed", "isLoading"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "mb-12"], [3, "viewMode", "businessName", "isOnboarded", "analysisDate"], [3, "viewMode", "metricName", "isOnboarded", "analysisDate"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "justify-center", "space-y-4"], ["size", "large", 3, "viewMode"], [1, "text-center"], [1, "text-lg", "font-semibold", "mb-1", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mb-8"], [3, "startCategoryQuestions", "answerSave", "adminAnswerAction", "viewMode", "totalQuestions", "answeredQuestions", "questions", "profileAnswers", "profileAnswerHistories", "users", "config", "groupConfig", "currentUser"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], ["title", "Generating Your Shop Profile", "subtitle", "We're analyzing your data to create shop specific questions and answers. They will appear when ready.", 3, "itemStatus", "viewMode"], [3, "goals", "viewMode"], ["subtitle", "We're analyzing your data to create your personalized analysis. It will appear when ready.", 3, "itemStatus", "viewMode", "title"], [3, "viewMoreClick", "goals", "viewMode"], [3, "viewMode", "selectedCurrency"], [3, "currencySelected", "selectionChanged", "viewMode", "isLoading", "initialCurrency"], [3, "viewMode"], [1, "mb-32"], [3, "periodUnitChanged", "planSelected", "editCurrency", "checkout", "viewMode", "selectedCurrency", "planCardInfos", "isLoading", "selectedPeriodUnit"], [3, "editCurrency", "viewMode", "selectedCurrency"], [3, "sections", "viewMode", "executiveSummary", "metricExecutiveSummary", "metricName", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "summary", "metricName", "allGoals"], [1, "space-y-8"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [1, "rounded-xl", "p-6", 3, "ngClass"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], ["type", "button", 1, "p-4", "rounded-xl", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "group", "cursor-pointer", 3, "click", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", "mb-2", 3, "ngClass"], [1, "flex", "items-center", "gap-1.5", "text-xs", "font-medium"], [3, "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-x-1", 3, "icon", "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-y-1", "animate-bounce", 3, "icon", "ngClass"], ["id", "quick-wins-section", 1, "space-y-4", "scroll-mt-24"], [1, "text-lg", "font-semibold", "mb-3", 3, "ngClass"], [1, "relative"], [1, "mb-6", "lg:float-left", "lg:mr-6", "lg:mb-4", "lg:max-w-[66%]"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "clear-both"], [3, "visual", "viewMode"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-2", "gap-6"], [1, "rounded-xl", "p-6", "transition-all", "duration-300", 3, "ngClass"], [1, "space-y-4"], [1, "flex", "items-start", "gap-3"], [1, "flex-shrink-0", "w-8", "h-8", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-bold", 3, "ngClass"], [1, "font-semibold", "leading-tight", "flex-1", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-2"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "text-sm", 3, "ngClass"], [1, "space-y-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["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, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "relatedGoalIds", "allGoals", "viewMode"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMetricDetailsClick", "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "executiveSummary", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [1, "w-full"], [3, "continueClick", "viewMode", "isEnabled", "isLoading"], [3, "continueClick", "viewMode", "totalQuestions", "answeredQuestions", "buttonConfig"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-4"], [1, "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "cursor-pointer", 3, "click", "ngClass"], [1, "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", 3, "click", "disabled", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-200"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqProfileShopAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
94593
94856
  i0.ɵɵelementStart(0, "div", 2);
94594
94857
  i0.ɵɵelement(1, "div", 3);
94595
94858
  i0.ɵɵelementStart(2, "div");
@@ -94766,6 +95029,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
94766
95029
  [viewMode]="viewMode()"
94767
95030
  [businessName]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'your shop'"
94768
95031
  [isOnboarded]="isOnboarded()"
95032
+ [analysisDate]="profileAnalysis()?.selfContentCompletedDate"
94769
95033
  />
94770
95034
  }
94771
95035
  @if (isMetricAnalysis()) {
@@ -94773,6 +95037,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
94773
95037
  [viewMode]="viewMode()"
94774
95038
  [metricName]="profileAnalysis()?.profileAnalysisStructured?.metricExecutiveSummary?.metric"
94775
95039
  [isOnboarded]="isOnboarded()"
95040
+ [analysisDate]="profileAnalysis()?.selfContentCompletedDate"
94776
95041
  />
94777
95042
  }
94778
95043
  </div>
@@ -95425,7 +95690,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
95425
95690
  type: HostListener,
95426
95691
  args: ['window:scroll', ['$event']]
95427
95692
  }] }); })();
95428
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileShopAnalysisDashboardComponent, { className: "SymphiqProfileShopAnalysisDashboardComponent", filePath: "lib/components/profile-analysis-shop-dashboard/symphiq-profile-shop-analysis-dashboard.component.ts", lineNumber: 835 }); })();
95693
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileShopAnalysisDashboardComponent, { className: "SymphiqProfileShopAnalysisDashboardComponent", filePath: "lib/components/profile-analysis-shop-dashboard/symphiq-profile-shop-analysis-dashboard.component.ts", lineNumber: 837 }); })();
95429
95694
 
95430
95695
  function ProfileAnalysisStatusSummaryComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
95431
95696
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 3);
@@ -96507,10 +96772,27 @@ function SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_17_Templ
96507
96772
  const ctx_r1 = i0.ɵɵnextContext();
96508
96773
  i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("profileStatusCounts", ctx_r1.focusAreaStatusCounts())("analysisStatusCounts", ctx_r1.analysisStatusCounts())("allReviewed", ctx_r1.allInterestedFocusAreasAnalysisReviewed())("hasItems", ctx_r1.interestedFocusAreaCards().length > 0)("config", ctx_r1.focusAreaStatusConfig);
96509
96774
  } }
96510
- function SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_65_Template(rf, ctx) { if (rf & 1) {
96775
+ function SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
96776
+ i0.ɵɵelementStart(0, "li", 28);
96777
+ i0.ɵɵnamespaceSVG();
96778
+ i0.ɵɵelementStart(1, "svg", 29);
96779
+ i0.ɵɵelement(2, "path", 30);
96780
+ i0.ɵɵelementEnd();
96781
+ i0.ɵɵnamespaceHTML();
96782
+ i0.ɵɵelementStart(3, "span")(4, "strong", 20);
96783
+ i0.ɵɵtext(5, "Analysis Snapshot");
96784
+ i0.ɵɵelementEnd();
96785
+ i0.ɵɵtext(6);
96786
+ i0.ɵɵelementEnd()();
96787
+ } if (rf & 2) {
96788
+ const ctx_r1 = i0.ɵɵnextContext();
96789
+ i0.ɵɵadvance(6);
96790
+ i0.ɵɵtextInterpolate1(" \u2014 This analysis represents a snapshot of your business taken between ", ctx_r1.formattedAnalysisDateRange());
96791
+ } }
96792
+ function SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_66_Template(rf, ctx) { if (rf & 1) {
96511
96793
  const _r3 = i0.ɵɵgetCurrentView();
96512
96794
  i0.ɵɵelementStart(0, "symphiq-search-modal", 36);
96513
- i0.ɵɵlistener("closeModal", function SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_65_Template_symphiq_search_modal_closeModal_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleCloseSearchModal()); });
96795
+ i0.ɵɵlistener("closeModal", function SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_66_Template_symphiq_search_modal_closeModal_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleCloseSearchModal()); });
96514
96796
  i0.ɵɵelementEnd();
96515
96797
  } }
96516
96798
  class SymphiqProfileFocusAreasAnalysesDashboardComponent {
@@ -96779,6 +97061,38 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
96779
97061
  }
96780
97062
  return { generating, notReviewed, reviewed };
96781
97063
  }, ...(ngDevMode ? [{ debugName: "analysisStatusCounts" }] : []));
97064
+ this.analysisDateRange = computed(() => {
97065
+ const analyses = this.profileAnalyses();
97066
+ if (!analyses) {
97067
+ return null;
97068
+ }
97069
+ const completedDates = analyses
97070
+ .map(pa => pa.selfContentCompletedDate)
97071
+ .filter((date) => !!date);
97072
+ if (completedDates.length === 0) {
97073
+ return null;
97074
+ }
97075
+ const timestamps = completedDates.map(d => d.getTime());
97076
+ return {
97077
+ earliest: new Date(Math.min(...timestamps)),
97078
+ latest: new Date(Math.max(...timestamps))
97079
+ };
97080
+ }, ...(ngDevMode ? [{ debugName: "analysisDateRange" }] : []));
97081
+ this.formattedAnalysisDateRange = computed(() => {
97082
+ const range = this.analysisDateRange();
97083
+ if (!range) {
97084
+ return null;
97085
+ }
97086
+ const formatDate = (date) => {
97087
+ return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
97088
+ };
97089
+ const earliestStr = formatDate(range.earliest);
97090
+ const latestStr = formatDate(range.latest);
97091
+ if (earliestStr === latestStr) {
97092
+ return earliestStr;
97093
+ }
97094
+ return `${earliestStr} – ${latestStr}`;
97095
+ }, ...(ngDevMode ? [{ debugName: "formattedAnalysisDateRange" }] : []));
96782
97096
  this.genericCardData = computed(() => {
96783
97097
  return this.focusAreaCards().map(card => {
96784
97098
  let engagementBadge = null;
@@ -97008,7 +97322,7 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
97008
97322
  static { this.ɵfac = function SymphiqProfileFocusAreasAnalysesDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileFocusAreasAnalysesDashboardComponent)(); }; }
97009
97323
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqProfileFocusAreasAnalysesDashboardComponent, selectors: [["symphiq-profile-focus-areas-analyses-dashboard"]], hostBindings: function SymphiqProfileFocusAreasAnalysesDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
97010
97324
  i0.ɵɵlistener("scroll", function SymphiqProfileFocusAreasAnalysesDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
97011
- } }, inputs: { requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalyses: [1, "profileAnalyses"], profileFocusAreas: [1, "profileFocusAreas"], itemStatusesProfileFocusArea: [1, "itemStatusesProfileFocusArea"], itemStatusesProfileAnalysis: [1, "itemStatusesProfileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], profileFocusAreaQuestions: [1, "profileFocusAreaQuestions"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], users: [1, "users"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], currentUser: [1, "currentUser"], maxAccessibleStepId: [1, "maxAccessibleStepId"], viewMode: [1, "viewMode"], displayMode: [1, "displayMode"], currentStepId: [1, "currentStepId"] }, outputs: { navigateToProfileFocusArea: "navigateToProfileFocusArea", navigateToProfileAnalysis: "navigateToProfileAnalysis", stepClick: "stepClick", nextStepClick: "nextStepClick", answerFocusAreaProfileQuestions: "answerFocusAreaProfileQuestions", continueFocusAreaProfileQuestions: "continueFocusAreaProfileQuestions", profileQuestionAnswerSave: "profileQuestionAnswerSave", focusAreaProfileAdminAnswerAction: "focusAreaProfileAdminAnswerAction" }, decls: 67, vars: 32, consts: [[1, "relative"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "fixed", "top-0", "left-0", "right-0", "h-1", "z-[60]", "bg-slate-200/30"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "title", "subtitle", "viewMode", "showControls"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "container", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8", "md:py-12", "relative", "z-10"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "px-8", "py-8"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [3, "viewMode", "profileStatusCounts", "analysisStatusCounts", "allReviewed", "hasItems", "config"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], ["currentStepId", "focus-areas", 3, "viewMode", "focusAreaDetails"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [3, "cardClick", "viewMode", "cards", "config"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "closeModal"]], template: function SymphiqProfileFocusAreasAnalysesDashboardComponent_Template(rf, ctx) { if (rf & 1) {
97325
+ } }, inputs: { requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalyses: [1, "profileAnalyses"], profileFocusAreas: [1, "profileFocusAreas"], itemStatusesProfileFocusArea: [1, "itemStatusesProfileFocusArea"], itemStatusesProfileAnalysis: [1, "itemStatusesProfileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], profileFocusAreaQuestions: [1, "profileFocusAreaQuestions"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], users: [1, "users"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], currentUser: [1, "currentUser"], maxAccessibleStepId: [1, "maxAccessibleStepId"], viewMode: [1, "viewMode"], displayMode: [1, "displayMode"], currentStepId: [1, "currentStepId"] }, outputs: { navigateToProfileFocusArea: "navigateToProfileFocusArea", navigateToProfileAnalysis: "navigateToProfileAnalysis", stepClick: "stepClick", nextStepClick: "nextStepClick", answerFocusAreaProfileQuestions: "answerFocusAreaProfileQuestions", continueFocusAreaProfileQuestions: "continueFocusAreaProfileQuestions", profileQuestionAnswerSave: "profileQuestionAnswerSave", focusAreaProfileAdminAnswerAction: "focusAreaProfileAdminAnswerAction" }, decls: 68, vars: 33, consts: [[1, "relative"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "fixed", "top-0", "left-0", "right-0", "h-1", "z-[60]", "bg-slate-200/30"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "title", "subtitle", "viewMode", "showControls"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "container", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8", "md:py-12", "relative", "z-10"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "px-8", "py-8"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [3, "viewMode", "profileStatusCounts", "analysisStatusCounts", "allReviewed", "hasItems", "config"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], ["currentStepId", "focus-areas", 3, "viewMode", "focusAreaDetails"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [3, "cardClick", "viewMode", "cards", "config"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "closeModal"]], template: function SymphiqProfileFocusAreasAnalysesDashboardComponent_Template(rf, ctx) { if (rf & 1) {
97012
97326
  i0.ɵɵelementStart(0, "div", 0);
97013
97327
  i0.ɵɵelement(1, "div", 1);
97014
97328
  i0.ɵɵelementStart(2, "div", 2);
@@ -97079,24 +97393,26 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
97079
97393
  i0.ɵɵtext(54, "Unlock Domain Insights");
97080
97394
  i0.ɵɵelementEnd();
97081
97395
  i0.ɵɵtext(55, " \u2014 Receive focused analysis and recommendations tailored to each marketing channel's unique context");
97082
- i0.ɵɵelementEnd()()()()();
97083
- i0.ɵɵelementStart(56, "div", 31);
97396
+ i0.ɵɵelementEnd()();
97397
+ i0.ɵɵconditionalCreate(56, SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_56_Template, 7, 1, "li", 28);
97398
+ i0.ɵɵelementEnd()()();
97399
+ i0.ɵɵelementStart(57, "div", 31);
97084
97400
  i0.ɵɵnamespaceSVG();
97085
- i0.ɵɵelementStart(57, "svg", 24);
97086
- i0.ɵɵelement(58, "path", 32);
97401
+ i0.ɵɵelementStart(58, "svg", 24);
97402
+ i0.ɵɵelement(59, "path", 32);
97087
97403
  i0.ɵɵelementEnd();
97088
97404
  i0.ɵɵnamespaceHTML();
97089
- i0.ɵɵelementStart(59, "div", 14)(60, "h3", 26);
97090
- i0.ɵɵtext(61, " Continue Your Journey ");
97405
+ i0.ɵɵelementStart(60, "div", 14)(61, "h3", 26);
97406
+ i0.ɵɵtext(62, " Continue Your Journey ");
97091
97407
  i0.ɵɵelementEnd();
97092
- i0.ɵɵelementStart(62, "p", 33);
97093
- i0.ɵɵtext(63, " The final step\u2014Metric Analysis\u2014lets you provide funnel-specific context for each conversion point. This granular knowledge ensures recommendations address the precise bottlenecks in your customer journey, creating a complete picture from top-of-funnel awareness to revenue. ");
97408
+ i0.ɵɵelementStart(63, "p", 33);
97409
+ i0.ɵɵtext(64, " The final step\u2014Metric Analysis\u2014lets you provide funnel-specific context for each conversion point. This granular knowledge ensures recommendations address the precise bottlenecks in your customer journey, creating a complete picture from top-of-funnel awareness to revenue. ");
97094
97410
  i0.ɵɵelementEnd()()()()()()();
97095
- i0.ɵɵelementStart(64, "symphiq-profile-analysis-card-grid", 34);
97096
- i0.ɵɵlistener("cardClick", function SymphiqProfileFocusAreasAnalysesDashboardComponent_Template_symphiq_profile_analysis_card_grid_cardClick_64_listener($event) { return ctx.handleCardClick($event); });
97411
+ i0.ɵɵelementStart(65, "symphiq-profile-analysis-card-grid", 34);
97412
+ i0.ɵɵlistener("cardClick", function SymphiqProfileFocusAreasAnalysesDashboardComponent_Template_symphiq_profile_analysis_card_grid_cardClick_65_listener($event) { return ctx.handleCardClick($event); });
97097
97413
  i0.ɵɵelementEnd()()();
97098
- i0.ɵɵconditionalCreate(65, SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_65_Template, 1, 0, "symphiq-search-modal");
97099
- i0.ɵɵelement(66, "symphiq-tooltip-container");
97414
+ i0.ɵɵconditionalCreate(66, SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_66_Template, 1, 0, "symphiq-search-modal");
97415
+ i0.ɵɵelement(67, "symphiq-tooltip-container");
97100
97416
  i0.ɵɵelementEnd();
97101
97417
  } if (rf & 2) {
97102
97418
  i0.ɵɵclassProp("min-h-screen", !ctx.embedded());
@@ -97132,6 +97448,8 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
97132
97448
  i0.ɵɵadvance(2);
97133
97449
  i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerHighlightListClasses());
97134
97450
  i0.ɵɵadvance(22);
97451
+ i0.ɵɵconditional(ctx.formattedAnalysisDateRange() ? 56 : -1);
97452
+ i0.ɵɵadvance();
97135
97453
  i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerNextStepsClasses());
97136
97454
  i0.ɵɵadvance();
97137
97455
  i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerNextStepsIconClasses());
@@ -97142,7 +97460,7 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
97142
97460
  i0.ɵɵadvance(2);
97143
97461
  i0.ɵɵproperty("viewMode", ctx.viewMode())("cards", ctx.genericCardData())("config", ctx.focusAreaCardConfig);
97144
97462
  i0.ɵɵadvance();
97145
- i0.ɵɵconditional(ctx.showSearchModal() ? 65 : -1);
97463
+ i0.ɵɵconditional(ctx.showSearchModal() ? 66 : -1);
97146
97464
  } }, dependencies: [CommonModule, i1$1.NgClass, DashboardHeaderComponent, SearchModalComponent, JourneyProgressIndicatorComponent, ConfidenceLevelCardComponent, TooltipContainerComponent, ProfileAnalysisStatusSummaryComponent, ProfileAnalysisCardGridComponent], styles: [".animated-bubbles[_ngcontent-%COMP%]{background:linear-gradient(135deg,#6366f10d,#a855f70d)}.animated-bubbles.light-mode[_ngcontent-%COMP%]{background:linear-gradient(135deg,#3b82f608,#9333ea08)}.animated-bubbles[_ngcontent-%COMP%]:before, .animated-bubbles[_ngcontent-%COMP%]:after{content:\"\";position:absolute;border-radius:50%;animation:_ngcontent-%COMP%_float 20s infinite ease-in-out}.animated-bubbles[_ngcontent-%COMP%]:before{width:500px;height:500px;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 70%);top:-250px;right:-250px;animation-delay:-5s}.animated-bubbles[_ngcontent-%COMP%]:after{width:400px;height:400px;background:radial-gradient(circle,rgba(168,85,247,.1) 0%,transparent 70%);bottom:-200px;left:-200px;animation-delay:-10s}@keyframes _ngcontent-%COMP%_float{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-50px) translate(50px)}50%{transform:translateY(-100px) translate(-50px)}75%{transform:translateY(-50px) translate(-100px)}}@keyframes _ngcontent-%COMP%_review-pulse{0%,to{box-shadow:0 0 #3b82f680}50%{box-shadow:0 0 0 8px #3b82f600}}.animate-review-pulse[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_review-pulse 2s ease-in-out infinite}@keyframes _ngcontent-%COMP%_status-pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.status-badge[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_status-pop .3s ease-out;transition:all .3s ease-out}@keyframes _ngcontent-%COMP%_alert-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.animate-alert-pulse[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_alert-pulse 1.5s ease-in-out infinite}"], data: { animation: [
97147
97465
  trigger('statusBadge', [
97148
97466
  transition(':enter', [
@@ -97313,6 +97631,16 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
97313
97631
  </svg>
97314
97632
  <span><strong class="font-semibold">Unlock Domain Insights</strong> — Receive focused analysis and recommendations tailored to each marketing channel's unique context</span>
97315
97633
  </li>
97634
+ @if (formattedAnalysisDateRange()) {
97635
+ <li class="flex items-start gap-2">
97636
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
97637
+ <path fill-rule="evenodd"
97638
+ 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"
97639
+ clip-rule="evenodd"></path>
97640
+ </svg>
97641
+ <span><strong class="font-semibold">Analysis Snapshot</strong> — This analysis represents a snapshot of your business taken between {{ formattedAnalysisDateRange() }}</span>
97642
+ </li>
97643
+ }
97316
97644
  </ul>
97317
97645
  </div>
97318
97646
  </div>
@@ -97364,7 +97692,7 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
97364
97692
  type: HostListener,
97365
97693
  args: ['window:scroll', ['$event']]
97366
97694
  }] }); })();
97367
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileFocusAreasAnalysesDashboardComponent, { className: "SymphiqProfileFocusAreasAnalysesDashboardComponent", filePath: "lib/components/profile-analyses-focus-areas-dashboard/symphiq-profile-focus-areas-analyses-dashboard.component.ts", lineNumber: 379 }); })();
97695
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileFocusAreasAnalysesDashboardComponent, { className: "SymphiqProfileFocusAreasAnalysesDashboardComponent", filePath: "lib/components/profile-analyses-focus-areas-dashboard/symphiq-profile-focus-areas-analyses-dashboard.component.ts", lineNumber: 389 }); })();
97368
97696
 
97369
97697
  const _c0$8 = () => [];
97370
97698
  function SymphiqProfileFocusAreaDashboardComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
@@ -97647,28 +97975,45 @@ function FocusAreaWelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (r
97647
97975
  const ctx_r0 = i0.ɵɵnextContext();
97648
97976
  i0.ɵɵtextInterpolate1(" Welcome to Your ", ctx_r0.focusAreaDisplayName(), " Analysis ");
97649
97977
  } }
97650
- function FocusAreaWelcomeBannerComponent_Conditional_48_Template(rf, ctx) { if (rf & 1) {
97978
+ function FocusAreaWelcomeBannerComponent_Conditional_46_Template(rf, ctx) { if (rf & 1) {
97979
+ i0.ɵɵelementStart(0, "li", 15);
97651
97980
  i0.ɵɵnamespaceSVG();
97652
- i0.ɵɵelement(0, "path", 19);
97981
+ i0.ɵɵelementStart(1, "svg", 16);
97982
+ i0.ɵɵelement(2, "path", 17);
97983
+ i0.ɵɵelementEnd();
97984
+ i0.ɵɵnamespaceHTML();
97985
+ i0.ɵɵelementStart(3, "span")(4, "strong", 9);
97986
+ i0.ɵɵtext(5, "Analysis Snapshot");
97987
+ i0.ɵɵelementEnd();
97988
+ i0.ɵɵtext(6);
97989
+ i0.ɵɵelementEnd()();
97990
+ } if (rf & 2) {
97991
+ const ctx_r0 = i0.ɵɵnextContext();
97992
+ i0.ɵɵadvance(6);
97993
+ i0.ɵɵtextInterpolate1(" \u2014 This analysis represents a snapshot of your business taken on ", ctx_r0.formattedAnalysisDate());
97653
97994
  } }
97654
97995
  function FocusAreaWelcomeBannerComponent_Conditional_49_Template(rf, ctx) { if (rf & 1) {
97996
+ i0.ɵɵnamespaceSVG();
97997
+ i0.ɵɵelement(0, "path", 19);
97998
+ } }
97999
+ function FocusAreaWelcomeBannerComponent_Conditional_50_Template(rf, ctx) { if (rf & 1) {
97655
98000
  i0.ɵɵnamespaceSVG();
97656
98001
  i0.ɵɵelement(0, "path", 20);
97657
98002
  } }
97658
- function FocusAreaWelcomeBannerComponent_Conditional_52_Template(rf, ctx) { if (rf & 1) {
98003
+ function FocusAreaWelcomeBannerComponent_Conditional_53_Template(rf, ctx) { if (rf & 1) {
97659
98004
  i0.ɵɵtext(0, " Keep Your Focus Area Updated ");
97660
98005
  } }
97661
- function FocusAreaWelcomeBannerComponent_Conditional_53_Template(rf, ctx) { if (rf & 1) {
98006
+ function FocusAreaWelcomeBannerComponent_Conditional_54_Template(rf, ctx) { if (rf & 1) {
97662
98007
  i0.ɵɵtext(0, " Continue Your Journey ");
97663
98008
  } }
97664
- function FocusAreaWelcomeBannerComponent_Conditional_55_Template(rf, ctx) { if (rf & 1) {
98009
+ function FocusAreaWelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
97665
98010
  i0.ɵɵtext(0);
97666
98011
  i0.ɵɵpipe(1, "lowercase");
97667
98012
  } if (rf & 2) {
97668
98013
  const ctx_r0 = i0.ɵɵnextContext();
97669
98014
  i0.ɵɵtextInterpolate1(" As you implement improvements, adopt new tools, or refine your ", i0.ɵɵpipeBind1(1, 1, ctx_r0.focusAreaDisplayName()), " approach, update this analysis to keep recommendations aligned with your evolving capabilities and market opportunities. ");
97670
98015
  } }
97671
- function FocusAreaWelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
98016
+ function FocusAreaWelcomeBannerComponent_Conditional_57_Template(rf, ctx) { if (rf & 1) {
97672
98017
  i0.ɵɵtext(0, " This analysis provides domain-specific insights. To unlock the full power of Symphiq, explore additional focus areas and connect them to your shop operations and funnel metrics. ");
97673
98018
  } }
97674
98019
  class FocusAreaWelcomeBannerComponent {
@@ -97677,7 +98022,15 @@ class FocusAreaWelcomeBannerComponent {
97677
98022
  this.focusAreaDomain = input(...(ngDevMode ? [undefined, { debugName: "focusAreaDomain" }] : []));
97678
98023
  this.focusAreaName = input(...(ngDevMode ? [undefined, { debugName: "focusAreaName" }] : []));
97679
98024
  this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
98025
+ this.analysisDate = input(...(ngDevMode ? [undefined, { debugName: "analysisDate" }] : []));
97680
98026
  this.IconSourceEnum = IconSourceEnum;
98027
+ this.formattedAnalysisDate = computed(() => {
98028
+ const date = this.analysisDate();
98029
+ if (!date) {
98030
+ return null;
98031
+ }
98032
+ return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
98033
+ }, ...(ngDevMode ? [{ debugName: "formattedAnalysisDate" }] : []));
97681
98034
  this.focusAreaDisplayName = computed(() => {
97682
98035
  return this.focusAreaName() || this.getFocusAreaName(this.focusAreaDomain());
97683
98036
  }, ...(ngDevMode ? [{ debugName: "focusAreaDisplayName" }] : []));
@@ -97791,7 +98144,7 @@ class FocusAreaWelcomeBannerComponent {
97791
98144
  : 'text-slate-300';
97792
98145
  }
97793
98146
  static { this.ɵfac = function FocusAreaWelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FocusAreaWelcomeBannerComponent)(); }; }
97794
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FocusAreaWelcomeBannerComponent, selectors: [["symphiq-focus-area-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], focusAreaDomain: [1, "focusAreaDomain"], focusAreaName: [1, "focusAreaName"], isOnboarded: [1, "isOnboarded"] }, decls: 57, vars: 26, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["size", "w-8 h-8", 3, "icon"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-3", "mb-6"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function FocusAreaWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
98147
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FocusAreaWelcomeBannerComponent, selectors: [["symphiq-focus-area-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], focusAreaDomain: [1, "focusAreaDomain"], focusAreaName: [1, "focusAreaName"], isOnboarded: [1, "isOnboarded"], analysisDate: [1, "analysisDate"] }, decls: 58, vars: 27, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["size", "w-8 h-8", 3, "icon"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-3", "mb-6"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function FocusAreaWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
97795
98148
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
97796
98149
  i0.ɵɵelement(4, "symphiq-icon", 4);
97797
98150
  i0.ɵɵelementEnd();
@@ -97849,18 +98202,20 @@ class FocusAreaWelcomeBannerComponent {
97849
98202
  i0.ɵɵtext(44, "Tactical Roadmap");
97850
98203
  i0.ɵɵelementEnd();
97851
98204
  i0.ɵɵtext(45, " \u2014 Step-by-step goals, strategies, and recommendations for domain optimization");
97852
- i0.ɵɵelementEnd()()()()();
97853
- i0.ɵɵelementStart(46, "div", 18);
98205
+ i0.ɵɵelementEnd()();
98206
+ i0.ɵɵconditionalCreate(46, FocusAreaWelcomeBannerComponent_Conditional_46_Template, 7, 1, "li", 15);
98207
+ i0.ɵɵelementEnd()()();
98208
+ i0.ɵɵelementStart(47, "div", 18);
97854
98209
  i0.ɵɵnamespaceSVG();
97855
- i0.ɵɵelementStart(47, "svg", 11);
97856
- i0.ɵɵconditionalCreate(48, FocusAreaWelcomeBannerComponent_Conditional_48_Template, 1, 0, ":svg:path", 19)(49, FocusAreaWelcomeBannerComponent_Conditional_49_Template, 1, 0, ":svg:path", 20);
98210
+ i0.ɵɵelementStart(48, "svg", 11);
98211
+ i0.ɵɵconditionalCreate(49, FocusAreaWelcomeBannerComponent_Conditional_49_Template, 1, 0, ":svg:path", 19)(50, FocusAreaWelcomeBannerComponent_Conditional_50_Template, 1, 0, ":svg:path", 20);
97857
98212
  i0.ɵɵelementEnd();
97858
98213
  i0.ɵɵnamespaceHTML();
97859
- i0.ɵɵelementStart(50, "div", 5)(51, "h3", 21);
97860
- i0.ɵɵconditionalCreate(52, FocusAreaWelcomeBannerComponent_Conditional_52_Template, 1, 0)(53, FocusAreaWelcomeBannerComponent_Conditional_53_Template, 1, 0);
98214
+ i0.ɵɵelementStart(51, "div", 5)(52, "h3", 21);
98215
+ i0.ɵɵconditionalCreate(53, FocusAreaWelcomeBannerComponent_Conditional_53_Template, 1, 0)(54, FocusAreaWelcomeBannerComponent_Conditional_54_Template, 1, 0);
97861
98216
  i0.ɵɵelementEnd();
97862
- i0.ɵɵelementStart(54, "p", 22);
97863
- i0.ɵɵconditionalCreate(55, FocusAreaWelcomeBannerComponent_Conditional_55_Template, 2, 3)(56, FocusAreaWelcomeBannerComponent_Conditional_56_Template, 1, 0);
98217
+ i0.ɵɵelementStart(55, "p", 22);
98218
+ i0.ɵɵconditionalCreate(56, FocusAreaWelcomeBannerComponent_Conditional_56_Template, 2, 3)(57, FocusAreaWelcomeBannerComponent_Conditional_57_Template, 1, 0);
97864
98219
  i0.ɵɵelementEnd()()()()()()();
97865
98220
  } if (rf & 2) {
97866
98221
  i0.ɵɵproperty("ngClass", ctx.containerClasses());
@@ -97877,7 +98232,7 @@ class FocusAreaWelcomeBannerComponent {
97877
98232
  i0.ɵɵadvance(3);
97878
98233
  i0.ɵɵproperty("ngClass", ctx.textClasses());
97879
98234
  i0.ɵɵadvance();
97880
- i0.ɵɵtextInterpolate2(" ", ctx.focusAreaDisplayName(), " Analysis provides a deep dive into this specific operational domain. By analyzing your approach, tools, and performance in ", i0.ɵɵpipeBind1(12, 22, ctx.focusAreaDisplayName()), ", Symphiq identifies tactical opportunities and creates an actionable roadmap for improvement. ");
98235
+ i0.ɵɵtextInterpolate2(" ", ctx.focusAreaDisplayName(), " Analysis provides a deep dive into this specific operational domain. By analyzing your approach, tools, and performance in ", i0.ɵɵpipeBind1(12, 23, ctx.focusAreaDisplayName()), ", Symphiq identifies tactical opportunities and creates an actionable roadmap for improvement. ");
97881
98236
  i0.ɵɵadvance(2);
97882
98237
  i0.ɵɵproperty("ngClass", ctx.textClasses());
97883
98238
  i0.ɵɵadvance(4);
@@ -97889,21 +98244,23 @@ class FocusAreaWelcomeBannerComponent {
97889
98244
  i0.ɵɵadvance(2);
97890
98245
  i0.ɵɵproperty("ngClass", ctx.highlightListClasses());
97891
98246
  i0.ɵɵadvance(7);
97892
- i0.ɵɵtextInterpolate1(" \u2014 Current maturity and performance assessment for ", i0.ɵɵpipeBind1(31, 24, ctx.focusAreaDisplayName()));
98247
+ i0.ɵɵtextInterpolate1(" \u2014 Current maturity and performance assessment for ", i0.ɵɵpipeBind1(31, 25, ctx.focusAreaDisplayName()));
97893
98248
  i0.ɵɵadvance(16);
98249
+ i0.ɵɵconditional(ctx.formattedAnalysisDate() ? 46 : -1);
98250
+ i0.ɵɵadvance();
97894
98251
  i0.ɵɵproperty("ngClass", ctx.nextStepsBoxClasses());
97895
98252
  i0.ɵɵadvance();
97896
98253
  i0.ɵɵproperty("ngClass", ctx.nextStepsIconClasses());
97897
98254
  i0.ɵɵadvance();
97898
- i0.ɵɵconditional(ctx.isOnboarded() ? 48 : 49);
98255
+ i0.ɵɵconditional(ctx.isOnboarded() ? 49 : 50);
97899
98256
  i0.ɵɵadvance(3);
97900
98257
  i0.ɵɵproperty("ngClass", ctx.nextStepsTitleClasses());
97901
98258
  i0.ɵɵadvance();
97902
- i0.ɵɵconditional(ctx.isOnboarded() ? 52 : 53);
98259
+ i0.ɵɵconditional(ctx.isOnboarded() ? 53 : 54);
97903
98260
  i0.ɵɵadvance(2);
97904
98261
  i0.ɵɵproperty("ngClass", ctx.nextStepsTextClasses());
97905
98262
  i0.ɵɵadvance();
97906
- i0.ɵɵconditional(ctx.isOnboarded() ? 55 : 56);
98263
+ i0.ɵɵconditional(ctx.isOnboarded() ? 56 : 57);
97907
98264
  } }, dependencies: [CommonModule, i1$1.NgClass, SymphiqIconComponent, i1$1.LowerCasePipe], encapsulation: 2, changeDetection: 0 }); }
97908
98265
  }
97909
98266
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FocusAreaWelcomeBannerComponent, [{
@@ -97913,97 +98270,105 @@ class FocusAreaWelcomeBannerComponent {
97913
98270
  standalone: true,
97914
98271
  imports: [CommonModule, SymphiqIconComponent],
97915
98272
  changeDetection: ChangeDetectionStrategy.OnPush,
97916
- template: `
97917
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
97918
- <div [ngClass]="contentClasses()" class="px-8 py-8">
97919
- <div class="flex items-start gap-6">
97920
- <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
97921
- <symphiq-icon [icon]="focusAreaIcon()" size="w-8 h-8" />
97922
- </div>
97923
-
97924
- <div class="flex-1">
97925
- <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
97926
- @if (isOnboarded()) {
97927
- Your {{ focusAreaDisplayName() }} Analysis
97928
- } @else {
97929
- Welcome to Your {{ focusAreaDisplayName() }} Analysis
97930
- }
97931
- </h2>
97932
-
97933
- <!-- Description -->
97934
- <div class="space-y-3 mb-6">
97935
- <p [ngClass]="textClasses()" class="text-base leading-relaxed">
97936
- {{ focusAreaDisplayName() }} Analysis provides a deep dive into this specific operational domain. By analyzing your approach, tools, and performance in {{ focusAreaDisplayName() | lowercase }}, Symphiq identifies tactical opportunities and creates an actionable roadmap for improvement.
97937
- </p>
97938
- <p [ngClass]="textClasses()" class="text-base leading-relaxed">
97939
- <strong class="font-semibold">Why this matters:</strong> Rather than generic best practices, this analysis delivers domain-specific insights tailored to your current capabilities, resources, and market position—ensuring recommendations are both impactful and achievable.
97940
- </p>
97941
- </div>
97942
-
97943
- <div [ngClass]="highlightBoxClasses()" class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
97944
- <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="highlightIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
97945
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
97946
- </svg>
97947
- <div class="flex-1">
97948
- <h3 [ngClass]="highlightTitleClasses()" class="font-bold text-lg mb-2">
97949
- What You'll See Below
97950
- </h3>
97951
- <ul [ngClass]="highlightListClasses()" class="space-y-2 text-sm">
97952
- <li class="flex items-start gap-2">
97953
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
97954
- <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"></path>
97955
- </svg>
97956
- <span><strong class="font-semibold">Focus Area Health</strong> — Current maturity and performance assessment for {{ focusAreaDisplayName() | lowercase }}</span>
97957
- </li>
97958
- <li class="flex items-start gap-2">
97959
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
97960
- <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"></path>
97961
- </svg>
97962
- <span><strong class="font-semibold">Top Priorities</strong> — High-impact improvements specific to this operational domain</span>
97963
- </li>
97964
- <li class="flex items-start gap-2">
97965
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
97966
- <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"></path>
97967
- </svg>
97968
- <span><strong class="font-semibold">Tactical Roadmap</strong> — Step-by-step goals, strategies, and recommendations for domain optimization</span>
97969
- </li>
97970
- </ul>
97971
- </div>
97972
- </div>
97973
-
97974
- <div [ngClass]="nextStepsBoxClasses()" class="mt-6 p-5 rounded-xl border flex items-start gap-4">
97975
- <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="nextStepsIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
97976
- @if (isOnboarded()) {
97977
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"></path>
97978
- } @else {
97979
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
97980
- }
97981
- </svg>
97982
- <div class="flex-1">
97983
- <h3 [ngClass]="nextStepsTitleClasses()" class="font-bold mb-1">
97984
- @if (isOnboarded()) {
97985
- Keep Your Focus Area Updated
97986
- } @else {
97987
- Continue Your Journey
97988
- }
97989
- </h3>
97990
- <p [ngClass]="nextStepsTextClasses()" class="text-sm leading-relaxed">
97991
- @if (isOnboarded()) {
97992
- As you implement improvements, adopt new tools, or refine your {{ focusAreaDisplayName() | lowercase }} approach, update this analysis to keep recommendations aligned with your evolving capabilities and market opportunities.
97993
- } @else {
97994
- This analysis provides domain-specific insights. To unlock the full power of Symphiq, explore additional focus areas and connect them to your shop operations and funnel metrics.
97995
- }
97996
- </p>
97997
- </div>
97998
- </div>
97999
- </div>
98000
- </div>
98001
- </div>
98002
- </div>
98273
+ template: `
98274
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
98275
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
98276
+ <div class="flex items-start gap-6">
98277
+ <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
98278
+ <symphiq-icon [icon]="focusAreaIcon()" size="w-8 h-8" />
98279
+ </div>
98280
+
98281
+ <div class="flex-1">
98282
+ <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
98283
+ @if (isOnboarded()) {
98284
+ Your {{ focusAreaDisplayName() }} Analysis
98285
+ } @else {
98286
+ Welcome to Your {{ focusAreaDisplayName() }} Analysis
98287
+ }
98288
+ </h2>
98289
+
98290
+ <!-- Description -->
98291
+ <div class="space-y-3 mb-6">
98292
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed">
98293
+ {{ focusAreaDisplayName() }} Analysis provides a deep dive into this specific operational domain. By analyzing your approach, tools, and performance in {{ focusAreaDisplayName() | lowercase }}, Symphiq identifies tactical opportunities and creates an actionable roadmap for improvement.
98294
+ </p>
98295
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed">
98296
+ <strong class="font-semibold">Why this matters:</strong> Rather than generic best practices, this analysis delivers domain-specific insights tailored to your current capabilities, resources, and market position—ensuring recommendations are both impactful and achievable.
98297
+ </p>
98298
+ </div>
98299
+
98300
+ <div [ngClass]="highlightBoxClasses()" class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
98301
+ <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="highlightIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
98302
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
98303
+ </svg>
98304
+ <div class="flex-1">
98305
+ <h3 [ngClass]="highlightTitleClasses()" class="font-bold text-lg mb-2">
98306
+ What You'll See Below
98307
+ </h3>
98308
+ <ul [ngClass]="highlightListClasses()" class="space-y-2 text-sm">
98309
+ <li class="flex items-start gap-2">
98310
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
98311
+ <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"></path>
98312
+ </svg>
98313
+ <span><strong class="font-semibold">Focus Area Health</strong> — Current maturity and performance assessment for {{ focusAreaDisplayName() | lowercase }}</span>
98314
+ </li>
98315
+ <li class="flex items-start gap-2">
98316
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
98317
+ <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"></path>
98318
+ </svg>
98319
+ <span><strong class="font-semibold">Top Priorities</strong> — High-impact improvements specific to this operational domain</span>
98320
+ </li>
98321
+ <li class="flex items-start gap-2">
98322
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
98323
+ <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"></path>
98324
+ </svg>
98325
+ <span><strong class="font-semibold">Tactical Roadmap</strong> — Step-by-step goals, strategies, and recommendations for domain optimization</span>
98326
+ </li>
98327
+ @if (formattedAnalysisDate()) {
98328
+ <li class="flex items-start gap-2">
98329
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
98330
+ <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"></path>
98331
+ </svg>
98332
+ <span><strong class="font-semibold">Analysis Snapshot</strong> This analysis represents a snapshot of your business taken on {{ formattedAnalysisDate() }}</span>
98333
+ </li>
98334
+ }
98335
+ </ul>
98336
+ </div>
98337
+ </div>
98338
+
98339
+ <div [ngClass]="nextStepsBoxClasses()" class="mt-6 p-5 rounded-xl border flex items-start gap-4">
98340
+ <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="nextStepsIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
98341
+ @if (isOnboarded()) {
98342
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"></path>
98343
+ } @else {
98344
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
98345
+ }
98346
+ </svg>
98347
+ <div class="flex-1">
98348
+ <h3 [ngClass]="nextStepsTitleClasses()" class="font-bold mb-1">
98349
+ @if (isOnboarded()) {
98350
+ Keep Your Focus Area Updated
98351
+ } @else {
98352
+ Continue Your Journey
98353
+ }
98354
+ </h3>
98355
+ <p [ngClass]="nextStepsTextClasses()" class="text-sm leading-relaxed">
98356
+ @if (isOnboarded()) {
98357
+ As you implement improvements, adopt new tools, or refine your {{ focusAreaDisplayName() | lowercase }} approach, update this analysis to keep recommendations aligned with your evolving capabilities and market opportunities.
98358
+ } @else {
98359
+ This analysis provides domain-specific insights. To unlock the full power of Symphiq, explore additional focus areas and connect them to your shop operations and funnel metrics.
98360
+ }
98361
+ </p>
98362
+ </div>
98363
+ </div>
98364
+ </div>
98365
+ </div>
98366
+ </div>
98367
+ </div>
98003
98368
  `
98004
98369
  }]
98005
- }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], focusAreaDomain: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaDomain", required: false }] }], focusAreaName: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaName", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }] }); })();
98006
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaWelcomeBannerComponent, { className: "FocusAreaWelcomeBannerComponent", filePath: "lib/components/profile-analysis-focus-area-dashboard/focus-area-welcome-banner.component.ts", lineNumber: 100 }); })();
98370
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], focusAreaDomain: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaDomain", required: false }] }], focusAreaName: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaName", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], analysisDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisDate", required: false }] }] }); })();
98371
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaWelcomeBannerComponent, { className: "FocusAreaWelcomeBannerComponent", filePath: "lib/components/profile-analysis-focus-area-dashboard/focus-area-welcome-banner.component.ts", lineNumber: 108 }); })();
98007
98372
 
98008
98373
  const _c0$7 = ["funnelModalComponent"];
98009
98374
  const _forTrack0$6 = ($index, $item) => $item.id;
@@ -98032,9 +98397,10 @@ function SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_7_Templat
98032
98397
  i0.ɵɵelementEnd();
98033
98398
  i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_7_Conditional_2_Template, 8, 4, "div", 23);
98034
98399
  } if (rf & 2) {
98400
+ let tmp_5_0;
98035
98401
  const ctx_r1 = i0.ɵɵnextContext();
98036
98402
  i0.ɵɵadvance();
98037
- i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("focusAreaDomain", ctx_r1.focusAreaDomain())("focusAreaName", ctx_r1.focusAreaName());
98403
+ i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("focusAreaDomain", ctx_r1.focusAreaDomain())("focusAreaName", ctx_r1.focusAreaName())("analysisDate", (tmp_5_0 = ctx_r1.profileAnalysis()) == null ? null : tmp_5_0.selfContentCompletedDate);
98038
98404
  i0.ɵɵadvance();
98039
98405
  i0.ɵɵconditional(ctx_r1.isLoading() ? 2 : -1);
98040
98406
  } }
@@ -98732,7 +99098,7 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
98732
99098
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.funnelModalComponent = _t.first);
98733
99099
  } }, hostBindings: function SymphiqProfileAnalysisFocusAreaDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
98734
99100
  i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisFocusAreaDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
98735
- } }, inputs: { viewMode: [1, "viewMode"], profileAnalysis: [1, "profileAnalysis"], funnelAnalysis: [1, "funnelAnalysis"], profile: [1, "profile"], isLoading: [1, "isLoading"], requestedByUser: [1, "requestedByUser"], embedded: [1, "embedded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], focusAreaDetails: [1, "focusAreaDetails"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"] }, outputs: { nextStepClick: "nextStepClick", markAsReviewedClick: "markAsReviewedClick" }, features: [i0.ɵɵNgOnChangesFeature], decls: 28, vars: 50, consts: [["funnelModalComponent", ""], [1, "relative", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate", "showControls"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "expandedRecommendationId", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed", "isLoading"], [1, "mb-12"], [3, "viewMode", "focusAreaDomain", "focusAreaName"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "justify-center", "space-y-4"], ["size", "large", 3, "viewMode"], [1, "text-center"], [1, "text-lg", "font-semibold", "mb-1", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mb-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [3, "goals", "viewMode"], ["title", "Generating Your Focus Area Analysis", "subtitle", "We're analyzing your data to create your personalized analysis. It will appear when ready.", 3, "itemStatus", "viewMode"], [3, "viewMoreClick", "goals", "viewMode"], [3, "sections", "viewMode", "focusAreaExecutiveSummary", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], [3, "viewMode", "summary", "allGoals"], [1, "space-y-8"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "flex-1"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [3, "visual", "viewMode"], [1, "w-full"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"]], template: function SymphiqProfileAnalysisFocusAreaDashboardComponent_Template(rf, ctx) { if (rf & 1) {
99101
+ } }, inputs: { viewMode: [1, "viewMode"], profileAnalysis: [1, "profileAnalysis"], funnelAnalysis: [1, "funnelAnalysis"], profile: [1, "profile"], isLoading: [1, "isLoading"], requestedByUser: [1, "requestedByUser"], embedded: [1, "embedded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], focusAreaDetails: [1, "focusAreaDetails"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"] }, outputs: { nextStepClick: "nextStepClick", markAsReviewedClick: "markAsReviewedClick" }, features: [i0.ɵɵNgOnChangesFeature], decls: 28, vars: 50, consts: [["funnelModalComponent", ""], [1, "relative", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate", "showControls"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "expandedRecommendationId", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed", "isLoading"], [1, "mb-12"], [3, "viewMode", "focusAreaDomain", "focusAreaName", "analysisDate"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "justify-center", "space-y-4"], ["size", "large", 3, "viewMode"], [1, "text-center"], [1, "text-lg", "font-semibold", "mb-1", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mb-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [3, "goals", "viewMode"], ["title", "Generating Your Focus Area Analysis", "subtitle", "We're analyzing your data to create your personalized analysis. It will appear when ready.", 3, "itemStatus", "viewMode"], [3, "viewMoreClick", "goals", "viewMode"], [3, "sections", "viewMode", "focusAreaExecutiveSummary", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], [3, "viewMode", "summary", "allGoals"], [1, "space-y-8"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "flex-1"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [3, "visual", "viewMode"], [1, "w-full"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"]], template: function SymphiqProfileAnalysisFocusAreaDashboardComponent_Template(rf, ctx) { if (rf & 1) {
98736
99102
  const _r1 = i0.ɵɵgetCurrentView();
98737
99103
  i0.ɵɵelementStart(0, "div", 1);
98738
99104
  i0.ɵɵelement(1, "div", 2);
@@ -98743,7 +99109,7 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
98743
99109
  i0.ɵɵlistener("searchClick", function SymphiqProfileAnalysisFocusAreaDashboardComponent_Template_symphiq_dashboard_header_searchClick_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openSearch()); })("viewModeClick", function SymphiqProfileAnalysisFocusAreaDashboardComponent_Template_symphiq_dashboard_header_viewModeClick_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openViewModeSwitcher()); });
98744
99110
  i0.ɵɵelementEnd();
98745
99111
  i0.ɵɵelementStart(6, "main", 6);
98746
- i0.ɵɵconditionalCreate(7, SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_7_Template, 3, 4);
99112
+ i0.ɵɵconditionalCreate(7, SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_7_Template, 3, 5);
98747
99113
  i0.ɵɵconditionalCreate(8, SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_8_Template, 2, 2);
98748
99114
  i0.ɵɵconditionalCreate(9, SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_9_Template, 3, 3);
98749
99115
  i0.ɵɵelementEnd();
@@ -98940,6 +99306,7 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
98940
99306
  [viewMode]="viewMode()"
98941
99307
  [focusAreaDomain]="focusAreaDomain()"
98942
99308
  [focusAreaName]="focusAreaName()"
99309
+ [analysisDate]="profileAnalysis()?.selfContentCompletedDate"
98943
99310
  />
98944
99311
  </div>
98945
99312
 
@@ -99248,7 +99615,7 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
99248
99615
  type: HostListener,
99249
99616
  args: ['window:scroll', ['$event']]
99250
99617
  }] }); })();
99251
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisFocusAreaDashboardComponent, { className: "SymphiqProfileAnalysisFocusAreaDashboardComponent", filePath: "lib/components/profile-analysis-focus-area-dashboard/symphiq-profile-analysis-focus-area-dashboard.component.ts", lineNumber: 489 }); })();
99618
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisFocusAreaDashboardComponent, { className: "SymphiqProfileAnalysisFocusAreaDashboardComponent", filePath: "lib/components/profile-analysis-focus-area-dashboard/symphiq-profile-analysis-focus-area-dashboard.component.ts", lineNumber: 490 }); })();
99252
99619
 
99253
99620
  function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
99254
99621
  const _r1 = i0.ɵɵgetCurrentView();
@@ -99265,10 +99632,27 @@ function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_17_Template
99265
99632
  const ctx_r1 = i0.ɵɵnextContext();
99266
99633
  i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("profileStatusCounts", ctx_r1.metricStatusCounts())("analysisStatusCounts", ctx_r1.analysisStatusCounts())("allReviewed", ctx_r1.allMetricsAnalysisReviewed())("hasItems", ctx_r1.metricCards().length > 0)("config", ctx_r1.metricStatusConfig);
99267
99634
  } }
99268
- function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_65_Template(rf, ctx) { if (rf & 1) {
99635
+ function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
99636
+ i0.ɵɵelementStart(0, "li", 28);
99637
+ i0.ɵɵnamespaceSVG();
99638
+ i0.ɵɵelementStart(1, "svg", 29);
99639
+ i0.ɵɵelement(2, "path", 30);
99640
+ i0.ɵɵelementEnd();
99641
+ i0.ɵɵnamespaceHTML();
99642
+ i0.ɵɵelementStart(3, "span")(4, "strong", 20);
99643
+ i0.ɵɵtext(5, "Analysis Snapshot");
99644
+ i0.ɵɵelementEnd();
99645
+ i0.ɵɵtext(6);
99646
+ i0.ɵɵelementEnd()();
99647
+ } if (rf & 2) {
99648
+ const ctx_r1 = i0.ɵɵnextContext();
99649
+ i0.ɵɵadvance(6);
99650
+ i0.ɵɵtextInterpolate1(" \u2014 This analysis represents a snapshot of your business taken between ", ctx_r1.formattedAnalysisDateRange());
99651
+ } }
99652
+ function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_66_Template(rf, ctx) { if (rf & 1) {
99269
99653
  const _r3 = i0.ɵɵgetCurrentView();
99270
99654
  i0.ɵɵelementStart(0, "symphiq-search-modal", 36);
99271
- i0.ɵɵlistener("closeModal", function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_65_Template_symphiq_search_modal_closeModal_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleCloseSearchModal()); });
99655
+ i0.ɵɵlistener("closeModal", function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_66_Template_symphiq_search_modal_closeModal_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleCloseSearchModal()); });
99272
99656
  i0.ɵɵelementEnd();
99273
99657
  } }
99274
99658
  class SymphiqProfileMetricsAnalysesDashboardComponent {
@@ -99590,6 +99974,38 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
99590
99974
  }
99591
99975
  return { generating, notReviewed, reviewed };
99592
99976
  }, ...(ngDevMode ? [{ debugName: "analysisStatusCounts" }] : []));
99977
+ this.analysisDateRange = computed(() => {
99978
+ const analyses = this.profileAnalyses();
99979
+ if (!analyses) {
99980
+ return null;
99981
+ }
99982
+ const completedDates = analyses
99983
+ .map(pa => pa.selfContentCompletedDate)
99984
+ .filter((date) => !!date);
99985
+ if (completedDates.length === 0) {
99986
+ return null;
99987
+ }
99988
+ const timestamps = completedDates.map(d => d.getTime());
99989
+ return {
99990
+ earliest: new Date(Math.min(...timestamps)),
99991
+ latest: new Date(Math.max(...timestamps))
99992
+ };
99993
+ }, ...(ngDevMode ? [{ debugName: "analysisDateRange" }] : []));
99994
+ this.formattedAnalysisDateRange = computed(() => {
99995
+ const range = this.analysisDateRange();
99996
+ if (!range) {
99997
+ return null;
99998
+ }
99999
+ const formatDate = (date) => {
100000
+ return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
100001
+ };
100002
+ const earliestStr = formatDate(range.earliest);
100003
+ const latestStr = formatDate(range.latest);
100004
+ if (earliestStr === latestStr) {
100005
+ return earliestStr;
100006
+ }
100007
+ return `${earliestStr} – ${latestStr}`;
100008
+ }, ...(ngDevMode ? [{ debugName: "formattedAnalysisDateRange" }] : []));
99593
100009
  this.genericCardData = computed(() => {
99594
100010
  return this.metricCards().map(card => ({
99595
100011
  id: card.metricEnum,
@@ -99731,7 +100147,7 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
99731
100147
  static { this.ɵfac = function SymphiqProfileMetricsAnalysesDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileMetricsAnalysesDashboardComponent)(); }; }
99732
100148
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqProfileMetricsAnalysesDashboardComponent, selectors: [["symphiq-profile-metrics-analyses-dashboard"]], hostBindings: function SymphiqProfileMetricsAnalysesDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
99733
100149
  i0.ɵɵlistener("scroll", function SymphiqProfileMetricsAnalysesDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
99734
- } }, inputs: { requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalyses: [1, "profileAnalyses"], profileMetrics: [1, "profileMetrics"], itemStatusesProfileMetric: [1, "itemStatusesProfileMetric"], itemStatusesProfileAnalysis: [1, "itemStatusesProfileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], funnelMetrics: [1, "funnelMetrics"], account: [1, "account"], profileMetricQuestions: [1, "profileMetricQuestions"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], users: [1, "users"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], currentUser: [1, "currentUser"], maxAccessibleStepId: [1, "maxAccessibleStepId"], viewMode: [1, "viewMode"], displayMode: [1, "displayMode"], currentStepId: [1, "currentStepId"] }, outputs: { navigateToProfileMetric: "navigateToProfileMetric", navigateToProfileAnalysis: "navigateToProfileAnalysis", stepClick: "stepClick", nextStepClick: "nextStepClick", answerMetricProfileQuestions: "answerMetricProfileQuestions", continueMetricProfileQuestions: "continueMetricProfileQuestions", profileQuestionAnswerSave: "profileQuestionAnswerSave", metricProfileAdminAnswerAction: "metricProfileAdminAnswerAction" }, decls: 67, vars: 32, consts: [[1, "relative"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "fixed", "top-0", "left-0", "right-0", "h-1", "z-[60]", "bg-slate-200/30"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "title", "subtitle", "viewMode", "showControls"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "container", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8", "md:py-12", "relative", "z-10"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "px-8", "py-8"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["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"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [3, "viewMode", "profileStatusCounts", "analysisStatusCounts", "allReviewed", "hasItems", "config"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], ["currentStepId", "metric-analysis", 3, "viewMode", "currentMetric"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [3, "cardClick", "viewMode", "cards", "config"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "closeModal"]], template: function SymphiqProfileMetricsAnalysesDashboardComponent_Template(rf, ctx) { if (rf & 1) {
100150
+ } }, inputs: { requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalyses: [1, "profileAnalyses"], profileMetrics: [1, "profileMetrics"], itemStatusesProfileMetric: [1, "itemStatusesProfileMetric"], itemStatusesProfileAnalysis: [1, "itemStatusesProfileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], funnelMetrics: [1, "funnelMetrics"], account: [1, "account"], profileMetricQuestions: [1, "profileMetricQuestions"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], users: [1, "users"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], currentUser: [1, "currentUser"], maxAccessibleStepId: [1, "maxAccessibleStepId"], viewMode: [1, "viewMode"], displayMode: [1, "displayMode"], currentStepId: [1, "currentStepId"] }, outputs: { navigateToProfileMetric: "navigateToProfileMetric", navigateToProfileAnalysis: "navigateToProfileAnalysis", stepClick: "stepClick", nextStepClick: "nextStepClick", answerMetricProfileQuestions: "answerMetricProfileQuestions", continueMetricProfileQuestions: "continueMetricProfileQuestions", profileQuestionAnswerSave: "profileQuestionAnswerSave", metricProfileAdminAnswerAction: "metricProfileAdminAnswerAction" }, decls: 68, vars: 33, consts: [[1, "relative"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "fixed", "top-0", "left-0", "right-0", "h-1", "z-[60]", "bg-slate-200/30"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "title", "subtitle", "viewMode", "showControls"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "container", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8", "md:py-12", "relative", "z-10"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "px-8", "py-8"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["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"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [3, "viewMode", "profileStatusCounts", "analysisStatusCounts", "allReviewed", "hasItems", "config"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], ["currentStepId", "metric-analysis", 3, "viewMode", "currentMetric"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["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"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [3, "cardClick", "viewMode", "cards", "config"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "closeModal"]], template: function SymphiqProfileMetricsAnalysesDashboardComponent_Template(rf, ctx) { if (rf & 1) {
99735
100151
  i0.ɵɵelementStart(0, "div", 0);
99736
100152
  i0.ɵɵelement(1, "div", 1);
99737
100153
  i0.ɵɵelementStart(2, "div", 2);
@@ -99802,24 +100218,26 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
99802
100218
  i0.ɵɵtext(54, "Performance Insights");
99803
100219
  i0.ɵɵelementEnd();
99804
100220
  i0.ɵɵtext(55, " \u2014 Unlock analysis showing what's working, what's not, and specific improvement opportunities for each stage");
99805
- i0.ɵɵelementEnd()()()()();
99806
- i0.ɵɵelementStart(56, "div", 31);
100221
+ i0.ɵɵelementEnd()();
100222
+ i0.ɵɵconditionalCreate(56, SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_56_Template, 7, 1, "li", 28);
100223
+ i0.ɵɵelementEnd()()();
100224
+ i0.ɵɵelementStart(57, "div", 31);
99807
100225
  i0.ɵɵnamespaceSVG();
99808
- i0.ɵɵelementStart(57, "svg", 24);
99809
- i0.ɵɵelement(58, "path", 32);
100226
+ i0.ɵɵelementStart(58, "svg", 24);
100227
+ i0.ɵɵelement(59, "path", 32);
99810
100228
  i0.ɵɵelementEnd();
99811
100229
  i0.ɵɵnamespaceHTML();
99812
- i0.ɵɵelementStart(59, "div", 14)(60, "h3", 26);
99813
- i0.ɵɵtext(61, " Complete Your Profile ");
100230
+ i0.ɵɵelementStart(60, "div", 14)(61, "h3", 26);
100231
+ i0.ɵɵtext(62, " Complete Your Profile ");
99814
100232
  i0.ɵɵelementEnd();
99815
- i0.ɵɵelementStart(62, "p", 33);
99816
- i0.ɵɵtext(63, " You've reached the final onboarding step! Once all metrics are profiled, you'll have complete context coverage. Symphiq will then generate unified recommendations that connect business goals to specific funnel improvements\u2014showing exactly what to do next to drive growth. ");
100233
+ i0.ɵɵelementStart(63, "p", 33);
100234
+ i0.ɵɵtext(64, " You've reached the final onboarding step! Once all metrics are profiled, you'll have complete context coverage. Symphiq will then generate unified recommendations that connect business goals to specific funnel improvements\u2014showing exactly what to do next to drive growth. ");
99817
100235
  i0.ɵɵelementEnd()()()()()()();
99818
- i0.ɵɵelementStart(64, "symphiq-profile-analysis-card-grid", 34);
99819
- i0.ɵɵlistener("cardClick", function SymphiqProfileMetricsAnalysesDashboardComponent_Template_symphiq_profile_analysis_card_grid_cardClick_64_listener($event) { return ctx.handleCardClick($event); });
100236
+ i0.ɵɵelementStart(65, "symphiq-profile-analysis-card-grid", 34);
100237
+ i0.ɵɵlistener("cardClick", function SymphiqProfileMetricsAnalysesDashboardComponent_Template_symphiq_profile_analysis_card_grid_cardClick_65_listener($event) { return ctx.handleCardClick($event); });
99820
100238
  i0.ɵɵelementEnd()()();
99821
- i0.ɵɵconditionalCreate(65, SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_65_Template, 1, 0, "symphiq-search-modal");
99822
- i0.ɵɵelement(66, "symphiq-tooltip-container");
100239
+ i0.ɵɵconditionalCreate(66, SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_66_Template, 1, 0, "symphiq-search-modal");
100240
+ i0.ɵɵelement(67, "symphiq-tooltip-container");
99823
100241
  i0.ɵɵelementEnd();
99824
100242
  } if (rf & 2) {
99825
100243
  i0.ɵɵclassProp("min-h-screen", !ctx.embedded());
@@ -99855,6 +100273,8 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
99855
100273
  i0.ɵɵadvance(2);
99856
100274
  i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerHighlightListClasses());
99857
100275
  i0.ɵɵadvance(22);
100276
+ i0.ɵɵconditional(ctx.formattedAnalysisDateRange() ? 56 : -1);
100277
+ i0.ɵɵadvance();
99858
100278
  i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerNextStepsClasses());
99859
100279
  i0.ɵɵadvance();
99860
100280
  i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerNextStepsIconClasses());
@@ -99865,7 +100285,7 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
99865
100285
  i0.ɵɵadvance(2);
99866
100286
  i0.ɵɵproperty("viewMode", ctx.viewMode())("cards", ctx.genericCardData())("config", ctx.metricCardConfig);
99867
100287
  i0.ɵɵadvance();
99868
- i0.ɵɵconditional(ctx.showSearchModal() ? 65 : -1);
100288
+ i0.ɵɵconditional(ctx.showSearchModal() ? 66 : -1);
99869
100289
  } }, dependencies: [CommonModule, i1$1.NgClass, DashboardHeaderComponent, SearchModalComponent, JourneyProgressIndicatorComponent, ConfidenceLevelCardComponent, TooltipContainerComponent, ProfileAnalysisStatusSummaryComponent, ProfileAnalysisCardGridComponent], styles: [".animated-bubbles[_ngcontent-%COMP%]{background:linear-gradient(135deg,#3b82f60d,#06b6d40d)}.animated-bubbles.light-mode[_ngcontent-%COMP%]{background:linear-gradient(135deg,#3b82f608,#06b6d408)}.animated-bubbles[_ngcontent-%COMP%]:before, .animated-bubbles[_ngcontent-%COMP%]:after{content:\"\";position:absolute;border-radius:50%;animation:_ngcontent-%COMP%_float 20s infinite ease-in-out}.animated-bubbles[_ngcontent-%COMP%]:before{width:500px;height:500px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);top:-250px;right:-250px;animation-delay:-5s}.animated-bubbles[_ngcontent-%COMP%]:after{width:400px;height:400px;background:radial-gradient(circle,rgba(6,182,212,.1) 0%,transparent 70%);bottom:-200px;left:-200px;animation-delay:-10s}@keyframes _ngcontent-%COMP%_float{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-50px) translate(50px)}50%{transform:translateY(-100px) translate(-50px)}75%{transform:translateY(-50px) translate(-100px)}}@keyframes _ngcontent-%COMP%_review-pulse{0%,to{box-shadow:0 0 #3b82f680}50%{box-shadow:0 0 0 8px #3b82f600}}.animate-review-pulse[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_review-pulse 2s ease-in-out infinite}@keyframes _ngcontent-%COMP%_status-pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.status-badge[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_status-pop .3s ease-out;transition:all .3s ease-out}@keyframes _ngcontent-%COMP%_alert-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.animate-alert-pulse[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_alert-pulse 1.5s ease-in-out infinite}"], data: { animation: [
99870
100290
  trigger('statusBadge', [
99871
100291
  transition(':enter', [
@@ -99904,181 +100324,191 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
99904
100324
  animate('400ms cubic-bezier(0.34, 1.56, 0.64, 1)', style({ opacity: 1, transform: 'scale(1)' }))
99905
100325
  ])
99906
100326
  ])
99907
- ], template: `
99908
- <div [class.min-h-screen]="!embedded()" class="relative">
99909
- <div class="animated-bubbles" [class.light-mode]="isLightMode()"
99910
- style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
99911
-
99912
- <!-- Scroll Progress Bar -->
99913
- <div class="fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30">
99914
- <div
99915
- [style.width.%]="scrollProgress()"
99916
- [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400'"
99917
- class="h-full transition-all duration-200 ease-out">
99918
- </div>
99919
- </div>
99920
-
99921
- <div class="relative z-[51]">
99922
- <!-- Dashboard Header -->
99923
- <symphiq-dashboard-header
99924
- [title]="'Funnel Metrics'"
99925
- [subtitle]="'Provide context for funnel stage metrics and performance'"
99926
- [viewMode]="viewMode()"
99927
- [showControls]="false"
99928
- ></symphiq-dashboard-header>
99929
-
99930
- <!-- Journey Progress Indicator (Simplified View Only) -->
99931
- @if (isSimplifiedView()) {
99932
- <symphiq-journey-progress-indicator
99933
- [viewMode]="viewMode()"
99934
- [currentStepId]="currentStepId()"
99935
- [showNextStepAction]="forDemo() || allMetricsAnalysisReviewed()"
99936
- [forDemo]="forDemo()"
99937
- [maxAccessibleStepId]="maxAccessibleStepId()"
99938
- (nextStepClick)="nextStepClick.emit()"
99939
- (stepClick)="stepClick.emit($event)"
99940
- />
99941
- }
99942
-
99943
- <!-- Main Content -->
99944
- <div class="container mx-auto px-4 sm:px-6 lg:px-8 py-8 md:py-12 relative z-10">
99945
- <!-- Welcome Banner -->
99946
- <div [ngClass]="getWelcomeBannerContainerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
99947
- <div class="px-8 py-8">
99948
- <div class="flex items-start gap-6">
99949
- <div [ngClass]="getWelcomeBannerIconClasses()"
99950
- class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
99951
- <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
99952
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
99953
- 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"></path>
99954
- </svg>
99955
- </div>
99956
-
99957
- <div class="flex-1">
99958
- <h2 [ngClass]="getWelcomeBannerTitleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
99959
- Welcome to Your Metric Analyses
99960
- </h2>
99961
-
99962
- <!-- Metric & Analysis Status Summary -->
99963
- @if (profileMetrics() !== undefined || profileAnalyses() !== undefined) {
99964
- <symphiq-profile-analysis-status-summary
99965
- [viewMode]="viewMode()"
99966
- [profileStatusCounts]="metricStatusCounts()"
99967
- [analysisStatusCounts]="analysisStatusCounts()"
99968
- [allReviewed]="allMetricsAnalysisReviewed()"
99969
- [hasItems]="metricCards().length > 0"
99970
- [config]="metricStatusConfig"
99971
- />
99972
- }
99973
-
99974
- <!-- Description and Confidence Card in Responsive Layout -->
99975
- <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
99976
- <!-- Description (takes 2 columns on large screens) -->
99977
- <div class="lg:col-span-2 space-y-3">
99978
- <p [ngClass]="getWelcomeBannerTextClasses()" class="text-base leading-relaxed">
99979
- Metric Analyses provide the deepest level of context for your conversion funnel. Each funnel stage metric—from Views and Product Views to Add to Carts, Checkouts, and Purchases—has unique patterns, behaviors, and optimization opportunities. By answering targeted questions about each metric, you help Symphiq understand the specific factors influencing performance at every conversion point.
99980
- </p>
99981
- <p [ngClass]="getWelcomeBannerTextClasses()" class="text-base leading-relaxed">
99982
- <strong class="font-semibold">Why this matters:</strong> This granular context ensures recommendations address the precise bottlenecks in your customer journey. Rather than generic funnel advice, you'll receive metric-specific strategies grounded in your actual traffic patterns, customer behavior, content types, and marketing tactics. This completes the full picture—from business strategy to operational execution to performance reality.
99983
- </p>
99984
- </div>
99985
-
99986
- <!-- Confidence Card (takes 1 column on large screens, full width on mobile) -->
99987
- <div class="lg:col-span-1">
99988
- <symphiq-confidence-level-card
99989
- [viewMode]="viewMode()"
99990
- currentStepId="metric-analysis"
99991
- [currentMetric]="getCurrentMetricForConfidence()"
99992
- />
99993
- </div>
99994
- </div>
99995
-
99996
- <div [ngClass]="getWelcomeBannerHighlightClasses()"
99997
- class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
99998
- <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="getWelcomeBannerHighlightIconClasses()"
99999
- fill="none" stroke="currentColor" viewBox="0 0 24 24">
100000
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100001
- d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
100002
- </svg>
100003
- <div class="flex-1">
100004
- <h3 [ngClass]="getWelcomeBannerHighlightTitleClasses()" class="font-bold text-lg mb-2">
100005
- What You'll See Below
100006
- </h3>
100007
- <ul [ngClass]="getWelcomeBannerHighlightListClasses()" class="space-y-2 text-sm">
100008
- <li class="flex items-start gap-2">
100009
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
100010
- <path fill-rule="evenodd"
100011
- 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"
100012
- clip-rule="evenodd"></path>
100013
- </svg>
100014
- <span><strong class="font-semibold">Funnel Stage Metrics</strong> — Each conversion point from Views through Revenue is represented with its own profile</span>
100015
- </li>
100016
- <li class="flex items-start gap-2">
100017
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
100018
- <path fill-rule="evenodd"
100019
- 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"
100020
- clip-rule="evenodd"></path>
100021
- </svg>
100022
- <span><strong class="font-semibold">Context Questions</strong> — Answer targeted questions about traffic sources, customer behavior, content types, and marketing activities for each metric</span>
100023
- </li>
100024
- <li class="flex items-start gap-2">
100025
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
100026
- <path fill-rule="evenodd"
100027
- 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"
100028
- clip-rule="evenodd"></path>
100029
- </svg>
100030
- <span><strong class="font-semibold">Performance Insights</strong> — Unlock analysis showing what's working, what's not, and specific improvement opportunities for each stage</span>
100031
- </li>
100032
- </ul>
100033
- </div>
100034
- </div>
100035
-
100036
- <div [ngClass]="getWelcomeBannerNextStepsClasses()"
100037
- class="mt-6 p-5 rounded-xl border flex items-start gap-4">
100038
- <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="getWelcomeBannerNextStepsIconClasses()"
100039
- fill="none" stroke="currentColor" viewBox="0 0 24 24">
100040
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100041
- d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
100042
- </svg>
100043
- <div class="flex-1">
100044
- <h3 [ngClass]="getWelcomeBannerNextStepsTitleClasses()" class="font-bold text-lg mb-2">
100045
- Complete Your Profile
100046
- </h3>
100047
- <p [ngClass]="getWelcomeBannerNextStepsTextClasses()" class="text-sm leading-relaxed">
100048
- You've reached the final onboarding step! Once all metrics are profiled, you'll have complete context coverage. Symphiq will then generate unified recommendations that connect business goals to specific funnel improvements—showing exactly what to do next to drive growth.
100049
- </p>
100050
- </div>
100051
- </div>
100052
- </div>
100053
- </div>
100054
- </div>
100055
- </div>
100056
-
100057
- <!-- Metrics Grid -->
100058
- <symphiq-profile-analysis-card-grid
100059
- [viewMode]="viewMode()"
100060
- [cards]="genericCardData()"
100061
- [config]="metricCardConfig"
100062
- (cardClick)="handleCardClick($event)"
100063
- />
100064
- </div>
100065
- </div>
100066
-
100067
- <!-- Search Modal -->
100068
- @if (showSearchModal()) {
100069
- <symphiq-search-modal
100070
- (closeModal)="handleCloseSearchModal()"
100071
- ></symphiq-search-modal>
100072
- }
100073
-
100074
- <symphiq-tooltip-container/>
100075
- </div>
100327
+ ], template: `
100328
+ <div [class.min-h-screen]="!embedded()" class="relative">
100329
+ <div class="animated-bubbles" [class.light-mode]="isLightMode()"
100330
+ style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
100331
+
100332
+ <!-- Scroll Progress Bar -->
100333
+ <div class="fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30">
100334
+ <div
100335
+ [style.width.%]="scrollProgress()"
100336
+ [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400'"
100337
+ class="h-full transition-all duration-200 ease-out">
100338
+ </div>
100339
+ </div>
100340
+
100341
+ <div class="relative z-[51]">
100342
+ <!-- Dashboard Header -->
100343
+ <symphiq-dashboard-header
100344
+ [title]="'Funnel Metrics'"
100345
+ [subtitle]="'Provide context for funnel stage metrics and performance'"
100346
+ [viewMode]="viewMode()"
100347
+ [showControls]="false"
100348
+ ></symphiq-dashboard-header>
100349
+
100350
+ <!-- Journey Progress Indicator (Simplified View Only) -->
100351
+ @if (isSimplifiedView()) {
100352
+ <symphiq-journey-progress-indicator
100353
+ [viewMode]="viewMode()"
100354
+ [currentStepId]="currentStepId()"
100355
+ [showNextStepAction]="forDemo() || allMetricsAnalysisReviewed()"
100356
+ [forDemo]="forDemo()"
100357
+ [maxAccessibleStepId]="maxAccessibleStepId()"
100358
+ (nextStepClick)="nextStepClick.emit()"
100359
+ (stepClick)="stepClick.emit($event)"
100360
+ />
100361
+ }
100362
+
100363
+ <!-- Main Content -->
100364
+ <div class="container mx-auto px-4 sm:px-6 lg:px-8 py-8 md:py-12 relative z-10">
100365
+ <!-- Welcome Banner -->
100366
+ <div [ngClass]="getWelcomeBannerContainerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
100367
+ <div class="px-8 py-8">
100368
+ <div class="flex items-start gap-6">
100369
+ <div [ngClass]="getWelcomeBannerIconClasses()"
100370
+ class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
100371
+ <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
100372
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100373
+ 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"></path>
100374
+ </svg>
100375
+ </div>
100376
+
100377
+ <div class="flex-1">
100378
+ <h2 [ngClass]="getWelcomeBannerTitleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
100379
+ Welcome to Your Metric Analyses
100380
+ </h2>
100381
+
100382
+ <!-- Metric & Analysis Status Summary -->
100383
+ @if (profileMetrics() !== undefined || profileAnalyses() !== undefined) {
100384
+ <symphiq-profile-analysis-status-summary
100385
+ [viewMode]="viewMode()"
100386
+ [profileStatusCounts]="metricStatusCounts()"
100387
+ [analysisStatusCounts]="analysisStatusCounts()"
100388
+ [allReviewed]="allMetricsAnalysisReviewed()"
100389
+ [hasItems]="metricCards().length > 0"
100390
+ [config]="metricStatusConfig"
100391
+ />
100392
+ }
100393
+
100394
+ <!-- Description and Confidence Card in Responsive Layout -->
100395
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
100396
+ <!-- Description (takes 2 columns on large screens) -->
100397
+ <div class="lg:col-span-2 space-y-3">
100398
+ <p [ngClass]="getWelcomeBannerTextClasses()" class="text-base leading-relaxed">
100399
+ Metric Analyses provide the deepest level of context for your conversion funnel. Each funnel stage metric—from Views and Product Views to Add to Carts, Checkouts, and Purchases—has unique patterns, behaviors, and optimization opportunities. By answering targeted questions about each metric, you help Symphiq understand the specific factors influencing performance at every conversion point.
100400
+ </p>
100401
+ <p [ngClass]="getWelcomeBannerTextClasses()" class="text-base leading-relaxed">
100402
+ <strong class="font-semibold">Why this matters:</strong> This granular context ensures recommendations address the precise bottlenecks in your customer journey. Rather than generic funnel advice, you'll receive metric-specific strategies grounded in your actual traffic patterns, customer behavior, content types, and marketing tactics. This completes the full picture—from business strategy to operational execution to performance reality.
100403
+ </p>
100404
+ </div>
100405
+
100406
+ <!-- Confidence Card (takes 1 column on large screens, full width on mobile) -->
100407
+ <div class="lg:col-span-1">
100408
+ <symphiq-confidence-level-card
100409
+ [viewMode]="viewMode()"
100410
+ currentStepId="metric-analysis"
100411
+ [currentMetric]="getCurrentMetricForConfidence()"
100412
+ />
100413
+ </div>
100414
+ </div>
100415
+
100416
+ <div [ngClass]="getWelcomeBannerHighlightClasses()"
100417
+ class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
100418
+ <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="getWelcomeBannerHighlightIconClasses()"
100419
+ fill="none" stroke="currentColor" viewBox="0 0 24 24">
100420
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100421
+ d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
100422
+ </svg>
100423
+ <div class="flex-1">
100424
+ <h3 [ngClass]="getWelcomeBannerHighlightTitleClasses()" class="font-bold text-lg mb-2">
100425
+ What You'll See Below
100426
+ </h3>
100427
+ <ul [ngClass]="getWelcomeBannerHighlightListClasses()" class="space-y-2 text-sm">
100428
+ <li class="flex items-start gap-2">
100429
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
100430
+ <path fill-rule="evenodd"
100431
+ 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"
100432
+ clip-rule="evenodd"></path>
100433
+ </svg>
100434
+ <span><strong class="font-semibold">Funnel Stage Metrics</strong> — Each conversion point from Views through Revenue is represented with its own profile</span>
100435
+ </li>
100436
+ <li class="flex items-start gap-2">
100437
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
100438
+ <path fill-rule="evenodd"
100439
+ 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"
100440
+ clip-rule="evenodd"></path>
100441
+ </svg>
100442
+ <span><strong class="font-semibold">Context Questions</strong> — Answer targeted questions about traffic sources, customer behavior, content types, and marketing activities for each metric</span>
100443
+ </li>
100444
+ <li class="flex items-start gap-2">
100445
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
100446
+ <path fill-rule="evenodd"
100447
+ 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"
100448
+ clip-rule="evenodd"></path>
100449
+ </svg>
100450
+ <span><strong class="font-semibold">Performance Insights</strong> — Unlock analysis showing what's working, what's not, and specific improvement opportunities for each stage</span>
100451
+ </li>
100452
+ @if (formattedAnalysisDateRange()) {
100453
+ <li class="flex items-start gap-2">
100454
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
100455
+ <path fill-rule="evenodd"
100456
+ 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"
100457
+ clip-rule="evenodd"></path>
100458
+ </svg>
100459
+ <span><strong class="font-semibold">Analysis Snapshot</strong> This analysis represents a snapshot of your business taken between {{ formattedAnalysisDateRange() }}</span>
100460
+ </li>
100461
+ }
100462
+ </ul>
100463
+ </div>
100464
+ </div>
100465
+
100466
+ <div [ngClass]="getWelcomeBannerNextStepsClasses()"
100467
+ class="mt-6 p-5 rounded-xl border flex items-start gap-4">
100468
+ <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="getWelcomeBannerNextStepsIconClasses()"
100469
+ fill="none" stroke="currentColor" viewBox="0 0 24 24">
100470
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100471
+ d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
100472
+ </svg>
100473
+ <div class="flex-1">
100474
+ <h3 [ngClass]="getWelcomeBannerNextStepsTitleClasses()" class="font-bold text-lg mb-2">
100475
+ Complete Your Profile
100476
+ </h3>
100477
+ <p [ngClass]="getWelcomeBannerNextStepsTextClasses()" class="text-sm leading-relaxed">
100478
+ You've reached the final onboarding step! Once all metrics are profiled, you'll have complete context coverage. Symphiq will then generate unified recommendations that connect business goals to specific funnel improvements—showing exactly what to do next to drive growth.
100479
+ </p>
100480
+ </div>
100481
+ </div>
100482
+ </div>
100483
+ </div>
100484
+ </div>
100485
+ </div>
100486
+
100487
+ <!-- Metrics Grid -->
100488
+ <symphiq-profile-analysis-card-grid
100489
+ [viewMode]="viewMode()"
100490
+ [cards]="genericCardData()"
100491
+ [config]="metricCardConfig"
100492
+ (cardClick)="handleCardClick($event)"
100493
+ />
100494
+ </div>
100495
+ </div>
100496
+
100497
+ <!-- Search Modal -->
100498
+ @if (showSearchModal()) {
100499
+ <symphiq-search-modal
100500
+ (closeModal)="handleCloseSearchModal()"
100501
+ ></symphiq-search-modal>
100502
+ }
100503
+
100504
+ <symphiq-tooltip-container/>
100505
+ </div>
100076
100506
  `, styles: [".animated-bubbles{background:linear-gradient(135deg,#3b82f60d,#06b6d40d)}.animated-bubbles.light-mode{background:linear-gradient(135deg,#3b82f608,#06b6d408)}.animated-bubbles:before,.animated-bubbles:after{content:\"\";position:absolute;border-radius:50%;animation:float 20s infinite ease-in-out}.animated-bubbles:before{width:500px;height:500px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);top:-250px;right:-250px;animation-delay:-5s}.animated-bubbles:after{width:400px;height:400px;background:radial-gradient(circle,rgba(6,182,212,.1) 0%,transparent 70%);bottom:-200px;left:-200px;animation-delay:-10s}@keyframes float{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-50px) translate(50px)}50%{transform:translateY(-100px) translate(-50px)}75%{transform:translateY(-50px) translate(-100px)}}@keyframes review-pulse{0%,to{box-shadow:0 0 #3b82f680}50%{box-shadow:0 0 0 8px #3b82f600}}.animate-review-pulse{animation:review-pulse 2s ease-in-out infinite}@keyframes status-pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.status-badge{animation:status-pop .3s ease-out;transition:all .3s ease-out}@keyframes alert-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.animate-alert-pulse{animation:alert-pulse 1.5s ease-in-out infinite}\n"] }]
100077
100507
  }], null, { requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], createdDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "createdDate", required: false }] }], embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], profileAnalyses: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileAnalyses", required: false }] }], profileMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileMetrics", required: false }] }], itemStatusesProfileMetric: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatusesProfileMetric", required: false }] }], itemStatusesProfileAnalysis: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatusesProfileAnalysis", required: false }] }], profile: [{ type: i0.Input, args: [{ isSignal: true, alias: "profile", required: false }] }], funnelAnalysis: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelAnalysis", required: false }] }], funnelMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelMetrics", required: false }] }], account: [{ type: i0.Input, args: [{ isSignal: true, alias: "account", required: false }] }], profileMetricQuestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileMetricQuestions", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], currentUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentUser", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], displayMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayMode", required: false }] }], currentStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentStepId", required: false }] }], navigateToProfileMetric: [{ type: i0.Output, args: ["navigateToProfileMetric"] }], navigateToProfileAnalysis: [{ type: i0.Output, args: ["navigateToProfileAnalysis"] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], answerMetricProfileQuestions: [{ type: i0.Output, args: ["answerMetricProfileQuestions"] }], continueMetricProfileQuestions: [{ type: i0.Output, args: ["continueMetricProfileQuestions"] }], profileQuestionAnswerSave: [{ type: i0.Output, args: ["profileQuestionAnswerSave"] }], metricProfileAdminAnswerAction: [{ type: i0.Output, args: ["metricProfileAdminAnswerAction"] }], onScroll: [{
100078
100508
  type: HostListener,
100079
100509
  args: ['window:scroll', ['$event']]
100080
100510
  }] }); })();
100081
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileMetricsAnalysesDashboardComponent, { className: "SymphiqProfileMetricsAnalysesDashboardComponent", filePath: "lib/components/profile-analyses-metrics-dashboard/symphiq-profile-metrics-analyses-dashboard.component.ts", lineNumber: 366 }); })();
100511
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileMetricsAnalysesDashboardComponent, { className: "SymphiqProfileMetricsAnalysesDashboardComponent", filePath: "lib/components/profile-analyses-metrics-dashboard/symphiq-profile-metrics-analyses-dashboard.component.ts", lineNumber: 376 }); })();
100082
100512
 
100083
100513
  const _c0$6 = () => [];
100084
100514
  function SymphiqProfileMetricDashboardComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
@@ -100377,9 +100807,10 @@ function SymphiqProfileAnalysisMetricDashboardComponent_Conditional_7_Template(r
100377
100807
  i0.ɵɵelementEnd();
100378
100808
  i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisMetricDashboardComponent_Conditional_7_Conditional_2_Template, 8, 4, "div", 24);
100379
100809
  } if (rf & 2) {
100810
+ let tmp_5_0;
100380
100811
  const ctx_r1 = i0.ɵɵnextContext();
100381
100812
  i0.ɵɵadvance();
100382
- i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("metricName", ctx_r1.metricName())("isOnboarded", true);
100813
+ i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("metricName", ctx_r1.metricName())("isOnboarded", true)("analysisDate", (tmp_5_0 = ctx_r1.profileAnalysis()) == null ? null : tmp_5_0.selfContentCompletedDate);
100383
100814
  i0.ɵɵadvance();
100384
100815
  i0.ɵɵconditional(ctx_r1.isLoading() ? 2 : -1);
100385
100816
  } }
@@ -101258,7 +101689,7 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
101258
101689
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.funnelModalComponent = _t.first);
101259
101690
  } }, hostBindings: function SymphiqProfileAnalysisMetricDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
101260
101691
  i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisMetricDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
101261
- } }, inputs: { viewMode: [1, "viewMode"], profileAnalysis: [1, "profileAnalysis"], funnelAnalysis: [1, "funnelAnalysis"], profile: [1, "profile"], isLoading: [1, "isLoading"], requestedByUser: [1, "requestedByUser"], embedded: [1, "embedded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], funnelMetric: [1, "funnelMetric"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"], pacingResponse: [1, "pacingResponse"], targets: [1, "targets"], trendUiData: [1, "trendUiData"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"] }, outputs: { nextStepClick: "nextStepClick", markAsReviewedClick: "markAsReviewedClick", viewMetricDetailsClick: "viewMetricDetailsClick" }, features: [i0.ɵɵNgOnChangesFeature], decls: 29, vars: 58, consts: [["funnelModalComponent", ""], [1, "relative", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate", "showControls"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "expandedRecommendationId", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed", "isLoading"], [3, "closed", "viewMode", "metricEnum", "metricData", "contributingMetrics", "pacingResponse", "trendChartData", "currencySymbol", "isOpen"], [1, "mb-12"], [3, "viewMode", "metricName", "isOnboarded"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "justify-center", "space-y-4"], ["size", "large", 3, "viewMode"], [1, "text-center"], [1, "text-lg", "font-semibold", "mb-1", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mb-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [3, "goals", "viewMode"], ["title", "Generating Your Metric Analysis", "subtitle", "We're analyzing your data to create your personalized analysis. It will appear when ready.", 3, "itemStatus", "viewMode"], [3, "viewMoreClick", "goals", "viewMode"], [3, "viewReportClick", "sections", "viewMode", "metricExecutiveSummary", "metricName", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], [3, "viewMode", "summary", "metricName", "allGoals"], [1, "space-y-8"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMetricDetailsClick", "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "flex-1"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [3, "visual", "viewMode"], [1, "w-full"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"]], template: function SymphiqProfileAnalysisMetricDashboardComponent_Template(rf, ctx) { if (rf & 1) {
101692
+ } }, inputs: { viewMode: [1, "viewMode"], profileAnalysis: [1, "profileAnalysis"], funnelAnalysis: [1, "funnelAnalysis"], profile: [1, "profile"], isLoading: [1, "isLoading"], requestedByUser: [1, "requestedByUser"], embedded: [1, "embedded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], funnelMetric: [1, "funnelMetric"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"], pacingResponse: [1, "pacingResponse"], targets: [1, "targets"], trendUiData: [1, "trendUiData"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"] }, outputs: { nextStepClick: "nextStepClick", markAsReviewedClick: "markAsReviewedClick", viewMetricDetailsClick: "viewMetricDetailsClick" }, features: [i0.ɵɵNgOnChangesFeature], decls: 29, vars: 58, consts: [["funnelModalComponent", ""], [1, "relative", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate", "showControls"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "expandedRecommendationId", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed", "isLoading"], [3, "closed", "viewMode", "metricEnum", "metricData", "contributingMetrics", "pacingResponse", "trendChartData", "currencySymbol", "isOpen"], [1, "mb-12"], [3, "viewMode", "metricName", "isOnboarded", "analysisDate"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "justify-center", "space-y-4"], ["size", "large", 3, "viewMode"], [1, "text-center"], [1, "text-lg", "font-semibold", "mb-1", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mb-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [3, "goals", "viewMode"], ["title", "Generating Your Metric Analysis", "subtitle", "We're analyzing your data to create your personalized analysis. It will appear when ready.", 3, "itemStatus", "viewMode"], [3, "viewMoreClick", "goals", "viewMode"], [3, "viewReportClick", "sections", "viewMode", "metricExecutiveSummary", "metricName", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], [3, "viewMode", "summary", "metricName", "allGoals"], [1, "space-y-8"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMetricDetailsClick", "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "flex-1"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [3, "visual", "viewMode"], [1, "w-full"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"]], template: function SymphiqProfileAnalysisMetricDashboardComponent_Template(rf, ctx) { if (rf & 1) {
101262
101693
  const _r1 = i0.ɵɵgetCurrentView();
101263
101694
  i0.ɵɵelementStart(0, "div", 1);
101264
101695
  i0.ɵɵelement(1, "div", 2);
@@ -101269,7 +101700,7 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
101269
101700
  i0.ɵɵlistener("searchClick", function SymphiqProfileAnalysisMetricDashboardComponent_Template_symphiq_dashboard_header_searchClick_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openSearch()); })("viewModeClick", function SymphiqProfileAnalysisMetricDashboardComponent_Template_symphiq_dashboard_header_viewModeClick_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openViewModeSwitcher()); });
101270
101701
  i0.ɵɵelementEnd();
101271
101702
  i0.ɵɵelementStart(6, "main", 6);
101272
- i0.ɵɵconditionalCreate(7, SymphiqProfileAnalysisMetricDashboardComponent_Conditional_7_Template, 3, 4);
101703
+ i0.ɵɵconditionalCreate(7, SymphiqProfileAnalysisMetricDashboardComponent_Conditional_7_Template, 3, 5);
101273
101704
  i0.ɵɵconditionalCreate(8, SymphiqProfileAnalysisMetricDashboardComponent_Conditional_8_Template, 2, 2);
101274
101705
  i0.ɵɵconditionalCreate(9, SymphiqProfileAnalysisMetricDashboardComponent_Conditional_9_Template, 3, 3);
101275
101706
  i0.ɵɵelementEnd();
@@ -101472,6 +101903,7 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
101472
101903
  [viewMode]="viewMode()"
101473
101904
  [metricName]="metricName()"
101474
101905
  [isOnboarded]="true"
101906
+ [analysisDate]="profileAnalysis()?.selfContentCompletedDate"
101475
101907
  />
101476
101908
  </div>
101477
101909
 
@@ -101797,7 +102229,7 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
101797
102229
  type: HostListener,
101798
102230
  args: ['window:scroll', ['$event']]
101799
102231
  }] }); })();
101800
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisMetricDashboardComponent, { className: "SymphiqProfileAnalysisMetricDashboardComponent", filePath: "lib/components/profile-analysis-metric-dashboard/symphiq-profile-analysis-metric-dashboard.component.ts", lineNumber: 514 }); })();
102232
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisMetricDashboardComponent, { className: "SymphiqProfileAnalysisMetricDashboardComponent", filePath: "lib/components/profile-analysis-metric-dashboard/symphiq-profile-analysis-metric-dashboard.component.ts", lineNumber: 515 }); })();
101801
102233
 
101802
102234
  const _forTrack0$4 = ($index, $item) => $item.id;
101803
102235
  function ShopProfileCategoryListComponent_For_2_Template(rf, ctx) { if (rf & 1) {