@eric-emg/symphiq-components 1.2.550 → 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.
- package/fesm2022/symphiq-components.mjs +1364 -815
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +56 -42
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/styles.css +7 -0
|
@@ -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
|
-
|
|
10770
|
-
|
|
10771
|
-
|
|
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
|
|
10781
|
-
i0.ɵɵelement(0, "symphiq-line-chart",
|
|
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
|
|
10787
|
-
i0.ɵɵelement(0, "symphiq-bar-chart",
|
|
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
|
|
10793
|
-
i0.ɵɵelement(0, "symphiq-pie-chart",
|
|
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
|
|
10799
|
-
i0.ɵɵelement(0, "symphiq-area-chart",
|
|
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
|
|
10805
|
-
i0.ɵɵconditionalCreate(0,
|
|
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
|
|
10811
|
-
i0.ɵɵelementStart(0, "div",
|
|
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:
|
|
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, "
|
|
10838
|
-
i0.ɵɵtext(
|
|
10885
|
+
i0.ɵɵelementStart(7, "div", 2)(8, "div", 7)(9, "h4", 8);
|
|
10886
|
+
i0.ɵɵtext(10);
|
|
10839
10887
|
i0.ɵɵelementEnd();
|
|
10840
|
-
i0.ɵɵ
|
|
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(
|
|
10843
|
-
i0.ɵɵdomTemplate(
|
|
10844
|
-
i0.ɵɵdefer(
|
|
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(
|
|
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.ɵɵ
|
|
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
|
-
<
|
|
10897
|
-
|
|
10898
|
-
|
|
10899
|
-
|
|
10900
|
-
|
|
10901
|
-
|
|
10902
|
-
|
|
10903
|
-
|
|
10904
|
-
|
|
10905
|
-
|
|
10906
|
-
|
|
10907
|
-
|
|
10908
|
-
|
|
10909
|
-
|
|
10910
|
-
|
|
10911
|
-
|
|
10912
|
-
|
|
10913
|
-
|
|
10914
|
-
|
|
10915
|
-
|
|
10916
|
-
|
|
10917
|
-
|
|
10918
|
-
|
|
10919
|
-
|
|
10920
|
-
|
|
10921
|
-
|
|
10922
|
-
|
|
10923
|
-
|
|
10924
|
-
|
|
10925
|
-
|
|
10926
|
-
|
|
10927
|
-
<symphiq-
|
|
10928
|
-
[chart]="chart()"
|
|
10929
|
-
[showAxisLabels]="false"
|
|
10930
|
-
[viewMode]="viewMode()" />
|
|
10931
|
-
} @else if (chart().chartType === ChartTypeEnum.
|
|
10932
|
-
<symphiq-
|
|
10933
|
-
[chart]="chart()"
|
|
10934
|
-
[
|
|
10935
|
-
|
|
10936
|
-
|
|
10937
|
-
|
|
10938
|
-
[
|
|
10939
|
-
[viewMode]="viewMode()" />
|
|
10940
|
-
}
|
|
10941
|
-
|
|
10942
|
-
|
|
10943
|
-
|
|
10944
|
-
[
|
|
10945
|
-
|
|
10946
|
-
|
|
10947
|
-
|
|
10948
|
-
|
|
10949
|
-
|
|
10950
|
-
|
|
10951
|
-
|
|
10952
|
-
|
|
10953
|
-
|
|
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:
|
|
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) {
|
|
@@ -16622,6 +16680,22 @@ class ModalComponent {
|
|
|
16622
16680
|
});
|
|
16623
16681
|
return;
|
|
16624
16682
|
}
|
|
16683
|
+
// Delegate 'metric' and 'metrics-list' types to Profile Analysis Modal when opened from main body
|
|
16684
|
+
// (not from within a funnel modal context)
|
|
16685
|
+
const funnelContextTypes = ['insight', 'chart', 'charts-list', 'funnel-strengths-list', 'funnel-weaknesses-list', 'funnel-strength-detail', 'funnel-weakness-detail'];
|
|
16686
|
+
const hasFunnelContext = state.previousState && funnelContextTypes.includes(state.previousState.type || '');
|
|
16687
|
+
if ((state.type === 'metric' || state.type === 'metrics-list') && !hasFunnelContext) {
|
|
16688
|
+
this.modalStateSignal.set({
|
|
16689
|
+
type: null,
|
|
16690
|
+
data: null,
|
|
16691
|
+
charts: [],
|
|
16692
|
+
openedAt: 0,
|
|
16693
|
+
previousState: null,
|
|
16694
|
+
expandedSection: undefined,
|
|
16695
|
+
navigationStack: []
|
|
16696
|
+
});
|
|
16697
|
+
return;
|
|
16698
|
+
}
|
|
16625
16699
|
const data = state.data || null;
|
|
16626
16700
|
// Recursively preserve the entire previousState chain
|
|
16627
16701
|
const buildPreviousState = (prevState) => {
|
|
@@ -25854,30 +25928,55 @@ function FunnelWelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (rf &
|
|
|
25854
25928
|
function FunnelWelcomeBannerComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
25855
25929
|
i0.ɵɵtext(0, " Welcome to Your Funnel Analysis ");
|
|
25856
25930
|
} }
|
|
25857
|
-
function
|
|
25931
|
+
function FunnelWelcomeBannerComponent_Conditional_48_Template(rf, ctx) { if (rf & 1) {
|
|
25932
|
+
i0.ɵɵelementStart(0, "li", 19);
|
|
25858
25933
|
i0.ɵɵnamespaceSVG();
|
|
25859
|
-
i0.ɵɵ
|
|
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());
|
|
25860
25947
|
} }
|
|
25861
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) {
|
|
25862
25953
|
i0.ɵɵnamespaceSVG();
|
|
25863
25954
|
i0.ɵɵelement(0, "path", 24);
|
|
25864
25955
|
} }
|
|
25865
|
-
function
|
|
25956
|
+
function FunnelWelcomeBannerComponent_Conditional_55_Template(rf, ctx) { if (rf & 1) {
|
|
25866
25957
|
i0.ɵɵtext(0, " Keep Your Analysis Current ");
|
|
25867
25958
|
} }
|
|
25868
|
-
function
|
|
25959
|
+
function FunnelWelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
|
|
25869
25960
|
i0.ɵɵtext(0, " Continue Your Journey ");
|
|
25870
25961
|
} }
|
|
25871
|
-
function
|
|
25962
|
+
function FunnelWelcomeBannerComponent_Conditional_58_Template(rf, ctx) { if (rf & 1) {
|
|
25872
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. ");
|
|
25873
25964
|
} }
|
|
25874
|
-
function
|
|
25965
|
+
function FunnelWelcomeBannerComponent_Conditional_59_Template(rf, ctx) { if (rf & 1) {
|
|
25875
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. ");
|
|
25876
25967
|
} }
|
|
25877
25968
|
class FunnelWelcomeBannerComponent {
|
|
25878
25969
|
constructor() {
|
|
25879
25970
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
25880
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" }] : []));
|
|
25881
25980
|
}
|
|
25882
25981
|
containerClasses() {
|
|
25883
25982
|
return this.viewMode() === ViewModeEnum.DARK
|
|
@@ -25945,7 +26044,7 @@ class FunnelWelcomeBannerComponent {
|
|
|
25945
26044
|
: 'text-slate-700';
|
|
25946
26045
|
}
|
|
25947
26046
|
static { this.ɵfac = function FunnelWelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FunnelWelcomeBannerComponent)(); }; }
|
|
25948
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FunnelWelcomeBannerComponent, selectors: [["symphiq-funnel-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], isOnboarded: [1, "isOnboarded"] }, decls:
|
|
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) {
|
|
25949
26048
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
25950
26049
|
i0.ɵɵnamespaceSVG();
|
|
25951
26050
|
i0.ɵɵelementStart(4, "svg", 4);
|
|
@@ -26007,18 +26106,20 @@ class FunnelWelcomeBannerComponent {
|
|
|
26007
26106
|
i0.ɵɵtext(46, "Your Journey");
|
|
26008
26107
|
i0.ɵɵelementEnd();
|
|
26009
26108
|
i0.ɵɵtext(47, " \u2014 Continue building context by answering questions about your shop setup and marketing focus areas for even more precise recommendations");
|
|
26010
|
-
i0.ɵɵelementEnd()()
|
|
26011
|
-
i0.ɵɵ
|
|
26109
|
+
i0.ɵɵelementEnd()();
|
|
26110
|
+
i0.ɵɵconditionalCreate(48, FunnelWelcomeBannerComponent_Conditional_48_Template, 7, 1, "li", 19);
|
|
26111
|
+
i0.ɵɵelementEnd()()();
|
|
26112
|
+
i0.ɵɵelementStart(49, "div", 22);
|
|
26012
26113
|
i0.ɵɵnamespaceSVG();
|
|
26013
|
-
i0.ɵɵelementStart(
|
|
26014
|
-
i0.ɵɵconditionalCreate(
|
|
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);
|
|
26015
26116
|
i0.ɵɵelementEnd();
|
|
26016
26117
|
i0.ɵɵnamespaceHTML();
|
|
26017
|
-
i0.ɵɵelementStart(
|
|
26018
|
-
i0.ɵɵconditionalCreate(
|
|
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);
|
|
26019
26120
|
i0.ɵɵelementEnd();
|
|
26020
|
-
i0.ɵɵelementStart(
|
|
26021
|
-
i0.ɵɵconditionalCreate(
|
|
26121
|
+
i0.ɵɵelementStart(57, "p", 26);
|
|
26122
|
+
i0.ɵɵconditionalCreate(58, FunnelWelcomeBannerComponent_Conditional_58_Template, 1, 0)(59, FunnelWelcomeBannerComponent_Conditional_59_Template, 1, 0);
|
|
26022
26123
|
i0.ɵɵelementEnd()()()()()()();
|
|
26023
26124
|
} if (rf & 2) {
|
|
26024
26125
|
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
@@ -26045,19 +26146,21 @@ class FunnelWelcomeBannerComponent {
|
|
|
26045
26146
|
i0.ɵɵadvance(2);
|
|
26046
26147
|
i0.ɵɵproperty("ngClass", ctx.highlightListClasses());
|
|
26047
26148
|
i0.ɵɵadvance(22);
|
|
26149
|
+
i0.ɵɵconditional(ctx.formattedAnalysisDate() ? 48 : -1);
|
|
26150
|
+
i0.ɵɵadvance();
|
|
26048
26151
|
i0.ɵɵproperty("ngClass", ctx.nextStepsBoxClasses());
|
|
26049
26152
|
i0.ɵɵadvance();
|
|
26050
26153
|
i0.ɵɵproperty("ngClass", ctx.nextStepsIconClasses());
|
|
26051
26154
|
i0.ɵɵadvance();
|
|
26052
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
26155
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 51 : 52);
|
|
26053
26156
|
i0.ɵɵadvance(3);
|
|
26054
26157
|
i0.ɵɵproperty("ngClass", ctx.nextStepsTitleClasses());
|
|
26055
26158
|
i0.ɵɵadvance();
|
|
26056
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
26159
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 55 : 56);
|
|
26057
26160
|
i0.ɵɵadvance(2);
|
|
26058
26161
|
i0.ɵɵproperty("ngClass", ctx.nextStepsTextClasses());
|
|
26059
26162
|
i0.ɵɵadvance();
|
|
26060
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
26163
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 58 : 59);
|
|
26061
26164
|
} }, dependencies: [CommonModule, i1$1.NgClass, ConfidenceLevelCardComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
26062
26165
|
}
|
|
26063
26166
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FunnelWelcomeBannerComponent, [{
|
|
@@ -26134,6 +26237,14 @@ class FunnelWelcomeBannerComponent {
|
|
|
26134
26237
|
</svg>
|
|
26135
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>
|
|
26136
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
|
+
}
|
|
26137
26248
|
</ul>
|
|
26138
26249
|
</div>
|
|
26139
26250
|
</div>
|
|
@@ -26169,18 +26280,35 @@ class FunnelWelcomeBannerComponent {
|
|
|
26169
26280
|
</div>
|
|
26170
26281
|
`
|
|
26171
26282
|
}]
|
|
26172
|
-
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }] }); })();
|
|
26173
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelWelcomeBannerComponent, { className: "FunnelWelcomeBannerComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-welcome-banner.component.ts", lineNumber:
|
|
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 }); })();
|
|
26174
26285
|
|
|
26175
26286
|
const _c0$18 = [[["", "slot", "overall-performance"]], [["", "slot", "performance-metrics"]], [["", "slot", "performance-breakdowns"]], [["", "slot", "competitive-intelligence"]]];
|
|
26176
26287
|
const _c1$H = ["[slot=overall-performance]", "[slot=performance-metrics]", "[slot=performance-breakdowns]", "[slot=competitive-intelligence]"];
|
|
26177
26288
|
class CollapsibleFunnelSectionGroupComponent {
|
|
26178
26289
|
constructor() {
|
|
26179
26290
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
26291
|
+
this.storageKey = input('collapsible-funnel-section-group', ...(ngDevMode ? [{ debugName: "storageKey" }] : []));
|
|
26292
|
+
this.router = inject(Router);
|
|
26293
|
+
this.routerSubscription = null;
|
|
26180
26294
|
this.expandedSections = signal([], ...(ngDevMode ? [{ debugName: "expandedSections" }] : []));
|
|
26181
26295
|
}
|
|
26182
26296
|
ngOnInit() {
|
|
26183
|
-
this.
|
|
26297
|
+
const savedState = this.loadExpandedState();
|
|
26298
|
+
if (savedState && savedState.length === 4) {
|
|
26299
|
+
this.expandedSections.set(savedState);
|
|
26300
|
+
}
|
|
26301
|
+
else {
|
|
26302
|
+
this.expandedSections.set(new Array(4).fill(false));
|
|
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();
|
|
26184
26312
|
}
|
|
26185
26313
|
toggleSection(index) {
|
|
26186
26314
|
const willBeExpanded = !this.expandedSections()[index];
|
|
@@ -26189,6 +26317,7 @@ class CollapsibleFunnelSectionGroupComponent {
|
|
|
26189
26317
|
newSections[index] = !newSections[index];
|
|
26190
26318
|
return newSections;
|
|
26191
26319
|
});
|
|
26320
|
+
this.saveExpandedState();
|
|
26192
26321
|
if (willBeExpanded) {
|
|
26193
26322
|
setTimeout(() => {
|
|
26194
26323
|
const sectionIds = ['overall', 'metrics', 'breakdowns', 'competitive'];
|
|
@@ -26201,6 +26330,31 @@ class CollapsibleFunnelSectionGroupComponent {
|
|
|
26201
26330
|
}, 50);
|
|
26202
26331
|
}
|
|
26203
26332
|
}
|
|
26333
|
+
saveExpandedState() {
|
|
26334
|
+
try {
|
|
26335
|
+
localStorage.setItem(this.storageKey(), JSON.stringify(this.expandedSections()));
|
|
26336
|
+
}
|
|
26337
|
+
catch {
|
|
26338
|
+
}
|
|
26339
|
+
}
|
|
26340
|
+
loadExpandedState() {
|
|
26341
|
+
try {
|
|
26342
|
+
const saved = localStorage.getItem(this.storageKey());
|
|
26343
|
+
if (saved) {
|
|
26344
|
+
return JSON.parse(saved);
|
|
26345
|
+
}
|
|
26346
|
+
}
|
|
26347
|
+
catch {
|
|
26348
|
+
}
|
|
26349
|
+
return null;
|
|
26350
|
+
}
|
|
26351
|
+
clearExpandedState() {
|
|
26352
|
+
try {
|
|
26353
|
+
localStorage.removeItem(this.storageKey());
|
|
26354
|
+
}
|
|
26355
|
+
catch {
|
|
26356
|
+
}
|
|
26357
|
+
}
|
|
26204
26358
|
containerClasses() {
|
|
26205
26359
|
return this.viewMode() === ViewModeEnum.DARK
|
|
26206
26360
|
? 'bg-slate-800/40 border-slate-700/50'
|
|
@@ -26304,7 +26458,7 @@ class CollapsibleFunnelSectionGroupComponent {
|
|
|
26304
26458
|
: 'border-slate-200';
|
|
26305
26459
|
}
|
|
26306
26460
|
static { this.ɵfac = function CollapsibleFunnelSectionGroupComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CollapsibleFunnelSectionGroupComponent)(); }; }
|
|
26307
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollapsibleFunnelSectionGroupComponent, selectors: [["symphiq-collapsible-funnel-section-group"]], inputs: { viewMode: [1, "viewMode"] }, ngContentSelectors: _c1$H, decls: 90, vars: 58, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "mb-6", "p-4", "rounded-xl", "border", "flex", "items-start", "gap-3", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "font-semibold", "text-sm", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "space-y-3"], [1, "rounded-xl", "border", "overflow-hidden", "transition-all", "duration-200", 3, "id", "ngClass"], ["type", "button", 1, "cursor-pointer", "w-full", "px-5", "py-4", "flex", "items-center", "justify-between", "gap-4", "text-left", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-3", "flex-1", "min-w-0"], [1, "p-2", "rounded-lg", "flex-shrink-0", "transition-colors", "duration-200", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"], [1, "flex-1", "min-w-0"], [1, "font-semibold", "transition-colors", "duration-200", 3, "ngClass"], [1, "text-sm", "mt-0.5", "transition-colors", "duration-200", 3, "ngClass"], [1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-200", 3, "ngClass"], ["stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden"], [1, "border-t", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"]], template: function CollapsibleFunnelSectionGroupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
26461
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollapsibleFunnelSectionGroupComponent, selectors: [["symphiq-collapsible-funnel-section-group"]], inputs: { viewMode: [1, "viewMode"], storageKey: [1, "storageKey"] }, ngContentSelectors: _c1$H, decls: 90, vars: 58, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "mb-6", "p-4", "rounded-xl", "border", "flex", "items-start", "gap-3", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "font-semibold", "text-sm", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "space-y-3"], [1, "rounded-xl", "border", "overflow-hidden", "transition-all", "duration-200", 3, "id", "ngClass"], ["type", "button", 1, "cursor-pointer", "w-full", "px-5", "py-4", "flex", "items-center", "justify-between", "gap-4", "text-left", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-3", "flex-1", "min-w-0"], [1, "p-2", "rounded-lg", "flex-shrink-0", "transition-colors", "duration-200", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"], [1, "flex-1", "min-w-0"], [1, "font-semibold", "transition-colors", "duration-200", 3, "ngClass"], [1, "text-sm", "mt-0.5", "transition-colors", "duration-200", 3, "ngClass"], [1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-200", 3, "ngClass"], ["stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden"], [1, "border-t", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"]], template: function CollapsibleFunnelSectionGroupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
26308
26462
|
i0.ɵɵprojectionDef(_c0$18);
|
|
26309
26463
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4);
|
|
26310
26464
|
i0.ɵɵnamespaceSVG();
|
|
@@ -26717,8 +26871,8 @@ class CollapsibleFunnelSectionGroupComponent {
|
|
|
26717
26871
|
</div>
|
|
26718
26872
|
`
|
|
26719
26873
|
}]
|
|
26720
|
-
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
|
|
26721
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleFunnelSectionGroupComponent, { className: "CollapsibleFunnelSectionGroupComponent", filePath: "lib/components/funnel-analysis-dashboard/collapsible-funnel-section-group.component.ts", lineNumber:
|
|
26874
|
+
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], storageKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "storageKey", required: false }] }] }); })();
|
|
26875
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleFunnelSectionGroupComponent, { className: "CollapsibleFunnelSectionGroupComponent", filePath: "lib/components/funnel-analysis-dashboard/collapsible-funnel-section-group.component.ts", lineNumber: 222 }); })();
|
|
26722
26876
|
|
|
26723
26877
|
function ViewModeSwitcherModalComponent_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
26724
26878
|
i0.ɵɵelementStart(0, "div", 11)(1, "div", 13);
|
|
@@ -46425,9 +46579,11 @@ class MarkAsReviewedFooterComponent {
|
|
|
46425
46579
|
this.reviewStatus = input(...(ngDevMode ? [undefined, { debugName: "reviewStatus" }] : []));
|
|
46426
46580
|
this.selfContentStatus = input.required(...(ngDevMode ? [{ debugName: "selfContentStatus" }] : []));
|
|
46427
46581
|
this.isMarkingAsReviewed = input(false, ...(ngDevMode ? [{ debugName: "isMarkingAsReviewed" }] : []));
|
|
46582
|
+
this.isLoading = input.required(...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
46428
46583
|
this.markAsReviewedClick = output();
|
|
46429
46584
|
this.shouldShowFooter = computed(() => {
|
|
46430
|
-
return this.
|
|
46585
|
+
return !this.isLoading() &&
|
|
46586
|
+
this.selfContentStatus() === AiDynamicContentStatusEnum.GENERATED &&
|
|
46431
46587
|
this.reviewStatus() === ProfileAnalysisReviewStatusEnum.NOT_REVIEWED;
|
|
46432
46588
|
}, ...(ngDevMode ? [{ debugName: "shouldShowFooter" }] : []));
|
|
46433
46589
|
this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
|
|
@@ -46440,7 +46596,7 @@ class MarkAsReviewedFooterComponent {
|
|
|
46440
46596
|
this.markAsReviewedClick.emit();
|
|
46441
46597
|
}
|
|
46442
46598
|
static { this.ɵfac = function MarkAsReviewedFooterComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MarkAsReviewedFooterComponent)(); }; }
|
|
46443
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkAsReviewedFooterComponent, selectors: [["symphiq-mark-as-reviewed-footer"]], inputs: { viewMode: [1, "viewMode"], reviewStatus: [1, "reviewStatus"], selfContentStatus: [1, "selfContentStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"] }, outputs: { markAsReviewedClick: "markAsReviewedClick" }, decls: 1, vars: 1, consts: [[1, "fixed", "bottom-0", "left-0", "right-0", "z-[100]", "border-t", "backdrop-blur-lg", 3, "ngClass"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], ["type", "button", 1, "w-full", "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "flex", "items-center", "justify-center", "gap-3", "shadow-2xl", "group", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "animate-spin"], ["cx", "12", "cy", "12", "r", "10", "stroke", "currentColor", "stroke-width", "4", 1, "opacity-25"], ["fill", "currentColor", "d", "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z", 1, "opacity-75"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-200", "group-hover:translate-x-1"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function MarkAsReviewedFooterComponent_Template(rf, ctx) { if (rf & 1) {
|
|
46599
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkAsReviewedFooterComponent, selectors: [["symphiq-mark-as-reviewed-footer"]], inputs: { viewMode: [1, "viewMode"], reviewStatus: [1, "reviewStatus"], selfContentStatus: [1, "selfContentStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"], isLoading: [1, "isLoading"] }, outputs: { markAsReviewedClick: "markAsReviewedClick" }, decls: 1, vars: 1, consts: [[1, "fixed", "bottom-0", "left-0", "right-0", "z-[100]", "border-t", "backdrop-blur-lg", 3, "ngClass"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], ["type", "button", 1, "w-full", "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "flex", "items-center", "justify-center", "gap-3", "shadow-2xl", "group", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "animate-spin"], ["cx", "12", "cy", "12", "r", "10", "stroke", "currentColor", "stroke-width", "4", 1, "opacity-25"], ["fill", "currentColor", "d", "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z", 1, "opacity-75"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-200", "group-hover:translate-x-1"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function MarkAsReviewedFooterComponent_Template(rf, ctx) { if (rf & 1) {
|
|
46444
46600
|
i0.ɵɵconditionalCreate(0, MarkAsReviewedFooterComponent_Conditional_0_Template, 5, 4, "div", 0);
|
|
46445
46601
|
} if (rf & 2) {
|
|
46446
46602
|
i0.ɵɵconditional(ctx.shouldShowFooter() ? 0 : -1);
|
|
@@ -46492,7 +46648,7 @@ class MarkAsReviewedFooterComponent {
|
|
|
46492
46648
|
}
|
|
46493
46649
|
`
|
|
46494
46650
|
}]
|
|
46495
|
-
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], reviewStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "reviewStatus", required: false }] }], selfContentStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "selfContentStatus", required: true }] }], isMarkingAsReviewed: [{ type: i0.Input, args: [{ isSignal: true, alias: "isMarkingAsReviewed", required: false }] }], markAsReviewedClick: [{ type: i0.Output, args: ["markAsReviewedClick"] }] }); })();
|
|
46651
|
+
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], reviewStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "reviewStatus", required: false }] }], selfContentStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "selfContentStatus", required: true }] }], isMarkingAsReviewed: [{ type: i0.Input, args: [{ isSignal: true, alias: "isMarkingAsReviewed", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: true }] }], markAsReviewedClick: [{ type: i0.Output, args: ["markAsReviewedClick"] }] }); })();
|
|
46496
46652
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MarkAsReviewedFooterComponent, { className: "MarkAsReviewedFooterComponent", filePath: "lib/components/shared/mark-as-reviewed-footer.component.ts", lineNumber: 50 }); })();
|
|
46497
46653
|
|
|
46498
46654
|
function SearchButtonComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -47378,12 +47534,13 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_17_Template(rf, ctx
|
|
|
47378
47534
|
i0.ɵɵconditionalCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_17_Conditional_14_Template, 2, 6, "div", 56);
|
|
47379
47535
|
i0.ɵɵelementEnd()()()();
|
|
47380
47536
|
} if (rf & 2) {
|
|
47537
|
+
let tmp_6_0;
|
|
47381
47538
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
47382
47539
|
i0.ɵɵconditional(!ctx_r2.isOnboarded() ? 0 : -1);
|
|
47383
47540
|
i0.ɵɵadvance();
|
|
47384
47541
|
i0.ɵɵclassProp("pb-32", ctx_r2.shouldShowReviewFooter());
|
|
47385
47542
|
i0.ɵɵadvance(3);
|
|
47386
|
-
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);
|
|
47387
47544
|
i0.ɵɵadvance();
|
|
47388
47545
|
i0.ɵɵconditional(ctx_r2.showKeyInsights() ? 5 : -1);
|
|
47389
47546
|
i0.ɵɵadvance();
|
|
@@ -49277,7 +49434,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
49277
49434
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dashboardContainer = _t.first);
|
|
49278
49435
|
} }, hostBindings: function SymphiqFunnelAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
49279
49436
|
i0.ɵɵlistener("scroll", function SymphiqFunnelAnalysisDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
|
|
49280
|
-
} }, 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: 56, 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"], [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) {
|
|
49281
49438
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
49282
49439
|
i0.ɵɵelementStart(0, "div", 1, 0);
|
|
49283
49440
|
i0.ɵɵelement(2, "div", 2);
|
|
@@ -49298,7 +49455,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
49298
49455
|
i0.ɵɵconditionalCreate(12, SymphiqFunnelAnalysisDashboardComponent_Conditional_12_Template, 16, 8, "div", 10);
|
|
49299
49456
|
i0.ɵɵconditionalCreate(13, SymphiqFunnelAnalysisDashboardComponent_Conditional_13_Template, 1, 4, "symphiq-floating-toc", 11);
|
|
49300
49457
|
i0.ɵɵconditionalCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_14_Template, 6, 5, "div", 12);
|
|
49301
|
-
i0.ɵɵconditionalCreate(15, SymphiqFunnelAnalysisDashboardComponent_Conditional_15_Template, 2, 1, "div", 13)(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_16_Template, 2, 7)(17, SymphiqFunnelAnalysisDashboardComponent_Conditional_17_Template, 15,
|
|
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);
|
|
49302
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");
|
|
49303
49460
|
i0.ɵɵelementStart(23, "symphiq-search-bar", 18);
|
|
49304
49461
|
i0.ɵɵlistener("resultSelected", function SymphiqFunnelAnalysisDashboardComponent_Template_symphiq_search_bar_resultSelected_23_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleSearchResult($event)); });
|
|
@@ -49359,7 +49516,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
49359
49516
|
i0.ɵɵadvance();
|
|
49360
49517
|
i0.ɵɵproperty("isLightMode", ctx.isLightMode())("sections", ctx.navSections)("activeSection", ctx.activeNavSection());
|
|
49361
49518
|
i0.ɵɵadvance();
|
|
49362
|
-
i0.ɵɵproperty("viewMode", ctx.isLightMode() ? ctx.ViewModeEnum.LIGHT : ctx.ViewModeEnum.DARK)("reviewStatus", (tmp_47_0 = ctx.funnelAnalysis()) == null ? null : tmp_47_0.reviewStatus)("selfContentStatus", (tmp_48_0 = ctx.funnelAnalysis()) == null ? null : tmp_48_0.selfContentStatus)("isMarkingAsReviewed", ctx.isMarkingAsReviewed());
|
|
49519
|
+
i0.ɵɵproperty("viewMode", ctx.isLightMode() ? ctx.ViewModeEnum.LIGHT : ctx.ViewModeEnum.DARK)("reviewStatus", (tmp_47_0 = ctx.funnelAnalysis()) == null ? null : tmp_47_0.reviewStatus)("selfContentStatus", (tmp_48_0 = ctx.funnelAnalysis()) == null ? null : tmp_48_0.selfContentStatus)("isMarkingAsReviewed", ctx.isMarkingAsReviewed())("isLoading", !!ctx.isLoading());
|
|
49363
49520
|
} }, dependencies: [CommonModule, i1$1.NgClass, FormsModule, i2$1.NgSelectOption, i2$1.ɵNgSelectMultipleOption, i2$1.SelectControlValueAccessor, i2$1.NgControlStatus, i2$1.NgModel, OverallAssessmentComponent,
|
|
49364
49521
|
InsightCardComponent,
|
|
49365
49522
|
MetricCardComponent,
|
|
@@ -49646,6 +49803,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
49646
49803
|
<symphiq-funnel-welcome-banner
|
|
49647
49804
|
[viewMode]="isLightMode() ? ViewModeEnum.LIGHT : ViewModeEnum.DARK"
|
|
49648
49805
|
[isOnboarded]="isOnboarded()"
|
|
49806
|
+
[analysisDate]="funnelAnalysis()?.selfContentCompletedDate"
|
|
49649
49807
|
/>
|
|
49650
49808
|
</div>
|
|
49651
49809
|
|
|
@@ -50357,6 +50515,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
50357
50515
|
[reviewStatus]="funnelAnalysis()?.reviewStatus"
|
|
50358
50516
|
[selfContentStatus]="funnelAnalysis()?.selfContentStatus"
|
|
50359
50517
|
[isMarkingAsReviewed]="isMarkingAsReviewed()"
|
|
50518
|
+
[isLoading]="!!isLoading()"
|
|
50360
50519
|
(markAsReviewedClick)="handleMarkAsReviewedClick()"
|
|
50361
50520
|
/>
|
|
50362
50521
|
|
|
@@ -50372,7 +50531,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
50372
50531
|
type: HostListener,
|
|
50373
50532
|
args: ['window:scroll', ['$event']]
|
|
50374
50533
|
}] }); })();
|
|
50375
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqFunnelAnalysisDashboardComponent, { className: "SymphiqFunnelAnalysisDashboardComponent", filePath: "lib/components/funnel-analysis-dashboard/symphiq-funnel-analysis-dashboard.component.ts", lineNumber:
|
|
50534
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqFunnelAnalysisDashboardComponent, { className: "SymphiqFunnelAnalysisDashboardComponent", filePath: "lib/components/funnel-analysis-dashboard/symphiq-funnel-analysis-dashboard.component.ts", lineNumber: 1163 }); })();
|
|
50376
50535
|
|
|
50377
50536
|
/**
|
|
50378
50537
|
* Shared Theme Color Utilities
|
|
@@ -66544,24 +66703,41 @@ function WelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
66544
66703
|
function WelcomeBannerComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
66545
66704
|
i0.ɵɵtext(0, " Welcome to Your Business Analysis ");
|
|
66546
66705
|
} }
|
|
66547
|
-
function
|
|
66706
|
+
function WelcomeBannerComponent_Conditional_48_Template(rf, ctx) { if (rf & 1) {
|
|
66707
|
+
i0.ɵɵelementStart(0, "li", 19);
|
|
66548
66708
|
i0.ɵɵnamespaceSVG();
|
|
66549
|
-
i0.ɵɵ
|
|
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());
|
|
66550
66722
|
} }
|
|
66551
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) {
|
|
66552
66728
|
i0.ɵɵnamespaceSVG();
|
|
66553
66729
|
i0.ɵɵelement(0, "path", 24);
|
|
66554
66730
|
} }
|
|
66555
|
-
function
|
|
66731
|
+
function WelcomeBannerComponent_Conditional_55_Template(rf, ctx) { if (rf & 1) {
|
|
66556
66732
|
i0.ɵɵtext(0, " Keep Your Analysis Current ");
|
|
66557
66733
|
} }
|
|
66558
|
-
function
|
|
66734
|
+
function WelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
|
|
66559
66735
|
i0.ɵɵtext(0, " This is Just the Beginning ");
|
|
66560
66736
|
} }
|
|
66561
|
-
function
|
|
66737
|
+
function WelcomeBannerComponent_Conditional_58_Template(rf, ctx) { if (rf & 1) {
|
|
66562
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. ");
|
|
66563
66739
|
} }
|
|
66564
|
-
function
|
|
66740
|
+
function WelcomeBannerComponent_Conditional_59_Template(rf, ctx) { if (rf & 1) {
|
|
66565
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. ");
|
|
66566
66742
|
} }
|
|
66567
66743
|
class WelcomeBannerComponent {
|
|
@@ -66569,6 +66745,14 @@ class WelcomeBannerComponent {
|
|
|
66569
66745
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
66570
66746
|
this.businessName = input('your business', ...(ngDevMode ? [{ debugName: "businessName" }] : []));
|
|
66571
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" }] : []));
|
|
66572
66756
|
}
|
|
66573
66757
|
containerClasses() {
|
|
66574
66758
|
return this.viewMode() === ViewModeEnum.DARK
|
|
@@ -66636,7 +66820,7 @@ class WelcomeBannerComponent {
|
|
|
66636
66820
|
: 'text-slate-700';
|
|
66637
66821
|
}
|
|
66638
66822
|
static { this.ɵfac = function WelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WelcomeBannerComponent)(); }; }
|
|
66639
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WelcomeBannerComponent, selectors: [["symphiq-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], businessName: [1, "businessName"], isOnboarded: [1, "isOnboarded"] }, decls:
|
|
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) {
|
|
66640
66824
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
66641
66825
|
i0.ɵɵnamespaceSVG();
|
|
66642
66826
|
i0.ɵɵelementStart(4, "svg", 4);
|
|
@@ -66698,18 +66882,20 @@ class WelcomeBannerComponent {
|
|
|
66698
66882
|
i0.ɵɵtext(46, "Your Journey");
|
|
66699
66883
|
i0.ɵɵelementEnd();
|
|
66700
66884
|
i0.ɵɵtext(47, " \u2014 Clear next steps to unlock deeper insights by connecting your GA4 data and completing your profile");
|
|
66701
|
-
i0.ɵɵelementEnd()()
|
|
66702
|
-
i0.ɵɵ
|
|
66885
|
+
i0.ɵɵelementEnd()();
|
|
66886
|
+
i0.ɵɵconditionalCreate(48, WelcomeBannerComponent_Conditional_48_Template, 7, 1, "li", 19);
|
|
66887
|
+
i0.ɵɵelementEnd()()();
|
|
66888
|
+
i0.ɵɵelementStart(49, "div", 22);
|
|
66703
66889
|
i0.ɵɵnamespaceSVG();
|
|
66704
|
-
i0.ɵɵelementStart(
|
|
66705
|
-
i0.ɵɵconditionalCreate(
|
|
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);
|
|
66706
66892
|
i0.ɵɵelementEnd();
|
|
66707
66893
|
i0.ɵɵnamespaceHTML();
|
|
66708
|
-
i0.ɵɵelementStart(
|
|
66709
|
-
i0.ɵɵconditionalCreate(
|
|
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);
|
|
66710
66896
|
i0.ɵɵelementEnd();
|
|
66711
|
-
i0.ɵɵelementStart(
|
|
66712
|
-
i0.ɵɵconditionalCreate(
|
|
66897
|
+
i0.ɵɵelementStart(57, "p", 26);
|
|
66898
|
+
i0.ɵɵconditionalCreate(58, WelcomeBannerComponent_Conditional_58_Template, 1, 0)(59, WelcomeBannerComponent_Conditional_59_Template, 1, 0);
|
|
66713
66899
|
i0.ɵɵelementEnd()()()()()()();
|
|
66714
66900
|
} if (rf & 2) {
|
|
66715
66901
|
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
@@ -66738,19 +66924,21 @@ class WelcomeBannerComponent {
|
|
|
66738
66924
|
i0.ɵɵadvance(2);
|
|
66739
66925
|
i0.ɵɵproperty("ngClass", ctx.highlightListClasses());
|
|
66740
66926
|
i0.ɵɵadvance(22);
|
|
66927
|
+
i0.ɵɵconditional(ctx.formattedAnalysisDate() ? 48 : -1);
|
|
66928
|
+
i0.ɵɵadvance();
|
|
66741
66929
|
i0.ɵɵproperty("ngClass", ctx.nextStepsBoxClasses());
|
|
66742
66930
|
i0.ɵɵadvance();
|
|
66743
66931
|
i0.ɵɵproperty("ngClass", ctx.nextStepsIconClasses());
|
|
66744
66932
|
i0.ɵɵadvance();
|
|
66745
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
66933
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 51 : 52);
|
|
66746
66934
|
i0.ɵɵadvance(3);
|
|
66747
66935
|
i0.ɵɵproperty("ngClass", ctx.nextStepsTitleClasses());
|
|
66748
66936
|
i0.ɵɵadvance();
|
|
66749
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
66937
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 55 : 56);
|
|
66750
66938
|
i0.ɵɵadvance(2);
|
|
66751
66939
|
i0.ɵɵproperty("ngClass", ctx.nextStepsTextClasses());
|
|
66752
66940
|
i0.ɵɵadvance();
|
|
66753
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
66941
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 58 : 59);
|
|
66754
66942
|
} }, dependencies: [CommonModule, i1$1.NgClass, ConfidenceLevelCardComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
66755
66943
|
}
|
|
66756
66944
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WelcomeBannerComponent, [{
|
|
@@ -66827,6 +67015,14 @@ class WelcomeBannerComponent {
|
|
|
66827
67015
|
</svg>
|
|
66828
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>
|
|
66829
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
|
+
}
|
|
66830
67026
|
</ul>
|
|
66831
67027
|
</div>
|
|
66832
67028
|
</div>
|
|
@@ -66862,8 +67058,8 @@ class WelcomeBannerComponent {
|
|
|
66862
67058
|
</div>
|
|
66863
67059
|
`
|
|
66864
67060
|
}]
|
|
66865
|
-
}], 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 }] }] }); })();
|
|
66866
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WelcomeBannerComponent, { className: "WelcomeBannerComponent", filePath: "lib/components/business-analysis-dashboard/welcome-banner.component.ts", lineNumber:
|
|
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 }); })();
|
|
66867
67063
|
|
|
66868
67064
|
function SimplifiedRecommendationCardComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
66869
67065
|
i0.ɵɵelementStart(0, "div", 6);
|
|
@@ -67656,10 +67852,27 @@ class CollapsibleSectionGroupComponent {
|
|
|
67656
67852
|
constructor() {
|
|
67657
67853
|
this.sections = input([], ...(ngDevMode ? [{ debugName: "sections" }] : []));
|
|
67658
67854
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
67855
|
+
this.storageKey = input('collapsible-section-group', ...(ngDevMode ? [{ debugName: "storageKey" }] : []));
|
|
67856
|
+
this.router = inject(Router);
|
|
67857
|
+
this.routerSubscription = null;
|
|
67659
67858
|
this.expandedSections = signal([], ...(ngDevMode ? [{ debugName: "expandedSections" }] : []));
|
|
67660
67859
|
}
|
|
67661
67860
|
ngOnInit() {
|
|
67662
|
-
|
|
67861
|
+
const savedState = this.loadExpandedState();
|
|
67862
|
+
if (savedState && savedState.length === this.sections().length) {
|
|
67863
|
+
this.expandedSections.set(savedState);
|
|
67864
|
+
}
|
|
67865
|
+
else {
|
|
67866
|
+
this.expandedSections.set(new Array(this.sections().length).fill(false));
|
|
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();
|
|
67663
67876
|
}
|
|
67664
67877
|
toggleSection(index) {
|
|
67665
67878
|
const willBeExpanded = !this.expandedSections()[index];
|
|
@@ -67668,18 +67881,43 @@ class CollapsibleSectionGroupComponent {
|
|
|
67668
67881
|
newSections[index] = !newSections[index];
|
|
67669
67882
|
return newSections;
|
|
67670
67883
|
});
|
|
67671
|
-
|
|
67884
|
+
this.saveExpandedState();
|
|
67672
67885
|
if (willBeExpanded) {
|
|
67673
67886
|
setTimeout(() => {
|
|
67674
67887
|
const element = document.getElementById(`collapsible-section-${index}`);
|
|
67675
67888
|
if (element) {
|
|
67676
|
-
const yOffset = -100;
|
|
67889
|
+
const yOffset = -100;
|
|
67677
67890
|
const y = element.getBoundingClientRect().top + window.scrollY + yOffset;
|
|
67678
67891
|
window.scrollTo({ top: y, behavior: 'smooth' });
|
|
67679
67892
|
}
|
|
67680
67893
|
}, 50);
|
|
67681
67894
|
}
|
|
67682
67895
|
}
|
|
67896
|
+
saveExpandedState() {
|
|
67897
|
+
try {
|
|
67898
|
+
localStorage.setItem(this.storageKey(), JSON.stringify(this.expandedSections()));
|
|
67899
|
+
}
|
|
67900
|
+
catch {
|
|
67901
|
+
}
|
|
67902
|
+
}
|
|
67903
|
+
loadExpandedState() {
|
|
67904
|
+
try {
|
|
67905
|
+
const saved = localStorage.getItem(this.storageKey());
|
|
67906
|
+
if (saved) {
|
|
67907
|
+
return JSON.parse(saved);
|
|
67908
|
+
}
|
|
67909
|
+
}
|
|
67910
|
+
catch {
|
|
67911
|
+
}
|
|
67912
|
+
return null;
|
|
67913
|
+
}
|
|
67914
|
+
clearExpandedState() {
|
|
67915
|
+
try {
|
|
67916
|
+
localStorage.removeItem(this.storageKey());
|
|
67917
|
+
}
|
|
67918
|
+
catch {
|
|
67919
|
+
}
|
|
67920
|
+
}
|
|
67683
67921
|
getSectionItemCount(section) {
|
|
67684
67922
|
if (!section?.subsections)
|
|
67685
67923
|
return 0;
|
|
@@ -67792,7 +68030,7 @@ class CollapsibleSectionGroupComponent {
|
|
|
67792
68030
|
: 'border-slate-200';
|
|
67793
68031
|
}
|
|
67794
68032
|
static { this.ɵfac = function CollapsibleSectionGroupComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CollapsibleSectionGroupComponent)(); }; }
|
|
67795
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollapsibleSectionGroupComponent, selectors: [["symphiq-collapsible-section-group"]], inputs: { sections: [1, "sections"], viewMode: [1, "viewMode"] }, decls: 24, vars: 10, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "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, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "mb-6", "p-4", "rounded-xl", "border", "flex", "items-start", "gap-3", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "font-semibold", "text-sm", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "space-y-3"], [1, "rounded-xl", "border", "overflow-hidden", "transition-all", "duration-200", 3, "id", "ngClass"], ["type", "button", 1, "cursor-pointer", "w-full", "px-5", "py-4", "flex", "items-center", "justify-between", "gap-4", "text-left", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-3", "flex-1", "min-w-0"], [1, "p-2", "rounded-lg", "flex-shrink-0", "transition-colors", "duration-200", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "font-semibold", "transition-colors", "duration-200", 3, "ngClass"], [1, "text-sm", "mt-0.5", "transition-colors", "duration-200", 3, "ngClass"], [1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-200", 3, "ngClass"], ["stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden"], [1, "border-t", 3, "ngClass"], [3, "section", "viewMode", "forceExpanded"], ["size", "w-4 h-4", 3, "icon"]], template: function CollapsibleSectionGroupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
68033
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollapsibleSectionGroupComponent, selectors: [["symphiq-collapsible-section-group"]], inputs: { sections: [1, "sections"], viewMode: [1, "viewMode"], storageKey: [1, "storageKey"] }, decls: 24, vars: 10, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "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, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "mb-6", "p-4", "rounded-xl", "border", "flex", "items-start", "gap-3", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "font-semibold", "text-sm", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "space-y-3"], [1, "rounded-xl", "border", "overflow-hidden", "transition-all", "duration-200", 3, "id", "ngClass"], ["type", "button", 1, "cursor-pointer", "w-full", "px-5", "py-4", "flex", "items-center", "justify-between", "gap-4", "text-left", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-3", "flex-1", "min-w-0"], [1, "p-2", "rounded-lg", "flex-shrink-0", "transition-colors", "duration-200", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "font-semibold", "transition-colors", "duration-200", 3, "ngClass"], [1, "text-sm", "mt-0.5", "transition-colors", "duration-200", 3, "ngClass"], [1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-200", 3, "ngClass"], ["stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden"], [1, "border-t", 3, "ngClass"], [3, "section", "viewMode", "forceExpanded"], ["size", "w-4 h-4", 3, "icon"]], template: function CollapsibleSectionGroupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
67796
68034
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4);
|
|
67797
68035
|
i0.ɵɵnamespaceSVG();
|
|
67798
68036
|
i0.ɵɵelementStart(5, "svg", 5);
|
|
@@ -67851,96 +68089,96 @@ class CollapsibleSectionGroupComponent {
|
|
|
67851
68089
|
standalone: true,
|
|
67852
68090
|
imports: [CommonModule, SymphiqIconComponent, ProfileSectionComponent],
|
|
67853
68091
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
67854
|
-
template: `
|
|
67855
|
-
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
67856
|
-
<div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
|
|
67857
|
-
<div class="flex items-center justify-between">
|
|
67858
|
-
<div class="flex items-center gap-3">
|
|
67859
|
-
<div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
|
|
67860
|
-
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
67861
|
-
<path 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"></path>
|
|
67862
|
-
</svg>
|
|
67863
|
-
</div>
|
|
67864
|
-
<div>
|
|
67865
|
-
<h2 [ngClass]="titleClasses()" class="text-xl font-bold">
|
|
67866
|
-
Supporting Business Context
|
|
67867
|
-
</h2>
|
|
67868
|
-
<p [ngClass]="subtitleClasses()" class="text-sm mt-0.5">
|
|
67869
|
-
Additional insights gathered from publicly available information
|
|
67870
|
-
</p>
|
|
67871
|
-
</div>
|
|
67872
|
-
</div>
|
|
67873
|
-
</div>
|
|
67874
|
-
</div>
|
|
67875
|
-
|
|
67876
|
-
<div [ngClass]="contentClasses()" class="p-6">
|
|
67877
|
-
<div [ngClass]="infoBoxClasses()" class="mb-6 p-4 rounded-xl border flex items-start gap-3">
|
|
67878
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" [ngClass]="infoIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
67879
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
67880
|
-
</svg>
|
|
67881
|
-
<div class="flex-1">
|
|
67882
|
-
<h4 [ngClass]="infoTitleClasses()" class="font-semibold text-sm mb-1">
|
|
67883
|
-
Building Context for Better Recommendations
|
|
67884
|
-
</h4>
|
|
67885
|
-
<p [ngClass]="infoTextClasses()" class="text-sm leading-relaxed">
|
|
67886
|
-
The information below was gathered from your website and competitor research. While recommendations above are based on this initial analysis, connecting your GA4 data will provide quantitative insights that dramatically improve recommendation accuracy.
|
|
67887
|
-
</p>
|
|
67888
|
-
</div>
|
|
67889
|
-
</div>
|
|
67890
|
-
|
|
67891
|
-
<div class="space-y-3">
|
|
67892
|
-
@for (section of sections(); track section.id; let idx = $index) {
|
|
67893
|
-
<div [id]="'collapsible-section-' + idx" [ngClass]="sectionCardClasses()" class="rounded-xl border overflow-hidden transition-all duration-200">
|
|
67894
|
-
<button
|
|
67895
|
-
type="button"
|
|
67896
|
-
(click)="toggleSection(idx)"
|
|
67897
|
-
[ngClass]="sectionHeaderClasses(section, idx)"
|
|
67898
|
-
class="cursor-pointer w-full px-5 py-4 flex items-center justify-between gap-4 text-left transition-colors duration-200">
|
|
67899
|
-
<div class="flex items-center gap-3 flex-1 min-w-0">
|
|
67900
|
-
@if (section.icon) {
|
|
67901
|
-
<div [ngClass]="sectionIconContainerClasses(idx)" class="p-2 rounded-lg flex-shrink-0 transition-colors duration-200">
|
|
67902
|
-
<symphiq-icon [icon]="section.icon" size="w-4 h-4"></symphiq-icon>
|
|
67903
|
-
</div>
|
|
67904
|
-
}
|
|
67905
|
-
<div class="flex-1 min-w-0">
|
|
67906
|
-
<h3 [ngClass]="sectionTitleClasses(idx)" class="font-semibold transition-colors duration-200">
|
|
67907
|
-
{{ section.title }}
|
|
67908
|
-
</h3>
|
|
67909
|
-
<p [ngClass]="sectionDescriptionClasses(idx)" class="text-sm mt-0.5 transition-colors duration-200">
|
|
67910
|
-
{{ getSectionItemCount(section) }} items
|
|
67911
|
-
</p>
|
|
67912
|
-
</div>
|
|
67913
|
-
</div>
|
|
67914
|
-
<svg
|
|
67915
|
-
[ngClass]="chevronClasses(idx)"
|
|
67916
|
-
[class.rotate-180]="expandedSections()[idx]"
|
|
67917
|
-
class="w-5 h-5 flex-shrink-0 transition-transform duration-200">
|
|
67918
|
-
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
|
|
67919
|
-
</svg>
|
|
67920
|
-
</button>
|
|
67921
|
-
|
|
67922
|
-
<div
|
|
67923
|
-
class="grid transition-[grid-template-rows] duration-300 ease-in-out"
|
|
67924
|
-
[style.grid-template-rows]="expandedSections()[idx] ? '1fr' : '0fr'">
|
|
67925
|
-
<div class="overflow-hidden">
|
|
67926
|
-
<div [ngClass]="sectionContentClasses()" class="border-t">
|
|
67927
|
-
<symphiq-profile-section
|
|
67928
|
-
[section]="section"
|
|
67929
|
-
[viewMode]="viewMode()"
|
|
67930
|
-
[forceExpanded]="false"
|
|
67931
|
-
/>
|
|
67932
|
-
</div>
|
|
67933
|
-
</div>
|
|
67934
|
-
</div>
|
|
67935
|
-
</div>
|
|
67936
|
-
}
|
|
67937
|
-
</div>
|
|
67938
|
-
</div>
|
|
67939
|
-
</div>
|
|
68092
|
+
template: `
|
|
68093
|
+
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
68094
|
+
<div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
|
|
68095
|
+
<div class="flex items-center justify-between">
|
|
68096
|
+
<div class="flex items-center gap-3">
|
|
68097
|
+
<div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
|
|
68098
|
+
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
68099
|
+
<path 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"></path>
|
|
68100
|
+
</svg>
|
|
68101
|
+
</div>
|
|
68102
|
+
<div>
|
|
68103
|
+
<h2 [ngClass]="titleClasses()" class="text-xl font-bold">
|
|
68104
|
+
Supporting Business Context
|
|
68105
|
+
</h2>
|
|
68106
|
+
<p [ngClass]="subtitleClasses()" class="text-sm mt-0.5">
|
|
68107
|
+
Additional insights gathered from publicly available information
|
|
68108
|
+
</p>
|
|
68109
|
+
</div>
|
|
68110
|
+
</div>
|
|
68111
|
+
</div>
|
|
68112
|
+
</div>
|
|
68113
|
+
|
|
68114
|
+
<div [ngClass]="contentClasses()" class="p-6">
|
|
68115
|
+
<div [ngClass]="infoBoxClasses()" class="mb-6 p-4 rounded-xl border flex items-start gap-3">
|
|
68116
|
+
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" [ngClass]="infoIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
68117
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
68118
|
+
</svg>
|
|
68119
|
+
<div class="flex-1">
|
|
68120
|
+
<h4 [ngClass]="infoTitleClasses()" class="font-semibold text-sm mb-1">
|
|
68121
|
+
Building Context for Better Recommendations
|
|
68122
|
+
</h4>
|
|
68123
|
+
<p [ngClass]="infoTextClasses()" class="text-sm leading-relaxed">
|
|
68124
|
+
The information below was gathered from your website and competitor research. While recommendations above are based on this initial analysis, connecting your GA4 data will provide quantitative insights that dramatically improve recommendation accuracy.
|
|
68125
|
+
</p>
|
|
68126
|
+
</div>
|
|
68127
|
+
</div>
|
|
68128
|
+
|
|
68129
|
+
<div class="space-y-3">
|
|
68130
|
+
@for (section of sections(); track section.id; let idx = $index) {
|
|
68131
|
+
<div [id]="'collapsible-section-' + idx" [ngClass]="sectionCardClasses()" class="rounded-xl border overflow-hidden transition-all duration-200">
|
|
68132
|
+
<button
|
|
68133
|
+
type="button"
|
|
68134
|
+
(click)="toggleSection(idx)"
|
|
68135
|
+
[ngClass]="sectionHeaderClasses(section, idx)"
|
|
68136
|
+
class="cursor-pointer w-full px-5 py-4 flex items-center justify-between gap-4 text-left transition-colors duration-200">
|
|
68137
|
+
<div class="flex items-center gap-3 flex-1 min-w-0">
|
|
68138
|
+
@if (section.icon) {
|
|
68139
|
+
<div [ngClass]="sectionIconContainerClasses(idx)" class="p-2 rounded-lg flex-shrink-0 transition-colors duration-200">
|
|
68140
|
+
<symphiq-icon [icon]="section.icon" size="w-4 h-4"></symphiq-icon>
|
|
68141
|
+
</div>
|
|
68142
|
+
}
|
|
68143
|
+
<div class="flex-1 min-w-0">
|
|
68144
|
+
<h3 [ngClass]="sectionTitleClasses(idx)" class="font-semibold transition-colors duration-200">
|
|
68145
|
+
{{ section.title }}
|
|
68146
|
+
</h3>
|
|
68147
|
+
<p [ngClass]="sectionDescriptionClasses(idx)" class="text-sm mt-0.5 transition-colors duration-200">
|
|
68148
|
+
{{ getSectionItemCount(section) }} items
|
|
68149
|
+
</p>
|
|
68150
|
+
</div>
|
|
68151
|
+
</div>
|
|
68152
|
+
<svg
|
|
68153
|
+
[ngClass]="chevronClasses(idx)"
|
|
68154
|
+
[class.rotate-180]="expandedSections()[idx]"
|
|
68155
|
+
class="w-5 h-5 flex-shrink-0 transition-transform duration-200">
|
|
68156
|
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
|
|
68157
|
+
</svg>
|
|
68158
|
+
</button>
|
|
68159
|
+
|
|
68160
|
+
<div
|
|
68161
|
+
class="grid transition-[grid-template-rows] duration-300 ease-in-out"
|
|
68162
|
+
[style.grid-template-rows]="expandedSections()[idx] ? '1fr' : '0fr'">
|
|
68163
|
+
<div class="overflow-hidden">
|
|
68164
|
+
<div [ngClass]="sectionContentClasses()" class="border-t">
|
|
68165
|
+
<symphiq-profile-section
|
|
68166
|
+
[section]="section"
|
|
68167
|
+
[viewMode]="viewMode()"
|
|
68168
|
+
[forceExpanded]="false"
|
|
68169
|
+
/>
|
|
68170
|
+
</div>
|
|
68171
|
+
</div>
|
|
68172
|
+
</div>
|
|
68173
|
+
</div>
|
|
68174
|
+
}
|
|
68175
|
+
</div>
|
|
68176
|
+
</div>
|
|
68177
|
+
</div>
|
|
67940
68178
|
`
|
|
67941
68179
|
}]
|
|
67942
|
-
}], null, { sections: [{ type: i0.Input, args: [{ isSignal: true, alias: "sections", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
|
|
67943
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleSectionGroupComponent, { className: "CollapsibleSectionGroupComponent", filePath: "lib/components/business-analysis-dashboard/collapsible-section-group.component.ts", lineNumber:
|
|
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 }] }] }); })();
|
|
68181
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleSectionGroupComponent, { className: "CollapsibleSectionGroupComponent", filePath: "lib/components/business-analysis-dashboard/collapsible-section-group.component.ts", lineNumber: 102 }); })();
|
|
67944
68182
|
|
|
67945
68183
|
const _c0$w = () => [];
|
|
67946
68184
|
function SymphiqBusinessAnalysisDashboardComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -67995,10 +68233,11 @@ function SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Conditional_0_T
|
|
|
67995
68233
|
i0.ɵɵelementEnd()();
|
|
67996
68234
|
} if (rf & 2) {
|
|
67997
68235
|
let tmp_4_0;
|
|
68236
|
+
let tmp_6_0;
|
|
67998
68237
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
67999
68238
|
i0.ɵɵconditional(!ctx_r0.isOnboarded() ? 0 : -1);
|
|
68000
68239
|
i0.ɵɵadvance(3);
|
|
68001
|
-
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);
|
|
68002
68241
|
i0.ɵɵadvance(2);
|
|
68003
68242
|
i0.ɵɵproperty("recommendations", ctx_r0.recommendationItems())("viewMode", ctx_r0.viewMode());
|
|
68004
68243
|
i0.ɵɵadvance(2);
|
|
@@ -68033,7 +68272,7 @@ function SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Conditional_1_T
|
|
|
68033
68272
|
i0.ɵɵrepeater(ctx_r0.sections());
|
|
68034
68273
|
} }
|
|
68035
68274
|
function SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
68036
|
-
i0.ɵɵconditionalCreate(0, SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Conditional_0_Template, 8,
|
|
68275
|
+
i0.ɵɵconditionalCreate(0, SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Conditional_0_Template, 8, 9)(1, SymphiqBusinessAnalysisDashboardComponent_Conditional_9_Conditional_1_Template, 2, 0);
|
|
68037
68276
|
} if (rf & 2) {
|
|
68038
68277
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
68039
68278
|
i0.ɵɵconditional(ctx_r0.isSimplifiedView() ? 0 : 1);
|
|
@@ -68575,7 +68814,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
68575
68814
|
static { this.ɵfac = function SymphiqBusinessAnalysisDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqBusinessAnalysisDashboardComponent)(); }; }
|
|
68576
68815
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqBusinessAnalysisDashboardComponent, selectors: [["symphiq-business-analysis-dashboard"]], hostBindings: function SymphiqBusinessAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
68577
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);
|
|
68578
|
-
} }, 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:
|
|
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) {
|
|
68579
68818
|
i0.ɵɵelementStart(0, "div", 0)(1, "div");
|
|
68580
68819
|
i0.ɵɵelement(2, "div", 1);
|
|
68581
68820
|
i0.ɵɵelementEnd();
|
|
@@ -68635,7 +68874,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
68635
68874
|
i0.ɵɵadvance();
|
|
68636
68875
|
i0.ɵɵproperty("isOpen", ctx.isViewModeSwitcherOpen())("currentMode", ctx.displayMode())("viewMode", ctx.viewMode())("isLoading", ctx.isViewModeSwitching());
|
|
68637
68876
|
i0.ɵɵadvance();
|
|
68638
|
-
i0.ɵɵproperty("viewMode", ctx.viewMode())("reviewStatus", (tmp_33_0 = ctx.profile()) == null ? null : tmp_33_0.reviewStatus)("selfContentStatus", (tmp_34_0 = ctx.profile()) == null ? null : tmp_34_0.selfContentStatus)("isMarkingAsReviewed", ctx.isMarkingAsReviewed());
|
|
68877
|
+
i0.ɵɵproperty("viewMode", ctx.viewMode())("reviewStatus", (tmp_33_0 = ctx.profile()) == null ? null : tmp_33_0.reviewStatus)("selfContentStatus", (tmp_34_0 = ctx.profile()) == null ? null : tmp_34_0.selfContentStatus)("isMarkingAsReviewed", ctx.isMarkingAsReviewed())("isLoading", !!ctx.isLoading());
|
|
68639
68878
|
} }, dependencies: [CommonModule, i1$1.NgClass, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent, ContentGenerationProgressWithConfettiComponent, IndeterminateSpinnerComponent, MarkAsReviewedFooterComponent, DashboardHeaderComponent], styles: ["[_nghost-%COMP%]{display:block}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_pulse-highlight{0%,to{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.02);box-shadow:0 0 20px 8px #3b82f64d}}[_nghost-%COMP%] .search-highlight-pulse{animation:_ngcontent-%COMP%_pulse-highlight 2s ease-in-out;border-color:#3b82f6!important}"], changeDetection: 0 }); }
|
|
68640
68879
|
}
|
|
68641
68880
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqBusinessAnalysisDashboardComponent, [{
|
|
@@ -68721,6 +68960,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
68721
68960
|
[viewMode]="viewMode()"
|
|
68722
68961
|
[businessName]="currentProfile()?.profileStructured?.businessName || 'your business'"
|
|
68723
68962
|
[isOnboarded]="isOnboarded()"
|
|
68963
|
+
[analysisDate]="profile()?.selfContentCompletedDate"
|
|
68724
68964
|
/>
|
|
68725
68965
|
</div>
|
|
68726
68966
|
|
|
@@ -68815,6 +69055,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
68815
69055
|
[reviewStatus]="profile()?.reviewStatus"
|
|
68816
69056
|
[selfContentStatus]="profile()?.selfContentStatus"
|
|
68817
69057
|
[isMarkingAsReviewed]="isMarkingAsReviewed()"
|
|
69058
|
+
[isLoading]="!!isLoading()"
|
|
68818
69059
|
(markAsReviewedClick)="handleMarkAsReviewedClick()"
|
|
68819
69060
|
/>
|
|
68820
69061
|
</div>
|
|
@@ -68826,7 +69067,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
68826
69067
|
type: HostListener,
|
|
68827
69068
|
args: ['document:keydown', ['$event']]
|
|
68828
69069
|
}] }); })();
|
|
68829
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber:
|
|
69070
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 269 }); })();
|
|
68830
69071
|
|
|
68831
69072
|
class GradeBadgeComponent {
|
|
68832
69073
|
constructor() {
|
|
@@ -68952,24 +69193,41 @@ function ShopWelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (rf & 1
|
|
|
68952
69193
|
function ShopWelcomeBannerComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
68953
69194
|
i0.ɵɵtext(0, " Welcome to Your Shop Analysis ");
|
|
68954
69195
|
} }
|
|
68955
|
-
function
|
|
69196
|
+
function ShopWelcomeBannerComponent_Conditional_48_Template(rf, ctx) { if (rf & 1) {
|
|
69197
|
+
i0.ɵɵelementStart(0, "li", 19);
|
|
68956
69198
|
i0.ɵɵnamespaceSVG();
|
|
68957
|
-
i0.ɵɵ
|
|
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());
|
|
68958
69212
|
} }
|
|
68959
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) {
|
|
68960
69218
|
i0.ɵɵnamespaceSVG();
|
|
68961
69219
|
i0.ɵɵelement(0, "path", 24);
|
|
68962
69220
|
} }
|
|
68963
|
-
function
|
|
69221
|
+
function ShopWelcomeBannerComponent_Conditional_55_Template(rf, ctx) { if (rf & 1) {
|
|
68964
69222
|
i0.ɵɵtext(0, " Keep Your Shop Profile Current ");
|
|
68965
69223
|
} }
|
|
68966
|
-
function
|
|
69224
|
+
function ShopWelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
|
|
68967
69225
|
i0.ɵɵtext(0, " Continue Your Journey ");
|
|
68968
69226
|
} }
|
|
68969
|
-
function
|
|
69227
|
+
function ShopWelcomeBannerComponent_Conditional_58_Template(rf, ctx) { if (rf & 1) {
|
|
68970
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. ");
|
|
68971
69229
|
} }
|
|
68972
|
-
function
|
|
69230
|
+
function ShopWelcomeBannerComponent_Conditional_59_Template(rf, ctx) { if (rf & 1) {
|
|
68973
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. ");
|
|
68974
69232
|
} }
|
|
68975
69233
|
class ShopWelcomeBannerComponent {
|
|
@@ -68977,6 +69235,14 @@ class ShopWelcomeBannerComponent {
|
|
|
68977
69235
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
68978
69236
|
this.businessName = input('your shop', ...(ngDevMode ? [{ debugName: "businessName" }] : []));
|
|
68979
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" }] : []));
|
|
68980
69246
|
}
|
|
68981
69247
|
containerClasses() {
|
|
68982
69248
|
return this.viewMode() === ViewModeEnum.DARK
|
|
@@ -69044,7 +69310,7 @@ class ShopWelcomeBannerComponent {
|
|
|
69044
69310
|
: 'text-slate-700';
|
|
69045
69311
|
}
|
|
69046
69312
|
static { this.ɵfac = function ShopWelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ShopWelcomeBannerComponent)(); }; }
|
|
69047
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShopWelcomeBannerComponent, selectors: [["symphiq-shop-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], businessName: [1, "businessName"], isOnboarded: [1, "isOnboarded"] }, decls:
|
|
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) {
|
|
69048
69314
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
69049
69315
|
i0.ɵɵnamespaceSVG();
|
|
69050
69316
|
i0.ɵɵelementStart(4, "svg", 4);
|
|
@@ -69106,18 +69372,20 @@ class ShopWelcomeBannerComponent {
|
|
|
69106
69372
|
i0.ɵɵtext(46, "Your Journey");
|
|
69107
69373
|
i0.ɵɵelementEnd();
|
|
69108
69374
|
i0.ɵɵtext(47, " \u2014 Next steps to add marketing and metric context for comprehensive, execution-ready recommendations");
|
|
69109
|
-
i0.ɵɵelementEnd()()
|
|
69110
|
-
i0.ɵɵ
|
|
69375
|
+
i0.ɵɵelementEnd()();
|
|
69376
|
+
i0.ɵɵconditionalCreate(48, ShopWelcomeBannerComponent_Conditional_48_Template, 7, 1, "li", 19);
|
|
69377
|
+
i0.ɵɵelementEnd()()();
|
|
69378
|
+
i0.ɵɵelementStart(49, "div", 22);
|
|
69111
69379
|
i0.ɵɵnamespaceSVG();
|
|
69112
|
-
i0.ɵɵelementStart(
|
|
69113
|
-
i0.ɵɵconditionalCreate(
|
|
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);
|
|
69114
69382
|
i0.ɵɵelementEnd();
|
|
69115
69383
|
i0.ɵɵnamespaceHTML();
|
|
69116
|
-
i0.ɵɵelementStart(
|
|
69117
|
-
i0.ɵɵconditionalCreate(
|
|
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);
|
|
69118
69386
|
i0.ɵɵelementEnd();
|
|
69119
|
-
i0.ɵɵelementStart(
|
|
69120
|
-
i0.ɵɵconditionalCreate(
|
|
69387
|
+
i0.ɵɵelementStart(57, "p", 26);
|
|
69388
|
+
i0.ɵɵconditionalCreate(58, ShopWelcomeBannerComponent_Conditional_58_Template, 1, 0)(59, ShopWelcomeBannerComponent_Conditional_59_Template, 1, 0);
|
|
69121
69389
|
i0.ɵɵelementEnd()()()()()()();
|
|
69122
69390
|
} if (rf & 2) {
|
|
69123
69391
|
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
@@ -69146,19 +69414,21 @@ class ShopWelcomeBannerComponent {
|
|
|
69146
69414
|
i0.ɵɵadvance(2);
|
|
69147
69415
|
i0.ɵɵproperty("ngClass", ctx.highlightListClasses());
|
|
69148
69416
|
i0.ɵɵadvance(22);
|
|
69417
|
+
i0.ɵɵconditional(ctx.formattedAnalysisDate() ? 48 : -1);
|
|
69418
|
+
i0.ɵɵadvance();
|
|
69149
69419
|
i0.ɵɵproperty("ngClass", ctx.nextStepsBoxClasses());
|
|
69150
69420
|
i0.ɵɵadvance();
|
|
69151
69421
|
i0.ɵɵproperty("ngClass", ctx.nextStepsIconClasses());
|
|
69152
69422
|
i0.ɵɵadvance();
|
|
69153
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
69423
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 51 : 52);
|
|
69154
69424
|
i0.ɵɵadvance(3);
|
|
69155
69425
|
i0.ɵɵproperty("ngClass", ctx.nextStepsTitleClasses());
|
|
69156
69426
|
i0.ɵɵadvance();
|
|
69157
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
69427
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 55 : 56);
|
|
69158
69428
|
i0.ɵɵadvance(2);
|
|
69159
69429
|
i0.ɵɵproperty("ngClass", ctx.nextStepsTextClasses());
|
|
69160
69430
|
i0.ɵɵadvance();
|
|
69161
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
69431
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 58 : 59);
|
|
69162
69432
|
} }, dependencies: [CommonModule, i1$1.NgClass, ConfidenceLevelCardComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
69163
69433
|
}
|
|
69164
69434
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShopWelcomeBannerComponent, [{
|
|
@@ -69168,110 +69438,118 @@ class ShopWelcomeBannerComponent {
|
|
|
69168
69438
|
standalone: true,
|
|
69169
69439
|
imports: [CommonModule, ConfidenceLevelCardComponent],
|
|
69170
69440
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
69171
|
-
template: `
|
|
69172
|
-
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
69173
|
-
<div [ngClass]="contentClasses()" class="px-8 py-8">
|
|
69174
|
-
<div class="flex items-start gap-6">
|
|
69175
|
-
<div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
|
|
69176
|
-
<svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
69177
|
-
<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>
|
|
69178
|
-
</svg>
|
|
69179
|
-
</div>
|
|
69180
|
-
|
|
69181
|
-
<div class="flex-1">
|
|
69182
|
-
<h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
|
|
69183
|
-
@if (isOnboarded()) {
|
|
69184
|
-
Your Shop Analysis
|
|
69185
|
-
} @else {
|
|
69186
|
-
Welcome to Your Shop Analysis
|
|
69187
|
-
}
|
|
69188
|
-
</h2>
|
|
69189
|
-
|
|
69190
|
-
<!-- Description and Confidence Card in Responsive Layout -->
|
|
69191
|
-
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
|
|
69192
|
-
<!-- Description (takes 2 columns on large screens) -->
|
|
69193
|
-
<div class="lg:col-span-2 space-y-3">
|
|
69194
|
-
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
69195
|
-
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.
|
|
69196
|
-
</p>
|
|
69197
|
-
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
69198
|
-
<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.
|
|
69199
|
-
</p>
|
|
69200
|
-
</div>
|
|
69201
|
-
|
|
69202
|
-
<!-- Confidence Card (takes 1 column on large screens, full width on mobile) -->
|
|
69203
|
-
<div class="lg:col-span-1">
|
|
69204
|
-
<symphiq-confidence-level-card
|
|
69205
|
-
[viewMode]="viewMode()"
|
|
69206
|
-
currentStepId="shop-analysis"
|
|
69207
|
-
/>
|
|
69208
|
-
</div>
|
|
69209
|
-
</div>
|
|
69210
|
-
|
|
69211
|
-
<div [ngClass]="highlightBoxClasses()" class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
|
|
69212
|
-
<svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="highlightIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
69213
|
-
<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>
|
|
69214
|
-
</svg>
|
|
69215
|
-
<div class="flex-1">
|
|
69216
|
-
<h3 [ngClass]="highlightTitleClasses()" class="font-bold text-lg mb-2">
|
|
69217
|
-
What You'll See Below
|
|
69218
|
-
</h3>
|
|
69219
|
-
<ul [ngClass]="highlightListClasses()" class="space-y-2 text-sm">
|
|
69220
|
-
<li class="flex items-start gap-2">
|
|
69221
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
69222
|
-
<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>
|
|
69223
|
-
</svg>
|
|
69224
|
-
<span><strong class="font-semibold">Operational Analysis</strong> — Insights into your shop's strengths, gaps, and opportunities based on your setup and processes</span>
|
|
69225
|
-
</li>
|
|
69226
|
-
<li class="flex items-start gap-2">
|
|
69227
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
69228
|
-
<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>
|
|
69229
|
-
</svg>
|
|
69230
|
-
<span><strong class="font-semibold">Capability Recommendations</strong> — Prioritized improvements to your shop infrastructure and operational workflows</span>
|
|
69231
|
-
</li>
|
|
69232
|
-
<li class="flex items-start gap-2">
|
|
69233
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
69234
|
-
<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>
|
|
69235
|
-
</svg>
|
|
69236
|
-
<span><strong class="font-semibold">Your Journey</strong> — Next steps to add marketing and metric context for comprehensive, execution-ready recommendations</span>
|
|
69237
|
-
</li>
|
|
69238
|
-
|
|
69239
|
-
|
|
69240
|
-
|
|
69241
|
-
|
|
69242
|
-
|
|
69243
|
-
|
|
69244
|
-
|
|
69245
|
-
|
|
69246
|
-
|
|
69247
|
-
|
|
69248
|
-
|
|
69249
|
-
|
|
69250
|
-
|
|
69251
|
-
|
|
69252
|
-
|
|
69253
|
-
|
|
69254
|
-
|
|
69255
|
-
|
|
69256
|
-
|
|
69257
|
-
|
|
69258
|
-
|
|
69259
|
-
|
|
69260
|
-
|
|
69261
|
-
|
|
69262
|
-
|
|
69263
|
-
|
|
69264
|
-
|
|
69265
|
-
|
|
69266
|
-
|
|
69267
|
-
|
|
69268
|
-
|
|
69269
|
-
|
|
69270
|
-
|
|
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>
|
|
69271
69549
|
`
|
|
69272
69550
|
}]
|
|
69273
|
-
}], 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 }] }] }); })();
|
|
69274
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopWelcomeBannerComponent, { className: "ShopWelcomeBannerComponent", filePath: "lib/components/profile-analysis-shop-dashboard/shop-welcome-banner.component.ts", lineNumber:
|
|
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 }); })();
|
|
69275
69553
|
|
|
69276
69554
|
function MetricWelcomeBannerComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
69277
69555
|
i0.ɵɵtext(0);
|
|
@@ -69285,24 +69563,41 @@ function MetricWelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (rf &
|
|
|
69285
69563
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
69286
69564
|
i0.ɵɵtextInterpolate1(" Welcome to Your ", ctx_r0.metricDisplayName(), " Analysis ");
|
|
69287
69565
|
} }
|
|
69288
|
-
function
|
|
69566
|
+
function MetricWelcomeBannerComponent_Conditional_46_Template(rf, ctx) { if (rf & 1) {
|
|
69567
|
+
i0.ɵɵelementStart(0, "li", 15);
|
|
69289
69568
|
i0.ɵɵnamespaceSVG();
|
|
69290
|
-
i0.ɵɵ
|
|
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());
|
|
69291
69582
|
} }
|
|
69292
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) {
|
|
69293
69588
|
i0.ɵɵnamespaceSVG();
|
|
69294
69589
|
i0.ɵɵelement(0, "path", 20);
|
|
69295
69590
|
} }
|
|
69296
|
-
function
|
|
69591
|
+
function MetricWelcomeBannerComponent_Conditional_53_Template(rf, ctx) { if (rf & 1) {
|
|
69297
69592
|
i0.ɵɵtext(0, " Keep Your Metric Context Updated ");
|
|
69298
69593
|
} }
|
|
69299
|
-
function
|
|
69594
|
+
function MetricWelcomeBannerComponent_Conditional_54_Template(rf, ctx) { if (rf & 1) {
|
|
69300
69595
|
i0.ɵɵtext(0, " Continue Your Journey ");
|
|
69301
69596
|
} }
|
|
69302
|
-
function
|
|
69597
|
+
function MetricWelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
|
|
69303
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. ");
|
|
69304
69599
|
} }
|
|
69305
|
-
function
|
|
69600
|
+
function MetricWelcomeBannerComponent_Conditional_57_Template(rf, ctx) { if (rf & 1) {
|
|
69306
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. ");
|
|
69307
69602
|
} }
|
|
69308
69603
|
class MetricWelcomeBannerComponent {
|
|
@@ -69310,7 +69605,15 @@ class MetricWelcomeBannerComponent {
|
|
|
69310
69605
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
69311
69606
|
this.metricName = input(...(ngDevMode ? [undefined, { debugName: "metricName" }] : []));
|
|
69312
69607
|
this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
|
|
69608
|
+
this.analysisDate = input(...(ngDevMode ? [undefined, { debugName: "analysisDate" }] : []));
|
|
69313
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" }] : []));
|
|
69314
69617
|
this.metricDisplayName = computed(() => {
|
|
69315
69618
|
if (!this.metricName())
|
|
69316
69619
|
return 'Metric';
|
|
@@ -69406,7 +69709,7 @@ class MetricWelcomeBannerComponent {
|
|
|
69406
69709
|
: 'text-slate-300';
|
|
69407
69710
|
}
|
|
69408
69711
|
static { this.ɵfac = function MetricWelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MetricWelcomeBannerComponent)(); }; }
|
|
69409
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MetricWelcomeBannerComponent, selectors: [["symphiq-metric-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], metricName: [1, "metricName"], isOnboarded: [1, "isOnboarded"] }, decls:
|
|
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) {
|
|
69410
69713
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
69411
69714
|
i0.ɵɵelement(4, "symphiq-icon", 4);
|
|
69412
69715
|
i0.ɵɵelementEnd();
|
|
@@ -69464,18 +69767,20 @@ class MetricWelcomeBannerComponent {
|
|
|
69464
69767
|
i0.ɵɵtext(44, "Top Priorities and Quick Wins");
|
|
69465
69768
|
i0.ɵɵelementEnd();
|
|
69466
69769
|
i0.ɵɵtext(45, " \u2014 High-impact actions to improve this specific metric");
|
|
69467
|
-
i0.ɵɵelementEnd()()
|
|
69468
|
-
i0.ɵɵ
|
|
69770
|
+
i0.ɵɵelementEnd()();
|
|
69771
|
+
i0.ɵɵconditionalCreate(46, MetricWelcomeBannerComponent_Conditional_46_Template, 7, 1, "li", 15);
|
|
69772
|
+
i0.ɵɵelementEnd()()();
|
|
69773
|
+
i0.ɵɵelementStart(47, "div", 18);
|
|
69469
69774
|
i0.ɵɵnamespaceSVG();
|
|
69470
|
-
i0.ɵɵelementStart(
|
|
69471
|
-
i0.ɵɵconditionalCreate(
|
|
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);
|
|
69472
69777
|
i0.ɵɵelementEnd();
|
|
69473
69778
|
i0.ɵɵnamespaceHTML();
|
|
69474
|
-
i0.ɵɵelementStart(
|
|
69475
|
-
i0.ɵɵconditionalCreate(
|
|
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);
|
|
69476
69781
|
i0.ɵɵelementEnd();
|
|
69477
|
-
i0.ɵɵelementStart(
|
|
69478
|
-
i0.ɵɵconditionalCreate(
|
|
69782
|
+
i0.ɵɵelementStart(55, "p", 22);
|
|
69783
|
+
i0.ɵɵconditionalCreate(56, MetricWelcomeBannerComponent_Conditional_56_Template, 1, 0)(57, MetricWelcomeBannerComponent_Conditional_57_Template, 1, 0);
|
|
69479
69784
|
i0.ɵɵelementEnd()()()()()()();
|
|
69480
69785
|
} if (rf & 2) {
|
|
69481
69786
|
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
@@ -69492,7 +69797,7 @@ class MetricWelcomeBannerComponent {
|
|
|
69492
69797
|
i0.ɵɵadvance(3);
|
|
69493
69798
|
i0.ɵɵproperty("ngClass", ctx.textClasses());
|
|
69494
69799
|
i0.ɵɵadvance();
|
|
69495
|
-
i0.ɵɵtextInterpolate2(" ", ctx.metricDisplayName(), " Analysis provides deep insights into this critical funnel metric. By analyzing patterns, trends, and performance drivers for ", i0.ɵɵpipeBind1(12,
|
|
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. ");
|
|
69496
69801
|
i0.ɵɵadvance(2);
|
|
69497
69802
|
i0.ɵɵproperty("ngClass", ctx.textClasses());
|
|
69498
69803
|
i0.ɵɵadvance(4);
|
|
@@ -69504,21 +69809,23 @@ class MetricWelcomeBannerComponent {
|
|
|
69504
69809
|
i0.ɵɵadvance(2);
|
|
69505
69810
|
i0.ɵɵproperty("ngClass", ctx.highlightListClasses());
|
|
69506
69811
|
i0.ɵɵadvance(7);
|
|
69507
|
-
i0.ɵɵtextInterpolate1(" \u2014 Current performance assessment and trends for ", i0.ɵɵpipeBind1(31,
|
|
69812
|
+
i0.ɵɵtextInterpolate1(" \u2014 Current performance assessment and trends for ", i0.ɵɵpipeBind1(31, 25, ctx.metricDisplayName()));
|
|
69508
69813
|
i0.ɵɵadvance(16);
|
|
69814
|
+
i0.ɵɵconditional(ctx.formattedAnalysisDate() ? 46 : -1);
|
|
69815
|
+
i0.ɵɵadvance();
|
|
69509
69816
|
i0.ɵɵproperty("ngClass", ctx.nextStepsBoxClasses());
|
|
69510
69817
|
i0.ɵɵadvance();
|
|
69511
69818
|
i0.ɵɵproperty("ngClass", ctx.nextStepsIconClasses());
|
|
69512
69819
|
i0.ɵɵadvance();
|
|
69513
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
69820
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 49 : 50);
|
|
69514
69821
|
i0.ɵɵadvance(3);
|
|
69515
69822
|
i0.ɵɵproperty("ngClass", ctx.nextStepsTitleClasses());
|
|
69516
69823
|
i0.ɵɵadvance();
|
|
69517
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
69824
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 53 : 54);
|
|
69518
69825
|
i0.ɵɵadvance(2);
|
|
69519
69826
|
i0.ɵɵproperty("ngClass", ctx.nextStepsTextClasses());
|
|
69520
69827
|
i0.ɵɵadvance();
|
|
69521
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
69828
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 56 : 57);
|
|
69522
69829
|
} }, dependencies: [CommonModule, i1$1.NgClass, SymphiqIconComponent, i1$1.LowerCasePipe], encapsulation: 2, changeDetection: 0 }); }
|
|
69523
69830
|
}
|
|
69524
69831
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MetricWelcomeBannerComponent, [{
|
|
@@ -69582,6 +69889,14 @@ class MetricWelcomeBannerComponent {
|
|
|
69582
69889
|
</svg>
|
|
69583
69890
|
<span><strong class="font-semibold">Top Priorities and Quick Wins</strong> — High-impact actions to improve this specific metric</span>
|
|
69584
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
|
+
}
|
|
69585
69900
|
</ul>
|
|
69586
69901
|
</div>
|
|
69587
69902
|
</div>
|
|
@@ -69617,8 +69932,8 @@ class MetricWelcomeBannerComponent {
|
|
|
69617
69932
|
</div>
|
|
69618
69933
|
`
|
|
69619
69934
|
}]
|
|
69620
|
-
}], 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 }] }] }); })();
|
|
69621
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricWelcomeBannerComponent, { className: "MetricWelcomeBannerComponent", filePath: "lib/components/profile-analysis-shop-dashboard/metric-welcome-banner.component.ts", lineNumber:
|
|
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 }); })();
|
|
69622
69937
|
|
|
69623
69938
|
const _c0$v = a0 => ({ name: "chevron-right", source: a0 });
|
|
69624
69939
|
const _forTrack0$v = ($index, $item) => $item.id;
|
|
@@ -69867,7 +70182,7 @@ function MetricExecutiveSummaryComponent_Conditional_18_Template(rf, ctx) { if (
|
|
|
69867
70182
|
i0.ɵɵadvance();
|
|
69868
70183
|
i0.ɵɵconditional(ctx_r0.summary().metricHealthDescription ? 7 : -1);
|
|
69869
70184
|
} }
|
|
69870
|
-
function
|
|
70185
|
+
function MetricExecutiveSummaryComponent_Conditional_30_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
69871
70186
|
i0.ɵɵelementStart(0, "div", 32);
|
|
69872
70187
|
i0.ɵɵelement(1, "symphiq-napkin-visual-placeholder", 35);
|
|
69873
70188
|
i0.ɵɵelementEnd();
|
|
@@ -69876,12 +70191,12 @@ function MetricExecutiveSummaryComponent_Conditional_29_Conditional_4_Template(r
|
|
|
69876
70191
|
i0.ɵɵadvance();
|
|
69877
70192
|
i0.ɵɵproperty("visual", ctx_r0.summary().napkinVisual)("viewMode", ctx_r0.viewMode());
|
|
69878
70193
|
} }
|
|
69879
|
-
function
|
|
70194
|
+
function MetricExecutiveSummaryComponent_Conditional_30_Template(rf, ctx) { if (rf & 1) {
|
|
69880
70195
|
i0.ɵɵelementStart(0, "div", 19)(1, "h3", 30);
|
|
69881
70196
|
i0.ɵɵtext(2, " Analysis Narrative ");
|
|
69882
70197
|
i0.ɵɵelementEnd();
|
|
69883
70198
|
i0.ɵɵelementStart(3, "div", 31);
|
|
69884
|
-
i0.ɵɵconditionalCreate(4,
|
|
70199
|
+
i0.ɵɵconditionalCreate(4, MetricExecutiveSummaryComponent_Conditional_30_Conditional_4_Template, 2, 2, "div", 32);
|
|
69885
70200
|
i0.ɵɵelementStart(5, "p", 33);
|
|
69886
70201
|
i0.ɵɵtext(6);
|
|
69887
70202
|
i0.ɵɵelementEnd();
|
|
@@ -69900,7 +70215,7 @@ function MetricExecutiveSummaryComponent_Conditional_29_Template(rf, ctx) { if (
|
|
|
69900
70215
|
i0.ɵɵadvance();
|
|
69901
70216
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.summary().narrative, " ");
|
|
69902
70217
|
} }
|
|
69903
|
-
function
|
|
70218
|
+
function MetricExecutiveSummaryComponent_Conditional_31_For_5_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
69904
70219
|
i0.ɵɵelementStart(0, "div", 44)(1, "div", 45);
|
|
69905
70220
|
i0.ɵɵelement(2, "symphiq-icon", 46);
|
|
69906
70221
|
i0.ɵɵelementStart(3, "div")(4, "span", 47);
|
|
@@ -69922,10 +70237,10 @@ function MetricExecutiveSummaryComponent_Conditional_30_For_5_Conditional_8_Temp
|
|
|
69922
70237
|
i0.ɵɵadvance();
|
|
69923
70238
|
i0.ɵɵtextInterpolate1(" ", priority_r4.expectedImpact, " ");
|
|
69924
70239
|
} }
|
|
69925
|
-
function
|
|
70240
|
+
function MetricExecutiveSummaryComponent_Conditional_31_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
69926
70241
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
69927
70242
|
i0.ɵɵelementStart(0, "button", 39);
|
|
69928
|
-
i0.ɵɵlistener("click", function
|
|
70243
|
+
i0.ɵɵlistener("click", function MetricExecutiveSummaryComponent_Conditional_31_For_5_Template_button_click_0_listener() { const ctx_r2 = i0.ɵɵrestoreView(_r2); const priority_r4 = ctx_r2.$implicit; const $index_r5 = ctx_r2.$index; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.priorityDetailClick.emit({ priority: priority_r4, index: $index_r5 })); });
|
|
69929
70244
|
i0.ɵɵelementStart(1, "div", 40)(2, "span", 41);
|
|
69930
70245
|
i0.ɵɵtext(3);
|
|
69931
70246
|
i0.ɵɵelementEnd();
|
|
@@ -69935,7 +70250,7 @@ function MetricExecutiveSummaryComponent_Conditional_30_For_5_Template(rf, ctx)
|
|
|
69935
70250
|
i0.ɵɵelementStart(6, "p", 43);
|
|
69936
70251
|
i0.ɵɵtext(7);
|
|
69937
70252
|
i0.ɵɵelementEnd();
|
|
69938
|
-
i0.ɵɵconditionalCreate(8,
|
|
70253
|
+
i0.ɵɵconditionalCreate(8, MetricExecutiveSummaryComponent_Conditional_31_For_5_Conditional_8_Template, 8, 8, "div", 44);
|
|
69939
70254
|
i0.ɵɵelementEnd();
|
|
69940
70255
|
} if (rf & 2) {
|
|
69941
70256
|
const priority_r4 = ctx.$implicit;
|
|
@@ -69957,12 +70272,12 @@ function MetricExecutiveSummaryComponent_Conditional_30_For_5_Template(rf, ctx)
|
|
|
69957
70272
|
i0.ɵɵadvance();
|
|
69958
70273
|
i0.ɵɵconditional(priority_r4.expectedImpact ? 8 : -1);
|
|
69959
70274
|
} }
|
|
69960
|
-
function
|
|
70275
|
+
function MetricExecutiveSummaryComponent_Conditional_31_Template(rf, ctx) { if (rf & 1) {
|
|
69961
70276
|
i0.ɵɵelementStart(0, "div", 20)(1, "h3", 36);
|
|
69962
70277
|
i0.ɵɵtext(2, "Top Priorities");
|
|
69963
70278
|
i0.ɵɵelementEnd();
|
|
69964
70279
|
i0.ɵɵelementStart(3, "div", 37);
|
|
69965
|
-
i0.ɵɵrepeaterCreate(4,
|
|
70280
|
+
i0.ɵɵrepeaterCreate(4, MetricExecutiveSummaryComponent_Conditional_31_For_5_Template, 9, 8, "button", 38, i0.ɵɵrepeaterTrackByIndex);
|
|
69966
70281
|
i0.ɵɵelementEnd()();
|
|
69967
70282
|
} if (rf & 2) {
|
|
69968
70283
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -69971,7 +70286,7 @@ function MetricExecutiveSummaryComponent_Conditional_30_Template(rf, ctx) { if (
|
|
|
69971
70286
|
i0.ɵɵadvance(3);
|
|
69972
70287
|
i0.ɵɵrepeater(ctx_r0.summary().topPriorities);
|
|
69973
70288
|
} }
|
|
69974
|
-
function
|
|
70289
|
+
function MetricExecutiveSummaryComponent_Conditional_32_For_5_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
69975
70290
|
i0.ɵɵelementStart(0, "div", 57);
|
|
69976
70291
|
i0.ɵɵelement(1, "symphiq-icon", 15);
|
|
69977
70292
|
i0.ɵɵelementStart(2, "span");
|
|
@@ -69986,7 +70301,7 @@ function MetricExecutiveSummaryComponent_Conditional_31_For_5_Conditional_12_Tem
|
|
|
69986
70301
|
i0.ɵɵadvance(2);
|
|
69987
70302
|
i0.ɵɵtextInterpolate(win_r6.estimatedTimeframe);
|
|
69988
70303
|
} }
|
|
69989
|
-
function
|
|
70304
|
+
function MetricExecutiveSummaryComponent_Conditional_32_For_5_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
69990
70305
|
i0.ɵɵelementStart(0, "div", 58)(1, "h4", 24);
|
|
69991
70306
|
i0.ɵɵtext(2, " Related Goal ");
|
|
69992
70307
|
i0.ɵɵelementEnd();
|
|
@@ -70000,7 +70315,7 @@ function MetricExecutiveSummaryComponent_Conditional_31_For_5_Conditional_13_Tem
|
|
|
70000
70315
|
i0.ɵɵadvance(2);
|
|
70001
70316
|
i0.ɵɵproperty("relatedGoalIds", i0.ɵɵpureFunction1(4, _c9, win_r6.relatedGoalId))("allGoals", ctx_r0.allGoals() || i0.ɵɵpureFunction0(6, _c10))("viewMode", ctx_r0.viewMode());
|
|
70002
70317
|
} }
|
|
70003
|
-
function
|
|
70318
|
+
function MetricExecutiveSummaryComponent_Conditional_32_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
70004
70319
|
i0.ɵɵelementStart(0, "div", 51)(1, "div", 52)(2, "div", 53)(3, "span", 41);
|
|
70005
70320
|
i0.ɵɵtext(4);
|
|
70006
70321
|
i0.ɵɵelementEnd();
|
|
@@ -70013,8 +70328,8 @@ function MetricExecutiveSummaryComponent_Conditional_31_For_5_Template(rf, ctx)
|
|
|
70013
70328
|
i0.ɵɵelementStart(10, "span", 56);
|
|
70014
70329
|
i0.ɵɵtext(11);
|
|
70015
70330
|
i0.ɵɵelementEnd()();
|
|
70016
|
-
i0.ɵɵconditionalCreate(12,
|
|
70017
|
-
i0.ɵɵconditionalCreate(13,
|
|
70331
|
+
i0.ɵɵconditionalCreate(12, MetricExecutiveSummaryComponent_Conditional_32_For_5_Conditional_12_Template, 4, 5, "div", 57);
|
|
70332
|
+
i0.ɵɵconditionalCreate(13, MetricExecutiveSummaryComponent_Conditional_32_For_5_Conditional_13_Template, 4, 7, "div", 58);
|
|
70018
70333
|
i0.ɵɵelementEnd()();
|
|
70019
70334
|
} if (rf & 2) {
|
|
70020
70335
|
const win_r6 = ctx.$implicit;
|
|
@@ -70042,12 +70357,12 @@ function MetricExecutiveSummaryComponent_Conditional_31_For_5_Template(rf, ctx)
|
|
|
70042
70357
|
i0.ɵɵadvance();
|
|
70043
70358
|
i0.ɵɵconditional(win_r6.relatedGoalId && ctx_r0.allGoals() ? 13 : -1);
|
|
70044
70359
|
} }
|
|
70045
|
-
function
|
|
70360
|
+
function MetricExecutiveSummaryComponent_Conditional_32_Template(rf, ctx) { if (rf & 1) {
|
|
70046
70361
|
i0.ɵɵelementStart(0, "div", 21)(1, "h3", 49);
|
|
70047
70362
|
i0.ɵɵtext(2, "Quick Wins");
|
|
70048
70363
|
i0.ɵɵelementEnd();
|
|
70049
70364
|
i0.ɵɵelementStart(3, "div", 50);
|
|
70050
|
-
i0.ɵɵrepeaterCreate(4,
|
|
70365
|
+
i0.ɵɵrepeaterCreate(4, MetricExecutiveSummaryComponent_Conditional_32_For_5_Template, 14, 11, "div", 51, i0.ɵɵrepeaterTrackByIndex);
|
|
70051
70366
|
i0.ɵɵelementEnd()();
|
|
70052
70367
|
} if (rf & 2) {
|
|
70053
70368
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -70265,7 +70580,7 @@ class MetricExecutiveSummaryComponent {
|
|
|
70265
70580
|
return num.toLocaleString('en-US', { minimumFractionDigits: 0, maximumFractionDigits: 2 });
|
|
70266
70581
|
}
|
|
70267
70582
|
static { this.ɵfac = function MetricExecutiveSummaryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MetricExecutiveSummaryComponent)(); }; }
|
|
70268
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MetricExecutiveSummaryComponent, selectors: [["symphiq-metric-executive-summary"]], inputs: { viewMode: [1, "viewMode"], summary: [1, "summary"], metricName: [1, "metricName"], allGoals: [1, "allGoals"] }, outputs: { topPrioritiesClick: "topPrioritiesClick", priorityDetailClick: "priorityDetailClick", viewMetricDetailsClick: "viewMetricDetailsClick", viewReportClick: "viewReportClick" }, decls:
|
|
70583
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MetricExecutiveSummaryComponent, selectors: [["symphiq-metric-executive-summary"]], inputs: { viewMode: [1, "viewMode"], summary: [1, "summary"], metricName: [1, "metricName"], allGoals: [1, "allGoals"] }, outputs: { topPrioritiesClick: "topPrioritiesClick", priorityDetailClick: "priorityDetailClick", viewMetricDetailsClick: "viewMetricDetailsClick", viewReportClick: "viewReportClick" }, decls: 33, vars: 27, consts: [["id", "section-metric-executive-summary", 1, "space-y-6", "scroll-mt-24"], [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, "flex", "items-center", "gap-3", "mb-3"], [3, "icon", "size", "ngClass"], [1, "text-3xl", "font-bold", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], ["type", "button", 1, "w-full", "text-left", "cursor-pointer", "group", 3, "click"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-4", "gap-4"], [1, "rounded-xl", "p-4", "transition-all", "duration-200", "group-hover:scale-[1.02]", "group-hover:shadow-lg", 3, "ngClass"], [1, "flex", "flex-wrap", "items-center", "justify-center", "gap-3", "mt-4"], ["type", "button", 1, "inline-flex", "items-center", "gap-2", "px-4", "py-2.5", "rounded-lg", "text-sm", "font-semibold", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"], ["size", "w-4 h-4", 3, "icon"], ["type", "button", 1, "inline-flex", "items-center", "gap-2", "px-4", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "rounded-xl", "p-6", "mt-6", 3, "ngClass"], [1, "mt-6"], ["id", "quick-wins-section", 1, "mt-8", "scroll-mt-24"], [1, "flex", "items-center", "gap-2", "mb-2"], ["size", "w-4 h-4", 3, "icon", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "flex", "items-center", "gap-1", "mt-2"], [1, "text-sm", "font-medium", 3, "ngClass"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-xs", "mt-1", "truncate", "max-w-full", "cursor-help", 3, "libSymphiqTooltip", "tooltipPosition", "ngClass"], [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", "mb-4", 3, "ngClass"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "gap-4"], ["type", "button", 1, "rounded-xl", "p-6", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "cursor-pointer", 3, "ngClass"], ["type", "button", 1, "rounded-xl", "p-6", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "cursor-pointer", 3, "click", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-3"], [1, "flex-shrink-0", "w-8", "h-8", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-bold", 3, "ngClass"], [1, "text-lg", "font-semibold", "flex-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "mb-3", 3, "ngClass"], [1, "rounded-lg", "p-3", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["size", "w-4 h-4", 1, "mt-0.5", 3, "icon", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "block", "mb-1", 3, "ngClass"], [1, "text-xs", "leading-relaxed", 3, "ngClass"], [1, "text-xl", "font-bold", "mb-6", 3, "ngClass"], [1, "grid", "grid-cols-1", "md: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, "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"], [3, "relatedGoalIds", "allGoals", "viewMode"]], template: function MetricExecutiveSummaryComponent_Template(rf, ctx) { if (rf & 1) {
|
|
70269
70584
|
i0.ɵɵelementStart(0, "section", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4)(5, "div", 5);
|
|
70270
70585
|
i0.ɵɵelement(6, "symphiq-icon", 6);
|
|
70271
70586
|
i0.ɵɵelementStart(7, "h2", 7);
|
|
@@ -70301,18 +70616,20 @@ class MetricExecutiveSummaryComponent {
|
|
|
70301
70616
|
i0.ɵɵnamespaceHTML();
|
|
70302
70617
|
i0.ɵɵelementStart(27, "span");
|
|
70303
70618
|
i0.ɵɵtext(28, "View Report");
|
|
70304
|
-
i0.ɵɵelementEnd()
|
|
70305
|
-
i0.ɵɵ
|
|
70306
|
-
i0.ɵɵ
|
|
70307
|
-
i0.ɵɵconditionalCreate(
|
|
70619
|
+
i0.ɵɵelementEnd();
|
|
70620
|
+
i0.ɵɵelement(29, "symphiq-icon", 15);
|
|
70621
|
+
i0.ɵɵelementEnd()();
|
|
70622
|
+
i0.ɵɵconditionalCreate(30, MetricExecutiveSummaryComponent_Conditional_30_Template, 8, 5, "div", 19);
|
|
70623
|
+
i0.ɵɵconditionalCreate(31, MetricExecutiveSummaryComponent_Conditional_31_Template, 6, 1, "div", 20);
|
|
70624
|
+
i0.ɵɵconditionalCreate(32, MetricExecutiveSummaryComponent_Conditional_32_Template, 6, 1, "div", 21);
|
|
70308
70625
|
i0.ɵɵelementEnd()()();
|
|
70309
70626
|
} if (rf & 2) {
|
|
70310
|
-
let tmp_18_0;
|
|
70311
70627
|
let tmp_19_0;
|
|
70628
|
+
let tmp_20_0;
|
|
70312
70629
|
i0.ɵɵadvance();
|
|
70313
70630
|
i0.ɵɵproperty("ngClass", ctx.bannerClasses());
|
|
70314
70631
|
i0.ɵɵadvance(5);
|
|
70315
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
70632
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(21, _c0$u, ctx.iconSource))("size", "w-8 h-8")("ngClass", ctx.iconClasses());
|
|
70316
70633
|
i0.ɵɵadvance();
|
|
70317
70634
|
i0.ɵɵproperty("ngClass", ctx.titleClasses());
|
|
70318
70635
|
i0.ɵɵadvance();
|
|
@@ -70336,15 +70653,17 @@ class MetricExecutiveSummaryComponent {
|
|
|
70336
70653
|
i0.ɵɵadvance(2);
|
|
70337
70654
|
i0.ɵɵproperty("ngClass", ctx.viewDetailsButtonClasses());
|
|
70338
70655
|
i0.ɵɵadvance(3);
|
|
70339
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
70656
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(23, _c1$e, ctx.iconSource));
|
|
70340
70657
|
i0.ɵɵadvance();
|
|
70341
70658
|
i0.ɵɵproperty("ngClass", ctx.viewReportButtonClasses());
|
|
70342
70659
|
i0.ɵɵadvance(5);
|
|
70343
|
-
i0.ɵɵ
|
|
70660
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(25, _c1$e, ctx.iconSource));
|
|
70661
|
+
i0.ɵɵadvance();
|
|
70662
|
+
i0.ɵɵconditional(ctx.summary().narrative ? 30 : -1);
|
|
70344
70663
|
i0.ɵɵadvance();
|
|
70345
|
-
i0.ɵɵconditional(ctx.summary().topPriorities && (((
|
|
70664
|
+
i0.ɵɵconditional(ctx.summary().topPriorities && (((tmp_19_0 = ctx.summary().topPriorities) == null ? null : tmp_19_0.length) ?? 0) > 0 ? 31 : -1);
|
|
70346
70665
|
i0.ɵɵadvance();
|
|
70347
|
-
i0.ɵɵconditional(ctx.summary().quickWins && (((
|
|
70666
|
+
i0.ɵɵconditional(ctx.summary().quickWins && (((tmp_20_0 = ctx.summary().quickWins) == null ? null : tmp_20_0.length) ?? 0) > 0 ? 32 : -1);
|
|
70348
70667
|
} }, dependencies: [CommonModule, i1$1.NgClass, GradeBadgeComponent,
|
|
70349
70668
|
SymphiqIconComponent,
|
|
70350
70669
|
NapkinVisualPlaceholderComponent,
|
|
@@ -70549,6 +70868,10 @@ class MetricExecutiveSummaryComponent {
|
|
|
70549
70868
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
|
|
70550
70869
|
</svg>
|
|
70551
70870
|
<span>View Report</span>
|
|
70871
|
+
<symphiq-icon
|
|
70872
|
+
[icon]="{ name: 'arrow-right', source: iconSource }"
|
|
70873
|
+
size="w-4 h-4"
|
|
70874
|
+
/>
|
|
70552
70875
|
</button>
|
|
70553
70876
|
</div>
|
|
70554
70877
|
|
|
@@ -70688,7 +71011,7 @@ class MetricExecutiveSummaryComponent {
|
|
|
70688
71011
|
`
|
|
70689
71012
|
}]
|
|
70690
71013
|
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], summary: [{ type: i0.Input, args: [{ isSignal: true, alias: "summary", required: true }] }], metricName: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricName", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", required: false }] }], topPrioritiesClick: [{ type: i0.Output, args: ["topPrioritiesClick"] }], priorityDetailClick: [{ type: i0.Output, args: ["priorityDetailClick"] }], viewMetricDetailsClick: [{ type: i0.Output, args: ["viewMetricDetailsClick"] }], viewReportClick: [{ type: i0.Output, args: ["viewReportClick"] }] }); })();
|
|
70691
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricExecutiveSummaryComponent, { className: "MetricExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-shop-dashboard/metric-executive-summary.component.ts", lineNumber:
|
|
71014
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricExecutiveSummaryComponent, { className: "MetricExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-shop-dashboard/metric-executive-summary.component.ts", lineNumber: 348 }); })();
|
|
70692
71015
|
|
|
70693
71016
|
const _c0$t = a0 => ({ name: "chevron-right", source: a0 });
|
|
70694
71017
|
function GoalCardComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -74447,44 +74770,52 @@ class MetricRelationshipsCardComponent {
|
|
|
74447
74770
|
const _c0$m = a0 => ({ name: "chevron-right", source: a0 });
|
|
74448
74771
|
const _c1$a = a0 => ({ name: "link", source: a0 });
|
|
74449
74772
|
const _forTrack0$p = ($index, $item) => $item.id;
|
|
74450
|
-
function
|
|
74773
|
+
function RelatedMetricCardComponent_Conditional_18_Conditional_5_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
74451
74774
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
74452
|
-
i0.ɵɵelementStart(0, "button",
|
|
74453
|
-
i0.ɵɵlistener("click", function
|
|
74775
|
+
i0.ɵɵelementStart(0, "button", 18);
|
|
74776
|
+
i0.ɵɵlistener("click", function RelatedMetricCardComponent_Conditional_18_Conditional_5_For_2_Template_button_click_0_listener($event) { const goal_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openGoalModal(goal_r2, $event)); });
|
|
74454
74777
|
i0.ɵɵelementStart(1, "span");
|
|
74455
74778
|
i0.ɵɵtext(2);
|
|
74456
74779
|
i0.ɵɵelementEnd();
|
|
74457
|
-
i0.ɵɵelement(3, "symphiq-icon",
|
|
74780
|
+
i0.ɵɵelement(3, "symphiq-icon", 19);
|
|
74458
74781
|
i0.ɵɵelementEnd();
|
|
74459
74782
|
} if (rf & 2) {
|
|
74460
74783
|
const goal_r2 = ctx.$implicit;
|
|
74461
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
74784
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
74462
74785
|
i0.ɵɵproperty("ngClass", ctx_r2.goalChipClasses());
|
|
74463
74786
|
i0.ɵɵadvance(2);
|
|
74464
74787
|
i0.ɵɵtextInterpolate(goal_r2.title);
|
|
74465
74788
|
i0.ɵɵadvance();
|
|
74466
74789
|
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$m, ctx_r2.IconSourceEnumValue.HEROICONS));
|
|
74467
74790
|
} }
|
|
74791
|
+
function RelatedMetricCardComponent_Conditional_18_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
74792
|
+
i0.ɵɵelementStart(0, "div", 16);
|
|
74793
|
+
i0.ɵɵrepeaterCreate(1, RelatedMetricCardComponent_Conditional_18_Conditional_5_For_2_Template, 4, 5, "button", 17, _forTrack0$p);
|
|
74794
|
+
i0.ɵɵelementEnd();
|
|
74795
|
+
} if (rf & 2) {
|
|
74796
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
74797
|
+
i0.ɵɵadvance();
|
|
74798
|
+
i0.ɵɵrepeater(ctx_r2.sharedGoalObjects());
|
|
74799
|
+
} }
|
|
74468
74800
|
function RelatedMetricCardComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
74469
|
-
i0.ɵɵelementStart(0, "div",
|
|
74470
|
-
i0.ɵɵelement(2, "symphiq-icon",
|
|
74471
|
-
i0.ɵɵelementStart(3, "span",
|
|
74801
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "div", 13);
|
|
74802
|
+
i0.ɵɵelement(2, "symphiq-icon", 14);
|
|
74803
|
+
i0.ɵɵelementStart(3, "span", 15);
|
|
74472
74804
|
i0.ɵɵtext(4);
|
|
74473
74805
|
i0.ɵɵelementEnd()();
|
|
74474
|
-
i0.ɵɵ
|
|
74475
|
-
i0.ɵɵ
|
|
74476
|
-
i0.ɵɵelementEnd()();
|
|
74806
|
+
i0.ɵɵconditionalCreate(5, RelatedMetricCardComponent_Conditional_18_Conditional_5_Template, 3, 0, "div", 16);
|
|
74807
|
+
i0.ɵɵelementEnd();
|
|
74477
74808
|
} if (rf & 2) {
|
|
74478
74809
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
74479
74810
|
i0.ɵɵproperty("ngClass", ctx_r2.borderClasses());
|
|
74480
74811
|
i0.ɵɵadvance(2);
|
|
74481
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
74812
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c1$a, ctx_r2.IconSourceEnumValue.HEROICONS))("ngClass", ctx_r2.sharedGoalsIconClasses());
|
|
74482
74813
|
i0.ɵɵadvance();
|
|
74483
74814
|
i0.ɵɵproperty("ngClass", ctx_r2.sharedGoalsTextClasses());
|
|
74484
74815
|
i0.ɵɵadvance();
|
|
74485
|
-
i0.ɵɵtextInterpolate2(" ", ctx_r2.
|
|
74486
|
-
i0.ɵɵadvance(
|
|
74487
|
-
i0.ɵɵ
|
|
74816
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r2.sharedGoalIds().length, " Shared ", ctx_r2.sharedGoalIds().length === 1 ? "Goal" : "Goals", " ");
|
|
74817
|
+
i0.ɵɵadvance();
|
|
74818
|
+
i0.ɵɵconditional(ctx_r2.sharedGoalObjects().length > 0 ? 5 : -1);
|
|
74488
74819
|
} }
|
|
74489
74820
|
const IconSourceEnumValue$2 = IconSourceEnum;
|
|
74490
74821
|
class RelatedMetricCardComponent {
|
|
@@ -74637,7 +74968,7 @@ class RelatedMetricCardComponent {
|
|
|
74637
74968
|
this.cardClicked.emit(this.metric());
|
|
74638
74969
|
}
|
|
74639
74970
|
static { this.ɵfac = function RelatedMetricCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || RelatedMetricCardComponent)(); }; }
|
|
74640
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RelatedMetricCardComponent, selectors: [["symphiq-related-metric-card"]], inputs: { metric: [1, "metric"], relationship: [1, "relationship"], relationshipDescription: [1, "relationshipDescription"], priority: [1, "priority"], sharedGoalIds: [1, "sharedGoalIds"], viewMode: [1, "viewMode"], allGoals: [1, "allGoals"] }, outputs: { cardClicked: "cardClicked" }, decls: 19, vars: 15, consts: [[1, "rounded-xl", "p-4", "transition-all", "duration-200", "border", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "gap-3", "mb-3"], [1, "flex-1", "min-w-0"], [1, "text-base", "font-semibold", "mb-1", "truncate", 3, "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "inline-flex", "items-center", "gap-1.5", "px-2.5", "py-1", "rounded-full", "text-xs", "font-semibold", "uppercase", "tracking-wide", 3, "ngClass"], ["size", "w-3 h-3", 3, "icon"], [1, "px-2.5", "py-1", "rounded-full", "text-xs", "font-bold", "uppercase", "tracking-wide", "whitespace-nowrap", "flex-shrink-0", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "
|
|
74971
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RelatedMetricCardComponent, selectors: [["symphiq-related-metric-card"]], inputs: { metric: [1, "metric"], relationship: [1, "relationship"], relationshipDescription: [1, "relationshipDescription"], priority: [1, "priority"], sharedGoalIds: [1, "sharedGoalIds"], viewMode: [1, "viewMode"], allGoals: [1, "allGoals"] }, outputs: { cardClicked: "cardClicked" }, decls: 19, vars: 15, consts: [[1, "rounded-xl", "p-4", "transition-all", "duration-200", "border", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "gap-3", "mb-3"], [1, "flex-1", "min-w-0"], [1, "text-base", "font-semibold", "mb-1", "truncate", 3, "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "inline-flex", "items-center", "gap-1.5", "px-2.5", "py-1", "rounded-full", "text-xs", "font-semibold", "uppercase", "tracking-wide", 3, "ngClass"], ["size", "w-3 h-3", 3, "icon"], [1, "px-2.5", "py-1", "rounded-full", "text-xs", "font-bold", "uppercase", "tracking-wide", "whitespace-nowrap", "flex-shrink-0", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "mb-3", 3, "ngClass"], [1, "flex", "justify-end", "mb-3"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-1.5", "px-3", "py-1.5", "rounded-lg", "text-xs", "font-semibold", "transition-all", "duration-200", "hover:scale-105", "hover:shadow-lg", 3, "click", "ngClass"], ["size", "w-3.5 h-3.5", 1, "flex-shrink-0", 3, "icon"], [1, "pt-3", "border-t", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mb-2"], ["size", "w-4 h-4", 3, "icon", "ngClass"], [1, "text-xs", "font-medium", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-2"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-3", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", "hover:shadow-md", 3, "ngClass"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-3", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", "hover:shadow-md", 3, "click", "ngClass"], ["size", "w-3.5 h-3.5", 1, "flex-shrink-0", "opacity-60", 3, "icon"]], template: function RelatedMetricCardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
74641
74972
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h4", 3);
|
|
74642
74973
|
i0.ɵɵtext(4);
|
|
74643
74974
|
i0.ɵɵelementEnd();
|
|
@@ -74648,17 +74979,17 @@ class RelatedMetricCardComponent {
|
|
|
74648
74979
|
i0.ɵɵelementStart(9, "span", 7);
|
|
74649
74980
|
i0.ɵɵtext(10);
|
|
74650
74981
|
i0.ɵɵelementEnd()();
|
|
74651
|
-
i0.ɵɵelementStart(11, "
|
|
74652
|
-
i0.ɵɵtext(
|
|
74982
|
+
i0.ɵɵelementStart(11, "p", 8);
|
|
74983
|
+
i0.ɵɵtext(12);
|
|
74653
74984
|
i0.ɵɵelementEnd();
|
|
74654
|
-
i0.ɵɵelementStart(14, "button",
|
|
74985
|
+
i0.ɵɵelementStart(13, "div", 9)(14, "button", 10);
|
|
74655
74986
|
i0.ɵɵlistener("click", function RelatedMetricCardComponent_Template_button_click_14_listener($event) { return ctx.onViewDetailsClick($event); });
|
|
74656
74987
|
i0.ɵɵelementStart(15, "span");
|
|
74657
74988
|
i0.ɵɵtext(16, "View Details");
|
|
74658
74989
|
i0.ɵɵelementEnd();
|
|
74659
|
-
i0.ɵɵelement(17, "symphiq-icon",
|
|
74990
|
+
i0.ɵɵelement(17, "symphiq-icon", 11);
|
|
74660
74991
|
i0.ɵɵelementEnd()();
|
|
74661
|
-
i0.ɵɵconditionalCreate(18, RelatedMetricCardComponent_Conditional_18_Template,
|
|
74992
|
+
i0.ɵɵconditionalCreate(18, RelatedMetricCardComponent_Conditional_18_Template, 6, 9, "div", 12);
|
|
74662
74993
|
i0.ɵɵelementEnd();
|
|
74663
74994
|
} if (rf & 2) {
|
|
74664
74995
|
i0.ɵɵproperty("ngClass", ctx.cardClasses());
|
|
@@ -74676,16 +75007,16 @@ class RelatedMetricCardComponent {
|
|
|
74676
75007
|
i0.ɵɵproperty("ngClass", ctx.priorityBadgeClasses());
|
|
74677
75008
|
i0.ɵɵadvance();
|
|
74678
75009
|
i0.ɵɵtextInterpolate1(" ", ctx.formatPriority(ctx.priority()), " ");
|
|
74679
|
-
i0.ɵɵadvance(
|
|
75010
|
+
i0.ɵɵadvance();
|
|
74680
75011
|
i0.ɵɵproperty("ngClass", ctx.descriptionClasses());
|
|
74681
75012
|
i0.ɵɵadvance();
|
|
74682
75013
|
i0.ɵɵtextInterpolate1(" ", ctx.relationshipDescription(), " ");
|
|
74683
|
-
i0.ɵɵadvance();
|
|
75014
|
+
i0.ɵɵadvance(2);
|
|
74684
75015
|
i0.ɵɵproperty("ngClass", ctx.viewDetailsChipClasses());
|
|
74685
75016
|
i0.ɵɵadvance(3);
|
|
74686
75017
|
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(13, _c0$m, ctx.IconSourceEnumValue.HEROICONS));
|
|
74687
75018
|
i0.ɵɵadvance();
|
|
74688
|
-
i0.ɵɵconditional(ctx.
|
|
75019
|
+
i0.ɵɵconditional(ctx.sharedGoalIds() && ctx.sharedGoalIds().length > 0 ? 18 : -1);
|
|
74689
75020
|
} }, dependencies: [CommonModule, i1$1.NgClass, SymphiqIconComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
74690
75021
|
}
|
|
74691
75022
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RelatedMetricCardComponent, [{
|
|
@@ -74721,22 +75052,24 @@ class RelatedMetricCardComponent {
|
|
|
74721
75052
|
</div>
|
|
74722
75053
|
|
|
74723
75054
|
<!-- Description -->
|
|
74724
|
-
<
|
|
74725
|
-
|
|
74726
|
-
|
|
74727
|
-
|
|
75055
|
+
<p [ngClass]="descriptionClasses()" class="text-sm leading-relaxed mb-3">
|
|
75056
|
+
{{ relationshipDescription() }}
|
|
75057
|
+
</p>
|
|
75058
|
+
|
|
75059
|
+
<!-- View Details Button -->
|
|
75060
|
+
<div class="flex justify-end mb-3">
|
|
74728
75061
|
<button
|
|
74729
75062
|
type="button"
|
|
74730
75063
|
[ngClass]="viewDetailsChipClasses()"
|
|
74731
75064
|
(click)="onViewDetailsClick($event)"
|
|
74732
|
-
class="cursor-pointer flex
|
|
75065
|
+
class="cursor-pointer flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-semibold transition-all duration-200 hover:scale-105 hover:shadow-lg">
|
|
74733
75066
|
<span>View Details</span>
|
|
74734
75067
|
<symphiq-icon [icon]="{ name: 'chevron-right', source: IconSourceEnumValue.HEROICONS }" size="w-3.5 h-3.5" class="flex-shrink-0"></symphiq-icon>
|
|
74735
75068
|
</button>
|
|
74736
75069
|
</div>
|
|
74737
75070
|
|
|
74738
|
-
<!-- Shared Goals
|
|
74739
|
-
@if (
|
|
75071
|
+
<!-- Shared Goals -->
|
|
75072
|
+
@if (sharedGoalIds() && sharedGoalIds()!.length > 0) {
|
|
74740
75073
|
<div class="pt-3 border-t" [ngClass]="borderClasses()">
|
|
74741
75074
|
<div class="flex items-center gap-2 mb-2">
|
|
74742
75075
|
<symphiq-icon
|
|
@@ -74745,28 +75078,30 @@ class RelatedMetricCardComponent {
|
|
|
74745
75078
|
[ngClass]="sharedGoalsIconClasses()"
|
|
74746
75079
|
/>
|
|
74747
75080
|
<span [ngClass]="sharedGoalsTextClasses()" class="text-xs font-medium">
|
|
74748
|
-
{{
|
|
75081
|
+
{{ sharedGoalIds()!.length }} Shared {{ sharedGoalIds()!.length === 1 ? 'Goal' : 'Goals' }}
|
|
74749
75082
|
</span>
|
|
74750
75083
|
</div>
|
|
74751
|
-
|
|
74752
|
-
|
|
74753
|
-
|
|
74754
|
-
|
|
74755
|
-
|
|
74756
|
-
|
|
74757
|
-
|
|
74758
|
-
|
|
74759
|
-
|
|
74760
|
-
|
|
74761
|
-
|
|
74762
|
-
|
|
75084
|
+
@if (sharedGoalObjects().length > 0) {
|
|
75085
|
+
<div class="flex flex-wrap gap-2">
|
|
75086
|
+
@for (goal of sharedGoalObjects(); track goal.id) {
|
|
75087
|
+
<button
|
|
75088
|
+
type="button"
|
|
75089
|
+
[ngClass]="goalChipClasses()"
|
|
75090
|
+
(click)="openGoalModal(goal, $event)"
|
|
75091
|
+
class="cursor-pointer flex items-center gap-2 px-3 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 hover:scale-105 hover:shadow-md">
|
|
75092
|
+
<span>{{ goal.title }}</span>
|
|
75093
|
+
<symphiq-icon [icon]="{ name: 'chevron-right', source: IconSourceEnumValue.HEROICONS }" size="w-3.5 h-3.5" class="flex-shrink-0 opacity-60"></symphiq-icon>
|
|
75094
|
+
</button>
|
|
75095
|
+
}
|
|
75096
|
+
</div>
|
|
75097
|
+
}
|
|
74763
75098
|
</div>
|
|
74764
75099
|
}
|
|
74765
75100
|
</div>
|
|
74766
75101
|
`
|
|
74767
75102
|
}]
|
|
74768
75103
|
}], null, { metric: [{ type: i0.Input, args: [{ isSignal: true, alias: "metric", required: true }] }], relationship: [{ type: i0.Input, args: [{ isSignal: true, alias: "relationship", required: true }] }], relationshipDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "relationshipDescription", required: true }] }], priority: [{ type: i0.Input, args: [{ isSignal: true, alias: "priority", required: true }] }], sharedGoalIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "sharedGoalIds", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", required: false }] }], cardClicked: [{ type: i0.Output, args: ["cardClicked"] }] }); })();
|
|
74769
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RelatedMetricCardComponent, { className: "RelatedMetricCardComponent", filePath: "lib/components/profile-analysis-shop-dashboard/cards/related-metric-card.component.ts", lineNumber:
|
|
75104
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RelatedMetricCardComponent, { className: "RelatedMetricCardComponent", filePath: "lib/components/profile-analysis-shop-dashboard/cards/related-metric-card.component.ts", lineNumber: 97 }); })();
|
|
74770
75105
|
|
|
74771
75106
|
const _forTrack0$o = ($index, $item) => $item.metric;
|
|
74772
75107
|
function RelatedMetricsListComponent_Conditional_1_For_14_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -78055,28 +78390,25 @@ class ProfileSectionContentComponent {
|
|
|
78055
78390
|
}
|
|
78056
78391
|
}
|
|
78057
78392
|
chartsForMetric(metric) {
|
|
78393
|
+
const metricEnum = metric.metric;
|
|
78058
78394
|
const metricId = metric.performanceItemId;
|
|
78059
|
-
|
|
78060
|
-
if (!metricId && !metricName) {
|
|
78395
|
+
if (!metricEnum && !metricId) {
|
|
78061
78396
|
return [];
|
|
78062
78397
|
}
|
|
78063
78398
|
const allChartsArr = this.allCharts();
|
|
78064
78399
|
const matchingCharts = [];
|
|
78065
|
-
const metricNameLower = metricName?.toLowerCase() || '';
|
|
78066
|
-
const metricNameNormalized = metricNameLower.replace(/\s+/g, '_');
|
|
78067
78400
|
for (const chart of allChartsArr) {
|
|
78068
|
-
|
|
78069
|
-
|
|
78401
|
+
if (metricEnum && chart.metrics?.includes(metricEnum)) {
|
|
78402
|
+
matchingCharts.push(chart);
|
|
78403
|
+
continue;
|
|
78404
|
+
}
|
|
78070
78405
|
if (metricId) {
|
|
78406
|
+
const chartId = chart.performanceItemId || '';
|
|
78071
78407
|
const prefix = metricId + '_';
|
|
78072
78408
|
if (chartId === metricId || chartId.startsWith(prefix)) {
|
|
78073
78409
|
matchingCharts.push(chart);
|
|
78074
|
-
continue;
|
|
78075
78410
|
}
|
|
78076
78411
|
}
|
|
78077
|
-
if (metricName && chartIdLower.includes(metricNameNormalized)) {
|
|
78078
|
-
matchingCharts.push(chart);
|
|
78079
|
-
}
|
|
78080
78412
|
}
|
|
78081
78413
|
return matchingCharts;
|
|
78082
78414
|
}
|
|
@@ -78166,7 +78498,7 @@ class ProfileSectionContentComponent {
|
|
|
78166
78498
|
const metrics = this.allMetrics() || [];
|
|
78167
78499
|
const metricData = metrics.find(m => m.metric === metricEnum);
|
|
78168
78500
|
if (metricData) {
|
|
78169
|
-
const charts = this.
|
|
78501
|
+
const charts = this.chartsForMetric(metricData);
|
|
78170
78502
|
this.modalService.openMetricModal(metricData, charts);
|
|
78171
78503
|
}
|
|
78172
78504
|
}
|
|
@@ -86169,13 +86501,30 @@ class CollapsibleAnalysisSectionGroupComponent {
|
|
|
86169
86501
|
this.allCharts = input([], ...(ngDevMode ? [{ debugName: "allCharts" }] : []));
|
|
86170
86502
|
this.allInsights = input([], ...(ngDevMode ? [{ debugName: "allInsights" }] : []));
|
|
86171
86503
|
this.businessProfile = input(undefined, ...(ngDevMode ? [{ debugName: "businessProfile" }] : []));
|
|
86504
|
+
this.storageKey = input('collapsible-analysis-section-group', ...(ngDevMode ? [{ debugName: "storageKey" }] : []));
|
|
86172
86505
|
this.viewReportClick = output();
|
|
86506
|
+
this.router = inject(Router);
|
|
86173
86507
|
this.modalService = inject(ModalService);
|
|
86174
86508
|
this.profileContextService = inject(ProfileContextService);
|
|
86509
|
+
this.routerSubscription = null;
|
|
86175
86510
|
this.expandedSections = signal([], ...(ngDevMode ? [{ debugName: "expandedSections" }] : []));
|
|
86176
86511
|
}
|
|
86177
86512
|
ngOnInit() {
|
|
86178
|
-
|
|
86513
|
+
const savedState = this.loadExpandedState();
|
|
86514
|
+
if (savedState && savedState.length === this.sections().length) {
|
|
86515
|
+
this.expandedSections.set(savedState);
|
|
86516
|
+
}
|
|
86517
|
+
else {
|
|
86518
|
+
this.expandedSections.set(new Array(this.sections().length).fill(false));
|
|
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();
|
|
86179
86528
|
}
|
|
86180
86529
|
toggleSection(index) {
|
|
86181
86530
|
const willBeExpanded = !this.expandedSections()[index];
|
|
@@ -86184,6 +86533,7 @@ class CollapsibleAnalysisSectionGroupComponent {
|
|
|
86184
86533
|
newSections[index] = !newSections[index];
|
|
86185
86534
|
return newSections;
|
|
86186
86535
|
});
|
|
86536
|
+
this.saveExpandedState();
|
|
86187
86537
|
if (willBeExpanded) {
|
|
86188
86538
|
setTimeout(() => {
|
|
86189
86539
|
const element = document.getElementById(`collapsible-section-${index}`);
|
|
@@ -86195,6 +86545,31 @@ class CollapsibleAnalysisSectionGroupComponent {
|
|
|
86195
86545
|
}, 50);
|
|
86196
86546
|
}
|
|
86197
86547
|
}
|
|
86548
|
+
saveExpandedState() {
|
|
86549
|
+
try {
|
|
86550
|
+
localStorage.setItem(this.storageKey(), JSON.stringify(this.expandedSections()));
|
|
86551
|
+
}
|
|
86552
|
+
catch {
|
|
86553
|
+
}
|
|
86554
|
+
}
|
|
86555
|
+
loadExpandedState() {
|
|
86556
|
+
try {
|
|
86557
|
+
const saved = localStorage.getItem(this.storageKey());
|
|
86558
|
+
if (saved) {
|
|
86559
|
+
return JSON.parse(saved);
|
|
86560
|
+
}
|
|
86561
|
+
}
|
|
86562
|
+
catch {
|
|
86563
|
+
}
|
|
86564
|
+
return null;
|
|
86565
|
+
}
|
|
86566
|
+
clearExpandedState() {
|
|
86567
|
+
try {
|
|
86568
|
+
localStorage.removeItem(this.storageKey());
|
|
86569
|
+
}
|
|
86570
|
+
catch {
|
|
86571
|
+
}
|
|
86572
|
+
}
|
|
86198
86573
|
containerClasses() {
|
|
86199
86574
|
return this.viewMode() === ViewModeEnum.DARK
|
|
86200
86575
|
? 'bg-slate-800/40 border-slate-700/50'
|
|
@@ -86387,7 +86762,7 @@ class CollapsibleAnalysisSectionGroupComponent {
|
|
|
86387
86762
|
});
|
|
86388
86763
|
}
|
|
86389
86764
|
static { this.ɵfac = function CollapsibleAnalysisSectionGroupComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CollapsibleAnalysisSectionGroupComponent)(); }; }
|
|
86390
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollapsibleAnalysisSectionGroupComponent, selectors: [["symphiq-collapsible-analysis-section-group"]], inputs: { sections: [1, "sections"], viewMode: [1, "viewMode"], executiveSummary: [1, "executiveSummary"], focusAreaExecutiveSummary: [1, "focusAreaExecutiveSummary"], metricExecutiveSummary: [1, "metricExecutiveSummary"], metricName: [1, "metricName"], allGoals: [1, "allGoals"], allMetrics: [1, "allMetrics"], allCharts: [1, "allCharts"], allInsights: [1, "allInsights"], businessProfile: [1, "businessProfile"] }, outputs: { viewReportClick: "viewReportClick" }, decls: 24, vars: 12, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "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, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "mb-6", "p-4", "rounded-xl", "border", "flex", "items-start", "gap-3", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "font-semibold", "text-sm", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "space-y-3"], [1, "rounded-xl", "border", "overflow-hidden", "transition-all", "duration-200", 3, "id", "ngClass"], ["type", "button", 1, "cursor-pointer", "w-full", "px-5", "py-4", "flex", "items-center", "justify-between", "gap-4", "text-left", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-3", "flex-1", "min-w-0"], [1, "p-2", "rounded-lg", "flex-shrink-0", "transition-colors", "duration-200", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "font-semibold", "transition-colors", "duration-200", 3, "ngClass"], [1, "text-sm", "mt-0.5", "line-clamp-1", "transition-colors", "duration-200", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-200", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden"], [1, "border-t", "p-6", 3, "ngClass"], [3, "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "summary", "allGoals"], ["size", "w-4 h-4", 3, "icon"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMetricDetailsClick", "viewReportClick", "viewMode", "summary", "metricName", "allGoals"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "allGoals"], [1, "mb-6"], [3, "section", "viewMode", "sectionIndex", "executiveSummary", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], [1, "relative"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "clear-both"], [1, "mb-6", "lg:float-left", "lg:mr-6", "lg:mb-4", "lg:max-w-[50%]"], [1, "mb-6", "lg:float-right", "lg:ml-6", "lg:mb-4", "lg:max-w-[50%]"], [3, "visual", "viewMode"]], template: function CollapsibleAnalysisSectionGroupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
86765
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollapsibleAnalysisSectionGroupComponent, selectors: [["symphiq-collapsible-analysis-section-group"]], inputs: { sections: [1, "sections"], viewMode: [1, "viewMode"], executiveSummary: [1, "executiveSummary"], focusAreaExecutiveSummary: [1, "focusAreaExecutiveSummary"], metricExecutiveSummary: [1, "metricExecutiveSummary"], metricName: [1, "metricName"], allGoals: [1, "allGoals"], allMetrics: [1, "allMetrics"], allCharts: [1, "allCharts"], allInsights: [1, "allInsights"], businessProfile: [1, "businessProfile"], storageKey: [1, "storageKey"] }, outputs: { viewReportClick: "viewReportClick" }, decls: 24, vars: 12, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "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, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "mb-6", "p-4", "rounded-xl", "border", "flex", "items-start", "gap-3", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "font-semibold", "text-sm", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "space-y-3"], [1, "rounded-xl", "border", "overflow-hidden", "transition-all", "duration-200", 3, "id", "ngClass"], ["type", "button", 1, "cursor-pointer", "w-full", "px-5", "py-4", "flex", "items-center", "justify-between", "gap-4", "text-left", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-3", "flex-1", "min-w-0"], [1, "p-2", "rounded-lg", "flex-shrink-0", "transition-colors", "duration-200", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "font-semibold", "transition-colors", "duration-200", 3, "ngClass"], [1, "text-sm", "mt-0.5", "line-clamp-1", "transition-colors", "duration-200", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-200", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden"], [1, "border-t", "p-6", 3, "ngClass"], [3, "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "summary", "allGoals"], ["size", "w-4 h-4", 3, "icon"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMetricDetailsClick", "viewReportClick", "viewMode", "summary", "metricName", "allGoals"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "allGoals"], [1, "mb-6"], [3, "section", "viewMode", "sectionIndex", "executiveSummary", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], [1, "relative"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "clear-both"], [1, "mb-6", "lg:float-left", "lg:mr-6", "lg:mb-4", "lg:max-w-[50%]"], [1, "mb-6", "lg:float-right", "lg:ml-6", "lg:mb-4", "lg:max-w-[50%]"], [3, "visual", "viewMode"]], template: function CollapsibleAnalysisSectionGroupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
86391
86766
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4);
|
|
86392
86767
|
i0.ɵɵnamespaceSVG();
|
|
86393
86768
|
i0.ɵɵelementStart(5, "svg", 5);
|
|
@@ -86606,8 +86981,8 @@ class CollapsibleAnalysisSectionGroupComponent {
|
|
|
86606
86981
|
</div>
|
|
86607
86982
|
`
|
|
86608
86983
|
}]
|
|
86609
|
-
}], 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 }] }], viewReportClick: [{ type: i0.Output, args: ["viewReportClick"] }] }); })();
|
|
86610
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleAnalysisSectionGroupComponent, { className: "CollapsibleAnalysisSectionGroupComponent", filePath: "lib/components/profile-analysis-shop-dashboard/cards/collapsible-analysis-section-group.component.ts", lineNumber:
|
|
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"] }] }); })();
|
|
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 }); })();
|
|
86611
86986
|
|
|
86612
86987
|
const _forTrack0$g = ($index, $item) => $item.code;
|
|
86613
86988
|
function BillingCurrencySelectorCardComponent_For_15_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -92796,15 +93171,17 @@ function SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_
|
|
|
92796
93171
|
i0.ɵɵelement(0, "symphiq-shop-welcome-banner", 29);
|
|
92797
93172
|
} if (rf & 2) {
|
|
92798
93173
|
let tmp_3_0;
|
|
93174
|
+
let tmp_5_0;
|
|
92799
93175
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
92800
|
-
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);
|
|
92801
93177
|
} }
|
|
92802
93178
|
function SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
92803
93179
|
i0.ɵɵelement(0, "symphiq-metric-welcome-banner", 30);
|
|
92804
93180
|
} if (rf & 2) {
|
|
92805
93181
|
let tmp_3_0;
|
|
93182
|
+
let tmp_5_0;
|
|
92806
93183
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
92807
|
-
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);
|
|
92808
93185
|
} }
|
|
92809
93186
|
function SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
92810
93187
|
i0.ɵɵelementStart(0, "div", 31)(1, "div", 32);
|
|
@@ -92827,8 +93204,8 @@ function SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_
|
|
|
92827
93204
|
} }
|
|
92828
93205
|
function SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
92829
93206
|
i0.ɵɵelementStart(0, "div", 28);
|
|
92830
|
-
i0.ɵɵconditionalCreate(1, SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_1_Template, 1,
|
|
92831
|
-
i0.ɵɵconditionalCreate(2, SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_2_Template, 1,
|
|
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);
|
|
92832
93209
|
i0.ɵɵelementEnd();
|
|
92833
93210
|
i0.ɵɵconditionalCreate(3, SymphiqProfileShopAnalysisDashboardComponent_Conditional_8_Conditional_3_Template, 8, 4, "div", 31);
|
|
92834
93211
|
} if (rf & 2) {
|
|
@@ -94475,7 +94852,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
|
|
|
94475
94852
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.planSelectionContainer = _t.first);
|
|
94476
94853
|
} }, hostBindings: function SymphiqProfileShopAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
94477
94854
|
i0.ɵɵlistener("scroll", function SymphiqProfileShopAnalysisDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
|
|
94478
|
-
} }, 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:
|
|
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) {
|
|
94479
94856
|
i0.ɵɵelementStart(0, "div", 2);
|
|
94480
94857
|
i0.ɵɵelement(1, "div", 3);
|
|
94481
94858
|
i0.ɵɵelementStart(2, "div");
|
|
@@ -94586,7 +94963,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
|
|
|
94586
94963
|
i0.ɵɵadvance();
|
|
94587
94964
|
i0.ɵɵconditional(ctx.isEditingCurrency() ? 29 : -1);
|
|
94588
94965
|
i0.ɵɵadvance();
|
|
94589
|
-
i0.ɵɵproperty("viewMode", ctx.viewMode())("reviewStatus", (tmp_50_0 = ctx.profileAnalysis()) == null ? null : tmp_50_0.reviewStatus)("selfContentStatus", (tmp_51_0 = ctx.profileAnalysis()) == null ? null : tmp_51_0.selfContentStatus)("isMarkingAsReviewed", ctx.isMarkingAsReviewed());
|
|
94966
|
+
i0.ɵɵproperty("viewMode", ctx.viewMode())("reviewStatus", (tmp_50_0 = ctx.profileAnalysis()) == null ? null : tmp_50_0.reviewStatus)("selfContentStatus", (tmp_51_0 = ctx.profileAnalysis()) == null ? null : tmp_51_0.selfContentStatus)("isMarkingAsReviewed", ctx.isMarkingAsReviewed())("isLoading", !!ctx.isLoading());
|
|
94590
94967
|
} }, dependencies: [CommonModule, i1$1.NgClass, DashboardHeaderComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, FloatingTocComponent, SectionNavigationComponent, GradeBadgeComponent, ShopWelcomeBannerComponent, MetricWelcomeBannerComponent, MetricExecutiveSummaryComponent, NapkinVisualPlaceholderComponent, TooltipContainerComponent, ProfileSectionContentComponent, ProfileAnalysisModalComponent, ModalComponent, GoalCardComponent, GoalObjectivesModalContentComponent, ObjectiveStrategiesModalContentComponent, StrategyRecommendationsModalContentComponent, CategoryDetailModalContentComponent, StrengthDetailModalContentComponent, GapDetailModalContentComponent, OpportunityDetailModalContentComponent, BusinessAnalysisModalComponent, SectionDividerComponent, SymphiqIconComponent, RelatedGoalChipsComponent, StrategicGoalsTiledGridComponent, CollapsibleAnalysisSectionGroupComponent, BillingCurrencySelectorCardComponent, PlanSelectionPlaceholderCardComponent, PlanSelectionContainerComponent, SubscriptionValuePropositionCardComponent, StickySubscriptionContinueButtonComponent, ContentGenerationProgressComponent, ProfileStatusCardComponent, ProfileStickyFooterComponent, IndeterminateSpinnerComponent, MarkAsReviewedFooterComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
94591
94968
|
}
|
|
94592
94969
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqProfileShopAnalysisDashboardComponent, [{
|
|
@@ -94652,6 +95029,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
|
|
|
94652
95029
|
[viewMode]="viewMode()"
|
|
94653
95030
|
[businessName]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'your shop'"
|
|
94654
95031
|
[isOnboarded]="isOnboarded()"
|
|
95032
|
+
[analysisDate]="profileAnalysis()?.selfContentCompletedDate"
|
|
94655
95033
|
/>
|
|
94656
95034
|
}
|
|
94657
95035
|
@if (isMetricAnalysis()) {
|
|
@@ -94659,6 +95037,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
|
|
|
94659
95037
|
[viewMode]="viewMode()"
|
|
94660
95038
|
[metricName]="profileAnalysis()?.profileAnalysisStructured?.metricExecutiveSummary?.metric"
|
|
94661
95039
|
[isOnboarded]="isOnboarded()"
|
|
95040
|
+
[analysisDate]="profileAnalysis()?.selfContentCompletedDate"
|
|
94662
95041
|
/>
|
|
94663
95042
|
}
|
|
94664
95043
|
</div>
|
|
@@ -95292,6 +95671,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
|
|
|
95292
95671
|
[reviewStatus]="profileAnalysis()?.reviewStatus"
|
|
95293
95672
|
[selfContentStatus]="profileAnalysis()?.selfContentStatus"
|
|
95294
95673
|
[isMarkingAsReviewed]="isMarkingAsReviewed()"
|
|
95674
|
+
[isLoading]="!!isLoading()"
|
|
95295
95675
|
(markAsReviewedClick)="handleMarkAsReviewedClick()"
|
|
95296
95676
|
/>
|
|
95297
95677
|
</div>
|
|
@@ -95310,7 +95690,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
|
|
|
95310
95690
|
type: HostListener,
|
|
95311
95691
|
args: ['window:scroll', ['$event']]
|
|
95312
95692
|
}] }); })();
|
|
95313
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileShopAnalysisDashboardComponent, { className: "SymphiqProfileShopAnalysisDashboardComponent", filePath: "lib/components/profile-analysis-shop-dashboard/symphiq-profile-shop-analysis-dashboard.component.ts", lineNumber:
|
|
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 }); })();
|
|
95314
95694
|
|
|
95315
95695
|
function ProfileAnalysisStatusSummaryComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
95316
95696
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 3);
|
|
@@ -96392,10 +96772,27 @@ function SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_17_Templ
|
|
|
96392
96772
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
96393
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);
|
|
96394
96774
|
} }
|
|
96395
|
-
function
|
|
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) {
|
|
96396
96793
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
96397
96794
|
i0.ɵɵelementStart(0, "symphiq-search-modal", 36);
|
|
96398
|
-
i0.ɵɵlistener("closeModal", function
|
|
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()); });
|
|
96399
96796
|
i0.ɵɵelementEnd();
|
|
96400
96797
|
} }
|
|
96401
96798
|
class SymphiqProfileFocusAreasAnalysesDashboardComponent {
|
|
@@ -96664,6 +97061,38 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
|
|
|
96664
97061
|
}
|
|
96665
97062
|
return { generating, notReviewed, reviewed };
|
|
96666
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" }] : []));
|
|
96667
97096
|
this.genericCardData = computed(() => {
|
|
96668
97097
|
return this.focusAreaCards().map(card => {
|
|
96669
97098
|
let engagementBadge = null;
|
|
@@ -96893,7 +97322,7 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
|
|
|
96893
97322
|
static { this.ɵfac = function SymphiqProfileFocusAreasAnalysesDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileFocusAreasAnalysesDashboardComponent)(); }; }
|
|
96894
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) {
|
|
96895
97324
|
i0.ɵɵlistener("scroll", function SymphiqProfileFocusAreasAnalysesDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
|
|
96896
|
-
} }, 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:
|
|
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) {
|
|
96897
97326
|
i0.ɵɵelementStart(0, "div", 0);
|
|
96898
97327
|
i0.ɵɵelement(1, "div", 1);
|
|
96899
97328
|
i0.ɵɵelementStart(2, "div", 2);
|
|
@@ -96964,24 +97393,26 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
|
|
|
96964
97393
|
i0.ɵɵtext(54, "Unlock Domain Insights");
|
|
96965
97394
|
i0.ɵɵelementEnd();
|
|
96966
97395
|
i0.ɵɵtext(55, " \u2014 Receive focused analysis and recommendations tailored to each marketing channel's unique context");
|
|
96967
|
-
i0.ɵɵelementEnd()()
|
|
96968
|
-
i0.ɵɵ
|
|
97396
|
+
i0.ɵɵelementEnd()();
|
|
97397
|
+
i0.ɵɵconditionalCreate(56, SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_56_Template, 7, 1, "li", 28);
|
|
97398
|
+
i0.ɵɵelementEnd()()();
|
|
97399
|
+
i0.ɵɵelementStart(57, "div", 31);
|
|
96969
97400
|
i0.ɵɵnamespaceSVG();
|
|
96970
|
-
i0.ɵɵelementStart(
|
|
96971
|
-
i0.ɵɵelement(
|
|
97401
|
+
i0.ɵɵelementStart(58, "svg", 24);
|
|
97402
|
+
i0.ɵɵelement(59, "path", 32);
|
|
96972
97403
|
i0.ɵɵelementEnd();
|
|
96973
97404
|
i0.ɵɵnamespaceHTML();
|
|
96974
|
-
i0.ɵɵelementStart(
|
|
96975
|
-
i0.ɵɵtext(
|
|
97405
|
+
i0.ɵɵelementStart(60, "div", 14)(61, "h3", 26);
|
|
97406
|
+
i0.ɵɵtext(62, " Continue Your Journey ");
|
|
96976
97407
|
i0.ɵɵelementEnd();
|
|
96977
|
-
i0.ɵɵelementStart(
|
|
96978
|
-
i0.ɵɵtext(
|
|
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. ");
|
|
96979
97410
|
i0.ɵɵelementEnd()()()()()()();
|
|
96980
|
-
i0.ɵɵelementStart(
|
|
96981
|
-
i0.ɵɵlistener("cardClick", function
|
|
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); });
|
|
96982
97413
|
i0.ɵɵelementEnd()()();
|
|
96983
|
-
i0.ɵɵconditionalCreate(
|
|
96984
|
-
i0.ɵɵelement(
|
|
97414
|
+
i0.ɵɵconditionalCreate(66, SymphiqProfileFocusAreasAnalysesDashboardComponent_Conditional_66_Template, 1, 0, "symphiq-search-modal");
|
|
97415
|
+
i0.ɵɵelement(67, "symphiq-tooltip-container");
|
|
96985
97416
|
i0.ɵɵelementEnd();
|
|
96986
97417
|
} if (rf & 2) {
|
|
96987
97418
|
i0.ɵɵclassProp("min-h-screen", !ctx.embedded());
|
|
@@ -97017,6 +97448,8 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
|
|
|
97017
97448
|
i0.ɵɵadvance(2);
|
|
97018
97449
|
i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerHighlightListClasses());
|
|
97019
97450
|
i0.ɵɵadvance(22);
|
|
97451
|
+
i0.ɵɵconditional(ctx.formattedAnalysisDateRange() ? 56 : -1);
|
|
97452
|
+
i0.ɵɵadvance();
|
|
97020
97453
|
i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerNextStepsClasses());
|
|
97021
97454
|
i0.ɵɵadvance();
|
|
97022
97455
|
i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerNextStepsIconClasses());
|
|
@@ -97027,7 +97460,7 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
|
|
|
97027
97460
|
i0.ɵɵadvance(2);
|
|
97028
97461
|
i0.ɵɵproperty("viewMode", ctx.viewMode())("cards", ctx.genericCardData())("config", ctx.focusAreaCardConfig);
|
|
97029
97462
|
i0.ɵɵadvance();
|
|
97030
|
-
i0.ɵɵconditional(ctx.showSearchModal() ?
|
|
97463
|
+
i0.ɵɵconditional(ctx.showSearchModal() ? 66 : -1);
|
|
97031
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: [
|
|
97032
97465
|
trigger('statusBadge', [
|
|
97033
97466
|
transition(':enter', [
|
|
@@ -97198,6 +97631,16 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
|
|
|
97198
97631
|
</svg>
|
|
97199
97632
|
<span><strong class="font-semibold">Unlock Domain Insights</strong> — Receive focused analysis and recommendations tailored to each marketing channel's unique context</span>
|
|
97200
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
|
+
}
|
|
97201
97644
|
</ul>
|
|
97202
97645
|
</div>
|
|
97203
97646
|
</div>
|
|
@@ -97249,7 +97692,7 @@ class SymphiqProfileFocusAreasAnalysesDashboardComponent {
|
|
|
97249
97692
|
type: HostListener,
|
|
97250
97693
|
args: ['window:scroll', ['$event']]
|
|
97251
97694
|
}] }); })();
|
|
97252
|
-
(() => { (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:
|
|
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 }); })();
|
|
97253
97696
|
|
|
97254
97697
|
const _c0$8 = () => [];
|
|
97255
97698
|
function SymphiqProfileFocusAreaDashboardComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -97532,28 +97975,45 @@ function FocusAreaWelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (r
|
|
|
97532
97975
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
97533
97976
|
i0.ɵɵtextInterpolate1(" Welcome to Your ", ctx_r0.focusAreaDisplayName(), " Analysis ");
|
|
97534
97977
|
} }
|
|
97535
|
-
function
|
|
97978
|
+
function FocusAreaWelcomeBannerComponent_Conditional_46_Template(rf, ctx) { if (rf & 1) {
|
|
97979
|
+
i0.ɵɵelementStart(0, "li", 15);
|
|
97536
97980
|
i0.ɵɵnamespaceSVG();
|
|
97537
|
-
i0.ɵɵ
|
|
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());
|
|
97538
97994
|
} }
|
|
97539
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) {
|
|
97540
98000
|
i0.ɵɵnamespaceSVG();
|
|
97541
98001
|
i0.ɵɵelement(0, "path", 20);
|
|
97542
98002
|
} }
|
|
97543
|
-
function
|
|
98003
|
+
function FocusAreaWelcomeBannerComponent_Conditional_53_Template(rf, ctx) { if (rf & 1) {
|
|
97544
98004
|
i0.ɵɵtext(0, " Keep Your Focus Area Updated ");
|
|
97545
98005
|
} }
|
|
97546
|
-
function
|
|
98006
|
+
function FocusAreaWelcomeBannerComponent_Conditional_54_Template(rf, ctx) { if (rf & 1) {
|
|
97547
98007
|
i0.ɵɵtext(0, " Continue Your Journey ");
|
|
97548
98008
|
} }
|
|
97549
|
-
function
|
|
98009
|
+
function FocusAreaWelcomeBannerComponent_Conditional_56_Template(rf, ctx) { if (rf & 1) {
|
|
97550
98010
|
i0.ɵɵtext(0);
|
|
97551
98011
|
i0.ɵɵpipe(1, "lowercase");
|
|
97552
98012
|
} if (rf & 2) {
|
|
97553
98013
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
97554
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. ");
|
|
97555
98015
|
} }
|
|
97556
|
-
function
|
|
98016
|
+
function FocusAreaWelcomeBannerComponent_Conditional_57_Template(rf, ctx) { if (rf & 1) {
|
|
97557
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. ");
|
|
97558
98018
|
} }
|
|
97559
98019
|
class FocusAreaWelcomeBannerComponent {
|
|
@@ -97562,7 +98022,15 @@ class FocusAreaWelcomeBannerComponent {
|
|
|
97562
98022
|
this.focusAreaDomain = input(...(ngDevMode ? [undefined, { debugName: "focusAreaDomain" }] : []));
|
|
97563
98023
|
this.focusAreaName = input(...(ngDevMode ? [undefined, { debugName: "focusAreaName" }] : []));
|
|
97564
98024
|
this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
|
|
98025
|
+
this.analysisDate = input(...(ngDevMode ? [undefined, { debugName: "analysisDate" }] : []));
|
|
97565
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" }] : []));
|
|
97566
98034
|
this.focusAreaDisplayName = computed(() => {
|
|
97567
98035
|
return this.focusAreaName() || this.getFocusAreaName(this.focusAreaDomain());
|
|
97568
98036
|
}, ...(ngDevMode ? [{ debugName: "focusAreaDisplayName" }] : []));
|
|
@@ -97676,7 +98144,7 @@ class FocusAreaWelcomeBannerComponent {
|
|
|
97676
98144
|
: 'text-slate-300';
|
|
97677
98145
|
}
|
|
97678
98146
|
static { this.ɵfac = function FocusAreaWelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FocusAreaWelcomeBannerComponent)(); }; }
|
|
97679
|
-
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:
|
|
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) {
|
|
97680
98148
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
97681
98149
|
i0.ɵɵelement(4, "symphiq-icon", 4);
|
|
97682
98150
|
i0.ɵɵelementEnd();
|
|
@@ -97734,18 +98202,20 @@ class FocusAreaWelcomeBannerComponent {
|
|
|
97734
98202
|
i0.ɵɵtext(44, "Tactical Roadmap");
|
|
97735
98203
|
i0.ɵɵelementEnd();
|
|
97736
98204
|
i0.ɵɵtext(45, " \u2014 Step-by-step goals, strategies, and recommendations for domain optimization");
|
|
97737
|
-
i0.ɵɵelementEnd()()
|
|
97738
|
-
i0.ɵɵ
|
|
98205
|
+
i0.ɵɵelementEnd()();
|
|
98206
|
+
i0.ɵɵconditionalCreate(46, FocusAreaWelcomeBannerComponent_Conditional_46_Template, 7, 1, "li", 15);
|
|
98207
|
+
i0.ɵɵelementEnd()()();
|
|
98208
|
+
i0.ɵɵelementStart(47, "div", 18);
|
|
97739
98209
|
i0.ɵɵnamespaceSVG();
|
|
97740
|
-
i0.ɵɵelementStart(
|
|
97741
|
-
i0.ɵɵconditionalCreate(
|
|
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);
|
|
97742
98212
|
i0.ɵɵelementEnd();
|
|
97743
98213
|
i0.ɵɵnamespaceHTML();
|
|
97744
|
-
i0.ɵɵelementStart(
|
|
97745
|
-
i0.ɵɵconditionalCreate(
|
|
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);
|
|
97746
98216
|
i0.ɵɵelementEnd();
|
|
97747
|
-
i0.ɵɵelementStart(
|
|
97748
|
-
i0.ɵɵconditionalCreate(
|
|
98217
|
+
i0.ɵɵelementStart(55, "p", 22);
|
|
98218
|
+
i0.ɵɵconditionalCreate(56, FocusAreaWelcomeBannerComponent_Conditional_56_Template, 2, 3)(57, FocusAreaWelcomeBannerComponent_Conditional_57_Template, 1, 0);
|
|
97749
98219
|
i0.ɵɵelementEnd()()()()()()();
|
|
97750
98220
|
} if (rf & 2) {
|
|
97751
98221
|
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
@@ -97762,7 +98232,7 @@ class FocusAreaWelcomeBannerComponent {
|
|
|
97762
98232
|
i0.ɵɵadvance(3);
|
|
97763
98233
|
i0.ɵɵproperty("ngClass", ctx.textClasses());
|
|
97764
98234
|
i0.ɵɵadvance();
|
|
97765
|
-
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,
|
|
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. ");
|
|
97766
98236
|
i0.ɵɵadvance(2);
|
|
97767
98237
|
i0.ɵɵproperty("ngClass", ctx.textClasses());
|
|
97768
98238
|
i0.ɵɵadvance(4);
|
|
@@ -97774,21 +98244,23 @@ class FocusAreaWelcomeBannerComponent {
|
|
|
97774
98244
|
i0.ɵɵadvance(2);
|
|
97775
98245
|
i0.ɵɵproperty("ngClass", ctx.highlightListClasses());
|
|
97776
98246
|
i0.ɵɵadvance(7);
|
|
97777
|
-
i0.ɵɵtextInterpolate1(" \u2014 Current maturity and performance assessment for ", i0.ɵɵpipeBind1(31,
|
|
98247
|
+
i0.ɵɵtextInterpolate1(" \u2014 Current maturity and performance assessment for ", i0.ɵɵpipeBind1(31, 25, ctx.focusAreaDisplayName()));
|
|
97778
98248
|
i0.ɵɵadvance(16);
|
|
98249
|
+
i0.ɵɵconditional(ctx.formattedAnalysisDate() ? 46 : -1);
|
|
98250
|
+
i0.ɵɵadvance();
|
|
97779
98251
|
i0.ɵɵproperty("ngClass", ctx.nextStepsBoxClasses());
|
|
97780
98252
|
i0.ɵɵadvance();
|
|
97781
98253
|
i0.ɵɵproperty("ngClass", ctx.nextStepsIconClasses());
|
|
97782
98254
|
i0.ɵɵadvance();
|
|
97783
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
98255
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 49 : 50);
|
|
97784
98256
|
i0.ɵɵadvance(3);
|
|
97785
98257
|
i0.ɵɵproperty("ngClass", ctx.nextStepsTitleClasses());
|
|
97786
98258
|
i0.ɵɵadvance();
|
|
97787
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
98259
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 53 : 54);
|
|
97788
98260
|
i0.ɵɵadvance(2);
|
|
97789
98261
|
i0.ɵɵproperty("ngClass", ctx.nextStepsTextClasses());
|
|
97790
98262
|
i0.ɵɵadvance();
|
|
97791
|
-
i0.ɵɵconditional(ctx.isOnboarded() ?
|
|
98263
|
+
i0.ɵɵconditional(ctx.isOnboarded() ? 56 : 57);
|
|
97792
98264
|
} }, dependencies: [CommonModule, i1$1.NgClass, SymphiqIconComponent, i1$1.LowerCasePipe], encapsulation: 2, changeDetection: 0 }); }
|
|
97793
98265
|
}
|
|
97794
98266
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FocusAreaWelcomeBannerComponent, [{
|
|
@@ -97798,97 +98270,105 @@ class FocusAreaWelcomeBannerComponent {
|
|
|
97798
98270
|
standalone: true,
|
|
97799
98271
|
imports: [CommonModule, SymphiqIconComponent],
|
|
97800
98272
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
97801
|
-
template: `
|
|
97802
|
-
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
97803
|
-
<div [ngClass]="contentClasses()" class="px-8 py-8">
|
|
97804
|
-
<div class="flex items-start gap-6">
|
|
97805
|
-
<div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
|
|
97806
|
-
<symphiq-icon [icon]="focusAreaIcon()" size="w-8 h-8" />
|
|
97807
|
-
</div>
|
|
97808
|
-
|
|
97809
|
-
<div class="flex-1">
|
|
97810
|
-
<h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
|
|
97811
|
-
@if (isOnboarded()) {
|
|
97812
|
-
Your {{ focusAreaDisplayName() }} Analysis
|
|
97813
|
-
} @else {
|
|
97814
|
-
Welcome to Your {{ focusAreaDisplayName() }} Analysis
|
|
97815
|
-
}
|
|
97816
|
-
</h2>
|
|
97817
|
-
|
|
97818
|
-
<!-- Description -->
|
|
97819
|
-
<div class="space-y-3 mb-6">
|
|
97820
|
-
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
97821
|
-
{{ 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.
|
|
97822
|
-
</p>
|
|
97823
|
-
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
97824
|
-
<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.
|
|
97825
|
-
</p>
|
|
97826
|
-
</div>
|
|
97827
|
-
|
|
97828
|
-
<div [ngClass]="highlightBoxClasses()" class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
|
|
97829
|
-
<svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="highlightIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
97830
|
-
<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>
|
|
97831
|
-
</svg>
|
|
97832
|
-
<div class="flex-1">
|
|
97833
|
-
<h3 [ngClass]="highlightTitleClasses()" class="font-bold text-lg mb-2">
|
|
97834
|
-
What You'll See Below
|
|
97835
|
-
</h3>
|
|
97836
|
-
<ul [ngClass]="highlightListClasses()" class="space-y-2 text-sm">
|
|
97837
|
-
<li class="flex items-start gap-2">
|
|
97838
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
97839
|
-
<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>
|
|
97840
|
-
</svg>
|
|
97841
|
-
<span><strong class="font-semibold">Focus Area Health</strong> — Current maturity and performance assessment for {{ focusAreaDisplayName() | lowercase }}</span>
|
|
97842
|
-
</li>
|
|
97843
|
-
<li class="flex items-start gap-2">
|
|
97844
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
97845
|
-
<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>
|
|
97846
|
-
</svg>
|
|
97847
|
-
<span><strong class="font-semibold">Top Priorities</strong> — High-impact improvements specific to this operational domain</span>
|
|
97848
|
-
</li>
|
|
97849
|
-
<li class="flex items-start gap-2">
|
|
97850
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
97851
|
-
<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>
|
|
97852
|
-
</svg>
|
|
97853
|
-
<span><strong class="font-semibold">Tactical Roadmap</strong> — Step-by-step goals, strategies, and recommendations for domain optimization</span>
|
|
97854
|
-
</li>
|
|
97855
|
-
|
|
97856
|
-
|
|
97857
|
-
|
|
97858
|
-
|
|
97859
|
-
|
|
97860
|
-
|
|
97861
|
-
|
|
97862
|
-
|
|
97863
|
-
|
|
97864
|
-
|
|
97865
|
-
|
|
97866
|
-
|
|
97867
|
-
|
|
97868
|
-
|
|
97869
|
-
|
|
97870
|
-
|
|
97871
|
-
|
|
97872
|
-
|
|
97873
|
-
|
|
97874
|
-
|
|
97875
|
-
|
|
97876
|
-
|
|
97877
|
-
|
|
97878
|
-
|
|
97879
|
-
|
|
97880
|
-
|
|
97881
|
-
|
|
97882
|
-
|
|
97883
|
-
|
|
97884
|
-
|
|
97885
|
-
|
|
97886
|
-
|
|
97887
|
-
|
|
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>
|
|
97888
98368
|
`
|
|
97889
98369
|
}]
|
|
97890
|
-
}], 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 }] }] }); })();
|
|
97891
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaWelcomeBannerComponent, { className: "FocusAreaWelcomeBannerComponent", filePath: "lib/components/profile-analysis-focus-area-dashboard/focus-area-welcome-banner.component.ts", lineNumber:
|
|
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 }); })();
|
|
97892
98372
|
|
|
97893
98373
|
const _c0$7 = ["funnelModalComponent"];
|
|
97894
98374
|
const _forTrack0$6 = ($index, $item) => $item.id;
|
|
@@ -97917,9 +98397,10 @@ function SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_7_Templat
|
|
|
97917
98397
|
i0.ɵɵelementEnd();
|
|
97918
98398
|
i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_7_Conditional_2_Template, 8, 4, "div", 23);
|
|
97919
98399
|
} if (rf & 2) {
|
|
98400
|
+
let tmp_5_0;
|
|
97920
98401
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
97921
98402
|
i0.ɵɵadvance();
|
|
97922
|
-
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);
|
|
97923
98404
|
i0.ɵɵadvance();
|
|
97924
98405
|
i0.ɵɵconditional(ctx_r1.isLoading() ? 2 : -1);
|
|
97925
98406
|
} }
|
|
@@ -98617,7 +99098,7 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
|
|
|
98617
99098
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.funnelModalComponent = _t.first);
|
|
98618
99099
|
} }, hostBindings: function SymphiqProfileAnalysisFocusAreaDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
98619
99100
|
i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisFocusAreaDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
|
|
98620
|
-
} }, 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:
|
|
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) {
|
|
98621
99102
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
98622
99103
|
i0.ɵɵelementStart(0, "div", 1);
|
|
98623
99104
|
i0.ɵɵelement(1, "div", 2);
|
|
@@ -98628,7 +99109,7 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
|
|
|
98628
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()); });
|
|
98629
99110
|
i0.ɵɵelementEnd();
|
|
98630
99111
|
i0.ɵɵelementStart(6, "main", 6);
|
|
98631
|
-
i0.ɵɵconditionalCreate(7, SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_7_Template, 3,
|
|
99112
|
+
i0.ɵɵconditionalCreate(7, SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_7_Template, 3, 5);
|
|
98632
99113
|
i0.ɵɵconditionalCreate(8, SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_8_Template, 2, 2);
|
|
98633
99114
|
i0.ɵɵconditionalCreate(9, SymphiqProfileAnalysisFocusAreaDashboardComponent_Conditional_9_Template, 3, 3);
|
|
98634
99115
|
i0.ɵɵelementEnd();
|
|
@@ -98716,7 +99197,7 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
|
|
|
98716
99197
|
i0.ɵɵadvance(3);
|
|
98717
99198
|
i0.ɵɵproperty("isLightMode", ctx.isLightMode());
|
|
98718
99199
|
i0.ɵɵadvance();
|
|
98719
|
-
i0.ɵɵproperty("viewMode", ctx.viewMode())("reviewStatus", (tmp_42_0 = ctx.profileAnalysis()) == null ? null : tmp_42_0.reviewStatus)("selfContentStatus", (tmp_43_0 = ctx.profileAnalysis()) == null ? null : tmp_43_0.selfContentStatus)("isMarkingAsReviewed", ctx.isMarkingAsReviewed());
|
|
99200
|
+
i0.ɵɵproperty("viewMode", ctx.viewMode())("reviewStatus", (tmp_42_0 = ctx.profileAnalysis()) == null ? null : tmp_42_0.reviewStatus)("selfContentStatus", (tmp_43_0 = ctx.profileAnalysis()) == null ? null : tmp_43_0.selfContentStatus)("isMarkingAsReviewed", ctx.isMarkingAsReviewed())("isLoading", !!ctx.isLoading());
|
|
98720
99201
|
} }, dependencies: [CommonModule, i1$1.NgClass, DashboardHeaderComponent,
|
|
98721
99202
|
SearchModalComponent,
|
|
98722
99203
|
ViewModeSwitcherModalComponent,
|
|
@@ -98825,6 +99306,7 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
|
|
|
98825
99306
|
[viewMode]="viewMode()"
|
|
98826
99307
|
[focusAreaDomain]="focusAreaDomain()"
|
|
98827
99308
|
[focusAreaName]="focusAreaName()"
|
|
99309
|
+
[analysisDate]="profileAnalysis()?.selfContentCompletedDate"
|
|
98828
99310
|
/>
|
|
98829
99311
|
</div>
|
|
98830
99312
|
|
|
@@ -99116,6 +99598,7 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
|
|
|
99116
99598
|
[reviewStatus]="profileAnalysis()?.reviewStatus"
|
|
99117
99599
|
[selfContentStatus]="profileAnalysis()?.selfContentStatus"
|
|
99118
99600
|
[isMarkingAsReviewed]="isMarkingAsReviewed()"
|
|
99601
|
+
[isLoading]="!!isLoading()"
|
|
99119
99602
|
(markAsReviewedClick)="handleMarkAsReviewedClick()"
|
|
99120
99603
|
/>
|
|
99121
99604
|
|
|
@@ -99132,7 +99615,7 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
|
|
|
99132
99615
|
type: HostListener,
|
|
99133
99616
|
args: ['window:scroll', ['$event']]
|
|
99134
99617
|
}] }); })();
|
|
99135
|
-
(() => { (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:
|
|
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 }); })();
|
|
99136
99619
|
|
|
99137
99620
|
function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
99138
99621
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -99149,10 +99632,27 @@ function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_17_Template
|
|
|
99149
99632
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
99150
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);
|
|
99151
99634
|
} }
|
|
99152
|
-
function
|
|
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) {
|
|
99153
99653
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
99154
99654
|
i0.ɵɵelementStart(0, "symphiq-search-modal", 36);
|
|
99155
|
-
i0.ɵɵlistener("closeModal", function
|
|
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()); });
|
|
99156
99656
|
i0.ɵɵelementEnd();
|
|
99157
99657
|
} }
|
|
99158
99658
|
class SymphiqProfileMetricsAnalysesDashboardComponent {
|
|
@@ -99474,6 +99974,38 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
|
|
|
99474
99974
|
}
|
|
99475
99975
|
return { generating, notReviewed, reviewed };
|
|
99476
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" }] : []));
|
|
99477
100009
|
this.genericCardData = computed(() => {
|
|
99478
100010
|
return this.metricCards().map(card => ({
|
|
99479
100011
|
id: card.metricEnum,
|
|
@@ -99615,7 +100147,7 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
|
|
|
99615
100147
|
static { this.ɵfac = function SymphiqProfileMetricsAnalysesDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileMetricsAnalysesDashboardComponent)(); }; }
|
|
99616
100148
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqProfileMetricsAnalysesDashboardComponent, selectors: [["symphiq-profile-metrics-analyses-dashboard"]], hostBindings: function SymphiqProfileMetricsAnalysesDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
99617
100149
|
i0.ɵɵlistener("scroll", function SymphiqProfileMetricsAnalysesDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
|
|
99618
|
-
} }, 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:
|
|
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) {
|
|
99619
100151
|
i0.ɵɵelementStart(0, "div", 0);
|
|
99620
100152
|
i0.ɵɵelement(1, "div", 1);
|
|
99621
100153
|
i0.ɵɵelementStart(2, "div", 2);
|
|
@@ -99686,24 +100218,26 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
|
|
|
99686
100218
|
i0.ɵɵtext(54, "Performance Insights");
|
|
99687
100219
|
i0.ɵɵelementEnd();
|
|
99688
100220
|
i0.ɵɵtext(55, " \u2014 Unlock analysis showing what's working, what's not, and specific improvement opportunities for each stage");
|
|
99689
|
-
i0.ɵɵelementEnd()()
|
|
99690
|
-
i0.ɵɵ
|
|
100221
|
+
i0.ɵɵelementEnd()();
|
|
100222
|
+
i0.ɵɵconditionalCreate(56, SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_56_Template, 7, 1, "li", 28);
|
|
100223
|
+
i0.ɵɵelementEnd()()();
|
|
100224
|
+
i0.ɵɵelementStart(57, "div", 31);
|
|
99691
100225
|
i0.ɵɵnamespaceSVG();
|
|
99692
|
-
i0.ɵɵelementStart(
|
|
99693
|
-
i0.ɵɵelement(
|
|
100226
|
+
i0.ɵɵelementStart(58, "svg", 24);
|
|
100227
|
+
i0.ɵɵelement(59, "path", 32);
|
|
99694
100228
|
i0.ɵɵelementEnd();
|
|
99695
100229
|
i0.ɵɵnamespaceHTML();
|
|
99696
|
-
i0.ɵɵelementStart(
|
|
99697
|
-
i0.ɵɵtext(
|
|
100230
|
+
i0.ɵɵelementStart(60, "div", 14)(61, "h3", 26);
|
|
100231
|
+
i0.ɵɵtext(62, " Complete Your Profile ");
|
|
99698
100232
|
i0.ɵɵelementEnd();
|
|
99699
|
-
i0.ɵɵelementStart(
|
|
99700
|
-
i0.ɵɵtext(
|
|
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. ");
|
|
99701
100235
|
i0.ɵɵelementEnd()()()()()()();
|
|
99702
|
-
i0.ɵɵelementStart(
|
|
99703
|
-
i0.ɵɵlistener("cardClick", function
|
|
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); });
|
|
99704
100238
|
i0.ɵɵelementEnd()()();
|
|
99705
|
-
i0.ɵɵconditionalCreate(
|
|
99706
|
-
i0.ɵɵelement(
|
|
100239
|
+
i0.ɵɵconditionalCreate(66, SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_66_Template, 1, 0, "symphiq-search-modal");
|
|
100240
|
+
i0.ɵɵelement(67, "symphiq-tooltip-container");
|
|
99707
100241
|
i0.ɵɵelementEnd();
|
|
99708
100242
|
} if (rf & 2) {
|
|
99709
100243
|
i0.ɵɵclassProp("min-h-screen", !ctx.embedded());
|
|
@@ -99739,6 +100273,8 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
|
|
|
99739
100273
|
i0.ɵɵadvance(2);
|
|
99740
100274
|
i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerHighlightListClasses());
|
|
99741
100275
|
i0.ɵɵadvance(22);
|
|
100276
|
+
i0.ɵɵconditional(ctx.formattedAnalysisDateRange() ? 56 : -1);
|
|
100277
|
+
i0.ɵɵadvance();
|
|
99742
100278
|
i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerNextStepsClasses());
|
|
99743
100279
|
i0.ɵɵadvance();
|
|
99744
100280
|
i0.ɵɵproperty("ngClass", ctx.getWelcomeBannerNextStepsIconClasses());
|
|
@@ -99749,7 +100285,7 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
|
|
|
99749
100285
|
i0.ɵɵadvance(2);
|
|
99750
100286
|
i0.ɵɵproperty("viewMode", ctx.viewMode())("cards", ctx.genericCardData())("config", ctx.metricCardConfig);
|
|
99751
100287
|
i0.ɵɵadvance();
|
|
99752
|
-
i0.ɵɵconditional(ctx.showSearchModal() ?
|
|
100288
|
+
i0.ɵɵconditional(ctx.showSearchModal() ? 66 : -1);
|
|
99753
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: [
|
|
99754
100290
|
trigger('statusBadge', [
|
|
99755
100291
|
transition(':enter', [
|
|
@@ -99788,181 +100324,191 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
|
|
|
99788
100324
|
animate('400ms cubic-bezier(0.34, 1.56, 0.64, 1)', style({ opacity: 1, transform: 'scale(1)' }))
|
|
99789
100325
|
])
|
|
99790
100326
|
])
|
|
99791
|
-
], template: `
|
|
99792
|
-
<div [class.min-h-screen]="!embedded()" class="relative">
|
|
99793
|
-
<div class="animated-bubbles" [class.light-mode]="isLightMode()"
|
|
99794
|
-
style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
|
|
99795
|
-
|
|
99796
|
-
<!-- Scroll Progress Bar -->
|
|
99797
|
-
<div class="fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30">
|
|
99798
|
-
<div
|
|
99799
|
-
[style.width.%]="scrollProgress()"
|
|
99800
|
-
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400'"
|
|
99801
|
-
class="h-full transition-all duration-200 ease-out">
|
|
99802
|
-
</div>
|
|
99803
|
-
</div>
|
|
99804
|
-
|
|
99805
|
-
<div class="relative z-[51]">
|
|
99806
|
-
<!-- Dashboard Header -->
|
|
99807
|
-
<symphiq-dashboard-header
|
|
99808
|
-
[title]="'Funnel Metrics'"
|
|
99809
|
-
[subtitle]="'Provide context for funnel stage metrics and performance'"
|
|
99810
|
-
[viewMode]="viewMode()"
|
|
99811
|
-
[showControls]="false"
|
|
99812
|
-
></symphiq-dashboard-header>
|
|
99813
|
-
|
|
99814
|
-
<!-- Journey Progress Indicator (Simplified View Only) -->
|
|
99815
|
-
@if (isSimplifiedView()) {
|
|
99816
|
-
<symphiq-journey-progress-indicator
|
|
99817
|
-
[viewMode]="viewMode()"
|
|
99818
|
-
[currentStepId]="currentStepId()"
|
|
99819
|
-
[showNextStepAction]="forDemo() || allMetricsAnalysisReviewed()"
|
|
99820
|
-
[forDemo]="forDemo()"
|
|
99821
|
-
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
99822
|
-
(nextStepClick)="nextStepClick.emit()"
|
|
99823
|
-
(stepClick)="stepClick.emit($event)"
|
|
99824
|
-
/>
|
|
99825
|
-
}
|
|
99826
|
-
|
|
99827
|
-
<!-- Main Content -->
|
|
99828
|
-
<div class="container mx-auto px-4 sm:px-6 lg:px-8 py-8 md:py-12 relative z-10">
|
|
99829
|
-
<!-- Welcome Banner -->
|
|
99830
|
-
<div [ngClass]="getWelcomeBannerContainerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
|
|
99831
|
-
<div class="px-8 py-8">
|
|
99832
|
-
<div class="flex items-start gap-6">
|
|
99833
|
-
<div [ngClass]="getWelcomeBannerIconClasses()"
|
|
99834
|
-
class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
|
|
99835
|
-
<svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
99836
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
99837
|
-
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>
|
|
99838
|
-
</svg>
|
|
99839
|
-
</div>
|
|
99840
|
-
|
|
99841
|
-
<div class="flex-1">
|
|
99842
|
-
<h2 [ngClass]="getWelcomeBannerTitleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
|
|
99843
|
-
Welcome to Your Metric Analyses
|
|
99844
|
-
</h2>
|
|
99845
|
-
|
|
99846
|
-
<!-- Metric & Analysis Status Summary -->
|
|
99847
|
-
@if (profileMetrics() !== undefined || profileAnalyses() !== undefined) {
|
|
99848
|
-
<symphiq-profile-analysis-status-summary
|
|
99849
|
-
[viewMode]="viewMode()"
|
|
99850
|
-
[profileStatusCounts]="metricStatusCounts()"
|
|
99851
|
-
[analysisStatusCounts]="analysisStatusCounts()"
|
|
99852
|
-
[allReviewed]="allMetricsAnalysisReviewed()"
|
|
99853
|
-
[hasItems]="metricCards().length > 0"
|
|
99854
|
-
[config]="metricStatusConfig"
|
|
99855
|
-
/>
|
|
99856
|
-
}
|
|
99857
|
-
|
|
99858
|
-
<!-- Description and Confidence Card in Responsive Layout -->
|
|
99859
|
-
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
|
|
99860
|
-
<!-- Description (takes 2 columns on large screens) -->
|
|
99861
|
-
<div class="lg:col-span-2 space-y-3">
|
|
99862
|
-
<p [ngClass]="getWelcomeBannerTextClasses()" class="text-base leading-relaxed">
|
|
99863
|
-
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.
|
|
99864
|
-
</p>
|
|
99865
|
-
<p [ngClass]="getWelcomeBannerTextClasses()" class="text-base leading-relaxed">
|
|
99866
|
-
<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.
|
|
99867
|
-
</p>
|
|
99868
|
-
</div>
|
|
99869
|
-
|
|
99870
|
-
<!-- Confidence Card (takes 1 column on large screens, full width on mobile) -->
|
|
99871
|
-
<div class="lg:col-span-1">
|
|
99872
|
-
<symphiq-confidence-level-card
|
|
99873
|
-
[viewMode]="viewMode()"
|
|
99874
|
-
currentStepId="metric-analysis"
|
|
99875
|
-
[currentMetric]="getCurrentMetricForConfidence()"
|
|
99876
|
-
/>
|
|
99877
|
-
</div>
|
|
99878
|
-
</div>
|
|
99879
|
-
|
|
99880
|
-
<div [ngClass]="getWelcomeBannerHighlightClasses()"
|
|
99881
|
-
class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
|
|
99882
|
-
<svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="getWelcomeBannerHighlightIconClasses()"
|
|
99883
|
-
fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
99884
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
99885
|
-
d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
99886
|
-
</svg>
|
|
99887
|
-
<div class="flex-1">
|
|
99888
|
-
<h3 [ngClass]="getWelcomeBannerHighlightTitleClasses()" class="font-bold text-lg mb-2">
|
|
99889
|
-
What You'll See Below
|
|
99890
|
-
</h3>
|
|
99891
|
-
<ul [ngClass]="getWelcomeBannerHighlightListClasses()" class="space-y-2 text-sm">
|
|
99892
|
-
<li class="flex items-start gap-2">
|
|
99893
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
99894
|
-
<path fill-rule="evenodd"
|
|
99895
|
-
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"
|
|
99896
|
-
clip-rule="evenodd"></path>
|
|
99897
|
-
</svg>
|
|
99898
|
-
<span><strong class="font-semibold">Funnel Stage Metrics</strong> — Each conversion point from Views through Revenue is represented with its own profile</span>
|
|
99899
|
-
</li>
|
|
99900
|
-
<li class="flex items-start gap-2">
|
|
99901
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
99902
|
-
<path fill-rule="evenodd"
|
|
99903
|
-
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"
|
|
99904
|
-
clip-rule="evenodd"></path>
|
|
99905
|
-
</svg>
|
|
99906
|
-
<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>
|
|
99907
|
-
</li>
|
|
99908
|
-
<li class="flex items-start gap-2">
|
|
99909
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
99910
|
-
<path fill-rule="evenodd"
|
|
99911
|
-
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"
|
|
99912
|
-
clip-rule="evenodd"></path>
|
|
99913
|
-
</svg>
|
|
99914
|
-
<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>
|
|
99915
|
-
</li>
|
|
99916
|
-
|
|
99917
|
-
|
|
99918
|
-
|
|
99919
|
-
|
|
99920
|
-
|
|
99921
|
-
|
|
99922
|
-
|
|
99923
|
-
|
|
99924
|
-
|
|
99925
|
-
|
|
99926
|
-
|
|
99927
|
-
|
|
99928
|
-
|
|
99929
|
-
|
|
99930
|
-
|
|
99931
|
-
|
|
99932
|
-
|
|
99933
|
-
|
|
99934
|
-
|
|
99935
|
-
|
|
99936
|
-
|
|
99937
|
-
|
|
99938
|
-
|
|
99939
|
-
|
|
99940
|
-
|
|
99941
|
-
|
|
99942
|
-
|
|
99943
|
-
|
|
99944
|
-
|
|
99945
|
-
|
|
99946
|
-
|
|
99947
|
-
|
|
99948
|
-
|
|
99949
|
-
|
|
99950
|
-
|
|
99951
|
-
|
|
99952
|
-
|
|
99953
|
-
|
|
99954
|
-
|
|
99955
|
-
|
|
99956
|
-
|
|
99957
|
-
|
|
99958
|
-
|
|
99959
|
-
|
|
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>
|
|
99960
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"] }]
|
|
99961
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: [{
|
|
99962
100508
|
type: HostListener,
|
|
99963
100509
|
args: ['window:scroll', ['$event']]
|
|
99964
100510
|
}] }); })();
|
|
99965
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileMetricsAnalysesDashboardComponent, { className: "SymphiqProfileMetricsAnalysesDashboardComponent", filePath: "lib/components/profile-analyses-metrics-dashboard/symphiq-profile-metrics-analyses-dashboard.component.ts", lineNumber:
|
|
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 }); })();
|
|
99966
100512
|
|
|
99967
100513
|
const _c0$6 = () => [];
|
|
99968
100514
|
function SymphiqProfileMetricDashboardComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -100261,9 +100807,10 @@ function SymphiqProfileAnalysisMetricDashboardComponent_Conditional_7_Template(r
|
|
|
100261
100807
|
i0.ɵɵelementEnd();
|
|
100262
100808
|
i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisMetricDashboardComponent_Conditional_7_Conditional_2_Template, 8, 4, "div", 24);
|
|
100263
100809
|
} if (rf & 2) {
|
|
100810
|
+
let tmp_5_0;
|
|
100264
100811
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
100265
100812
|
i0.ɵɵadvance();
|
|
100266
|
-
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);
|
|
100267
100814
|
i0.ɵɵadvance();
|
|
100268
100815
|
i0.ɵɵconditional(ctx_r1.isLoading() ? 2 : -1);
|
|
100269
100816
|
} }
|
|
@@ -101142,7 +101689,7 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
101142
101689
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.funnelModalComponent = _t.first);
|
|
101143
101690
|
} }, hostBindings: function SymphiqProfileAnalysisMetricDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
101144
101691
|
i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisMetricDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
|
|
101145
|
-
} }, 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:
|
|
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) {
|
|
101146
101693
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
101147
101694
|
i0.ɵɵelementStart(0, "div", 1);
|
|
101148
101695
|
i0.ɵɵelement(1, "div", 2);
|
|
@@ -101153,7 +101700,7 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
101153
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()); });
|
|
101154
101701
|
i0.ɵɵelementEnd();
|
|
101155
101702
|
i0.ɵɵelementStart(6, "main", 6);
|
|
101156
|
-
i0.ɵɵconditionalCreate(7, SymphiqProfileAnalysisMetricDashboardComponent_Conditional_7_Template, 3,
|
|
101703
|
+
i0.ɵɵconditionalCreate(7, SymphiqProfileAnalysisMetricDashboardComponent_Conditional_7_Template, 3, 5);
|
|
101157
101704
|
i0.ɵɵconditionalCreate(8, SymphiqProfileAnalysisMetricDashboardComponent_Conditional_8_Template, 2, 2);
|
|
101158
101705
|
i0.ɵɵconditionalCreate(9, SymphiqProfileAnalysisMetricDashboardComponent_Conditional_9_Template, 3, 3);
|
|
101159
101706
|
i0.ɵɵelementEnd();
|
|
@@ -101243,7 +101790,7 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
101243
101790
|
i0.ɵɵadvance(3);
|
|
101244
101791
|
i0.ɵɵproperty("isLightMode", ctx.isLightMode());
|
|
101245
101792
|
i0.ɵɵadvance();
|
|
101246
|
-
i0.ɵɵproperty("viewMode", ctx.viewMode())("reviewStatus", (tmp_42_0 = ctx.profileAnalysis()) == null ? null : tmp_42_0.reviewStatus)("selfContentStatus", (tmp_43_0 = ctx.profileAnalysis()) == null ? null : tmp_43_0.selfContentStatus)("isMarkingAsReviewed", ctx.isMarkingAsReviewed());
|
|
101793
|
+
i0.ɵɵproperty("viewMode", ctx.viewMode())("reviewStatus", (tmp_42_0 = ctx.profileAnalysis()) == null ? null : tmp_42_0.reviewStatus)("selfContentStatus", (tmp_43_0 = ctx.profileAnalysis()) == null ? null : tmp_43_0.selfContentStatus)("isMarkingAsReviewed", ctx.isMarkingAsReviewed())("isLoading", !!ctx.isLoading());
|
|
101247
101794
|
i0.ɵɵadvance(2);
|
|
101248
101795
|
i0.ɵɵproperty("viewMode", ctx.viewMode())("metricEnum", ctx.selectedMetricEnum())("metricData", ctx.selectedMetricData())("contributingMetrics", ctx.selectedContributingMetrics())("pacingResponse", ctx.pacingResponse())("trendChartData", ctx.revenueChartData())("currencySymbol", ctx.currencySymbol())("isOpen", ctx.isMetricReportOpen());
|
|
101249
101796
|
} }, dependencies: [CommonModule, i1$1.NgClass, DashboardHeaderComponent,
|
|
@@ -101356,6 +101903,7 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
101356
101903
|
[viewMode]="viewMode()"
|
|
101357
101904
|
[metricName]="metricName()"
|
|
101358
101905
|
[isOnboarded]="true"
|
|
101906
|
+
[analysisDate]="profileAnalysis()?.selfContentCompletedDate"
|
|
101359
101907
|
/>
|
|
101360
101908
|
</div>
|
|
101361
101909
|
|
|
@@ -101651,6 +102199,7 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
101651
102199
|
[reviewStatus]="profileAnalysis()?.reviewStatus"
|
|
101652
102200
|
[selfContentStatus]="profileAnalysis()?.selfContentStatus"
|
|
101653
102201
|
[isMarkingAsReviewed]="isMarkingAsReviewed()"
|
|
102202
|
+
[isLoading]="!!isLoading()"
|
|
101654
102203
|
(markAsReviewedClick)="handleMarkAsReviewedClick()"
|
|
101655
102204
|
/>
|
|
101656
102205
|
|
|
@@ -101680,7 +102229,7 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
101680
102229
|
type: HostListener,
|
|
101681
102230
|
args: ['window:scroll', ['$event']]
|
|
101682
102231
|
}] }); })();
|
|
101683
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisMetricDashboardComponent, { className: "SymphiqProfileAnalysisMetricDashboardComponent", filePath: "lib/components/profile-analysis-metric-dashboard/symphiq-profile-analysis-metric-dashboard.component.ts", lineNumber:
|
|
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 }); })();
|
|
101684
102233
|
|
|
101685
102234
|
const _forTrack0$4 = ($index, $item) => $item.id;
|
|
101686
102235
|
function ShopProfileCategoryListComponent_For_2_Template(rf, ctx) { if (rf & 1) {
|