@eric-emg/symphiq-components 1.2.165 → 1.2.167

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.
@@ -3190,7 +3190,7 @@ class CompetitiveScoreService {
3190
3190
  }]
3191
3191
  }], null, null); })();
3192
3192
 
3193
- const _forTrack0$N = ($index, $item) => $item.category;
3193
+ const _forTrack0$O = ($index, $item) => $item.category;
3194
3194
  function CompetitivePositioningSummaryComponent_Conditional_1_For_47_Conditional_12_Template(rf, ctx) { if (rf & 1) {
3195
3195
  i0.ɵɵelementStart(0, "div", 15);
3196
3196
  i0.ɵɵelement(1, "div", 37);
@@ -3349,7 +3349,7 @@ function CompetitivePositioningSummaryComponent_Conditional_1_Template(rf, ctx)
3349
3349
  i0.ɵɵelementEnd()();
3350
3350
  i0.ɵɵnamespaceHTML();
3351
3351
  i0.ɵɵelementStart(43, "div", 24)(44, "div", 25)(45, "div", 26);
3352
- i0.ɵɵrepeaterCreate(46, CompetitivePositioningSummaryComponent_Conditional_1_For_47_Template, 15, 12, "div", 27, _forTrack0$N);
3352
+ i0.ɵɵrepeaterCreate(46, CompetitivePositioningSummaryComponent_Conditional_1_For_47_Template, 15, 12, "div", 27, _forTrack0$O);
3353
3353
  i0.ɵɵelementEnd()()()();
3354
3354
  i0.ɵɵelementStart(48, "div", 28)(49, "button", 29);
3355
3355
  i0.ɵɵlistener("click", function CompetitivePositioningSummaryComponent_Conditional_1_Template_button_click_49_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.scrollToCompetitive.emit()); });
@@ -3558,7 +3558,7 @@ function CompetitivePositioningSummaryComponent_Conditional_2_Template(rf, ctx)
3558
3558
  i0.ɵɵelementStart(32, "div", 50)(33, "h4", 51);
3559
3559
  i0.ɵɵtext(34, "By Funnel Stage");
3560
3560
  i0.ɵɵelementEnd();
3561
- i0.ɵɵrepeaterCreate(35, CompetitivePositioningSummaryComponent_Conditional_2_For_36_Template, 12, 11, "div", 52, _forTrack0$N);
3561
+ i0.ɵɵrepeaterCreate(35, CompetitivePositioningSummaryComponent_Conditional_2_For_36_Template, 12, 11, "div", 52, _forTrack0$O);
3562
3562
  i0.ɵɵelementEnd();
3563
3563
  i0.ɵɵelementStart(37, "div", 28)(38, "button", 53);
3564
3564
  i0.ɵɵlistener("click", function CompetitivePositioningSummaryComponent_Conditional_2_Template_button_click_38_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.scrollToCompetitive.emit()); });
@@ -8235,7 +8235,7 @@ class MetricCardComponent {
8235
8235
  const _c0$10 = () => [1, 2, 3];
8236
8236
  const _c1$A = (a0, a1, a2) => [a0, a1, a2];
8237
8237
  const _c2$p = (a0, a1) => [a0, a1];
8238
- const _forTrack0$M = ($index, $item) => $item.metric;
8238
+ const _forTrack0$N = ($index, $item) => $item.metric;
8239
8239
  const _forTrack1$6 = ($index, $item) => $item.dimensionValue;
8240
8240
  function BreakdownSectionComponent_Conditional_0_For_7_For_4_Template(rf, ctx) { if (rf & 1) {
8241
8241
  i0.ɵɵelementStart(0, "div", 7);
@@ -8558,7 +8558,7 @@ function BreakdownSectionComponent_Conditional_1_Template(rf, ctx) { if (rf & 1)
8558
8558
  i0.ɵɵelementEnd()();
8559
8559
  i0.ɵɵconditionalCreate(6, BreakdownSectionComponent_Conditional_1_Conditional_6_Template, 3, 0, "div", 11);
8560
8560
  i0.ɵɵelementStart(7, "div", 12);
8561
- i0.ɵɵrepeaterCreate(8, BreakdownSectionComponent_Conditional_1_For_9_Template, 28, 18, "div", 13, _forTrack0$M);
8561
+ i0.ɵɵrepeaterCreate(8, BreakdownSectionComponent_Conditional_1_For_9_Template, 28, 18, "div", 13, _forTrack0$N);
8562
8562
  i0.ɵɵelementEnd()();
8563
8563
  } if (rf & 2) {
8564
8564
  const ctx_r0 = i0.ɵɵnextContext();
@@ -11597,7 +11597,7 @@ class ChartCardComponent {
11597
11597
  }], 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"] }] }); }); })();
11598
11598
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChartCardComponent, { className: "ChartCardComponent", filePath: "lib/components/shared/chart-card.component.ts", lineNumber: 101 }); })();
11599
11599
 
11600
- const _forTrack0$L = ($index, $item) => $item.id;
11600
+ const _forTrack0$M = ($index, $item) => $item.id;
11601
11601
  function FunnelStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
11602
11602
  i0.ɵɵelementStart(0, "div", 1);
11603
11603
  i0.ɵɵnamespaceSVG();
@@ -11711,7 +11711,7 @@ function FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template(r
11711
11711
  } }
11712
11712
  function FunnelStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
11713
11713
  i0.ɵɵelementStart(0, "div", 2);
11714
- i0.ɵɵrepeaterCreate(1, FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template, 30, 22, "button", 7, _forTrack0$L);
11714
+ i0.ɵɵrepeaterCreate(1, FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template, 30, 22, "button", 7, _forTrack0$M);
11715
11715
  i0.ɵɵelementEnd();
11716
11716
  } if (rf & 2) {
11717
11717
  const ctx_r0 = i0.ɵɵnextContext();
@@ -11921,7 +11921,7 @@ class FunnelStrengthsListModalContentComponent {
11921
11921
  }], null, { strengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "strengths", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: true }] }] }); })();
11922
11922
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelStrengthsListModalContentComponent, { className: "FunnelStrengthsListModalContentComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-strengths-list-modal-content.component.ts", lineNumber: 93 }); })();
11923
11923
 
11924
- const _forTrack0$K = ($index, $item) => $item.severity;
11924
+ const _forTrack0$L = ($index, $item) => $item.severity;
11925
11925
  const _forTrack1$5 = ($index, $item) => $item.id;
11926
11926
  function FunnelWeaknessesListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
11927
11927
  i0.ɵɵelementStart(0, "div", 1);
@@ -12100,7 +12100,7 @@ function FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template(
12100
12100
  } }
12101
12101
  function FunnelWeaknessesListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
12102
12102
  i0.ɵɵelementStart(0, "div", 2);
12103
- i0.ɵɵrepeaterCreate(1, FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template, 9, 7, "div", null, _forTrack0$K);
12103
+ i0.ɵɵrepeaterCreate(1, FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template, 9, 7, "div", null, _forTrack0$L);
12104
12104
  i0.ɵɵelementEnd();
12105
12105
  } if (rf & 2) {
12106
12106
  const ctx_r0 = i0.ɵɵnextContext();
@@ -13883,7 +13883,7 @@ class ProfileItemLookupService {
13883
13883
  }], null, null); })();
13884
13884
 
13885
13885
  const _c0$Z = a0 => ({ name: "chevron-right", source: a0 });
13886
- const _forTrack0$J = ($index, $item) => $item.id;
13886
+ const _forTrack0$K = ($index, $item) => $item.id;
13887
13887
  function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
13888
13888
  const _r1 = i0.ɵɵgetCurrentView();
13889
13889
  i0.ɵɵelementStart(0, "button", 2);
@@ -13904,7 +13904,7 @@ function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (r
13904
13904
  } }
13905
13905
  function RelatedAreaChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
13906
13906
  i0.ɵɵelementStart(0, "div", 0);
13907
- i0.ɵɵrepeaterCreate(1, RelatedAreaChipsComponent_Conditional_0_For_2_Template, 4, 5, "button", 1, _forTrack0$J);
13907
+ i0.ɵɵrepeaterCreate(1, RelatedAreaChipsComponent_Conditional_0_For_2_Template, 4, 5, "button", 1, _forTrack0$K);
13908
13908
  i0.ɵɵelementEnd();
13909
13909
  } if (rf & 2) {
13910
13910
  const ctx_r2 = i0.ɵɵnextContext();
@@ -14144,7 +14144,7 @@ class CompetitorChipListComponent {
14144
14144
  }], null, { relatedCompetitorIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "relatedCompetitorIds", required: false }] }], competitors: [{ type: i0.Input, args: [{ isSignal: true, alias: "competitors", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }], inModalContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "inModalContext", required: false }] }] }); })();
14145
14145
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorChipListComponent, { className: "CompetitorChipListComponent", filePath: "lib/components/business-analysis-dashboard/shared/competitor-chip-list.component.ts", lineNumber: 37 }); })();
14146
14146
 
14147
- const _forTrack0$I = ($index, $item) => $item.id;
14147
+ const _forTrack0$J = ($index, $item) => $item.id;
14148
14148
  function CompetitorContextSectionComponent_Conditional_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
14149
14149
  const _r1 = i0.ɵɵgetCurrentView();
14150
14150
  i0.ɵɵelementStart(0, "button", 8);
@@ -14227,7 +14227,7 @@ function CompetitorContextSectionComponent_Conditional_0_Template(rf, ctx) { if
14227
14227
  i0.ɵɵconditionalCreate(8, CompetitorContextSectionComponent_Conditional_0_Conditional_8_Template, 5, 4, "button", 4);
14228
14228
  i0.ɵɵelementEnd();
14229
14229
  i0.ɵɵelementStart(9, "div", 5)(10, "div", 6);
14230
- i0.ɵɵrepeaterCreate(11, CompetitorContextSectionComponent_Conditional_0_For_12_Template, 10, 6, "button", 7, _forTrack0$I);
14230
+ i0.ɵɵrepeaterCreate(11, CompetitorContextSectionComponent_Conditional_0_For_12_Template, 10, 6, "button", 7, _forTrack0$J);
14231
14231
  i0.ɵɵelementEnd()()();
14232
14232
  } if (rf & 2) {
14233
14233
  const ctx_r1 = i0.ɵɵnextContext();
@@ -14418,7 +14418,7 @@ class CompetitorContextSectionComponent {
14418
14418
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorContextSectionComponent, { className: "CompetitorContextSectionComponent", filePath: "lib/components/business-analysis-dashboard/cards/competitor-context-section.component.ts", lineNumber: 86 }); })();
14419
14419
 
14420
14420
  const _c0$X = a0 => ({ name: "chevron-right", source: a0 });
14421
- const _forTrack0$H = ($index, $item) => $item.id;
14421
+ const _forTrack0$I = ($index, $item) => $item.id;
14422
14422
  function RelatedRecommendationChipsComponent_Conditional_0_For_3_Template(rf, ctx) { if (rf & 1) {
14423
14423
  const _r1 = i0.ɵɵgetCurrentView();
14424
14424
  i0.ɵɵelementStart(0, "button", 4);
@@ -14461,7 +14461,7 @@ function RelatedRecommendationChipsComponent_Conditional_0_Conditional_4_Templat
14461
14461
  } }
14462
14462
  function RelatedRecommendationChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
14463
14463
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
14464
- i0.ɵɵrepeaterCreate(2, RelatedRecommendationChipsComponent_Conditional_0_For_3_Template, 5, 6, "button", 2, _forTrack0$H);
14464
+ i0.ɵɵrepeaterCreate(2, RelatedRecommendationChipsComponent_Conditional_0_For_3_Template, 5, 6, "button", 2, _forTrack0$I);
14465
14465
  i0.ɵɵelementEnd();
14466
14466
  i0.ɵɵconditionalCreate(4, RelatedRecommendationChipsComponent_Conditional_0_Conditional_4_Template, 5, 4, "button", 3);
14467
14467
  i0.ɵɵelementEnd();
@@ -14918,7 +14918,7 @@ class RelatedFunnelInsightsSectionComponent {
14918
14918
  }], null, { insightCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "insightCount", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], insightsClicked: [{ type: i0.Output, args: ["insightsClicked"] }] }); })();
14919
14919
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RelatedFunnelInsightsSectionComponent, { className: "RelatedFunnelInsightsSectionComponent", filePath: "lib/components/business-analysis-dashboard/shared/related-funnel-insights-section.component.ts", lineNumber: 47 }); })();
14920
14920
 
14921
- const _forTrack0$G = ($index, $item) => $item.order;
14921
+ const _forTrack0$H = ($index, $item) => $item.order;
14922
14922
  function RecommendationCardComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
14923
14923
  i0.ɵɵelementStart(0, "div", 9);
14924
14924
  i0.ɵɵelement(1, "symphiq-icon", 11);
@@ -15271,7 +15271,7 @@ function RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6
15271
15271
  } }
15272
15272
  function RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_Template(rf, ctx) { if (rf & 1) {
15273
15273
  i0.ɵɵelementStart(0, "div", 37);
15274
- i0.ɵɵrepeaterCreate(1, RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_For_2_Template, 13, 9, "div", 41, _forTrack0$G);
15274
+ i0.ɵɵrepeaterCreate(1, RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_For_2_Template, 13, 9, "div", 41, _forTrack0$H);
15275
15275
  i0.ɵɵelementEnd();
15276
15276
  } if (rf & 2) {
15277
15277
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -16154,7 +16154,7 @@ const ModalComponent_Conditional_0_Conditional_19_Conditional_4_Defer_2_DepsFn =
16154
16154
  const ModalComponent_Conditional_0_Conditional_19_Conditional_5_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return barChart_component; }).then(m => m.BarChartComponent)];
16155
16155
  const ModalComponent_Conditional_0_Conditional_19_Conditional_6_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return pieChart_component; }).then(m => m.PieChartComponent)];
16156
16156
  const ModalComponent_Conditional_0_Conditional_19_Conditional_7_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
16157
- const _forTrack0$F = ($index, $item) => $item.id || $index;
16157
+ const _forTrack0$G = ($index, $item) => $item.id || $index;
16158
16158
  function ModalComponent_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
16159
16159
  const _r3 = i0.ɵɵgetCurrentView();
16160
16160
  i0.ɵɵelementStart(0, "button", 13);
@@ -16528,7 +16528,7 @@ function ModalComponent_Conditional_0_Conditional_22_For_3_Template(rf, ctx) { i
16528
16528
  function ModalComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
16529
16529
  i0.ɵɵelementStart(0, "div", 22);
16530
16530
  i0.ɵɵconditionalCreate(1, ModalComponent_Conditional_0_Conditional_22_Conditional_1_Template, 2, 2, "p", 55);
16531
- i0.ɵɵrepeaterCreate(2, ModalComponent_Conditional_0_Conditional_22_For_3_Template, 2, 5, "div", null, _forTrack0$F);
16531
+ i0.ɵɵrepeaterCreate(2, ModalComponent_Conditional_0_Conditional_22_For_3_Template, 2, 5, "div", null, _forTrack0$G);
16532
16532
  i0.ɵɵelementEnd();
16533
16533
  } if (rf & 2) {
16534
16534
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -20765,7 +20765,7 @@ class NarrativeTooltipComponent {
20765
20765
  }], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }] }); })();
20766
20766
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NarrativeTooltipComponent, { className: "NarrativeTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/narrative-tooltip.component.ts", lineNumber: 27 }); })();
20767
20767
 
20768
- const _forTrack0$E = ($index, $item) => $item.name;
20768
+ const _forTrack0$F = ($index, $item) => $item.name;
20769
20769
  function CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template(rf, ctx) { if (rf & 1) {
20770
20770
  i0.ɵɵelementStart(0, "div", 7)(1, "div", 8)(2, "div", 9);
20771
20771
  i0.ɵɵelement(3, "div", 10);
@@ -20809,7 +20809,7 @@ function CompetitiveStatusTooltipComponent_Conditional_6_Template(rf, ctx) { if
20809
20809
  i0.ɵɵtext(3);
20810
20810
  i0.ɵɵelementEnd();
20811
20811
  i0.ɵɵelementStart(4, "div", 5);
20812
- i0.ɵɵrepeaterCreate(5, CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template, 13, 12, "div", 6, _forTrack0$E);
20812
+ i0.ɵɵrepeaterCreate(5, CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template, 13, 12, "div", 6, _forTrack0$F);
20813
20813
  i0.ɵɵelementEnd()();
20814
20814
  } if (rf & 2) {
20815
20815
  const ctx_r1 = i0.ɵɵnextContext();
@@ -21056,7 +21056,7 @@ class CompetitiveStatusTooltipComponent {
21056
21056
  }], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }] }); })();
21057
21057
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveStatusTooltipComponent, { className: "CompetitiveStatusTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/competitive-status-tooltip.component.ts", lineNumber: 60 }); })();
21058
21058
 
21059
- const _forTrack0$D = ($index, $item) => $item.name;
21059
+ const _forTrack0$E = ($index, $item) => $item.name;
21060
21060
  function FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template(rf, ctx) { if (rf & 1) {
21061
21061
  i0.ɵɵelementStart(0, "div", 9)(1, "div", 10)(2, "span", 11);
21062
21062
  i0.ɵɵtext(3);
@@ -21096,7 +21096,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_8_Template(rf, ctx)
21096
21096
  i0.ɵɵtext(4);
21097
21097
  i0.ɵɵelementEnd()();
21098
21098
  i0.ɵɵelementStart(5, "div", 8);
21099
- i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template, 11, 9, "div", 9, _forTrack0$D);
21099
+ i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template, 11, 9, "div", 9, _forTrack0$E);
21100
21100
  i0.ɵɵelementEnd()();
21101
21101
  } if (rf & 2) {
21102
21102
  const ctx_r1 = i0.ɵɵnextContext();
@@ -21146,7 +21146,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_9_Template(rf, ctx)
21146
21146
  i0.ɵɵtext(4);
21147
21147
  i0.ɵɵelementEnd()();
21148
21148
  i0.ɵɵelementStart(5, "div", 8);
21149
- i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_9_For_7_Template, 11, 9, "div", 9, _forTrack0$D);
21149
+ i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_9_For_7_Template, 11, 9, "div", 9, _forTrack0$E);
21150
21150
  i0.ɵɵelementEnd()();
21151
21151
  } if (rf & 2) {
21152
21152
  const ctx_r1 = i0.ɵɵnextContext();
@@ -21196,7 +21196,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_10_Template(rf, ctx)
21196
21196
  i0.ɵɵtext(4);
21197
21197
  i0.ɵɵelementEnd()();
21198
21198
  i0.ɵɵelementStart(5, "div", 8);
21199
- i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_10_For_7_Template, 11, 9, "div", 9, _forTrack0$D);
21199
+ i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_10_For_7_Template, 11, 9, "div", 9, _forTrack0$E);
21200
21200
  i0.ɵɵelementEnd()();
21201
21201
  } if (rf & 2) {
21202
21202
  const ctx_r1 = i0.ɵɵnextContext();
@@ -22385,7 +22385,7 @@ class MobileFABComponent {
22385
22385
  }], null, { isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }], expandedChange: [{ type: i0.Output, args: ["expandedChange"] }], scrollToTop: [{ type: i0.Output, args: ["scrollToTop"] }], toggleView: [{ type: i0.Output, args: ["toggleView"] }] }); })();
22386
22386
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MobileFABComponent, { className: "MobileFABComponent", filePath: "lib/components/funnel-analysis-dashboard/mobile-fab.component.ts", lineNumber: 75 }); })();
22387
22387
 
22388
- const _forTrack0$C = ($index, $item) => $item.id;
22388
+ const _forTrack0$D = ($index, $item) => $item.id;
22389
22389
  function MobileBottomNavComponent_For_3_Template(rf, ctx) { if (rf & 1) {
22390
22390
  const _r1 = i0.ɵɵgetCurrentView();
22391
22391
  i0.ɵɵelementStart(0, "button", 3);
@@ -22443,7 +22443,7 @@ class MobileBottomNavComponent {
22443
22443
  static { this.ɵfac = function MobileBottomNavComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MobileBottomNavComponent)(); }; }
22444
22444
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MobileBottomNavComponent, selectors: [["symphiq-mobile-bottom-nav"]], inputs: { isLightMode: [1, "isLightMode"], sections: [1, "sections"], activeSection: [1, "activeSection"] }, outputs: { navigate: "navigate" }, decls: 4, vars: 1, consts: [[1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "lg:hidden", "border-t", "backdrop-blur-md", 3, "ngClass"], [1, "flex", "items-center", "justify-around", "px-2", "py-3"], [1, "flex", "flex-col", "items-center", "gap-1", "px-3", "py-2", "rounded-lg", "transition-all", "duration-200", "active:scale-95", "min-w-[64px]", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "gap-1", "px-3", "py-2", "rounded-lg", "transition-all", "duration-200", "active:scale-95", "min-w-[64px]", 3, "click", "ngClass"], [1, "w-6", "h-6", 3, "innerHTML"], [1, "text-xs", "font-medium"]], template: function MobileBottomNavComponent_Template(rf, ctx) { if (rf & 1) {
22445
22445
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
22446
- i0.ɵɵrepeaterCreate(2, MobileBottomNavComponent_For_3_Template, 4, 3, "button", 2, _forTrack0$C);
22446
+ i0.ɵɵrepeaterCreate(2, MobileBottomNavComponent_For_3_Template, 4, 3, "button", 2, _forTrack0$D);
22447
22447
  i0.ɵɵelementEnd()();
22448
22448
  } if (rf & 2) {
22449
22449
  i0.ɵɵproperty("ngClass", ctx.containerClass());
@@ -22648,7 +22648,7 @@ class SearchService {
22648
22648
  }], null, null); })();
22649
22649
 
22650
22650
  const _c0$V = ["searchInput"];
22651
- const _forTrack0$B = ($index, $item) => $item.id;
22651
+ const _forTrack0$C = ($index, $item) => $item.id;
22652
22652
  function SearchBarComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
22653
22653
  const _r3 = i0.ɵɵgetCurrentView();
22654
22654
  i0.ɵɵelementStart(0, "button", 18);
@@ -22741,7 +22741,7 @@ function SearchBarComponent_Conditional_0_Conditional_14_For_2_Template(rf, ctx)
22741
22741
  } }
22742
22742
  function SearchBarComponent_Conditional_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
22743
22743
  i0.ɵɵelementStart(0, "div", 15);
22744
- i0.ɵɵrepeaterCreate(1, SearchBarComponent_Conditional_0_Conditional_14_For_2_Template, 16, 12, "button", 19, _forTrack0$B);
22744
+ i0.ɵɵrepeaterCreate(1, SearchBarComponent_Conditional_0_Conditional_14_For_2_Template, 16, 12, "button", 19, _forTrack0$C);
22745
22745
  i0.ɵɵelementEnd();
22746
22746
  } if (rf & 2) {
22747
22747
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -23232,7 +23232,7 @@ class SearchHighlightDirective {
23232
23232
  }]
23233
23233
  }], () => [], { symphiqSearchHighlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "libSymphiqSearchHighlight", required: false }] }], highlightId: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlightId", required: false }] }] }); })();
23234
23234
 
23235
- const _forTrack0$A = ($index, $item) => $item.value;
23235
+ const _forTrack0$B = ($index, $item) => $item.value;
23236
23236
  const _forTrack1$4 = ($index, $item) => $item.performanceItemId;
23237
23237
  function CompetitiveScorecardComponent_For_12_Template(rf, ctx) { if (rf & 1) {
23238
23238
  i0.ɵɵelementStart(0, "div", 7);
@@ -23607,7 +23607,7 @@ class CompetitiveScorecardComponent {
23607
23607
  i0.ɵɵtext(9);
23608
23608
  i0.ɵɵelementEnd()()();
23609
23609
  i0.ɵɵelementStart(10, "div", 6);
23610
- i0.ɵɵrepeaterCreate(11, CompetitiveScorecardComponent_For_12_Template, 4, 7, "div", 7, _forTrack0$A);
23610
+ i0.ɵɵrepeaterCreate(11, CompetitiveScorecardComponent_For_12_Template, 4, 7, "div", 7, _forTrack0$B);
23611
23611
  i0.ɵɵelementEnd();
23612
23612
  i0.ɵɵelementStart(13, "div", 8)(14, "table", 9)(15, "thead")(16, "tr", 10)(17, "th", 11);
23613
23613
  i0.ɵɵtext(18, "Metric");
@@ -24242,7 +24242,7 @@ class SectionDividerComponent {
24242
24242
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], animationDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDelay", required: false }] }], sectionIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "sectionIcon", required: false }] }], subsections: [{ type: i0.Input, args: [{ isSignal: true, alias: "subsections", required: false }] }] }); })();
24243
24243
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SectionDividerComponent, { className: "SectionDividerComponent", filePath: "lib/components/shared/section-divider.component.ts", lineNumber: 36 }); })();
24244
24244
 
24245
- const _forTrack0$z = ($index, $item) => $item.id;
24245
+ const _forTrack0$A = ($index, $item) => $item.id;
24246
24246
  function FloatingTocComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
24247
24247
  i0.ɵɵnamespaceSVG();
24248
24248
  i0.ɵɵelement(0, "path", 8);
@@ -24294,7 +24294,7 @@ function FloatingTocComponent_For_19_Conditional_7_For_2_Template(rf, ctx) { if
24294
24294
  } }
24295
24295
  function FloatingTocComponent_For_19_Conditional_7_Template(rf, ctx) { if (rf & 1) {
24296
24296
  i0.ɵɵelementStart(0, "div", 17);
24297
- i0.ɵɵrepeaterCreate(1, FloatingTocComponent_For_19_Conditional_7_For_2_Template, 4, 4, "button", 19, _forTrack0$z);
24297
+ i0.ɵɵrepeaterCreate(1, FloatingTocComponent_For_19_Conditional_7_For_2_Template, 4, 4, "button", 19, _forTrack0$A);
24298
24298
  i0.ɵɵelementEnd();
24299
24299
  } if (rf & 2) {
24300
24300
  const section_r2 = i0.ɵɵnextContext().$implicit;
@@ -24690,7 +24690,7 @@ class FloatingTocComponent {
24690
24690
  i0.ɵɵelementEnd()()();
24691
24691
  i0.ɵɵnamespaceHTML();
24692
24692
  i0.ɵɵelementStart(17, "nav", 9);
24693
- i0.ɵɵrepeaterCreate(18, FloatingTocComponent_For_19_Template, 8, 6, "div", 10, _forTrack0$z);
24693
+ i0.ɵɵrepeaterCreate(18, FloatingTocComponent_For_19_Template, 8, 6, "div", 10, _forTrack0$A);
24694
24694
  i0.ɵɵelementEnd();
24695
24695
  i0.ɵɵelementStart(20, "div", 11)(21, "button", 7);
24696
24696
  i0.ɵɵlistener("click", function FloatingTocComponent_Template_button_click_21_listener() { return ctx.scrollToTop(); });
@@ -24844,7 +24844,7 @@ class FloatingTocComponent {
24844
24844
  }], null, { sections: [{ type: i0.Input, args: [{ isSignal: true, alias: "sections", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], containerElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "containerElement", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }] }); })();
24845
24845
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FloatingTocComponent, { className: "FloatingTocComponent", filePath: "lib/components/business-analysis-dashboard/floating-toc.component.ts", lineNumber: 125 }); })();
24846
24846
 
24847
- const _forTrack0$y = ($index, $item) => $item.id;
24847
+ const _forTrack0$z = ($index, $item) => $item.id;
24848
24848
  function JourneyProgressIndicatorComponent_For_5_Conditional_2_Template(rf, ctx) { if (rf & 1) {
24849
24849
  i0.ɵɵnamespaceSVG();
24850
24850
  i0.ɵɵelementStart(0, "svg", 22);
@@ -25080,7 +25080,7 @@ function JourneyProgressIndicatorComponent_Conditional_23_Template(rf, ctx) { if
25080
25080
  i0.ɵɵtext(2, "Journey Progress");
25081
25081
  i0.ɵɵelementEnd();
25082
25082
  i0.ɵɵelementStart(3, "div", 44);
25083
- i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Template, 14, 8, "div", 45, _forTrack0$y);
25083
+ i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Template, 14, 8, "div", 45, _forTrack0$z);
25084
25084
  i0.ɵɵelementEnd()();
25085
25085
  } if (rf & 2) {
25086
25086
  const ctx_r2 = i0.ɵɵnextContext();
@@ -25529,7 +25529,7 @@ class JourneyProgressIndicatorComponent {
25529
25529
  static { this.ɵfac = function JourneyProgressIndicatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JourneyProgressIndicatorComponent)(); }; }
25530
25530
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JourneyProgressIndicatorComponent, selectors: [["symphiq-journey-progress-indicator"]], inputs: { viewMode: [1, "viewMode"], currentStepId: [1, "currentStepId"], showNextStepAction: [1, "showNextStepAction"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { nextStepClick: "nextStepClick", stepClick: "stepClick" }, decls: 25, vars: 12, consts: [[1, "sticky", "top-[60px]", "z-40", "border-b", "pt-8", "pb-6", "px-6", "transition-all", "duration-200", "overflow-visible", 3, "ngClass"], [1, "max-w-7xl", "mx-auto", "overflow-visible"], [1, "hidden", "lg:flex", "items-start", "justify-between", "overflow-visible"], [1, "flex-1", "flex", "items-start", "justify-start", "overflow-visible"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "disabled", "ngClass", "cursor-pointer", "cursor-not-allowed", "opacity-50", "hover:scale-105"], [1, "lg:hidden"], [1, "flex", "items-center", "justify-between", "gap-4"], [1, "flex-1", "flex", "items-center", "gap-3"], [1, "w-10", "h-10", "min-w-[2.5rem]", "min-h-[2.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5"], [1, "w-3", "h-3", "min-w-[0.75rem]", "min-h-[0.75rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "text-sm", "font-bold", 3, "ngClass"], [1, "flex-1", "text-left"], [1, "flex", "items-center", "gap-1.5", "relative", 3, "mouseenter", "mouseleave", "click"], [1, "text-xs", "cursor-pointer", 3, "ngClass"], [1, "p-0.5", "rounded-full", "cursor-pointer", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "absolute", "top-full", "left-0", "mt-2", "w-80", "max-w-[calc(100vw-2rem)]", "p-4", "rounded-lg", "shadow-xl", "z-50", 3, "ngClass"], ["type", "button", 1, "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "disabled", "ngClass", "cursor-pointer", "cursor-not-allowed", "opacity-50", "hover:scale-105"], [1, "flex", "flex-col", "items-center", "cursor-pointer", "relative", "step-column", "overflow-visible", "flex-shrink-0", 3, "mouseenter", "mouseleave"], [1, "w-8", "h-8", "min-w-[2rem]", "min-h-[2rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", "step-circle", "relative", "z-10", "mb-1.5", 3, "click", "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-4", "h-4"], [1, "w-2.5", "h-2.5", "min-w-[0.625rem]", "min-h-[0.625rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", 3, "ngClass"], [1, "text-xs", "font-bold", 3, "ngClass"], [1, "text-[10px]", "text-center", "leading-tight", "whitespace-nowrap", "max-w-[64px]", "overflow-hidden", "text-ellipsis", 3, "click", "ngClass"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass", "expanded-card-right", "expanded-card-left", "top", "left", "right"], [1, "flex-1", "h-0.5", "transition-all", "duration-200", "mt-[16px]", 3, "ngClass"], ["fill-rule", "evenodd", "d", "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", "clip-rule", "evenodd"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass"], [1, "flex", "items-start", "px-4", "py-3", "expanded-content"], [1, "flex", "items-start", "gap-2", "w-full"], [1, "text-xs", "font-bold", "flex-shrink-0", "mt-0.5", 3, "ngClass"], [1, "flex", "flex-col", "gap-1", "flex-1"], [1, "text-sm", "font-bold", "leading-tight", 3, "ngClass"], [1, "text-xs", "leading-relaxed", "description-fade", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "animate-spin"], ["cx", "12", "cy", "12", "r", "10", "stroke", "currentColor", "stroke-width", "4", 1, "opacity-25"], ["fill", "currentColor", "d", "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z", 1, "opacity-75"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "text-sm", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2"], [1, "w-6", "h-6", "min-w-[1.5rem]", "min-h-[1.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-3", "h-3"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-1.5", "h-1.5", "min-w-[0.375rem]", "min-h-[0.375rem]", "rounded-full", 3, "ngClass"], [1, "text-[10px]", "font-bold", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-2"], [1, "text-xs", "font-medium", 3, "ngClass"], [1, "text-[10px]", "mt-0.5", 3, "ngClass"], ["type", "button", 1, "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5", "animate-spin"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"]], template: function JourneyProgressIndicatorComponent_Template(rf, ctx) { if (rf & 1) {
25531
25531
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
25532
- i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_For_5_Template, 10, 12, null, null, _forTrack0$y);
25532
+ i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_For_5_Template, 10, 12, null, null, _forTrack0$z);
25533
25533
  i0.ɵɵelementEnd();
25534
25534
  i0.ɵɵconditionalCreate(6, JourneyProgressIndicatorComponent_Conditional_6_Template, 3, 11, "button", 4);
25535
25535
  i0.ɵɵelementEnd();
@@ -27682,7 +27682,7 @@ class ViewModeSwitcherModalComponent {
27682
27682
  const _c0$T = a0 => ({ name: "check-badge", source: a0 });
27683
27683
  const _c1$y = a0 => ({ name: "check-circle", source: a0 });
27684
27684
  const _c2$o = a0 => ({ name: "chevron-right", source: a0 });
27685
- const _forTrack0$x = ($index, $item) => $item.area;
27685
+ const _forTrack0$y = ($index, $item) => $item.area;
27686
27686
  function KeyStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
27687
27687
  i0.ɵɵelementStart(0, "div", 1);
27688
27688
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -27751,7 +27751,7 @@ function KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template(rf,
27751
27751
  } }
27752
27752
  function KeyStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
27753
27753
  i0.ɵɵelementStart(0, "div", 2);
27754
- i0.ɵɵrepeaterCreate(1, KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$x);
27754
+ i0.ɵɵrepeaterCreate(1, KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$y);
27755
27755
  i0.ɵɵelementEnd();
27756
27756
  } if (rf & 2) {
27757
27757
  const ctx_r0 = i0.ɵɵnextContext();
@@ -27915,7 +27915,7 @@ const _c0$S = a0 => ({ name: "shield-check", source: a0 });
27915
27915
  const _c1$x = a0 => ({ name: "exclamation-triangle", source: a0 });
27916
27916
  const _c2$n = a0 => ({ name: "document-text", source: a0 });
27917
27917
  const _c3$h = a0 => ({ name: "chevron-right", source: a0 });
27918
- const _forTrack0$w = ($index, $item) => $item.area;
27918
+ const _forTrack0$x = ($index, $item) => $item.area;
27919
27919
  function CriticalGapsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
27920
27920
  i0.ɵɵelementStart(0, "div", 1);
27921
27921
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -28000,7 +28000,7 @@ function CriticalGapsListModalContentComponent_Conditional_2_For_2_Template(rf,
28000
28000
  } }
28001
28001
  function CriticalGapsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
28002
28002
  i0.ɵɵelementStart(0, "div", 2);
28003
- i0.ɵɵrepeaterCreate(1, CriticalGapsListModalContentComponent_Conditional_2_For_2_Template, 23, 25, "button", 6, _forTrack0$w);
28003
+ i0.ɵɵrepeaterCreate(1, CriticalGapsListModalContentComponent_Conditional_2_For_2_Template, 23, 25, "button", 6, _forTrack0$x);
28004
28004
  i0.ɵɵelementEnd();
28005
28005
  } if (rf & 2) {
28006
28006
  const ctx_r0 = i0.ɵɵnextContext();
@@ -28229,7 +28229,7 @@ class CriticalGapsListModalContentComponent {
28229
28229
 
28230
28230
  const _c0$R = a0 => ({ name: "check-circle", source: a0 });
28231
28231
  const _c1$w = a0 => ({ name: "chat-bubble-left-right", source: a0 });
28232
- const _forTrack0$v = ($index, $item) => $item.questionId;
28232
+ const _forTrack0$w = ($index, $item) => $item.questionId;
28233
28233
  function KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
28234
28234
  i0.ɵɵelementStart(0, "div", 19)(1, "span", 20);
28235
28235
  i0.ɵɵtext(2);
@@ -28276,7 +28276,7 @@ function KeyStrengthDetailModalContentComponent_Conditional_13_Template(rf, ctx)
28276
28276
  i0.ɵɵtext(3, " Supporting Evidence ");
28277
28277
  i0.ɵɵelementEnd();
28278
28278
  i0.ɵɵelementStart(4, "div", 12);
28279
- i0.ɵɵrepeaterCreate(5, KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Template, 9, 10, "div", 13, _forTrack0$v);
28279
+ i0.ɵɵrepeaterCreate(5, KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Template, 9, 10, "div", 13, _forTrack0$w);
28280
28280
  i0.ɵɵelementEnd()();
28281
28281
  } if (rf & 2) {
28282
28282
  const ctx_r1 = i0.ɵɵnextContext();
@@ -28471,7 +28471,7 @@ class KeyStrengthDetailModalContentComponent {
28471
28471
  const _c0$Q = a0 => ({ name: "exclamation-triangle", source: a0 });
28472
28472
  const _c1$v = a0 => ({ name: "document-text", source: a0 });
28473
28473
  const _c2$m = a0 => ({ name: "chat-bubble-left-right", source: a0 });
28474
- const _forTrack0$u = ($index, $item) => $item.questionId;
28474
+ const _forTrack0$v = ($index, $item) => $item.questionId;
28475
28475
  function CriticalGapDetailModalContentComponent_Conditional_20_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
28476
28476
  i0.ɵɵelementStart(0, "div", 23)(1, "p", 25);
28477
28477
  i0.ɵɵtext(2, " Gap Identified: ");
@@ -28539,7 +28539,7 @@ function CriticalGapDetailModalContentComponent_Conditional_20_Template(rf, ctx)
28539
28539
  i0.ɵɵtext(3, " Supporting Evidence ");
28540
28540
  i0.ɵɵelementEnd();
28541
28541
  i0.ɵɵelementStart(4, "div", 17);
28542
- i0.ɵɵrepeaterCreate(5, CriticalGapDetailModalContentComponent_Conditional_20_For_6_Template, 10, 11, "div", 18, _forTrack0$u);
28542
+ i0.ɵɵrepeaterCreate(5, CriticalGapDetailModalContentComponent_Conditional_20_For_6_Template, 10, 11, "div", 18, _forTrack0$v);
28543
28543
  i0.ɵɵelementEnd()();
28544
28544
  } if (rf & 2) {
28545
28545
  const ctx_r1 = i0.ɵɵnextContext();
@@ -30335,7 +30335,7 @@ const _c0$P = a0 => ({ name: "check-badge", source: a0 });
30335
30335
  const _c1$u = a0 => ({ name: "check-circle", source: a0 });
30336
30336
  const _c2$l = a0 => ({ name: "chevron-right", source: a0 });
30337
30337
  const _c3$g = a0 => ({ name: "chart-bar", source: a0 });
30338
- const _forTrack0$t = ($index, $item) => $item.capability;
30338
+ const _forTrack0$u = ($index, $item) => $item.capability;
30339
30339
  function FocusAreaStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
30340
30340
  i0.ɵɵelementStart(0, "div", 1);
30341
30341
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -30450,7 +30450,7 @@ function FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Templat
30450
30450
  } }
30451
30451
  function FocusAreaStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
30452
30452
  i0.ɵɵelementStart(0, "div", 2);
30453
- i0.ɵɵrepeaterCreate(1, FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Template, 16, 18, "button", 6, _forTrack0$t);
30453
+ i0.ɵɵrepeaterCreate(1, FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Template, 16, 18, "button", 6, _forTrack0$u);
30454
30454
  i0.ɵɵelementEnd();
30455
30455
  } if (rf & 2) {
30456
30456
  const ctx_r0 = i0.ɵɵnextContext();
@@ -30657,7 +30657,7 @@ class FocusAreaStrengthsListModalContentComponent {
30657
30657
  const _c0$O = a0 => ({ name: "exclamation-triangle", source: a0 });
30658
30658
  const _c1$t = a0 => ({ name: "exclamation-circle", source: a0 });
30659
30659
  const _c2$k = a0 => ({ name: "chevron-right", source: a0 });
30660
- function _forTrack0$s($index, $item) { return this.getGapTitle($item); }
30660
+ function _forTrack0$t($index, $item) { return this.getGapTitle($item); }
30661
30661
  function FocusAreaGapsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
30662
30662
  i0.ɵɵelementStart(0, "div", 1);
30663
30663
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -30774,7 +30774,7 @@ function FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template(rf,
30774
30774
  } }
30775
30775
  function FocusAreaGapsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
30776
30776
  i0.ɵɵelementStart(0, "div", 2);
30777
- i0.ɵɵrepeaterCreate(1, FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$s, true);
30777
+ i0.ɵɵrepeaterCreate(1, FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$t, true);
30778
30778
  i0.ɵɵelementEnd();
30779
30779
  } if (rf & 2) {
30780
30780
  const ctx_r0 = i0.ɵɵnextContext();
@@ -31051,7 +31051,7 @@ class FocusAreaGapsListModalContentComponent {
31051
31051
  const _c0$N = a0 => ({ name: "light-bulb", source: a0 });
31052
31052
  const _c1$s = a0 => ({ name: "chevron-right", source: a0 });
31053
31053
  const _c2$j = a0 => ({ name: "chart-bar", source: a0 });
31054
- const _forTrack0$r = ($index, $item) => $item.opportunity;
31054
+ const _forTrack0$s = ($index, $item) => $item.opportunity;
31055
31055
  function FocusAreaOpportunitiesListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
31056
31056
  i0.ɵɵelementStart(0, "div", 1);
31057
31057
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -31142,7 +31142,7 @@ function FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Tem
31142
31142
  } }
31143
31143
  function FocusAreaOpportunitiesListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
31144
31144
  i0.ɵɵelementStart(0, "div", 2);
31145
- i0.ɵɵrepeaterCreate(1, FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Template, 11, 11, "button", 6, _forTrack0$r);
31145
+ i0.ɵɵrepeaterCreate(1, FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Template, 11, 11, "button", 6, _forTrack0$s);
31146
31146
  i0.ɵɵelementEnd();
31147
31147
  } if (rf & 2) {
31148
31148
  const ctx_r0 = i0.ɵɵnextContext();
@@ -31319,7 +31319,7 @@ class FocusAreaOpportunitiesListModalContentComponent {
31319
31319
 
31320
31320
  const _c0$M = a0 => ({ name: "chevron-right", source: a0 });
31321
31321
  const _c1$r = a0 => ({ name: "chat-bubble-left-right", source: a0 });
31322
- const _forTrack0$q = ($index, $item) => $item.performanceItemId;
31322
+ const _forTrack0$r = ($index, $item) => $item.performanceItemId;
31323
31323
  function FocusAreaStrengthDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
31324
31324
  i0.ɵɵelementStart(0, "div")(1, "p", 2);
31325
31325
  i0.ɵɵtext(2);
@@ -31389,7 +31389,7 @@ function FocusAreaStrengthDetailModalContentComponent_Conditional_4_Template(rf,
31389
31389
  i0.ɵɵtext(2);
31390
31390
  i0.ɵɵelementEnd();
31391
31391
  i0.ɵɵelementStart(3, "div", 9);
31392
- i0.ɵɵrepeaterCreate(4, FocusAreaStrengthDetailModalContentComponent_Conditional_4_For_5_Template, 4, 5, "button", 10, _forTrack0$q);
31392
+ i0.ɵɵrepeaterCreate(4, FocusAreaStrengthDetailModalContentComponent_Conditional_4_For_5_Template, 4, 5, "button", 10, _forTrack0$r);
31393
31393
  i0.ɵɵelementEnd()();
31394
31394
  } if (rf & 2) {
31395
31395
  const ctx_r0 = i0.ɵɵnextContext();
@@ -32040,7 +32040,7 @@ class FocusAreaGapDetailModalContentComponent {
32040
32040
 
32041
32041
  const _c0$K = a0 => ({ name: "chevron-right", source: a0 });
32042
32042
  const _c1$q = () => [];
32043
- const _forTrack0$p = ($index, $item) => $item.performanceItemId;
32043
+ const _forTrack0$q = ($index, $item) => $item.performanceItemId;
32044
32044
  function FocusAreaOpportunityDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
32045
32045
  i0.ɵɵelementStart(0, "div")(1, "p", 2);
32046
32046
  i0.ɵɵtext(2);
@@ -32092,7 +32092,7 @@ function FocusAreaOpportunityDetailModalContentComponent_Conditional_3_Template(
32092
32092
  i0.ɵɵtext(2);
32093
32093
  i0.ɵɵelementEnd();
32094
32094
  i0.ɵɵelementStart(3, "div", 6);
32095
- i0.ɵɵrepeaterCreate(4, FocusAreaOpportunityDetailModalContentComponent_Conditional_3_For_5_Template, 4, 5, "button", 7, _forTrack0$p);
32095
+ i0.ɵɵrepeaterCreate(4, FocusAreaOpportunityDetailModalContentComponent_Conditional_3_For_5_Template, 4, 5, "button", 7, _forTrack0$q);
32096
32096
  i0.ɵɵelementEnd()();
32097
32097
  } if (rf & 2) {
32098
32098
  const ctx_r0 = i0.ɵɵnextContext();
@@ -37235,7 +37235,7 @@ const _c4$7 = a0 => ({ name: "academic-cap", source: a0 });
37235
37235
  const _c5$5 = a0 => ({ name: "information-circle", source: a0 });
37236
37236
  const _c6$2 = a0 => ({ name: "signal", source: a0 });
37237
37237
  const _c7$1 = a0 => ({ name: "wrench-screwdriver", source: a0 });
37238
- const _forTrack0$o = ($index, $item) => $item.name;
37238
+ const _forTrack0$p = ($index, $item) => $item.name;
37239
37239
  function ProductCategoryCardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
37240
37240
  i0.ɵɵelementStart(0, "p", 8);
37241
37241
  i0.ɵɵtext(1);
@@ -37366,7 +37366,7 @@ function ProductCategoryCardComponent_Conditional_16_Template(rf, ctx) { if (rf
37366
37366
  i0.ɵɵelementStart(6, "symphiq-visualization-container", 21);
37367
37367
  i0.ɵɵlistener("visualizationClick", function ProductCategoryCardComponent_Conditional_16_Template_symphiq_visualization_container_visualizationClick_6_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.openHorizontalBarModal($event)); });
37368
37368
  i0.ɵɵelementStart(7, "div", 22);
37369
- i0.ɵɵrepeaterCreate(8, ProductCategoryCardComponent_Conditional_16_For_9_Template, 2, 5, "div", 23, _forTrack0$o);
37369
+ i0.ɵɵrepeaterCreate(8, ProductCategoryCardComponent_Conditional_16_For_9_Template, 2, 5, "div", 23, _forTrack0$p);
37370
37370
  i0.ɵɵelementEnd()()()();
37371
37371
  } if (rf & 2) {
37372
37372
  const ctx_r0 = i0.ɵɵnextContext();
@@ -42356,7 +42356,7 @@ const ProfileAnalysisModalComponent_Conditional_0_Conditional_31_Conditional_5_D
42356
42356
  const ProfileAnalysisModalComponent_Conditional_0_Conditional_31_Conditional_6_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
42357
42357
  const _c3$8 = a0 => ({ name: "arrow-left", source: a0 });
42358
42358
  const _c4$5 = a0 => ({ name: "chevron-right", source: a0 });
42359
- const _forTrack0$n = ($index, $item) => $item.performanceItemId || $index;
42359
+ const _forTrack0$o = ($index, $item) => $item.performanceItemId || $index;
42360
42360
  const _forTrack1$3 = ($index, $item) => $item.id || $index;
42361
42361
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_10_For_5_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
42362
42362
  const _r4 = i0.ɵɵgetCurrentView();
@@ -42567,7 +42567,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Templa
42567
42567
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_21_Template(rf, ctx) { if (rf & 1) {
42568
42568
  i0.ɵɵelementStart(0, "div", 20);
42569
42569
  i0.ɵɵconditionalCreate(1, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_Conditional_1_Template, 2, 2, "p", 52);
42570
- i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Template, 13, 10, "div", 53, _forTrack0$n);
42570
+ i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Template, 13, 10, "div", 53, _forTrack0$o);
42571
42571
  i0.ɵɵelementEnd();
42572
42572
  } if (rf & 2) {
42573
42573
  const data_r11 = ctx;
@@ -42647,7 +42647,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Templa
42647
42647
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
42648
42648
  i0.ɵɵelementStart(0, "div", 20);
42649
42649
  i0.ɵɵconditionalCreate(1, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_Conditional_1_Template, 2, 2, "p", 52);
42650
- i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Template, 13, 10, "div", 53, _forTrack0$n);
42650
+ i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Template, 13, 10, "div", 53, _forTrack0$o);
42651
42651
  i0.ɵɵelementEnd();
42652
42652
  } if (rf & 2) {
42653
42653
  const data_r14 = ctx;
@@ -42766,7 +42766,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
42766
42766
  i0.ɵɵelementStart(0, "div", 69)(1, "h3", 70);
42767
42767
  i0.ɵɵtext(2, " Directly Affected Metric ");
42768
42768
  i0.ɵɵelementEnd();
42769
- i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_0_For_4_Template, 1, 1, null, null, _forTrack0$n);
42769
+ i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_0_For_4_Template, 1, 1, null, null, _forTrack0$o);
42770
42770
  i0.ɵɵelementEnd();
42771
42771
  } if (rf & 2) {
42772
42772
  const data_r32 = i0.ɵɵnextContext(2);
@@ -42800,7 +42800,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
42800
42800
  i0.ɵɵelementStart(0, "div", 69)(1, "h3", 70);
42801
42801
  i0.ɵɵtext(2, " Indirectly Affected Metrics ");
42802
42802
  i0.ɵɵelementEnd();
42803
- i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_1_For_4_Template, 1, 1, null, null, _forTrack0$n);
42803
+ i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_1_For_4_Template, 1, 1, null, null, _forTrack0$o);
42804
42804
  i0.ɵɵelementEnd();
42805
42805
  } if (rf & 2) {
42806
42806
  const data_r32 = i0.ɵɵnextContext(2);
@@ -42832,7 +42832,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
42832
42832
  i0.ɵɵproperty("metric", metric_r38)("isLightMode", ctx_r1.isLightMode())("animationKey", $index_r39);
42833
42833
  } }
42834
42834
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_Template(rf, ctx) { if (rf & 1) {
42835
- i0.ɵɵrepeaterCreate(0, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_For_1_Template, 2, 3, "div", null, _forTrack0$n);
42835
+ i0.ɵɵrepeaterCreate(0, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_For_1_Template, 2, 3, "div", null, _forTrack0$o);
42836
42836
  } if (rf & 2) {
42837
42837
  const data_r32 = i0.ɵɵnextContext();
42838
42838
  i0.ɵɵrepeater(data_r32.metrics);
@@ -45532,7 +45532,7 @@ const _c0$u = a0 => ({ name: "list-bullet", source: a0 });
45532
45532
  const _c1$d = a0 => ({ name: "arrow-right", source: a0 });
45533
45533
  const _c2$9 = a0 => ({ name: "check-circle", source: a0 });
45534
45534
  const _c3$6 = a0 => ({ name: "exclamation-circle", source: a0 });
45535
- const _forTrack0$m = ($index, $item) => $item.order;
45535
+ const _forTrack0$n = ($index, $item) => $item.order;
45536
45536
  function RecommendationActionStepsModalComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
45537
45537
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 5);
45538
45538
  i0.ɵɵelement(2, "symphiq-icon", 6);
@@ -45686,7 +45686,7 @@ class RecommendationActionStepsModalComponent {
45686
45686
  i0.ɵɵelementStart(0, "div", 0);
45687
45687
  i0.ɵɵconditionalCreate(1, RecommendationActionStepsModalComponent_Conditional_1_Template, 8, 7, "div", 1);
45688
45688
  i0.ɵɵelementStart(2, "div", 2);
45689
- i0.ɵɵrepeaterCreate(3, RecommendationActionStepsModalComponent_For_4_Template, 13, 11, "div", 3, _forTrack0$m);
45689
+ i0.ɵɵrepeaterCreate(3, RecommendationActionStepsModalComponent_For_4_Template, 13, 11, "div", 3, _forTrack0$n);
45690
45690
  i0.ɵɵelementEnd();
45691
45691
  i0.ɵɵconditionalCreate(5, RecommendationActionStepsModalComponent_Conditional_5_Template, 4, 5, "div", 4);
45692
45692
  i0.ɵɵelementEnd();
@@ -46482,7 +46482,7 @@ const _c2$8 = () => [1, 2, 3, 4, 5, 6];
46482
46482
  const _c3$5 = () => [1, 2, 3];
46483
46483
  const _c4$3 = () => [1, 2, 3, 4];
46484
46484
  const _c5$2 = () => [1, 2];
46485
- const _forTrack0$l = ($index, $item) => $item.value;
46485
+ const _forTrack0$m = ($index, $item) => $item.value;
46486
46486
  function SymphiqFunnelAnalysisDashboardComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
46487
46487
  i0.ɵɵelement(0, "div", 11);
46488
46488
  } }
@@ -46521,7 +46521,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template(rf, ctx
46521
46521
  i0.ɵɵlistener("click", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_div_click_3_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); })("mousedown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_div_mousedown_3_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); })("pointerdown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_div_pointerdown_3_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); });
46522
46522
  i0.ɵɵelementStart(4, "select", 48);
46523
46523
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_select_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.changeSectionFilter($event)); });
46524
- i0.ɵɵrepeaterCreate(5, SymphiqFunnelAnalysisDashboardComponent_Conditional_25_For_6_Template, 2, 2, "option", 49, _forTrack0$l);
46524
+ i0.ɵɵrepeaterCreate(5, SymphiqFunnelAnalysisDashboardComponent_Conditional_25_For_6_Template, 2, 2, "option", 49, _forTrack0$m);
46525
46525
  i0.ɵɵelementEnd()()();
46526
46526
  } if (rf & 2) {
46527
46527
  const ctx_r2 = i0.ɵɵnextContext();
@@ -46601,7 +46601,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template(rf, ctx
46601
46601
  i0.ɵɵlistener("click", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); })("mousedown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); })("pointerdown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_div_pointerdown_0_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); });
46602
46602
  i0.ɵɵelementStart(1, "select", 54);
46603
46603
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_select_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.changeSectionFilter($event)); });
46604
- i0.ɵɵrepeaterCreate(2, SymphiqFunnelAnalysisDashboardComponent_Conditional_46_For_3_Template, 2, 2, "option", 49, _forTrack0$l);
46604
+ i0.ɵɵrepeaterCreate(2, SymphiqFunnelAnalysisDashboardComponent_Conditional_46_For_3_Template, 2, 2, "option", 49, _forTrack0$m);
46605
46605
  i0.ɵɵelementEnd()();
46606
46606
  } if (rf & 2) {
46607
46607
  const ctx_r2 = i0.ɵɵnextContext();
@@ -47347,7 +47347,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Te
47347
47347
  i0.ɵɵconditionalCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Conditional_14_Template, 2, 0, "div", 122);
47348
47348
  i0.ɵɵelementStart(15, "select", 123);
47349
47349
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Template_select_ngModelChange_15_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeCategoryFilter($event)); });
47350
- i0.ɵɵrepeaterCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_17_Template, 2, 1, null, null, _forTrack0$l);
47350
+ i0.ɵɵrepeaterCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_17_Template, 2, 1, null, null, _forTrack0$m);
47351
47351
  i0.ɵɵelementEnd();
47352
47352
  i0.ɵɵelementStart(18, "button", 124);
47353
47353
  i0.ɵɵlistener("click", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.toggleSortOrder()); });
@@ -47361,7 +47361,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Te
47361
47361
  i0.ɵɵtext(23, "Sort");
47362
47362
  i0.ɵɵelementEnd()()()();
47363
47363
  i0.ɵɵelementStart(24, "div", 127)(25, "div", 128);
47364
- i0.ɵɵrepeaterCreate(26, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_27_Template, 1, 1, null, null, _forTrack0$l);
47364
+ i0.ɵɵrepeaterCreate(26, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_27_Template, 1, 1, null, null, _forTrack0$m);
47365
47365
  i0.ɵɵelementEnd()()();
47366
47366
  i0.ɵɵconditionalCreate(28, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Conditional_28_Template, 3, 1, "div", 129)(29, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Conditional_29_Template, 4, 5, "div", 130);
47367
47367
  i0.ɵɵelementEnd()();
@@ -47538,7 +47538,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Te
47538
47538
  i0.ɵɵconditionalCreate(12, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Conditional_12_Template, 2, 0, "div", 122);
47539
47539
  i0.ɵɵelementStart(13, "select", 164);
47540
47540
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Template_select_ngModelChange_13_listener($event) { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeBreakdownFilter($event)); });
47541
- i0.ɵɵrepeaterCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_For_15_Template, 2, 1, null, null, _forTrack0$l);
47541
+ i0.ɵɵrepeaterCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_For_15_Template, 2, 1, null, null, _forTrack0$m);
47542
47542
  i0.ɵɵelementEnd()()();
47543
47543
  i0.ɵɵconditionalCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Conditional_16_Template, 3, 1, "div", 95)(17, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Conditional_17_Template, 4, 5, "div", 165);
47544
47544
  i0.ɵɵelementEnd()();
@@ -47649,7 +47649,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Te
47649
47649
  i0.ɵɵconditionalCreate(13, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Conditional_13_Template, 2, 0, "div", 122);
47650
47650
  i0.ɵɵelementStart(14, "select", 123);
47651
47651
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Template_select_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeCompetitiveFilter($event)); });
47652
- i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_For_16_Template, 2, 1, null, null, _forTrack0$l);
47652
+ i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_For_16_Template, 2, 1, null, null, _forTrack0$m);
47653
47653
  i0.ɵɵelementEnd()()();
47654
47654
  i0.ɵɵconditionalCreate(17, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Conditional_17_Template, 6, 5, "div", 95)(18, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Conditional_18_Template, 1, 6, "symphiq-competitive-intelligence-view", 92);
47655
47655
  i0.ɵɵelementEnd()();
@@ -50215,7 +50215,7 @@ function getTrendClasses(trendPercent, viewMode) {
50215
50215
  }
50216
50216
  }
50217
50217
 
50218
- const _forTrack0$k = ($index, $item) => $item.performanceItemId;
50218
+ const _forTrack0$l = ($index, $item) => $item.performanceItemId;
50219
50219
  function SymphiqFunnelAnalysisPreviewComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
50220
50220
  i0.ɵɵelementStart(0, "div", 17)(1, "p", 18);
50221
50221
  i0.ɵɵtext(2);
@@ -50834,7 +50834,7 @@ class SymphiqFunnelAnalysisPreviewComponent {
50834
50834
  i0.ɵɵconditionalCreate(12, SymphiqFunnelAnalysisPreviewComponent_Conditional_12_Template, 3, 7, "div", 9);
50835
50835
  i0.ɵɵconditionalCreate(13, SymphiqFunnelAnalysisPreviewComponent_Conditional_13_Template, 18, 23, "div", 10);
50836
50836
  i0.ɵɵelementStart(14, "div", 11);
50837
- i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisPreviewComponent_For_16_Template, 10, 17, "div", 12, _forTrack0$k);
50837
+ i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisPreviewComponent_For_16_Template, 10, 17, "div", 12, _forTrack0$l);
50838
50838
  i0.ɵɵelementEnd();
50839
50839
  i0.ɵɵconditionalCreate(17, SymphiqFunnelAnalysisPreviewComponent_Conditional_17_Template, 9, 11, "div", 9);
50840
50840
  i0.ɵɵconditionalCreate(18, SymphiqFunnelAnalysisPreviewComponent_Conditional_18_Template, 14, 19, "div", 9);
@@ -51077,7 +51077,7 @@ class SymphiqFunnelAnalysisPreviewComponent {
51077
51077
  }], () => [], { analysisInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelAnalysis", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], onViewAnalysis: [{ type: i0.Output, args: ["onViewAnalysis"] }] }); })();
51078
51078
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqFunnelAnalysisPreviewComponent, { className: "SymphiqFunnelAnalysisPreviewComponent", filePath: "lib/components/funnel-analysis-preview/symphiq-funnel-analysis-preview.component.ts", lineNumber: 228 }); })();
51079
51079
 
51080
- const _forTrack0$j = ($index, $item) => $item.id;
51080
+ const _forTrack0$k = ($index, $item) => $item.id;
51081
51081
  function SymphiqWelcomeDashboardComponent_For_65_Template(rf, ctx) { if (rf & 1) {
51082
51082
  i0.ɵɵelementStart(0, "div", 31)(1, "div", 36)(2, "div", 37)(3, "span", 38);
51083
51083
  i0.ɵɵtext(4);
@@ -51372,7 +51372,7 @@ class SymphiqWelcomeDashboardComponent {
51372
51372
  i0.ɵɵtext(62, " Your Onboarding Journey ");
51373
51373
  i0.ɵɵelementEnd();
51374
51374
  i0.ɵɵelementStart(63, "div", 30);
51375
- i0.ɵɵrepeaterCreate(64, SymphiqWelcomeDashboardComponent_For_65_Template, 9, 3, "div", 31, _forTrack0$j);
51375
+ i0.ɵɵrepeaterCreate(64, SymphiqWelcomeDashboardComponent_For_65_Template, 9, 3, "div", 31, _forTrack0$k);
51376
51376
  i0.ɵɵelementEnd()()();
51377
51377
  i0.ɵɵelementStart(66, "div", 32);
51378
51378
  i0.ɵɵnamespaceSVG();
@@ -52411,7 +52411,7 @@ class FocusAreaToolsModalComponent {
52411
52411
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaToolsModalComponent, { className: "FocusAreaToolsModalComponent", filePath: "lib/components/create-account-dashboard/focus-area-tools-modal.component.ts", lineNumber: 149 }); })();
52412
52412
 
52413
52413
  const _c0$r = ["shopNameInput"];
52414
- const _forTrack0$i = ($index, $item) => $item.focusAreaDomain;
52414
+ const _forTrack0$j = ($index, $item) => $item.focusAreaDomain;
52415
52415
  function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_27_Template(rf, ctx) { if (rf & 1) {
52416
52416
  i0.ɵɵtext(0, " Shopify ");
52417
52417
  } }
@@ -52738,7 +52738,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_Te
52738
52738
  i0.ɵɵtext(3);
52739
52739
  i0.ɵɵelementEnd();
52740
52740
  i0.ɵɵelementStart(4, "div", 55);
52741
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Template, 7, 5, "div", 56, _forTrack0$i);
52741
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Template, 7, 5, "div", 56, _forTrack0$j);
52742
52742
  i0.ɵɵelementEnd()();
52743
52743
  } if (rf & 2) {
52744
52744
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -52768,7 +52768,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_Te
52768
52768
  i0.ɵɵtext(3);
52769
52769
  i0.ɵɵelementEnd();
52770
52770
  i0.ɵɵelementStart(4, "div", 65);
52771
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_For_6_Template, 3, 3, "div", 66, _forTrack0$i);
52771
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_For_6_Template, 3, 3, "div", 66, _forTrack0$j);
52772
52772
  i0.ɵɵelementEnd()();
52773
52773
  } if (rf & 2) {
52774
52774
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -52798,7 +52798,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_Te
52798
52798
  i0.ɵɵtext(3);
52799
52799
  i0.ɵɵelementEnd();
52800
52800
  i0.ɵɵelementStart(4, "div", 68);
52801
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_For_6_Template, 3, 3, "div", 69, _forTrack0$i);
52801
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_For_6_Template, 3, 3, "div", 69, _forTrack0$j);
52802
52802
  i0.ɵɵelementEnd()();
52803
52803
  } if (rf & 2) {
52804
52804
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -54186,6 +54186,338 @@ class SymphiqCreateAccountDashboardComponent {
54186
54186
  }] }); })();
54187
54187
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqCreateAccountDashboardComponent, { className: "SymphiqCreateAccountDashboardComponent", filePath: "lib/components/create-account-dashboard/symphiq-create-account-dashboard.component.ts", lineNumber: 625 }); })();
54188
54188
 
54189
+ const _forTrack0$i = ($index, $item) => $item.id;
54190
+ function SymphiqConnectGaDashboardComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
54191
+ const _r1 = i0.ɵɵgetCurrentView();
54192
+ i0.ɵɵelementStart(0, "div", 12)(1, "div", 14)(2, "div", 15)(3, "div", 16);
54193
+ i0.ɵɵnamespaceSVG();
54194
+ i0.ɵɵelementStart(4, "svg", 17);
54195
+ i0.ɵɵelement(5, "path", 18);
54196
+ i0.ɵɵelementEnd()();
54197
+ i0.ɵɵnamespaceHTML();
54198
+ i0.ɵɵelementStart(6, "div", 19)(7, "h2", 20);
54199
+ i0.ɵɵtext(8, " Connect Google Analytics 4 ");
54200
+ i0.ɵɵelementEnd();
54201
+ i0.ɵɵelementStart(9, "p", 21);
54202
+ i0.ɵɵtext(10, " Integrating Google Analytics is essential. We use it to pull the majority of your data in a read-only format, ensuring no changes are made to your analytics. Please make sure you have access to the Google Analytics property associated with this shop to ensure proper integration. ");
54203
+ i0.ɵɵelementEnd();
54204
+ i0.ɵɵelementStart(11, "div", 22)(12, "button", 23);
54205
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_21_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.googleButtonClick.emit()); });
54206
+ i0.ɵɵelement(13, "div", 24);
54207
+ i0.ɵɵelementStart(14, "div", 25)(15, "div", 26);
54208
+ i0.ɵɵnamespaceSVG();
54209
+ i0.ɵɵelementStart(16, "svg", 27);
54210
+ i0.ɵɵelement(17, "path", 28)(18, "path", 29)(19, "path", 30)(20, "path", 31)(21, "path", 32);
54211
+ i0.ɵɵelementEnd()();
54212
+ i0.ɵɵnamespaceHTML();
54213
+ i0.ɵɵelementStart(22, "span", 33);
54214
+ i0.ɵɵtext(23, "Continue with Google");
54215
+ i0.ɵɵelementEnd()()()();
54216
+ i0.ɵɵelementStart(24, "div", 34);
54217
+ i0.ɵɵnamespaceSVG();
54218
+ i0.ɵɵelementStart(25, "svg", 35);
54219
+ i0.ɵɵelement(26, "path", 36);
54220
+ i0.ɵɵelementEnd();
54221
+ i0.ɵɵnamespaceHTML();
54222
+ i0.ɵɵelementStart(27, "div", 19)(28, "p", 37)(29, "strong", 38);
54223
+ i0.ɵɵtext(30, "Note:");
54224
+ i0.ɵɵelementEnd();
54225
+ i0.ɵɵtext(31, " When you click \"Continue with Google\", you'll be asked to sign in to your Google account and select the Analytics property associated with your shop. ");
54226
+ i0.ɵɵelementEnd()()();
54227
+ i0.ɵɵelementStart(32, "div", 39)(33, "div", 40);
54228
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_21_Template_div_click_33_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleExpanded()); });
54229
+ i0.ɵɵelementStart(34, "span", 41);
54230
+ i0.ɵɵtext(35, " How do we use your Google Analytics data? ");
54231
+ i0.ɵɵelementEnd();
54232
+ i0.ɵɵnamespaceSVG();
54233
+ i0.ɵɵelementStart(36, "svg", 42);
54234
+ i0.ɵɵelement(37, "path", 43);
54235
+ i0.ɵɵelementEnd()();
54236
+ i0.ɵɵnamespaceHTML();
54237
+ i0.ɵɵelementStart(38, "div", 4)(39, "div", 44)(40, "p", 45);
54238
+ i0.ɵɵtext(41, " We request access to your Google Analytics data to aggregate this information into funnel stages and display trends within our application. This allows us to provide you with a clear overview of your web performance. By analyzing the data, we can map out recommendations, measure the impact of your current strategies, and suggest actionable next steps for improvement. ");
54239
+ i0.ɵɵelementEnd();
54240
+ i0.ɵɵelementStart(42, "p", 37);
54241
+ i0.ɵɵtext(43, " Symphiq's use and transfer to any other app of information received from Google APIs will adhere to ");
54242
+ i0.ɵɵelementStart(44, "strong", 46);
54243
+ i0.ɵɵtext(45, "Google API Services User Data Policy");
54244
+ i0.ɵɵelementEnd();
54245
+ i0.ɵɵtext(46, " including the Limited Use requirements. ");
54246
+ i0.ɵɵelementEnd()()()()()()()();
54247
+ } if (rf & 2) {
54248
+ const ctx_r1 = i0.ɵɵnextContext();
54249
+ i0.ɵɵproperty("ngClass", ctx_r1.containerClasses());
54250
+ i0.ɵɵadvance();
54251
+ i0.ɵɵproperty("ngClass", ctx_r1.contentClasses());
54252
+ i0.ɵɵadvance(2);
54253
+ i0.ɵɵproperty("ngClass", ctx_r1.iconContainerClasses());
54254
+ i0.ɵɵadvance(4);
54255
+ i0.ɵɵproperty("ngClass", ctx_r1.titleClasses());
54256
+ i0.ɵɵadvance(2);
54257
+ i0.ɵɵproperty("ngClass", ctx_r1.textClasses());
54258
+ i0.ɵɵadvance(15);
54259
+ i0.ɵɵproperty("ngClass", ctx_r1.noteBoxClasses());
54260
+ i0.ɵɵadvance();
54261
+ i0.ɵɵproperty("ngClass", ctx_r1.noteIconClasses());
54262
+ i0.ɵɵadvance(3);
54263
+ i0.ɵɵproperty("ngClass", ctx_r1.noteTextClasses());
54264
+ i0.ɵɵadvance(4);
54265
+ i0.ɵɵproperty("ngClass", ctx_r1.expandableCardClasses());
54266
+ i0.ɵɵadvance();
54267
+ i0.ɵɵproperty("ngClass", ctx_r1.expandableHeaderClasses());
54268
+ i0.ɵɵadvance();
54269
+ i0.ɵɵproperty("ngClass", ctx_r1.expandableHeaderTextClasses());
54270
+ i0.ɵɵadvance(2);
54271
+ i0.ɵɵclassProp("rotate-180", ctx_r1.isExpanded());
54272
+ i0.ɵɵproperty("ngClass", ctx_r1.chevronClasses());
54273
+ i0.ɵɵadvance(2);
54274
+ i0.ɵɵclassProp("max-h-0", !ctx_r1.isExpanded())("opacity-0", !ctx_r1.isExpanded())("max-h-[1000px]", ctx_r1.isExpanded())("opacity-100", ctx_r1.isExpanded());
54275
+ i0.ɵɵadvance();
54276
+ i0.ɵɵproperty("ngClass", ctx_r1.expandedContentClasses());
54277
+ i0.ɵɵadvance();
54278
+ i0.ɵɵproperty("ngClass", ctx_r1.expandedTextClasses());
54279
+ i0.ɵɵadvance(2);
54280
+ i0.ɵɵproperty("ngClass", ctx_r1.expandedTextClasses());
54281
+ } }
54282
+ function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_8_Template(rf, ctx) { if (rf & 1) {
54283
+ i0.ɵɵtext(0, " Change Google Analytics Property ");
54284
+ } }
54285
+ function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_9_Template(rf, ctx) { if (rf & 1) {
54286
+ i0.ɵɵtext(0, " Choose Your Property ");
54287
+ } }
54288
+ function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
54289
+ i0.ɵɵelement(0, "div", 53);
54290
+ } }
54291
+ function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_For_2_Conditional_10_Conditional_0_Template(rf, ctx) { if (rf & 1) {
54292
+ i0.ɵɵelementStart(0, "div", 58);
54293
+ i0.ɵɵnamespaceSVG();
54294
+ i0.ɵɵelementStart(1, "svg", 59);
54295
+ i0.ɵɵelement(2, "path", 60);
54296
+ i0.ɵɵelementEnd();
54297
+ i0.ɵɵnamespaceHTML();
54298
+ i0.ɵɵelementStart(3, "span", 57);
54299
+ i0.ɵɵtext(4);
54300
+ i0.ɵɵelementEnd()();
54301
+ } if (rf & 2) {
54302
+ const ctx_r1 = i0.ɵɵnextContext(5);
54303
+ i0.ɵɵadvance();
54304
+ i0.ɵɵproperty("ngClass", ctx_r1.accountNameClasses());
54305
+ i0.ɵɵadvance(2);
54306
+ i0.ɵɵproperty("ngClass", ctx_r1.accountNameClasses());
54307
+ i0.ɵɵadvance();
54308
+ i0.ɵɵtextInterpolate1(" Account: ", ctx.name || "Unnamed Account", " ");
54309
+ } }
54310
+ function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
54311
+ i0.ɵɵconditionalCreate(0, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_For_2_Conditional_10_Conditional_0_Template, 5, 3, "div", 58);
54312
+ } if (rf & 2) {
54313
+ let tmp_13_0;
54314
+ const property_r4 = i0.ɵɵnextContext().$implicit;
54315
+ const ctx_r1 = i0.ɵɵnextContext(3);
54316
+ i0.ɵɵconditional((tmp_13_0 = ctx_r1.getAccountForProperty(property_r4)) ? 0 : -1, tmp_13_0);
54317
+ } }
54318
+ function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_For_2_Template(rf, ctx) { if (rf & 1) {
54319
+ const _r3 = i0.ɵɵgetCurrentView();
54320
+ i0.ɵɵelementStart(0, "label", 50);
54321
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_For_2_Template_label_click_0_listener() { const property_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.selectProperty(property_r4.id)); })("keydown.enter", function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_For_2_Template_label_keydown_enter_0_listener() { const property_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.selectProperty(property_r4.id)); })("keydown.space", function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_For_2_Template_label_keydown_space_0_listener($event) { const property_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); ctx_r1.selectProperty(property_r4.id); return i0.ɵɵresetView($event.preventDefault()); });
54322
+ i0.ɵɵelementStart(1, "div", 51)(2, "div", 52);
54323
+ i0.ɵɵconditionalCreate(3, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_For_2_Conditional_3_Template, 1, 0, "div", 53);
54324
+ i0.ɵɵelementEnd();
54325
+ i0.ɵɵelementStart(4, "div", 54)(5, "div", 55);
54326
+ i0.ɵɵnamespaceSVG();
54327
+ i0.ɵɵelementStart(6, "svg", 56);
54328
+ i0.ɵɵelement(7, "path", 18);
54329
+ i0.ɵɵelementEnd();
54330
+ i0.ɵɵnamespaceHTML();
54331
+ i0.ɵɵelementStart(8, "div", 57);
54332
+ i0.ɵɵtext(9);
54333
+ i0.ɵɵelementEnd()();
54334
+ i0.ɵɵconditionalCreate(10, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_For_2_Conditional_10_Template, 1, 1);
54335
+ i0.ɵɵelementEnd()()();
54336
+ } if (rf & 2) {
54337
+ const property_r4 = ctx.$implicit;
54338
+ const ctx_r1 = i0.ɵɵnextContext(3);
54339
+ i0.ɵɵproperty("ngClass", ctx_r1.propertyCardClasses(property_r4.id));
54340
+ i0.ɵɵattribute("aria-checked", (ctx_r1.isEditingProperty() ? ctx_r1.currentEditingPropertyId() : ctx_r1.selectedGaPropertyId()) === property_r4.id);
54341
+ i0.ɵɵadvance(2);
54342
+ i0.ɵɵproperty("ngClass", ctx_r1.radioIndicatorClasses(property_r4.id));
54343
+ i0.ɵɵadvance();
54344
+ i0.ɵɵconditional((ctx_r1.isEditingProperty() ? ctx_r1.currentEditingPropertyId() : ctx_r1.selectedGaPropertyId()) === property_r4.id ? 3 : -1);
54345
+ i0.ɵɵadvance(3);
54346
+ i0.ɵɵproperty("ngClass", ctx_r1.noteIconClasses());
54347
+ i0.ɵɵadvance(2);
54348
+ i0.ɵɵproperty("ngClass", ctx_r1.propertyNameClasses());
54349
+ i0.ɵɵadvance();
54350
+ i0.ɵɵtextInterpolate1(" ", property_r4.name || "Unnamed Property", " ");
54351
+ i0.ɵɵadvance();
54352
+ i0.ɵɵconditional(property_r4.gaAccountId ? 10 : -1);
54353
+ } }
54354
+ function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_Template(rf, ctx) { if (rf & 1) {
54355
+ i0.ɵɵelementStart(0, "div", 47);
54356
+ i0.ɵɵrepeaterCreate(1, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_For_2_Template, 11, 8, "label", 49, _forTrack0$i);
54357
+ i0.ɵɵelementEnd();
54358
+ } if (rf & 2) {
54359
+ const ctx_r1 = i0.ɵɵnextContext(2);
54360
+ i0.ɵɵadvance();
54361
+ i0.ɵɵrepeater(ctx_r1.gaProperties());
54362
+ } }
54363
+ function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_13_Template(rf, ctx) { if (rf & 1) {
54364
+ i0.ɵɵelementStart(0, "div", 48)(1, "p", 61);
54365
+ i0.ɵɵtext(2, " No properties found. Please connect your Google Analytics account. ");
54366
+ i0.ɵɵelementEnd()();
54367
+ } if (rf & 2) {
54368
+ const ctx_r1 = i0.ɵɵnextContext(2);
54369
+ i0.ɵɵadvance();
54370
+ i0.ɵɵproperty("ngClass", ctx_r1.emptyStateTextClasses());
54371
+ } }
54372
+ function SymphiqConnectGaDashboardComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
54373
+ i0.ɵɵelementStart(0, "div", 12)(1, "div", 14)(2, "div", 15)(3, "div", 16);
54374
+ i0.ɵɵnamespaceSVG();
54375
+ i0.ɵɵelementStart(4, "svg", 17);
54376
+ i0.ɵɵelement(5, "path", 18);
54377
+ i0.ɵɵelementEnd()();
54378
+ i0.ɵɵnamespaceHTML();
54379
+ i0.ɵɵelementStart(6, "div", 19)(7, "h2", 20);
54380
+ i0.ɵɵconditionalCreate(8, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_8_Template, 1, 0)(9, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_9_Template, 1, 0);
54381
+ i0.ɵɵelementEnd();
54382
+ i0.ɵɵelementStart(10, "p", 21);
54383
+ i0.ɵɵtext(11, " Please choose the Google Analytics property you'd like to link to your shop. ");
54384
+ i0.ɵɵelementEnd();
54385
+ i0.ɵɵconditionalCreate(12, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_12_Template, 3, 0, "div", 47)(13, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_13_Template, 3, 1, "div", 48);
54386
+ i0.ɵɵelementEnd()()()();
54387
+ } if (rf & 2) {
54388
+ const ctx_r1 = i0.ɵɵnextContext();
54389
+ i0.ɵɵproperty("ngClass", ctx_r1.containerClasses());
54390
+ i0.ɵɵadvance();
54391
+ i0.ɵɵproperty("ngClass", ctx_r1.contentClasses());
54392
+ i0.ɵɵadvance(2);
54393
+ i0.ɵɵproperty("ngClass", ctx_r1.iconContainerClasses());
54394
+ i0.ɵɵadvance(4);
54395
+ i0.ɵɵproperty("ngClass", ctx_r1.titleClasses());
54396
+ i0.ɵɵadvance();
54397
+ i0.ɵɵconditional(ctx_r1.isEditingProperty() ? 8 : 9);
54398
+ i0.ɵɵadvance(2);
54399
+ i0.ɵɵproperty("ngClass", ctx_r1.textClasses());
54400
+ i0.ɵɵadvance(2);
54401
+ i0.ɵɵconditional(ctx_r1.gaProperties() && ctx_r1.gaProperties().length > 0 ? 12 : 13);
54402
+ } }
54403
+ function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_17_Conditional_10_Template(rf, ctx) { if (rf & 1) {
54404
+ i0.ɵɵelementStart(0, "div", 58);
54405
+ i0.ɵɵnamespaceSVG();
54406
+ i0.ɵɵelementStart(1, "svg", 59);
54407
+ i0.ɵɵelement(2, "path", 60);
54408
+ i0.ɵɵelementEnd();
54409
+ i0.ɵɵnamespaceHTML();
54410
+ i0.ɵɵelementStart(3, "span", 0);
54411
+ i0.ɵɵtext(4);
54412
+ i0.ɵɵelementEnd()();
54413
+ } if (rf & 2) {
54414
+ const ctx_r1 = i0.ɵɵnextContext(3);
54415
+ i0.ɵɵadvance();
54416
+ i0.ɵɵproperty("ngClass", ctx_r1.accountNameClasses());
54417
+ i0.ɵɵadvance(2);
54418
+ i0.ɵɵproperty("ngClass", ctx_r1.accountNameClasses());
54419
+ i0.ɵɵadvance();
54420
+ i0.ɵɵtextInterpolate1(" ", ctx.name || "Unnamed Account", " ");
54421
+ } }
54422
+ function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_17_Template(rf, ctx) { if (rf & 1) {
54423
+ i0.ɵɵelementStart(0, "div", 68)(1, "div", 71)(2, "div", 72);
54424
+ i0.ɵɵtext(3, " Connected ");
54425
+ i0.ɵɵelementEnd()();
54426
+ i0.ɵɵelementStart(4, "div", 73);
54427
+ i0.ɵɵnamespaceSVG();
54428
+ i0.ɵɵelementStart(5, "svg", 74);
54429
+ i0.ɵɵelement(6, "path", 18);
54430
+ i0.ɵɵelementEnd();
54431
+ i0.ɵɵnamespaceHTML();
54432
+ i0.ɵɵelementStart(7, "div")(8, "div", 75);
54433
+ i0.ɵɵtext(9);
54434
+ i0.ɵɵelementEnd();
54435
+ i0.ɵɵconditionalCreate(10, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_17_Conditional_10_Template, 5, 3, "div", 58);
54436
+ i0.ɵɵelementEnd()()();
54437
+ } if (rf & 2) {
54438
+ let tmp_8_0;
54439
+ const ctx_r1 = i0.ɵɵnextContext(2);
54440
+ i0.ɵɵproperty("ngClass", ctx_r1.selectedPropertyCardClasses());
54441
+ i0.ɵɵadvance(2);
54442
+ i0.ɵɵproperty("ngClass", ctx_r1.statusBadgeClasses());
54443
+ i0.ɵɵadvance(3);
54444
+ i0.ɵɵproperty("ngClass", ctx_r1.noteIconClasses());
54445
+ i0.ɵɵadvance(3);
54446
+ i0.ɵɵproperty("ngClass", ctx_r1.propertyNameClasses());
54447
+ i0.ɵɵadvance();
54448
+ i0.ɵɵtextInterpolate1(" ", ctx.name || "Unnamed Property", " ");
54449
+ i0.ɵɵadvance();
54450
+ i0.ɵɵconditional((tmp_8_0 = ctx_r1.selectedPropertyAccount()) ? 10 : -1, tmp_8_0);
54451
+ } }
54452
+ function SymphiqConnectGaDashboardComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
54453
+ const _r5 = i0.ɵɵgetCurrentView();
54454
+ i0.ɵɵelementStart(0, "div", 12)(1, "div", 14)(2, "div", 15)(3, "div", 16);
54455
+ i0.ɵɵnamespaceSVG();
54456
+ i0.ɵɵelementStart(4, "svg", 17);
54457
+ i0.ɵɵelement(5, "path", 62);
54458
+ i0.ɵɵelementEnd()();
54459
+ i0.ɵɵnamespaceHTML();
54460
+ i0.ɵɵelementStart(6, "div", 19)(7, "div", 63)(8, "div")(9, "h2", 64);
54461
+ i0.ɵɵtext(10, " Connected to Google Analytics ");
54462
+ i0.ɵɵelementEnd();
54463
+ i0.ɵɵelementStart(11, "p", 61);
54464
+ i0.ɵɵtext(12, " Your analytics data is linked ");
54465
+ i0.ɵɵelementEnd()();
54466
+ i0.ɵɵelementStart(13, "button", 65);
54467
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_23_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.enableEditMode()); });
54468
+ i0.ɵɵnamespaceSVG();
54469
+ i0.ɵɵelementStart(14, "svg", 66);
54470
+ i0.ɵɵelement(15, "path", 67);
54471
+ i0.ɵɵelementEnd();
54472
+ i0.ɵɵtext(16, " Edit ");
54473
+ i0.ɵɵelementEnd()();
54474
+ i0.ɵɵconditionalCreate(17, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_17_Template, 11, 6, "div", 68);
54475
+ i0.ɵɵnamespaceHTML();
54476
+ i0.ɵɵelementStart(18, "button", 69);
54477
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_23_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.reconnectWithDifferentAccount()); });
54478
+ i0.ɵɵnamespaceSVG();
54479
+ i0.ɵɵelementStart(19, "svg", 66);
54480
+ i0.ɵɵelement(20, "path", 70);
54481
+ i0.ɵɵelementEnd();
54482
+ i0.ɵɵtext(21, " Use Different Google Account ");
54483
+ i0.ɵɵelementEnd()()()()();
54484
+ } if (rf & 2) {
54485
+ let tmp_7_0;
54486
+ const ctx_r1 = i0.ɵɵnextContext();
54487
+ i0.ɵɵproperty("ngClass", ctx_r1.containerClasses());
54488
+ i0.ɵɵadvance();
54489
+ i0.ɵɵproperty("ngClass", ctx_r1.contentClasses());
54490
+ i0.ɵɵadvance(2);
54491
+ i0.ɵɵproperty("ngClass", ctx_r1.iconContainerClasses());
54492
+ i0.ɵɵadvance(6);
54493
+ i0.ɵɵproperty("ngClass", ctx_r1.titleClasses());
54494
+ i0.ɵɵadvance(2);
54495
+ i0.ɵɵproperty("ngClass", ctx_r1.textClasses());
54496
+ i0.ɵɵadvance(2);
54497
+ i0.ɵɵproperty("ngClass", ctx_r1.editButtonClasses());
54498
+ i0.ɵɵadvance(4);
54499
+ i0.ɵɵconditional((tmp_7_0 = ctx_r1.selectedProperty()) ? 17 : -1, tmp_7_0);
54500
+ i0.ɵɵadvance();
54501
+ i0.ɵɵproperty("ngClass", ctx_r1.reconnectButtonClasses());
54502
+ } }
54503
+ function SymphiqConnectGaDashboardComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
54504
+ const _r6 = i0.ɵɵgetCurrentView();
54505
+ i0.ɵɵelementStart(0, "div", 13)(1, "div", 76)(2, "div", 77)(3, "button", 78);
54506
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_24_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancelEditMode()); });
54507
+ i0.ɵɵtext(4, " Cancel ");
54508
+ i0.ɵɵelementEnd();
54509
+ i0.ɵɵelementStart(5, "button", 79);
54510
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_24_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.submitPropertyChange()); });
54511
+ i0.ɵɵtext(6, " Submit ");
54512
+ i0.ɵɵelementEnd()()()();
54513
+ } if (rf & 2) {
54514
+ const ctx_r1 = i0.ɵɵnextContext();
54515
+ i0.ɵɵproperty("ngClass", ctx_r1.stickyButtonContainerClasses());
54516
+ i0.ɵɵadvance(3);
54517
+ i0.ɵɵproperty("ngClass", ctx_r1.cancelButtonClasses());
54518
+ i0.ɵɵadvance(2);
54519
+ i0.ɵɵproperty("disabled", !ctx_r1.hasPropertyChanged())("ngClass", ctx_r1.submitButtonClasses());
54520
+ } }
54189
54521
  class SymphiqConnectGaDashboardComponent {
54190
54522
  constructor() {
54191
54523
  this.embedded = input(false, ...(ngDevMode ? [{ debugName: "embedded" }] : []));
@@ -54195,14 +54527,56 @@ class SymphiqConnectGaDashboardComponent {
54195
54527
  this.scrollElement = input(...(ngDevMode ? [undefined, { debugName: "scrollElement" }] : []));
54196
54528
  this.forDemo = input(false, ...(ngDevMode ? [{ debugName: "forDemo" }] : []));
54197
54529
  this.maxAccessibleStepId = input(undefined, ...(ngDevMode ? [{ debugName: "maxAccessibleStepId" }] : []));
54530
+ this.showNextStepAction = input(true, ...(ngDevMode ? [{ debugName: "showNextStepAction" }] : []));
54531
+ this.gaProperties = input(undefined, ...(ngDevMode ? [{ debugName: "gaProperties" }] : []));
54532
+ this.gaAccounts = input(undefined, ...(ngDevMode ? [{ debugName: "gaAccounts" }] : []));
54533
+ this.selectedGaPropertyId = input(undefined, ...(ngDevMode ? [{ debugName: "selectedGaPropertyId" }] : []));
54198
54534
  this.stepClick = output();
54199
54535
  this.nextStepClick = output();
54200
54536
  this.googleButtonClick = output();
54537
+ this.onPropertySelect = output();
54538
+ this.onPropertyChange = output();
54539
+ this.onReconnectGoogle = output();
54201
54540
  this.headerScrollService = inject(HeaderScrollService);
54202
54541
  this.JourneyStepIdEnum = JourneyStepIdEnum;
54203
54542
  this.COLLAPSE_THRESHOLD = 20;
54204
54543
  this.EXPAND_THRESHOLD = 10;
54205
54544
  this.isExpanded = signal(false, ...(ngDevMode ? [{ debugName: "isExpanded" }] : []));
54545
+ this.isEditingProperty = signal(false, ...(ngDevMode ? [{ debugName: "isEditingProperty" }] : []));
54546
+ this.currentEditingPropertyId = signal(undefined, ...(ngDevMode ? [{ debugName: "currentEditingPropertyId" }] : []));
54547
+ this.isConnectState = computed(() => {
54548
+ const properties = this.gaProperties();
54549
+ return !properties || properties.length === 0;
54550
+ }, ...(ngDevMode ? [{ debugName: "isConnectState" }] : []));
54551
+ this.isSelectionState = computed(() => {
54552
+ const properties = this.gaProperties();
54553
+ const selectedId = this.selectedGaPropertyId();
54554
+ const isEditing = this.isEditingProperty();
54555
+ return properties && properties.length > 0 && (!selectedId || isEditing);
54556
+ }, ...(ngDevMode ? [{ debugName: "isSelectionState" }] : []));
54557
+ this.isSelectedState = computed(() => {
54558
+ const properties = this.gaProperties();
54559
+ const selectedId = this.selectedGaPropertyId();
54560
+ const isEditing = this.isEditingProperty();
54561
+ return properties && properties.length > 0 && selectedId !== undefined && !isEditing;
54562
+ }, ...(ngDevMode ? [{ debugName: "isSelectedState" }] : []));
54563
+ this.hasPropertyChanged = computed(() => {
54564
+ const current = this.currentEditingPropertyId();
54565
+ const selected = this.selectedGaPropertyId();
54566
+ return current !== undefined && current !== selected;
54567
+ }, ...(ngDevMode ? [{ debugName: "hasPropertyChanged" }] : []));
54568
+ this.selectedProperty = computed(() => {
54569
+ const selectedId = this.selectedGaPropertyId();
54570
+ if (selectedId === undefined)
54571
+ return undefined;
54572
+ return this.getPropertyById(selectedId);
54573
+ }, ...(ngDevMode ? [{ debugName: "selectedProperty" }] : []));
54574
+ this.selectedPropertyAccount = computed(() => {
54575
+ const property = this.selectedProperty();
54576
+ if (!property || !property.gaAccountId)
54577
+ return undefined;
54578
+ return this.getAccountById(property.gaAccountId);
54579
+ }, ...(ngDevMode ? [{ debugName: "selectedPropertyAccount" }] : []));
54206
54580
  this.embeddedScrollEffect = effect(() => {
54207
54581
  const scrollEvent = this.scrollEvent();
54208
54582
  const isEmbedded = this.embedded();
@@ -54250,6 +54624,46 @@ class SymphiqConnectGaDashboardComponent {
54250
54624
  toggleExpanded() {
54251
54625
  this.isExpanded.update(v => !v);
54252
54626
  }
54627
+ getPropertyById(id) {
54628
+ const properties = this.gaProperties();
54629
+ return properties?.find(p => p.id === id);
54630
+ }
54631
+ getAccountById(id) {
54632
+ const accounts = this.gaAccounts();
54633
+ return accounts?.find(a => a.id === id);
54634
+ }
54635
+ getAccountForProperty(property) {
54636
+ if (!property.gaAccountId)
54637
+ return undefined;
54638
+ return this.getAccountById(property.gaAccountId);
54639
+ }
54640
+ selectProperty(propertyId) {
54641
+ if (!this.isEditingProperty()) {
54642
+ this.onPropertySelect.emit(propertyId);
54643
+ }
54644
+ else {
54645
+ this.currentEditingPropertyId.set(propertyId);
54646
+ }
54647
+ }
54648
+ enableEditMode() {
54649
+ this.isEditingProperty.set(true);
54650
+ this.currentEditingPropertyId.set(this.selectedGaPropertyId());
54651
+ }
54652
+ cancelEditMode() {
54653
+ this.isEditingProperty.set(false);
54654
+ this.currentEditingPropertyId.set(undefined);
54655
+ }
54656
+ submitPropertyChange() {
54657
+ const newPropertyId = this.currentEditingPropertyId();
54658
+ if (newPropertyId !== undefined && this.hasPropertyChanged()) {
54659
+ this.onPropertyChange.emit(newPropertyId);
54660
+ this.isEditingProperty.set(false);
54661
+ this.currentEditingPropertyId.set(undefined);
54662
+ }
54663
+ }
54664
+ reconnectWithDifferentAccount() {
54665
+ this.onReconnectGoogle.emit();
54666
+ }
54253
54667
  getContainerClasses() {
54254
54668
  return this.isLightMode()
54255
54669
  ? 'min-h-screen bg-gradient-to-br from-slate-50 to-slate-100'
@@ -54340,91 +54754,114 @@ class SymphiqConnectGaDashboardComponent {
54340
54754
  ? 'text-slate-700'
54341
54755
  : 'text-slate-300';
54342
54756
  }
54757
+ propertyCardClasses(propertyId) {
54758
+ const isSelected = this.isEditingProperty()
54759
+ ? this.currentEditingPropertyId() === propertyId
54760
+ : this.selectedGaPropertyId() === propertyId;
54761
+ const baseClasses = this.isLightMode()
54762
+ ? 'border-2 rounded-xl transition-all duration-200 cursor-pointer hover:shadow-md'
54763
+ : 'border-2 rounded-xl transition-all duration-200 cursor-pointer hover:shadow-md';
54764
+ const selectedClasses = this.isLightMode()
54765
+ ? 'border-blue-500 bg-blue-50 shadow-sm'
54766
+ : 'border-blue-400 bg-blue-900/20 shadow-sm';
54767
+ const unselectedClasses = this.isLightMode()
54768
+ ? 'border-slate-200 bg-white hover:border-slate-300'
54769
+ : 'border-slate-700 bg-slate-800 hover:border-slate-600';
54770
+ return `${baseClasses} ${isSelected ? selectedClasses : unselectedClasses}`;
54771
+ }
54772
+ radioIndicatorClasses(propertyId) {
54773
+ const isSelected = this.isEditingProperty()
54774
+ ? this.currentEditingPropertyId() === propertyId
54775
+ : this.selectedGaPropertyId() === propertyId;
54776
+ const baseClasses = 'transition-all duration-200';
54777
+ const selectedClasses = this.isLightMode()
54778
+ ? 'border-blue-500 text-blue-500'
54779
+ : 'border-blue-400 text-blue-400';
54780
+ const unselectedClasses = this.isLightMode()
54781
+ ? 'border-slate-300'
54782
+ : 'border-slate-600';
54783
+ return `${baseClasses} ${isSelected ? selectedClasses : unselectedClasses}`;
54784
+ }
54785
+ propertyNameClasses() {
54786
+ return this.isLightMode()
54787
+ ? 'text-slate-900 font-semibold'
54788
+ : 'text-white font-semibold';
54789
+ }
54790
+ accountNameClasses() {
54791
+ return this.isLightMode()
54792
+ ? 'text-slate-600 text-sm'
54793
+ : 'text-slate-400 text-sm';
54794
+ }
54795
+ selectedPropertyCardClasses() {
54796
+ return this.isLightMode()
54797
+ ? 'bg-gradient-to-br from-white to-blue-50 border-blue-200'
54798
+ : 'bg-gradient-to-br from-slate-800 to-slate-900 border-blue-800/30';
54799
+ }
54800
+ editButtonClasses() {
54801
+ return this.isLightMode()
54802
+ ? 'bg-blue-600 text-white hover:bg-blue-700 shadow-sm'
54803
+ : 'bg-blue-500 text-white hover:bg-blue-600 shadow-sm';
54804
+ }
54805
+ reconnectButtonClasses() {
54806
+ return this.isLightMode()
54807
+ ? 'text-slate-600 hover:text-slate-900 hover:bg-slate-100'
54808
+ : 'text-slate-400 hover:text-white hover:bg-slate-700';
54809
+ }
54810
+ stickyButtonContainerClasses() {
54811
+ return this.isLightMode()
54812
+ ? 'bg-white/80 border-slate-200'
54813
+ : 'bg-slate-900/80 border-slate-700';
54814
+ }
54815
+ cancelButtonClasses() {
54816
+ return this.isLightMode()
54817
+ ? 'border-2 border-slate-300 text-slate-700 hover:bg-slate-50'
54818
+ : 'border-2 border-slate-600 text-slate-300 hover:bg-slate-700';
54819
+ }
54820
+ submitButtonClasses() {
54821
+ return this.isLightMode()
54822
+ ? 'bg-blue-600 text-white hover:bg-blue-700 disabled:bg-slate-300 disabled:text-slate-500 disabled:cursor-not-allowed disabled:hover:scale-100'
54823
+ : 'bg-blue-500 text-white hover:bg-blue-600 disabled:bg-slate-700 disabled:text-slate-500 disabled:cursor-not-allowed disabled:hover:scale-100';
54824
+ }
54825
+ statusBadgeClasses() {
54826
+ return this.isLightMode()
54827
+ ? 'bg-green-100 text-green-700 border-green-200'
54828
+ : 'bg-green-900/20 text-green-400 border-green-800/30';
54829
+ }
54830
+ emptyStateTextClasses() {
54831
+ return this.isLightMode()
54832
+ ? 'text-slate-600'
54833
+ : 'text-slate-400';
54834
+ }
54343
54835
  static { this.ɵfac = function SymphiqConnectGaDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqConnectGaDashboardComponent)(); }; }
54344
54836
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqConnectGaDashboardComponent, selectors: [["symphiq-connect-ga-dashboard"]], hostVars: 4, hostBindings: function SymphiqConnectGaDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
54345
54837
  i0.ɵɵlistener("scroll", function SymphiqConnectGaDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
54346
54838
  } if (rf & 2) {
54347
54839
  i0.ɵɵclassProp("light", ctx.isLightMode())("dark", !ctx.isLightMode());
54348
- } }, inputs: { embedded: [1, "embedded"], parentHeaderOffset: [1, "parentHeaderOffset"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", googleButtonClick: "googleButtonClick" }, decls: 70, vars: 66, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 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-4", 3, "ngClass"], [1, "text-base", "leading-relaxed", "mb-6", 3, "ngClass"], [1, "mb-6"], ["type", "button", 1, "gsi-material-button", 3, "click"], [1, "gsi-material-button-state"], [1, "gsi-material-button-content-wrapper"], [1, "gsi-material-button-icon"], ["version", "1.1", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 48 48", 0, "xmlns", "xlink", "http://www.w3.org/1999/xlink", 2, "display", "block"], ["fill", "#EA4335", "d", "M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"], ["fill", "#4285F4", "d", "M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"], ["fill", "#FBBC05", "d", "M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"], ["fill", "#34A853", "d", "M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"], ["fill", "none", "d", "M0 0h48v48H0z"], [1, "gsi-material-button-contents"], [1, "p-4", "rounded-lg", "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, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "mt-6", "rounded-lg", "border", "overflow-hidden", 3, "ngClass"], [1, "px-4", "py-4", "cursor-pointer", "flex", "items-center", "justify-between", "gap-3", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "text-base", "font-semibold", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-300", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "px-4", "pb-4", "pt-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "mb-4", 3, "ngClass"], [1, "font-bold"]], template: function SymphiqConnectGaDashboardComponent_Template(rf, ctx) { if (rf & 1) {
54349
- i0.ɵɵelementStart(0, "div", 0)(1, "div");
54350
- i0.ɵɵelement(2, "div", 1);
54351
- i0.ɵɵelementEnd();
54352
- i0.ɵɵelement(3, "div", 2);
54353
- i0.ɵɵelementStart(4, "div", 3)(5, "header", 4)(6, "div", 5)(7, "div", 6)(8, "div", 7)(9, "div")(10, "h1", 0);
54354
- i0.ɵɵtext(11, " Connect Google Analytics 4 ");
54840
+ } }, inputs: { embedded: [1, "embedded"], parentHeaderOffset: [1, "parentHeaderOffset"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], showNextStepAction: [1, "showNextStepAction"], gaProperties: [1, "gaProperties"], gaAccounts: [1, "gaAccounts"], selectedGaPropertyId: [1, "selectedGaPropertyId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", googleButtonClick: "googleButtonClick", onPropertySelect: "onPropertySelect", onPropertyChange: "onPropertyChange", onReconnectGoogle: "onReconnectGoogle" }, decls: 25, vars: 40, consts: [[3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "pb-32"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-sm", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "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-4", 3, "ngClass"], [1, "text-base", "leading-relaxed", "mb-6", 3, "ngClass"], [1, "mb-6"], ["type", "button", 1, "gsi-material-button", 3, "click"], [1, "gsi-material-button-state"], [1, "gsi-material-button-content-wrapper"], [1, "gsi-material-button-icon"], ["version", "1.1", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 48 48", 0, "xmlns", "xlink", "http://www.w3.org/1999/xlink", 2, "display", "block"], ["fill", "#EA4335", "d", "M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"], ["fill", "#4285F4", "d", "M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"], ["fill", "#FBBC05", "d", "M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"], ["fill", "#34A853", "d", "M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"], ["fill", "none", "d", "M0 0h48v48H0z"], [1, "gsi-material-button-contents"], [1, "p-4", "rounded-lg", "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, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "mt-6", "rounded-lg", "border", "overflow-hidden", 3, "ngClass"], [1, "px-4", "py-4", "cursor-pointer", "flex", "items-center", "justify-between", "gap-3", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "text-base", "font-semibold", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-300", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "px-4", "pb-4", "pt-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "mb-4", 3, "ngClass"], [1, "font-bold"], ["role", "radiogroup", "aria-label", "Google Analytics Properties", 1, "space-y-3"], [1, "text-center", "py-8"], ["tabindex", "0", "role", "radio", 1, "block", 3, "ngClass"], ["tabindex", "0", "role", "radio", 1, "block", 3, "click", "keydown.enter", "keydown.space", "ngClass"], [1, "flex", "items-center", "gap-4", "p-4"], [1, "w-5", "h-5", "rounded-full", "border-2", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-current"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-2", "mb-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", 3, "ngClass"], [1, "truncate", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mt-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"], [1, "text-base", 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, "flex", "items-start", "justify-between", "mb-6"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-2", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "hover:scale-105", "flex", "items-center", "gap-2", "cursor-pointer", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"], [1, "rounded-xl", "border-2", "p-6", "mb-6", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex", "items-center", "gap-2", "cursor-pointer", 3, "click", "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"], [1, "flex", "items-start", "gap-3", "mb-4"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", "border", 3, "ngClass"], [1, "flex", "items-center", "gap-3", "mb-3"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", 3, "ngClass"], [1, "text-lg", 3, "ngClass"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-3"], ["type", "button", 1, "flex-1", "sm:flex-none", "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "hover:scale-105", "cursor-pointer", 3, "click", "ngClass"], ["type", "button", 1, "flex-1", "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "hover:scale-105", "cursor-pointer", 3, "click", "disabled", "ngClass"]], template: function SymphiqConnectGaDashboardComponent_Template(rf, ctx) { if (rf & 1) {
54841
+ i0.ɵɵelementStart(0, "div", 0);
54842
+ i0.ɵɵelement(1, "div", 1);
54843
+ i0.ɵɵelementStart(2, "div", 2)(3, "header", 3)(4, "div", 4)(5, "div", 5)(6, "div", 6)(7, "div")(8, "h1", 0);
54844
+ i0.ɵɵtext(9, " Connect Google Analytics 4 ");
54355
54845
  i0.ɵɵelementEnd();
54356
- i0.ɵɵelementStart(12, "p", 0);
54357
- i0.ɵɵtext(13, " Link your analytics data ");
54846
+ i0.ɵɵelementStart(10, "p", 0);
54847
+ i0.ɵɵtext(11, " Link your analytics data ");
54358
54848
  i0.ɵɵelementEnd()()()()();
54359
- i0.ɵɵelementStart(14, "div", 5)(15, "div", 8)(16, "div", 7)(17, "div", 9)(18, "h1", 0);
54360
- i0.ɵɵtext(19, " Connect Google Analytics 4 ");
54849
+ i0.ɵɵelementStart(12, "div", 4)(13, "div", 7)(14, "div", 6)(15, "div", 8)(16, "h1", 0);
54850
+ i0.ɵɵtext(17, " Connect Google Analytics 4 ");
54361
54851
  i0.ɵɵelementEnd()()()()()();
54362
- i0.ɵɵelementStart(20, "symphiq-journey-progress-indicator", 10);
54363
- i0.ɵɵlistener("stepClick", function SymphiqConnectGaDashboardComponent_Template_symphiq_journey_progress_indicator_stepClick_20_listener($event) { return ctx.stepClick.emit($event); })("nextStepClick", function SymphiqConnectGaDashboardComponent_Template_symphiq_journey_progress_indicator_nextStepClick_20_listener() { return ctx.nextStepClick.emit(); });
54364
- i0.ɵɵelementEnd();
54365
- i0.ɵɵelementStart(21, "main", 11)(22, "div", 12)(23, "div", 13)(24, "div", 14)(25, "div", 15)(26, "div", 16);
54366
- i0.ɵɵnamespaceSVG();
54367
- i0.ɵɵelementStart(27, "svg", 17);
54368
- i0.ɵɵelement(28, "path", 18);
54369
- i0.ɵɵelementEnd()();
54370
- i0.ɵɵnamespaceHTML();
54371
- i0.ɵɵelementStart(29, "div", 19)(30, "h2", 20);
54372
- i0.ɵɵtext(31, " Connect Google Analytics 4 ");
54373
- i0.ɵɵelementEnd();
54374
- i0.ɵɵelementStart(32, "p", 21);
54375
- i0.ɵɵtext(33, " Integrating Google Analytics is essential. We use it to pull the majority of your data in a read-only format, ensuring no changes are made to your analytics. Please make sure you have access to the Google Analytics property associated with this shop to ensure proper integration. ");
54376
- i0.ɵɵelementEnd();
54377
- i0.ɵɵelementStart(34, "div", 22)(35, "button", 23);
54378
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Template_button_click_35_listener() { return ctx.googleButtonClick.emit(); });
54379
- i0.ɵɵelement(36, "div", 24);
54380
- i0.ɵɵelementStart(37, "div", 25)(38, "div", 26);
54381
- i0.ɵɵnamespaceSVG();
54382
- i0.ɵɵelementStart(39, "svg", 27);
54383
- i0.ɵɵelement(40, "path", 28)(41, "path", 29)(42, "path", 30)(43, "path", 31)(44, "path", 32);
54384
- i0.ɵɵelementEnd()();
54385
- i0.ɵɵnamespaceHTML();
54386
- i0.ɵɵelementStart(45, "span", 33);
54387
- i0.ɵɵtext(46, "Continue with Google");
54388
- i0.ɵɵelementEnd()()()();
54389
- i0.ɵɵelementStart(47, "div", 34);
54390
- i0.ɵɵnamespaceSVG();
54391
- i0.ɵɵelementStart(48, "svg", 35);
54392
- i0.ɵɵelement(49, "path", 36);
54852
+ i0.ɵɵelementStart(18, "symphiq-journey-progress-indicator", 9);
54853
+ i0.ɵɵlistener("stepClick", function SymphiqConnectGaDashboardComponent_Template_symphiq_journey_progress_indicator_stepClick_18_listener($event) { return ctx.stepClick.emit($event); })("nextStepClick", function SymphiqConnectGaDashboardComponent_Template_symphiq_journey_progress_indicator_nextStepClick_18_listener() { return ctx.nextStepClick.emit(); });
54393
54854
  i0.ɵɵelementEnd();
54394
- i0.ɵɵnamespaceHTML();
54395
- i0.ɵɵelementStart(50, "div", 19)(51, "p", 37)(52, "strong", 38);
54396
- i0.ɵɵtext(53, "Note:");
54855
+ i0.ɵɵelementStart(19, "main", 10)(20, "div", 11);
54856
+ i0.ɵɵconditionalCreate(21, SymphiqConnectGaDashboardComponent_Conditional_21_Template, 47, 25, "div", 12);
54857
+ i0.ɵɵconditionalCreate(22, SymphiqConnectGaDashboardComponent_Conditional_22_Template, 14, 7, "div", 12);
54858
+ i0.ɵɵconditionalCreate(23, SymphiqConnectGaDashboardComponent_Conditional_23_Template, 22, 8, "div", 12);
54397
54859
  i0.ɵɵelementEnd();
54398
- i0.ɵɵtext(54, " When you click \"Continue with Google\", you'll be asked to sign in to your Google account and select the Analytics property associated with your shop. ");
54860
+ i0.ɵɵconditionalCreate(24, SymphiqConnectGaDashboardComponent_Conditional_24_Template, 7, 4, "div", 13);
54399
54861
  i0.ɵɵelementEnd()()();
54400
- i0.ɵɵelementStart(55, "div", 39)(56, "div", 40);
54401
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Template_div_click_56_listener() { return ctx.toggleExpanded(); });
54402
- i0.ɵɵelementStart(57, "span", 41);
54403
- i0.ɵɵtext(58, " How do we use your Google Analytics data? ");
54404
- i0.ɵɵelementEnd();
54405
- i0.ɵɵnamespaceSVG();
54406
- i0.ɵɵelementStart(59, "svg", 42);
54407
- i0.ɵɵelement(60, "path", 43);
54408
- i0.ɵɵelementEnd()();
54409
- i0.ɵɵnamespaceHTML();
54410
- i0.ɵɵelementStart(61, "div", 5)(62, "div", 44)(63, "p", 45);
54411
- i0.ɵɵtext(64, " We request access to your Google Analytics data to aggregate this information into funnel stages and display trends within our application. This allows us to provide you with a clear overview of your web performance. By analyzing the data, we can map out recommendations, measure the impact of your current strategies, and suggest actionable next steps for improvement. ");
54412
- i0.ɵɵelementEnd();
54413
- i0.ɵɵelementStart(65, "p", 37);
54414
- i0.ɵɵtext(66, " Symphiq's use and transfer to any other app of information received from Google APIs will adhere to ");
54415
- i0.ɵɵelementStart(67, "strong", 46);
54416
- i0.ɵɵtext(68, "Google API Services User Data Policy");
54417
- i0.ɵɵelementEnd();
54418
- i0.ɵɵtext(69, " including the Limited Use requirements. ");
54419
- i0.ɵɵelementEnd()()()()()()()()()()()();
54420
54862
  } if (rf & 2) {
54421
54863
  i0.ɵɵproperty("ngClass", ctx.getContainerClasses());
54422
54864
  i0.ɵɵadvance();
54423
- i0.ɵɵclassMap(ctx.embedded() ? "sticky top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30" : "fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30");
54424
- i0.ɵɵadvance();
54425
- i0.ɵɵstyleProp("width", ctx.scrollProgress(), "%");
54426
- i0.ɵɵproperty("ngClass", ctx.isLightMode() ? "bg-gradient-to-r from-blue-500 to-cyan-500" : "bg-gradient-to-r from-blue-400 to-cyan-400");
54427
- i0.ɵɵadvance();
54428
54865
  i0.ɵɵclassProp("light-mode", ctx.isLightMode());
54429
54866
  i0.ɵɵadvance(2);
54430
54867
  i0.ɵɵproperty("ngClass", ctx.getHeaderClasses());
@@ -54443,40 +54880,15 @@ class SymphiqConnectGaDashboardComponent {
54443
54880
  i0.ɵɵadvance(3);
54444
54881
  i0.ɵɵproperty("ngClass", ctx.isLightMode() ? "text-xl font-bold bg-gradient-to-r from-blue-600 to-cyan-600 bg-clip-text text-transparent truncate" : "text-xl font-bold bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent truncate");
54445
54882
  i0.ɵɵadvance(2);
54446
- i0.ɵɵproperty("viewMode", ctx.viewMode())("currentStepId", ctx.JourneyStepIdEnum.CONNECT_GA4)("showNextStepAction", true)("forDemo", ctx.forDemo())("maxAccessibleStepId", ctx.maxAccessibleStepId());
54447
- i0.ɵɵadvance(3);
54448
- i0.ɵɵproperty("ngClass", ctx.containerClasses());
54449
- i0.ɵɵadvance();
54450
- i0.ɵɵproperty("ngClass", ctx.contentClasses());
54451
- i0.ɵɵadvance(2);
54452
- i0.ɵɵproperty("ngClass", ctx.iconContainerClasses());
54453
- i0.ɵɵadvance(4);
54454
- i0.ɵɵproperty("ngClass", ctx.titleClasses());
54455
- i0.ɵɵadvance(2);
54456
- i0.ɵɵproperty("ngClass", ctx.textClasses());
54457
- i0.ɵɵadvance(15);
54458
- i0.ɵɵproperty("ngClass", ctx.noteBoxClasses());
54459
- i0.ɵɵadvance();
54460
- i0.ɵɵproperty("ngClass", ctx.noteIconClasses());
54883
+ i0.ɵɵproperty("viewMode", ctx.viewMode())("currentStepId", ctx.JourneyStepIdEnum.CONNECT_GA4)("showNextStepAction", ctx.showNextStepAction())("forDemo", ctx.forDemo())("maxAccessibleStepId", ctx.maxAccessibleStepId());
54461
54884
  i0.ɵɵadvance(3);
54462
- i0.ɵɵproperty("ngClass", ctx.noteTextClasses());
54463
- i0.ɵɵadvance(4);
54464
- i0.ɵɵproperty("ngClass", ctx.expandableCardClasses());
54885
+ i0.ɵɵconditional(ctx.isConnectState() ? 21 : -1);
54465
54886
  i0.ɵɵadvance();
54466
- i0.ɵɵproperty("ngClass", ctx.expandableHeaderClasses());
54887
+ i0.ɵɵconditional(ctx.isSelectionState() ? 22 : -1);
54467
54888
  i0.ɵɵadvance();
54468
- i0.ɵɵproperty("ngClass", ctx.expandableHeaderTextClasses());
54469
- i0.ɵɵadvance(2);
54470
- i0.ɵɵclassProp("rotate-180", ctx.isExpanded());
54471
- i0.ɵɵproperty("ngClass", ctx.chevronClasses());
54472
- i0.ɵɵadvance(2);
54473
- i0.ɵɵclassProp("max-h-0", !ctx.isExpanded())("opacity-0", !ctx.isExpanded())("max-h-[1000px]", ctx.isExpanded())("opacity-100", ctx.isExpanded());
54474
- i0.ɵɵadvance();
54475
- i0.ɵɵproperty("ngClass", ctx.expandedContentClasses());
54889
+ i0.ɵɵconditional(ctx.isSelectedState() ? 23 : -1);
54476
54890
  i0.ɵɵadvance();
54477
- i0.ɵɵproperty("ngClass", ctx.expandedTextClasses());
54478
- i0.ɵɵadvance(2);
54479
- i0.ɵɵproperty("ngClass", ctx.expandedTextClasses());
54891
+ i0.ɵɵconditional(ctx.isEditingProperty() ? 24 : -1);
54480
54892
  } }, dependencies: [CommonModule, i1$1.NgClass, JourneyProgressIndicatorComponent], styles: ["[_nghost-%COMP%]{display:block}.animated-bubbles[_ngcontent-%COMP%]{overflow:hidden}.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;opacity:.05}.animated-bubbles[_ngcontent-%COMP%]:before{width:600px;height:600px;background:radial-gradient(circle,#3b82f6 0%,transparent 70%);top:-300px;left:-300px;animation-delay:-5s}.animated-bubbles[_ngcontent-%COMP%]:after{width:800px;height:800px;background:radial-gradient(circle,#06b6d4 0%,transparent 70%);bottom:-400px;right:-400px;animation-delay:-10s}.animated-bubbles.light-mode[_ngcontent-%COMP%]:before, .animated-bubbles.light-mode[_ngcontent-%COMP%]:after{opacity:.03}@keyframes _ngcontent-%COMP%_float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}.light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-appearance:none;background-color:#fff;background-image:none;border:1px solid #747775;-webkit-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#1f1f1f;cursor:pointer;font-family:Roboto,arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;-webkit-transition:background-color .218s,border-color .218s,box-shadow .218s;transition:background-color .218s,border-color .218s,box-shadow .218s;vertical-align:middle;white-space:nowrap;width:auto;max-width:400px;min-width:min-content}.light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%] .gsi-material-button-icon[_ngcontent-%COMP%]{height:20px;margin-right:12px;min-width:20px;width:20px}.light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%] .gsi-material-button-content-wrapper[_ngcontent-%COMP%]{-webkit-align-items:center;align-items:center;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:100%;justify-content:space-between;position:relative;width:100%}.light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%] .gsi-material-button-contents[_ngcontent-%COMP%]{-webkit-flex-grow:1;flex-grow:1;font-family:Roboto,arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%] .gsi-material-button-state[_ngcontent-%COMP%]{-webkit-transition:opacity .218s;transition:opacity .218s;inset:0;opacity:0;position:absolute}.light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:disabled{cursor:default;background-color:#ffffff61;border-color:#1f1f1f1f}.light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:disabled .gsi-material-button-contents[_ngcontent-%COMP%]{opacity:38%}.light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:disabled .gsi-material-button-icon[_ngcontent-%COMP%]{opacity:38%}.light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:not(:disabled):active .gsi-material-button-state[_ngcontent-%COMP%], .light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:not(:disabled):focus .gsi-material-button-state[_ngcontent-%COMP%]{background-color:#303030;opacity:12%}.light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:not(:disabled):hover{-webkit-box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.light[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:not(:disabled):hover .gsi-material-button-state[_ngcontent-%COMP%]{background-color:#303030;opacity:8%}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-appearance:none;background-color:#131314;background-image:none;border:1px solid #747775;-webkit-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#e3e3e3;cursor:pointer;font-family:Roboto,arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;-webkit-transition:background-color .218s,border-color .218s,box-shadow .218s;transition:background-color .218s,border-color .218s,box-shadow .218s;vertical-align:middle;white-space:nowrap;width:auto;max-width:400px;min-width:min-content;border-color:#8e918f}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%] .gsi-material-button-icon[_ngcontent-%COMP%]{height:20px;margin-right:12px;min-width:20px;width:20px}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%] .gsi-material-button-content-wrapper[_ngcontent-%COMP%]{-webkit-align-items:center;align-items:center;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:100%;justify-content:space-between;position:relative;width:100%}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%] .gsi-material-button-contents[_ngcontent-%COMP%]{-webkit-flex-grow:1;flex-grow:1;font-family:Roboto,arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%] .gsi-material-button-state[_ngcontent-%COMP%]{-webkit-transition:opacity .218s;transition:opacity .218s;inset:0;opacity:0;position:absolute}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:disabled{cursor:default;background-color:#13131461;border-color:#8e918f1f}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:disabled .gsi-material-button-state[_ngcontent-%COMP%]{background-color:#e3e3e31f}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:disabled .gsi-material-button-contents[_ngcontent-%COMP%]{opacity:38%}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:disabled .gsi-material-button-icon[_ngcontent-%COMP%]{opacity:38%}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:not(:disabled):active .gsi-material-button-state[_ngcontent-%COMP%], .dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:not(:disabled):focus .gsi-material-button-state[_ngcontent-%COMP%]{background-color:#fff;opacity:12%}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:not(:disabled):hover{-webkit-box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.dark[_nghost-%COMP%] .gsi-material-button[_ngcontent-%COMP%]:not(:disabled):hover .gsi-material-button-state[_ngcontent-%COMP%]{background-color:#fff;opacity:8%}"], changeDetection: 0 }); }
54481
54893
  }
54482
54894
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqConnectGaDashboardComponent, [{
@@ -54486,15 +54898,6 @@ class SymphiqConnectGaDashboardComponent {
54486
54898
  '[class.dark]': '!isLightMode()'
54487
54899
  }, template: `
54488
54900
  <div [ngClass]="getContainerClasses()">
54489
- <!-- Scroll Progress Bar -->
54490
- <div [class]="embedded() ? 'sticky top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30' : 'fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30'">
54491
- <div
54492
- [style.width.%]="scrollProgress()"
54493
- [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400'"
54494
- class="h-full transition-all duration-200 ease-out">
54495
- </div>
54496
- </div>
54497
-
54498
54901
  <div class="animated-bubbles" [class.light-mode]="isLightMode()" style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
54499
54902
 
54500
54903
  <div class="relative z-[51]">
@@ -54549,119 +54952,288 @@ class SymphiqConnectGaDashboardComponent {
54549
54952
  <symphiq-journey-progress-indicator
54550
54953
  [viewMode]="viewMode()"
54551
54954
  [currentStepId]="JourneyStepIdEnum.CONNECT_GA4"
54552
- [showNextStepAction]="true"
54955
+ [showNextStepAction]="showNextStepAction()"
54553
54956
  [forDemo]="forDemo()"
54554
54957
  [maxAccessibleStepId]="maxAccessibleStepId()"
54555
54958
  (stepClick)="stepClick.emit($event)"
54556
54959
  (nextStepClick)="nextStepClick.emit()"
54557
54960
  />
54558
54961
 
54559
- <main class="relative">
54962
+ <main class="relative pb-32">
54560
54963
  <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
54561
- <!-- Main Content Card -->
54562
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
54563
- <div [ngClass]="contentClasses()" class="px-8 py-8">
54564
- <div class="flex items-start gap-6">
54565
- <!-- Icon Container -->
54566
- <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
54567
- <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54568
- <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"></path>
54569
- </svg>
54570
- </div>
54964
+ <!-- Connect to Google State -->
54965
+ @if (isConnectState()) {
54966
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
54967
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
54968
+ <div class="flex items-start gap-6">
54969
+ <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
54970
+ <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54971
+ <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"></path>
54972
+ </svg>
54973
+ </div>
54571
54974
 
54572
- <div class="flex-1">
54573
- <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-4">
54574
- Connect Google Analytics 4
54575
- </h2>
54975
+ <div class="flex-1">
54976
+ <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-4">
54977
+ Connect Google Analytics 4
54978
+ </h2>
54576
54979
 
54577
- <!-- Description -->
54578
- <p [ngClass]="textClasses()" class="text-base leading-relaxed mb-6">
54579
- Integrating Google Analytics is essential. We use it to pull the majority of your data in a read-only format, ensuring no changes are made to your analytics. Please make sure you have access to the Google Analytics property associated with this shop to ensure proper integration.
54580
- </p>
54980
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed mb-6">
54981
+ Integrating Google Analytics is essential. We use it to pull the majority of your data in a read-only format, ensuring no changes are made to your analytics. Please make sure you have access to the Google Analytics property associated with this shop to ensure proper integration.
54982
+ </p>
54581
54983
 
54582
- <!-- Continue with Google Button -->
54583
- <div class="mb-6">
54584
- <button type="button" class="gsi-material-button" (click)="googleButtonClick.emit()">
54585
- <div class="gsi-material-button-state"></div>
54586
- <div class="gsi-material-button-content-wrapper">
54587
- <div class="gsi-material-button-icon">
54588
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" xmlns:xlink="http://www.w3.org/1999/xlink" style="display: block;">
54589
- <path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"></path>
54590
- <path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"></path>
54591
- <path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"></path>
54592
- <path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"></path>
54593
- <path fill="none" d="M0 0h48v48H0z"></path>
54594
- </svg>
54984
+ <div class="mb-6">
54985
+ <button type="button" class="gsi-material-button" (click)="googleButtonClick.emit()">
54986
+ <div class="gsi-material-button-state"></div>
54987
+ <div class="gsi-material-button-content-wrapper">
54988
+ <div class="gsi-material-button-icon">
54989
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" xmlns:xlink="http://www.w3.org/1999/xlink" style="display: block;">
54990
+ <path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"></path>
54991
+ <path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"></path>
54992
+ <path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"></path>
54993
+ <path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"></path>
54994
+ <path fill="none" d="M0 0h48v48H0z"></path>
54995
+ </svg>
54996
+ </div>
54997
+ <span class="gsi-material-button-contents">Continue with Google</span>
54595
54998
  </div>
54596
- <span class="gsi-material-button-contents">Continue with Google</span>
54999
+ </button>
55000
+ </div>
55001
+
55002
+ <div [ngClass]="noteBoxClasses()" class="p-4 rounded-lg border flex items-start gap-3">
55003
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" [ngClass]="noteIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55004
+ <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>
55005
+ </svg>
55006
+ <div class="flex-1">
55007
+ <p [ngClass]="noteTextClasses()" class="text-sm leading-relaxed">
55008
+ <strong class="font-semibold">Note:</strong> When you click "Continue with Google", you'll be asked to sign in to your Google account and select the Analytics property associated with your shop.
55009
+ </p>
54597
55010
  </div>
54598
- </button>
55011
+ </div>
55012
+
55013
+ <div [ngClass]="expandableCardClasses()" class="mt-6 rounded-lg border overflow-hidden">
55014
+ <div (click)="toggleExpanded()" [ngClass]="expandableHeaderClasses()" class="px-4 py-4 cursor-pointer flex items-center justify-between gap-3 transition-colors duration-200">
55015
+ <span [ngClass]="expandableHeaderTextClasses()" class="text-base font-semibold">
55016
+ How do we use your Google Analytics data?
55017
+ </span>
55018
+ <svg [ngClass]="chevronClasses()" class="w-5 h-5 flex-shrink-0 transition-transform duration-300" [class.rotate-180]="isExpanded()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55019
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
55020
+ </svg>
55021
+ </div>
55022
+
55023
+ <div class="transition-all duration-300 ease-in-out overflow-hidden" [class.max-h-0]="!isExpanded()" [class.opacity-0]="!isExpanded()" [class.max-h-[1000px]]="isExpanded()" [class.opacity-100]="isExpanded()">
55024
+ <div [ngClass]="expandedContentClasses()" class="px-4 pb-4 pt-2">
55025
+ <p [ngClass]="expandedTextClasses()" class="text-sm leading-relaxed mb-4">
55026
+ We request access to your Google Analytics data to aggregate this information into funnel stages and display trends within our application. This allows us to provide you with a clear overview of your web performance. By analyzing the data, we can map out recommendations, measure the impact of your current strategies, and suggest actionable next steps for improvement.
55027
+ </p>
55028
+ <p [ngClass]="expandedTextClasses()" class="text-sm leading-relaxed">
55029
+ Symphiq's use and transfer to any other app of information received from Google APIs will adhere to <strong class="font-bold">Google API Services User Data Policy</strong> including the Limited Use requirements.
55030
+ </p>
55031
+ </div>
55032
+ </div>
55033
+ </div>
54599
55034
  </div>
55035
+ </div>
55036
+ </div>
55037
+ </div>
55038
+ }
54600
55039
 
54601
- <!-- Note Section -->
54602
- <div [ngClass]="noteBoxClasses()" class="p-4 rounded-lg border flex items-start gap-3">
54603
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" [ngClass]="noteIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54604
- <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>
55040
+ <!-- Property Selection State -->
55041
+ @if (isSelectionState()) {
55042
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
55043
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
55044
+ <div class="flex items-start gap-6">
55045
+ <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
55046
+ <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55047
+ <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"></path>
54605
55048
  </svg>
54606
- <div class="flex-1">
54607
- <p [ngClass]="noteTextClasses()" class="text-sm leading-relaxed">
54608
- <strong class="font-semibold">Note:</strong> When you click "Continue with Google", you'll be asked to sign in to your Google account and select the Analytics property associated with your shop.
54609
- </p>
54610
- </div>
54611
55049
  </div>
54612
55050
 
54613
- <!-- Expandable Data Usage Card -->
54614
- <div [ngClass]="expandableCardClasses()" class="mt-6 rounded-lg border overflow-hidden">
54615
- <!-- Header (Clickable) -->
54616
- <div
54617
- (click)="toggleExpanded()"
54618
- [ngClass]="expandableHeaderClasses()"
54619
- class="px-4 py-4 cursor-pointer flex items-center justify-between gap-3 transition-colors duration-200">
54620
- <span [ngClass]="expandableHeaderTextClasses()" class="text-base font-semibold">
54621
- How do we use your Google Analytics data?
54622
- </span>
54623
- <svg
54624
- [ngClass]="chevronClasses()"
54625
- class="w-5 h-5 flex-shrink-0 transition-transform duration-300"
54626
- [class.rotate-180]="isExpanded()"
54627
- fill="none"
54628
- stroke="currentColor"
54629
- viewBox="0 0 24 24">
54630
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
54631
- </svg>
54632
- </div>
55051
+ <div class="flex-1">
55052
+ <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-4">
55053
+ @if (isEditingProperty()) {
55054
+ Change Google Analytics Property
55055
+ } @else {
55056
+ Choose Your Property
55057
+ }
55058
+ </h2>
54633
55059
 
54634
- <!-- Expanded Content -->
54635
- <div
54636
- class="transition-all duration-300 ease-in-out overflow-hidden"
54637
- [class.max-h-0]="!isExpanded()"
54638
- [class.opacity-0]="!isExpanded()"
54639
- [class.max-h-[1000px]]="isExpanded()"
54640
- [class.opacity-100]="isExpanded()">
54641
- <div [ngClass]="expandedContentClasses()" class="px-4 pb-4 pt-2">
54642
- <p [ngClass]="expandedTextClasses()" class="text-sm leading-relaxed mb-4">
54643
- We request access to your Google Analytics data to aggregate this information into funnel stages and display trends within our application. This allows us to provide you with a clear overview of your web performance. By analyzing the data, we can map out recommendations, measure the impact of your current strategies, and suggest actionable next steps for improvement.
55060
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed mb-6">
55061
+ Please choose the Google Analytics property you'd like to link to your shop.
55062
+ </p>
55063
+
55064
+ @if (gaProperties() && gaProperties()!.length > 0) {
55065
+ <div class="space-y-3" role="radiogroup" aria-label="Google Analytics Properties">
55066
+ @for (property of gaProperties(); track property.id) {
55067
+ <label
55068
+ [ngClass]="propertyCardClasses(property.id!)"
55069
+ class="block"
55070
+ (click)="selectProperty(property.id!)"
55071
+ (keydown.enter)="selectProperty(property.id!)"
55072
+ (keydown.space)="selectProperty(property.id!); $event.preventDefault()"
55073
+ tabindex="0"
55074
+ role="radio"
55075
+ [attr.aria-checked]="(isEditingProperty() ? currentEditingPropertyId() : selectedGaPropertyId()) === property.id">
55076
+ <div class="flex items-center gap-4 p-4">
55077
+ <div [ngClass]="radioIndicatorClasses(property.id!)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
55078
+ @if ((isEditingProperty() ? currentEditingPropertyId() : selectedGaPropertyId()) === property.id) {
55079
+ <div class="w-3 h-3 rounded-full bg-current"></div>
55080
+ }
55081
+ </div>
55082
+
55083
+ <div class="flex-1 min-w-0">
55084
+ <div class="flex items-center gap-2 mb-1">
55085
+ <svg class="w-5 h-5 flex-shrink-0" [ngClass]="noteIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55086
+ <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"></path>
55087
+ </svg>
55088
+ <div [ngClass]="propertyNameClasses()" class="truncate">
55089
+ {{ property.name || 'Unnamed Property' }}
55090
+ </div>
55091
+ </div>
55092
+
55093
+ @if (property.gaAccountId) {
55094
+ @if (getAccountForProperty(property); as account) {
55095
+ <div class="flex items-center gap-2 mt-1">
55096
+ <svg class="w-4 h-4 flex-shrink-0" [ngClass]="accountNameClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55097
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>
55098
+ </svg>
55099
+ <span [ngClass]="accountNameClasses()" class="truncate">
55100
+ Account: {{ account.name || 'Unnamed Account' }}
55101
+ </span>
55102
+ </div>
55103
+ }
55104
+ }
55105
+ </div>
55106
+ </div>
55107
+ </label>
55108
+ }
55109
+ </div>
55110
+ } @else {
55111
+ <div class="text-center py-8">
55112
+ <p [ngClass]="emptyStateTextClasses()" class="text-base">
55113
+ No properties found. Please connect your Google Analytics account.
54644
55114
  </p>
54645
- <p [ngClass]="expandedTextClasses()" class="text-sm leading-relaxed">
54646
- Symphiq's use and transfer to any other app of information received from Google APIs will adhere to <strong class="font-bold">Google API Services User Data Policy</strong> including the Limited Use requirements.
55115
+ </div>
55116
+ }
55117
+ </div>
55118
+ </div>
55119
+ </div>
55120
+ </div>
55121
+ }
55122
+
55123
+ <!-- Selected Property State -->
55124
+ @if (isSelectedState()) {
55125
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
55126
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
55127
+ <div class="flex items-start gap-6">
55128
+ <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
55129
+ <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55130
+ <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>
55131
+ </svg>
55132
+ </div>
55133
+
55134
+ <div class="flex-1">
55135
+ <div class="flex items-start justify-between mb-6">
55136
+ <div>
55137
+ <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-2">
55138
+ Connected to Google Analytics
55139
+ </h2>
55140
+ <p [ngClass]="textClasses()" class="text-base">
55141
+ Your analytics data is linked
54647
55142
  </p>
54648
55143
  </div>
55144
+ <button
55145
+ type="button"
55146
+ (click)="enableEditMode()"
55147
+ [ngClass]="editButtonClasses()"
55148
+ class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 hover:scale-105 flex items-center gap-2 cursor-pointer">
55149
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55150
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"/>
55151
+ </svg>
55152
+ Edit
55153
+ </button>
54649
55154
  </div>
55155
+
55156
+ @if (selectedProperty(); as property) {
55157
+ <div [ngClass]="selectedPropertyCardClasses()" class="rounded-xl border-2 p-6 mb-6">
55158
+ <div class="flex items-start gap-3 mb-4">
55159
+ <div [ngClass]="statusBadgeClasses()" class="px-3 py-1 rounded-full text-xs font-semibold border">
55160
+ Connected
55161
+ </div>
55162
+ </div>
55163
+
55164
+ <div class="flex items-center gap-3 mb-3">
55165
+ <svg class="w-6 h-6 flex-shrink-0" [ngClass]="noteIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55166
+ <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"></path>
55167
+ </svg>
55168
+ <div>
55169
+ <div [ngClass]="propertyNameClasses()" class="text-lg">
55170
+ {{ property.name || 'Unnamed Property' }}
55171
+ </div>
55172
+ @if (selectedPropertyAccount(); as account) {
55173
+ <div class="flex items-center gap-2 mt-1">
55174
+ <svg class="w-4 h-4 flex-shrink-0" [ngClass]="accountNameClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55175
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>
55176
+ </svg>
55177
+ <span [ngClass]="accountNameClasses()">
55178
+ {{ account.name || 'Unnamed Account' }}
55179
+ </span>
55180
+ </div>
55181
+ }
55182
+ </div>
55183
+ </div>
55184
+ </div>
55185
+ }
55186
+
55187
+ <button
55188
+ type="button"
55189
+ (click)="reconnectWithDifferentAccount()"
55190
+ [ngClass]="reconnectButtonClasses()"
55191
+ class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 flex items-center gap-2 cursor-pointer">
55192
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55193
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
55194
+ </svg>
55195
+ Use Different Google Account
55196
+ </button>
54650
55197
  </div>
54651
55198
  </div>
54652
55199
  </div>
54653
55200
  </div>
54654
- </div>
55201
+ }
54655
55202
  </div>
55203
+
55204
+ <!-- Sticky Bottom Action Bar (Edit Mode) -->
55205
+ @if (isEditingProperty()) {
55206
+ <div [ngClass]="stickyButtonContainerClasses()" class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-sm">
55207
+ <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
55208
+ <div class="flex items-center gap-3">
55209
+ <button
55210
+ type="button"
55211
+ (click)="cancelEditMode()"
55212
+ [ngClass]="cancelButtonClasses()"
55213
+ class="flex-1 sm:flex-none px-6 py-4 rounded-xl font-bold text-base transition-all duration-200 hover:scale-105 cursor-pointer">
55214
+ Cancel
55215
+ </button>
55216
+ <button
55217
+ type="button"
55218
+ (click)="submitPropertyChange()"
55219
+ [disabled]="!hasPropertyChanged()"
55220
+ [ngClass]="submitButtonClasses()"
55221
+ class="flex-1 px-6 py-4 rounded-xl font-bold text-base transition-all duration-200 hover:scale-105 cursor-pointer">
55222
+ Submit
55223
+ </button>
55224
+ </div>
55225
+ </div>
55226
+ </div>
55227
+ }
54656
55228
  </main>
54657
55229
  </div>
54658
55230
  </div>
54659
55231
  `, styles: [":host{display:block}.animated-bubbles{overflow:hidden}.animated-bubbles:before,.animated-bubbles:after{content:\"\";position:absolute;border-radius:50%;animation:float 20s infinite ease-in-out;opacity:.05}.animated-bubbles:before{width:600px;height:600px;background:radial-gradient(circle,#3b82f6 0%,transparent 70%);top:-300px;left:-300px;animation-delay:-5s}.animated-bubbles:after{width:800px;height:800px;background:radial-gradient(circle,#06b6d4 0%,transparent 70%);bottom:-400px;right:-400px;animation-delay:-10s}.animated-bubbles.light-mode:before,.animated-bubbles.light-mode:after{opacity:.03}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}:host.light .gsi-material-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-appearance:none;background-color:#fff;background-image:none;border:1px solid #747775;-webkit-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#1f1f1f;cursor:pointer;font-family:Roboto,arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;-webkit-transition:background-color .218s,border-color .218s,box-shadow .218s;transition:background-color .218s,border-color .218s,box-shadow .218s;vertical-align:middle;white-space:nowrap;width:auto;max-width:400px;min-width:min-content}:host.light .gsi-material-button .gsi-material-button-icon{height:20px;margin-right:12px;min-width:20px;width:20px}:host.light .gsi-material-button .gsi-material-button-content-wrapper{-webkit-align-items:center;align-items:center;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:100%;justify-content:space-between;position:relative;width:100%}:host.light .gsi-material-button .gsi-material-button-contents{-webkit-flex-grow:1;flex-grow:1;font-family:Roboto,arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}:host.light .gsi-material-button .gsi-material-button-state{-webkit-transition:opacity .218s;transition:opacity .218s;inset:0;opacity:0;position:absolute}:host.light .gsi-material-button:disabled{cursor:default;background-color:#ffffff61;border-color:#1f1f1f1f}:host.light .gsi-material-button:disabled .gsi-material-button-contents{opacity:38%}:host.light .gsi-material-button:disabled .gsi-material-button-icon{opacity:38%}:host.light .gsi-material-button:not(:disabled):active .gsi-material-button-state,:host.light .gsi-material-button:not(:disabled):focus .gsi-material-button-state{background-color:#303030;opacity:12%}:host.light .gsi-material-button:not(:disabled):hover{-webkit-box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}:host.light .gsi-material-button:not(:disabled):hover .gsi-material-button-state{background-color:#303030;opacity:8%}:host.dark .gsi-material-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-appearance:none;background-color:#131314;background-image:none;border:1px solid #747775;-webkit-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#e3e3e3;cursor:pointer;font-family:Roboto,arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;-webkit-transition:background-color .218s,border-color .218s,box-shadow .218s;transition:background-color .218s,border-color .218s,box-shadow .218s;vertical-align:middle;white-space:nowrap;width:auto;max-width:400px;min-width:min-content;border-color:#8e918f}:host.dark .gsi-material-button .gsi-material-button-icon{height:20px;margin-right:12px;min-width:20px;width:20px}:host.dark .gsi-material-button .gsi-material-button-content-wrapper{-webkit-align-items:center;align-items:center;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:100%;justify-content:space-between;position:relative;width:100%}:host.dark .gsi-material-button .gsi-material-button-contents{-webkit-flex-grow:1;flex-grow:1;font-family:Roboto,arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}:host.dark .gsi-material-button .gsi-material-button-state{-webkit-transition:opacity .218s;transition:opacity .218s;inset:0;opacity:0;position:absolute}:host.dark .gsi-material-button:disabled{cursor:default;background-color:#13131461;border-color:#8e918f1f}:host.dark .gsi-material-button:disabled .gsi-material-button-state{background-color:#e3e3e31f}:host.dark .gsi-material-button:disabled .gsi-material-button-contents{opacity:38%}:host.dark .gsi-material-button:disabled .gsi-material-button-icon{opacity:38%}:host.dark .gsi-material-button:not(:disabled):active .gsi-material-button-state,:host.dark .gsi-material-button:not(:disabled):focus .gsi-material-button-state{background-color:#fff;opacity:12%}:host.dark .gsi-material-button:not(:disabled):hover{-webkit-box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}:host.dark .gsi-material-button:not(:disabled):hover .gsi-material-button-state{background-color:#fff;opacity:8%}\n"] }]
54660
- }], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], googleButtonClick: [{ type: i0.Output, args: ["googleButtonClick"] }], onScroll: [{
55232
+ }], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], showNextStepAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "showNextStepAction", required: false }] }], gaProperties: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaProperties", required: false }] }], gaAccounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaAccounts", required: false }] }], selectedGaPropertyId: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedGaPropertyId", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], googleButtonClick: [{ type: i0.Output, args: ["googleButtonClick"] }], onPropertySelect: [{ type: i0.Output, args: ["onPropertySelect"] }], onPropertyChange: [{ type: i0.Output, args: ["onPropertyChange"] }], onReconnectGoogle: [{ type: i0.Output, args: ["onReconnectGoogle"] }], onScroll: [{
54661
55233
  type: HostListener,
54662
55234
  args: ['window:scroll', ['$event']]
54663
55235
  }] }); })();
54664
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqConnectGaDashboardComponent, { className: "SymphiqConnectGaDashboardComponent", filePath: "lib/components/connect-ga-dashboard/symphiq-connect-ga-dashboard.component.ts", lineNumber: 471 }); })();
55236
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqConnectGaDashboardComponent, { className: "SymphiqConnectGaDashboardComponent", filePath: "lib/components/connect-ga-dashboard/symphiq-connect-ga-dashboard.component.ts", lineNumber: 631 }); })();
54665
55237
 
54666
55238
  function HierarchyDisplayComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
54667
55239
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 1);
@@ -57580,85 +58152,85 @@ class RecommendationsTiledGridComponent {
57580
58152
  standalone: true,
57581
58153
  imports: [CommonModule, SimplifiedRecommendationCardComponent],
57582
58154
  changeDetection: ChangeDetectionStrategy.OnPush,
57583
- template: `
57584
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
57585
- <div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
57586
- <div class="flex items-center justify-between">
57587
- <div class="flex items-center gap-3">
57588
- <div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
57589
- <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
57590
- <path 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"></path>
57591
- </svg>
57592
- </div>
57593
- <div>
57594
- <h2 [ngClass]="titleClasses()" class="text-xl font-bold">
57595
- Strategic Insights & Recommendations
57596
- </h2>
57597
- <p [ngClass]="subtitleClasses()" class="text-sm mt-0.5">
57598
- {{ recommendations().length }} personalized recommendations based on your business profile
57599
- </p>
57600
- </div>
57601
- </div>
57602
- @if (recommendations().length > 0) {
57603
- <div [ngClass]="countBadgeClasses()" class="px-3 py-1.5 rounded-lg font-semibold text-sm">
57604
- {{ recommendations().length }}
57605
- </div>
57606
- }
57607
- </div>
57608
- </div>
57609
-
57610
- <div [ngClass]="contentClasses()" class="p-6">
57611
- @if (recommendations().length > 0) {
57612
- <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 items-start">
57613
- @for (recommendation of sortedRecommendations(); track recommendation.id; let idx = $index) {
57614
- <symphiq-simplified-recommendation-card
57615
- [item]="recommendation"
57616
- [viewMode]="viewMode()"
57617
- [animationIndex]="idx"
57618
- (viewMoreClick)="viewMoreClick.emit($event)"
57619
- />
57620
- }
57621
- </div>
57622
- } @else if (isLoading()) {
57623
- <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 items-start">
57624
- @for (i of [0, 1, 2]; track i) {
57625
- <div [ngClass]="skeletonCardClasses()" class="rounded-xl border p-5 animate-pulse">
57626
- <div class="flex items-start gap-3 mb-4">
57627
- <div [ngClass]="skeletonIconClasses()" class="w-10 h-10 rounded-lg"></div>
57628
- <div class="flex-1 space-y-2">
57629
- <div [ngClass]="skeletonLineClasses()" class="h-4 rounded w-3/4"></div>
57630
- <div [ngClass]="skeletonLineClasses()" class="h-3 rounded w-1/2"></div>
57631
- </div>
57632
- </div>
57633
- <div class="space-y-2 mb-4">
57634
- <div [ngClass]="skeletonLineClasses()" class="h-3 rounded w-full"></div>
57635
- <div [ngClass]="skeletonLineClasses()" class="h-3 rounded w-5/6"></div>
57636
- <div [ngClass]="skeletonLineClasses()" class="h-3 rounded w-4/6"></div>
57637
- </div>
57638
- <div class="flex items-center justify-between">
57639
- <div [ngClass]="skeletonLineClasses()" class="h-6 rounded-full w-16"></div>
57640
- <div [ngClass]="skeletonLineClasses()" class="h-8 rounded-lg w-24"></div>
57641
- </div>
57642
- </div>
57643
- }
57644
- </div>
57645
- } @else {
57646
- <div [ngClass]="emptyStateClasses()" class="text-center py-12 rounded-xl border-2 border-dashed">
57647
- <div [ngClass]="emptyIconClasses()" class="w-16 h-16 mx-auto mb-4 rounded-full flex items-center justify-center">
57648
- <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
57649
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4"></path>
57650
- </svg>
57651
- </div>
57652
- <h3 [ngClass]="emptyTitleClasses()" class="text-lg font-semibold mb-2">
57653
- No Recommendations Yet
57654
- </h3>
57655
- <p [ngClass]="emptyDescriptionClasses()" class="text-sm">
57656
- Complete your business profile to receive personalized strategic recommendations
57657
- </p>
57658
- </div>
57659
- }
57660
- </div>
57661
- </div>
58155
+ template: `
58156
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
58157
+ <div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
58158
+ <div class="flex items-center justify-between">
58159
+ <div class="flex items-center gap-3">
58160
+ <div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
58161
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
58162
+ <path 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"></path>
58163
+ </svg>
58164
+ </div>
58165
+ <div>
58166
+ <h2 [ngClass]="titleClasses()" class="text-xl font-bold">
58167
+ Strategic Insights & Recommendations
58168
+ </h2>
58169
+ <p [ngClass]="subtitleClasses()" class="text-sm mt-0.5">
58170
+ {{ recommendations().length }} personalized recommendations based on your business profile
58171
+ </p>
58172
+ </div>
58173
+ </div>
58174
+ @if (recommendations().length > 0) {
58175
+ <div [ngClass]="countBadgeClasses()" class="px-3 py-1.5 rounded-lg font-semibold text-sm">
58176
+ {{ recommendations().length }}
58177
+ </div>
58178
+ }
58179
+ </div>
58180
+ </div>
58181
+
58182
+ <div [ngClass]="contentClasses()" class="p-6">
58183
+ @if (recommendations().length > 0) {
58184
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 items-start">
58185
+ @for (recommendation of sortedRecommendations(); track recommendation.id; let idx = $index) {
58186
+ <symphiq-simplified-recommendation-card
58187
+ [item]="recommendation"
58188
+ [viewMode]="viewMode()"
58189
+ [animationIndex]="idx"
58190
+ (viewMoreClick)="viewMoreClick.emit($event)"
58191
+ />
58192
+ }
58193
+ </div>
58194
+ } @else if (isLoading()) {
58195
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 items-start">
58196
+ @for (i of [0, 1, 2]; track i) {
58197
+ <div [ngClass]="skeletonCardClasses()" class="rounded-xl border p-5 animate-pulse">
58198
+ <div class="flex items-start gap-3 mb-4">
58199
+ <div [ngClass]="skeletonIconClasses()" class="w-10 h-10 rounded-lg"></div>
58200
+ <div class="flex-1 space-y-2">
58201
+ <div [ngClass]="skeletonLineClasses()" class="h-4 rounded w-3/4"></div>
58202
+ <div [ngClass]="skeletonLineClasses()" class="h-3 rounded w-1/2"></div>
58203
+ </div>
58204
+ </div>
58205
+ <div class="space-y-2 mb-4">
58206
+ <div [ngClass]="skeletonLineClasses()" class="h-3 rounded w-full"></div>
58207
+ <div [ngClass]="skeletonLineClasses()" class="h-3 rounded w-5/6"></div>
58208
+ <div [ngClass]="skeletonLineClasses()" class="h-3 rounded w-4/6"></div>
58209
+ </div>
58210
+ <div class="flex items-center justify-between">
58211
+ <div [ngClass]="skeletonLineClasses()" class="h-6 rounded-full w-16"></div>
58212
+ <div [ngClass]="skeletonLineClasses()" class="h-8 rounded-lg w-24"></div>
58213
+ </div>
58214
+ </div>
58215
+ }
58216
+ </div>
58217
+ } @else {
58218
+ <div [ngClass]="emptyStateClasses()" class="text-center py-12 rounded-xl border-2 border-dashed">
58219
+ <div [ngClass]="emptyIconClasses()" class="w-16 h-16 mx-auto mb-4 rounded-full flex items-center justify-center">
58220
+ <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
58221
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4"></path>
58222
+ </svg>
58223
+ </div>
58224
+ <h3 [ngClass]="emptyTitleClasses()" class="text-lg font-semibold mb-2">
58225
+ No Recommendations Yet
58226
+ </h3>
58227
+ <p [ngClass]="emptyDescriptionClasses()" class="text-sm">
58228
+ Complete your business profile to receive personalized strategic recommendations
58229
+ </p>
58230
+ </div>
58231
+ }
58232
+ </div>
58233
+ </div>
57662
58234
  `
57663
58235
  }]
57664
58236
  }], null, { recommendations: [{ type: i0.Input, args: [{ isSignal: true, alias: "recommendations", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], viewMoreClick: [{ type: i0.Output, args: ["viewMoreClick"] }] }); })();
@@ -58186,87 +58758,87 @@ class ContentGenerationProgressComponent {
58186
58758
  }
58187
58759
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContentGenerationProgressComponent, [{
58188
58760
  type: Component,
58189
- args: [{ selector: 'symphiq-content-generation-progress', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
58190
- <div [ngClass]="containerClasses()" class="min-h-[60vh] flex items-center justify-center px-4 py-12">
58191
- <div class="max-w-3xl w-full space-y-8">
58192
- <!-- Title Section -->
58193
- <div class="text-center space-y-3">
58194
- <div class="flex items-center justify-center mb-4">
58195
- <div [ngClass]="iconContainerClasses()" class="relative w-20 h-20 rounded-2xl flex items-center justify-center icon-pulse">
58196
- <svg class="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
58197
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
58198
- </svg>
58199
- <div class="absolute inset-0 rounded-2xl icon-glow"></div>
58200
- </div>
58201
- </div>
58202
-
58203
- <h2 [ngClass]="titleClasses()" class="text-3xl sm:text-4xl font-bold">
58204
- {{ title() }}
58205
- </h2>
58206
-
58207
- <p [ngClass]="subtitleClasses()" class="text-base sm:text-lg max-w-2xl mx-auto">
58208
- {{ subtitle() }}
58209
- </p>
58210
- </div>
58211
-
58212
- <!-- Progress Section -->
58213
- <div class="space-y-4">
58214
- <!-- Progress Message -->
58215
- <div class="text-center">
58216
- <p [ngClass]="progressMessageClasses()" class="text-lg sm:text-xl font-medium message-fade">
58217
- {{ progressMessage() }}
58218
- </p>
58219
- </div>
58220
-
58221
- <!-- Progress Bar Container -->
58222
- <div [ngClass]="progressBarContainerClasses()" class="relative h-3 rounded-full" style="overflow: visible;">
58223
- <!-- Background Track -->
58224
- <div [ngClass]="progressBarBackgroundClasses()" class="absolute inset-0 rounded-full"></div>
58225
-
58226
- <!-- Solid Fill with Gradient -->
58227
- <div
58228
- [ngClass]="progressBarFillClasses()"
58229
- [style.width.%]="progressPercentage()"
58230
- class="absolute inset-y-0 left-0 rounded-full transition-all duration-700 ease-out overflow-hidden">
58231
- <!-- Inner shimmer effect -->
58232
- <div class="absolute inset-0 shimmer-effect"></div>
58233
- </div>
58234
-
58235
- <!-- Animated Dots Overlay (container positioned at progress edge, dots animate within) -->
58236
- @if (progressPercentage() > 0 && progressPercentage() < 100) {
58237
- <div
58238
- class="absolute pointer-events-none"
58239
- [style.left.%]="progressPercentage()"
58240
- style="right: 0; top: -4px; bottom: -4px; overflow: visible;">
58241
- <div class="animated-dot animated-dot-1" [style.background-color]="dotColor()"></div>
58242
- <div class="animated-dot animated-dot-2" [style.background-color]="dotColor()"></div>
58243
- <div class="animated-dot animated-dot-3" [style.background-color]="dotColor()"></div>
58244
- <div class="animated-dot animated-dot-4" [style.background-color]="dotColor()"></div>
58245
- <div class="animated-dot animated-dot-5" [style.background-color]="dotColor()"></div>
58246
- <div class="animated-dot animated-dot-6" [style.background-color]="dotColor()"></div>
58247
- </div>
58248
- }
58249
-
58250
- <!-- Glow effect at the progress edge -->
58251
- @if (progressPercentage() > 0 && progressPercentage() < 100) {
58252
- <div
58253
- [ngClass]="progressGlowClasses()"
58254
- [style.left.%]="progressPercentage()"
58255
- class="absolute top-1/2 -translate-y-1/2 w-4 h-4 rounded-full blur-md transition-all duration-700 ease-out"
58256
- style="margin-left: -8px;">
58257
- </div>
58258
- }
58259
- </div>
58260
-
58261
- <!-- Progress Percentage -->
58262
- <div class="text-center">
58263
- <span [ngClass]="percentageClasses()" class="text-sm font-medium tabular-nums">
58264
- {{ progressPercentage() }}% complete
58265
- </span>
58266
- </div>
58267
- </div>
58268
- </div>
58269
- </div>
58761
+ args: [{ selector: 'symphiq-content-generation-progress', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
58762
+ <div [ngClass]="containerClasses()" class="min-h-[60vh] flex items-center justify-center px-4 py-12">
58763
+ <div class="max-w-3xl w-full space-y-8">
58764
+ <!-- Title Section -->
58765
+ <div class="text-center space-y-3">
58766
+ <div class="flex items-center justify-center mb-4">
58767
+ <div [ngClass]="iconContainerClasses()" class="relative w-20 h-20 rounded-2xl flex items-center justify-center icon-pulse">
58768
+ <svg class="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
58769
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
58770
+ </svg>
58771
+ <div class="absolute inset-0 rounded-2xl icon-glow"></div>
58772
+ </div>
58773
+ </div>
58774
+
58775
+ <h2 [ngClass]="titleClasses()" class="text-3xl sm:text-4xl font-bold">
58776
+ {{ title() }}
58777
+ </h2>
58778
+
58779
+ <p [ngClass]="subtitleClasses()" class="text-base sm:text-lg max-w-2xl mx-auto">
58780
+ {{ subtitle() }}
58781
+ </p>
58782
+ </div>
58783
+
58784
+ <!-- Progress Section -->
58785
+ <div class="space-y-4">
58786
+ <!-- Progress Message -->
58787
+ <div class="text-center">
58788
+ <p [ngClass]="progressMessageClasses()" class="text-lg sm:text-xl font-medium message-fade">
58789
+ {{ progressMessage() }}
58790
+ </p>
58791
+ </div>
58792
+
58793
+ <!-- Progress Bar Container -->
58794
+ <div [ngClass]="progressBarContainerClasses()" class="relative h-3 rounded-full" style="overflow: visible;">
58795
+ <!-- Background Track -->
58796
+ <div [ngClass]="progressBarBackgroundClasses()" class="absolute inset-0 rounded-full"></div>
58797
+
58798
+ <!-- Solid Fill with Gradient -->
58799
+ <div
58800
+ [ngClass]="progressBarFillClasses()"
58801
+ [style.width.%]="progressPercentage()"
58802
+ class="absolute inset-y-0 left-0 rounded-full transition-all duration-700 ease-out overflow-hidden">
58803
+ <!-- Inner shimmer effect -->
58804
+ <div class="absolute inset-0 shimmer-effect"></div>
58805
+ </div>
58806
+
58807
+ <!-- Animated Dots Overlay (container positioned at progress edge, dots animate within) -->
58808
+ @if (progressPercentage() > 0 && progressPercentage() < 100) {
58809
+ <div
58810
+ class="absolute pointer-events-none"
58811
+ [style.left.%]="progressPercentage()"
58812
+ style="right: 0; top: -4px; bottom: -4px; overflow: visible;">
58813
+ <div class="animated-dot animated-dot-1" [style.background-color]="dotColor()"></div>
58814
+ <div class="animated-dot animated-dot-2" [style.background-color]="dotColor()"></div>
58815
+ <div class="animated-dot animated-dot-3" [style.background-color]="dotColor()"></div>
58816
+ <div class="animated-dot animated-dot-4" [style.background-color]="dotColor()"></div>
58817
+ <div class="animated-dot animated-dot-5" [style.background-color]="dotColor()"></div>
58818
+ <div class="animated-dot animated-dot-6" [style.background-color]="dotColor()"></div>
58819
+ </div>
58820
+ }
58821
+
58822
+ <!-- Glow effect at the progress edge -->
58823
+ @if (progressPercentage() > 0 && progressPercentage() < 100) {
58824
+ <div
58825
+ [ngClass]="progressGlowClasses()"
58826
+ [style.left.%]="progressPercentage()"
58827
+ class="absolute top-1/2 -translate-y-1/2 w-4 h-4 rounded-full blur-md transition-all duration-700 ease-out"
58828
+ style="margin-left: -8px;">
58829
+ </div>
58830
+ }
58831
+ </div>
58832
+
58833
+ <!-- Progress Percentage -->
58834
+ <div class="text-center">
58835
+ <span [ngClass]="percentageClasses()" class="text-sm font-medium tabular-nums">
58836
+ {{ progressPercentage() }}% complete
58837
+ </span>
58838
+ </div>
58839
+ </div>
58840
+ </div>
58841
+ </div>
58270
58842
  `, styles: ["@keyframes icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes icon-glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes dots-move{0%{left:0%;opacity:0}3%{left:3%;opacity:1}97%{left:97%;opacity:1}to{left:100%;opacity:0}}@keyframes dots-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}@keyframes message-fade{0%,to{opacity:1}50%{opacity:.7}}.icon-pulse{animation:icon-pulse 2s ease-in-out infinite}.icon-glow{animation:icon-glow-pulse 2s ease-in-out infinite}.shimmer-effect{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s ease-in-out infinite}.message-fade{animation:message-fade 3s ease-in-out infinite}.animated-dot{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;margin-top:-6px;margin-left:-6px;animation:dots-move 6s linear infinite,dots-pulse 2s ease-in-out infinite;will-change:left,transform,opacity;z-index:20;box-shadow:0 0 8px currentColor,0 0 16px currentColor}.animated-dot-1{animation-delay:0s,0s}.animated-dot-2{animation-delay:1s,0s}.animated-dot-3{animation-delay:2s,0s}.animated-dot-4{animation-delay:3s,0s}.animated-dot-5{animation-delay:4s,0s}.animated-dot-6{animation-delay:5s,0s}\n"] }]
58271
58843
  }], null, { itemStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatus", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], showIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIcon", required: false }] }] }); })();
58272
58844
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContentGenerationProgressComponent, { className: "ContentGenerationProgressComponent", filePath: "lib/components/shared/content-generation-progress.component.ts", lineNumber: 222 }); })();
@@ -58558,7 +59130,9 @@ class SymphiqBusinessAnalysisDashboardComponent {
58558
59130
  this.profileContextService = inject(ProfileContextService);
58559
59131
  this.searchService = inject(BusinessProfileSearchService);
58560
59132
  this.modalService = inject(ModalService);
59133
+ this.confettiService = inject(ConfettiService);
58561
59134
  this.currentProfile = signal(undefined, ...(ngDevMode ? [{ debugName: "currentProfile" }] : []));
59135
+ this.previousContentStatus = signal(undefined, ...(ngDevMode ? [{ debugName: "previousContentStatus" }] : []));
58562
59136
  this.COLLAPSE_THRESHOLD = 20;
58563
59137
  this.EXPAND_THRESHOLD = 10;
58564
59138
  this.embeddedScrollEffect = effect(() => {
@@ -58648,6 +59222,19 @@ class SymphiqBusinessAnalysisDashboardComponent {
58648
59222
  this.profileContextService.indexProfile(profile.profileStructured.sections, recommendations);
58649
59223
  }
58650
59224
  });
59225
+ effect(() => {
59226
+ const currentStatus = this.profile()?.selfContentStatus;
59227
+ const prevStatus = this.previousContentStatus();
59228
+ if (prevStatus === AiDynamicContentStatusEnum.GENERATING &&
59229
+ currentStatus === AiDynamicContentStatusEnum.GENERATED) {
59230
+ this.confettiService.trigger({
59231
+ intensity: 'celebration',
59232
+ delay: 200,
59233
+ viewMode: this.viewMode(),
59234
+ });
59235
+ }
59236
+ this.previousContentStatus.set(currentStatus);
59237
+ });
58651
59238
  }
58652
59239
  onScroll() {
58653
59240
  this.headerScrollService.handleScroll(this.embedded());
@@ -59365,7 +59952,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
59365
59952
  type: HostListener,
59366
59953
  args: ['document:keydown', ['$event']]
59367
59954
  }] }); })();
59368
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 335 }); })();
59955
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 336 }); })();
59369
59956
 
59370
59957
  function DashboardHeaderComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
59371
59958
  i0.ɵɵelement(0, "div", 6);