@eric-emg/symphiq-components 1.2.158 → 1.2.160

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.
@@ -52436,7 +52436,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Te
52436
52436
  i0.ɵɵelementStart(3, "span", 31);
52437
52437
  i0.ɵɵtext(4, "*");
52438
52438
  i0.ɵɵelementEnd()();
52439
- i0.ɵɵelement(5, "input", 51);
52439
+ i0.ɵɵelement(5, "input", 52);
52440
52440
  i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Conditional_6_Template, 2, 1, "p", 33);
52441
52441
  i0.ɵɵelementEnd();
52442
52442
  } if (rf & 2) {
@@ -52519,7 +52519,9 @@ function SymphiqCreateAccountDashboardComponent_Conditional_24_Template(rf, ctx)
52519
52519
  i0.ɵɵtext(59, " Same as Shop Name ");
52520
52520
  i0.ɵɵelementEnd()()();
52521
52521
  i0.ɵɵconditionalCreate(60, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_60_Template, 2, 1, "p", 33);
52522
- i0.ɵɵelementEnd()()()();
52522
+ i0.ɵɵelementEnd();
52523
+ i0.ɵɵelement(61, "input", 51);
52524
+ i0.ɵɵelementEnd()()();
52523
52525
  } if (rf & 2) {
52524
52526
  let tmp_18_0;
52525
52527
  let tmp_23_0;
@@ -52585,7 +52587,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_24_Template(rf, ctx)
52585
52587
  i0.ɵɵconditional(ctx_r1.isFieldInvalid("companyName") ? 60 : -1);
52586
52588
  } }
52587
52589
  function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Conditional_6_For_5_Template(rf, ctx) { if (rf & 1) {
52588
- i0.ɵɵelementStart(0, "span", 62);
52590
+ i0.ɵɵelementStart(0, "span", 63);
52589
52591
  i0.ɵɵtext(1);
52590
52592
  i0.ɵɵelementEnd();
52591
52593
  } if (rf & 2) {
@@ -52596,11 +52598,11 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_Fo
52596
52598
  i0.ɵɵtextInterpolate1(" ", tool_r5, " ");
52597
52599
  } }
52598
52600
  function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Conditional_6_Template(rf, ctx) { if (rf & 1) {
52599
- i0.ɵɵelementStart(0, "div", 59)(1, "span", 60);
52601
+ i0.ɵɵelementStart(0, "div", 60)(1, "span", 61);
52600
52602
  i0.ɵɵtext(2, "Tools:");
52601
52603
  i0.ɵɵelementEnd();
52602
- i0.ɵɵelementStart(3, "div", 61);
52603
- i0.ɵɵrepeaterCreate(4, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Conditional_6_For_5_Template, 2, 2, "span", 62, i0.ɵɵrepeaterTrackByIdentity);
52604
+ i0.ɵɵelementStart(3, "div", 62);
52605
+ i0.ɵɵrepeaterCreate(4, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Conditional_6_For_5_Template, 2, 2, "span", 63, i0.ɵɵrepeaterTrackByIdentity);
52604
52606
  i0.ɵɵelementEnd()();
52605
52607
  } if (rf & 2) {
52606
52608
  const focusArea_r6 = i0.ɵɵnextContext().$implicit;
@@ -52611,13 +52613,13 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_Fo
52611
52613
  i0.ɵɵrepeater(focusArea_r6.tools);
52612
52614
  } }
52613
52615
  function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Template(rf, ctx) { if (rf & 1) {
52614
- i0.ɵɵelementStart(0, "div", 55)(1, "div", 56)(2, "h4", 57);
52616
+ i0.ɵɵelementStart(0, "div", 56)(1, "div", 57)(2, "h4", 58);
52615
52617
  i0.ɵɵtext(3);
52616
52618
  i0.ɵɵelementEnd();
52617
- i0.ɵɵelementStart(4, "span", 58);
52619
+ i0.ɵɵelementStart(4, "span", 59);
52618
52620
  i0.ɵɵtext(5, " Engaged ");
52619
52621
  i0.ɵɵelementEnd()();
52620
- i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Conditional_6_Template, 6, 1, "div", 59);
52622
+ i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Conditional_6_Template, 6, 1, "div", 60);
52621
52623
  i0.ɵɵelementEnd();
52622
52624
  } if (rf & 2) {
52623
52625
  const focusArea_r6 = ctx.$implicit;
@@ -52633,12 +52635,12 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_Fo
52633
52635
  i0.ɵɵconditional(focusArea_r6.tools && focusArea_r6.tools.length > 0 ? 6 : -1);
52634
52636
  } }
52635
52637
  function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_Template(rf, ctx) { if (rf & 1) {
52636
- i0.ɵɵelementStart(0, "div", 28)(1, "h3", 52);
52637
- i0.ɵɵelement(2, "span", 53);
52638
+ i0.ɵɵelementStart(0, "div", 28)(1, "h3", 53);
52639
+ i0.ɵɵelement(2, "span", 54);
52638
52640
  i0.ɵɵtext(3);
52639
52641
  i0.ɵɵelementEnd();
52640
- i0.ɵɵelementStart(4, "div", 54);
52641
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Template, 7, 5, "div", 55, _forTrack0$i);
52642
+ i0.ɵɵelementStart(4, "div", 55);
52643
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Template, 7, 5, "div", 56, _forTrack0$i);
52642
52644
  i0.ɵɵelementEnd()();
52643
52645
  } if (rf & 2) {
52644
52646
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -52650,7 +52652,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_Te
52650
52652
  i0.ɵɵrepeater(ctx_r1.engagedFocusAreas());
52651
52653
  } }
52652
52654
  function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_For_6_Template(rf, ctx) { if (rf & 1) {
52653
- i0.ɵɵelementStart(0, "div", 65)(1, "h4", 57);
52655
+ i0.ɵɵelementStart(0, "div", 66)(1, "h4", 58);
52654
52656
  i0.ɵɵtext(2);
52655
52657
  i0.ɵɵelementEnd()();
52656
52658
  } if (rf & 2) {
@@ -52663,12 +52665,12 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_Fo
52663
52665
  i0.ɵɵtextInterpolate1(" ", ctx_r1.getFocusAreaTitle(focusArea_r7.focusAreaDomain), " ");
52664
52666
  } }
52665
52667
  function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_Template(rf, ctx) { if (rf & 1) {
52666
- i0.ɵɵelementStart(0, "div", 28)(1, "h3", 52);
52667
- i0.ɵɵelement(2, "span", 63);
52668
+ i0.ɵɵelementStart(0, "div", 28)(1, "h3", 53);
52669
+ i0.ɵɵelement(2, "span", 64);
52668
52670
  i0.ɵɵtext(3);
52669
52671
  i0.ɵɵelementEnd();
52670
- i0.ɵɵelementStart(4, "div", 64);
52671
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_For_6_Template, 3, 3, "div", 65, _forTrack0$i);
52672
+ i0.ɵɵelementStart(4, "div", 65);
52673
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_For_6_Template, 3, 3, "div", 66, _forTrack0$i);
52672
52674
  i0.ɵɵelementEnd()();
52673
52675
  } if (rf & 2) {
52674
52676
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -52680,7 +52682,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_Te
52680
52682
  i0.ɵɵrepeater(ctx_r1.interestedFocusAreas());
52681
52683
  } }
52682
52684
  function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_For_6_Template(rf, ctx) { if (rf & 1) {
52683
- i0.ɵɵelementStart(0, "div", 68)(1, "span", 60);
52685
+ i0.ɵɵelementStart(0, "div", 69)(1, "span", 61);
52684
52686
  i0.ɵɵtext(2);
52685
52687
  i0.ɵɵelementEnd()();
52686
52688
  } if (rf & 2) {
@@ -52693,12 +52695,12 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_Fo
52693
52695
  i0.ɵɵtextInterpolate1(" ", ctx_r1.getFocusAreaTitle(focusArea_r8.focusAreaDomain), " ");
52694
52696
  } }
52695
52697
  function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_Template(rf, ctx) { if (rf & 1) {
52696
- i0.ɵɵelementStart(0, "div")(1, "h3", 52);
52697
- i0.ɵɵelement(2, "span", 66);
52698
+ i0.ɵɵelementStart(0, "div")(1, "h3", 53);
52699
+ i0.ɵɵelement(2, "span", 67);
52698
52700
  i0.ɵɵtext(3);
52699
52701
  i0.ɵɵelementEnd();
52700
- i0.ɵɵelementStart(4, "div", 67);
52701
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_For_6_Template, 3, 3, "div", 68, _forTrack0$i);
52702
+ i0.ɵɵelementStart(4, "div", 68);
52703
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_For_6_Template, 3, 3, "div", 69, _forTrack0$i);
52702
52704
  i0.ɵɵelementEnd()();
52703
52705
  } if (rf & 2) {
52704
52706
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -52748,33 +52750,33 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Template(rf, ctx)
52748
52750
  i0.ɵɵconditional(ctx_r1.notInterestedFocusAreas().length > 0 ? 14 : -1);
52749
52751
  } }
52750
52752
  function SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
52751
- i0.ɵɵelement(0, "div", 72);
52753
+ i0.ɵɵelement(0, "div", 73);
52752
52754
  } if (rf & 2) {
52753
52755
  const ctx_r1 = i0.ɵɵnextContext(3);
52754
52756
  i0.ɵɵproperty("ngClass", ctx_r1.dividerClasses());
52755
52757
  } }
52756
52758
  function SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Template(rf, ctx) { if (rf & 1) {
52757
52759
  const _r9 = i0.ɵɵgetCurrentView();
52758
- i0.ɵɵelementStart(0, "symphiq-focus-area-question", 71);
52760
+ i0.ɵɵelementStart(0, "symphiq-focus-area-question", 72);
52759
52761
  i0.ɵɵlistener("statusChange", function SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Template_symphiq_focus_area_question_statusChange_0_listener($event) { const domain_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFocusAreaStatusChange(domain_r10, $event)); })("toolsClick", function SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Template_symphiq_focus_area_question_toolsClick_0_listener() { const domain_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFocusAreaToolsClick(domain_r10)); });
52760
52762
  i0.ɵɵelementEnd();
52761
- i0.ɵɵconditionalCreate(1, SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Conditional_1_Template, 1, 1, "div", 72);
52763
+ i0.ɵɵconditionalCreate(1, SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Conditional_1_Template, 1, 1, "div", 73);
52762
52764
  } if (rf & 2) {
52763
52765
  const domain_r10 = ctx.$implicit;
52764
- const ɵ$index_340_r11 = ctx.$index;
52766
+ const ɵ$index_342_r11 = ctx.$index;
52765
52767
  const ctx_r1 = i0.ɵɵnextContext(2);
52766
52768
  i0.ɵɵproperty("focusAreaDomain", domain_r10)("selectedStatus", ctx_r1.getFocusAreaStatus(domain_r10))("selectedTools", ctx_r1.getFocusAreaTools(domain_r10))("viewMode", ctx_r1.viewMode())("title", ctx_r1.getFocusAreaTitle(domain_r10))("description", ctx_r1.getFocusAreaDescription(domain_r10));
52767
52769
  i0.ɵɵadvance();
52768
- i0.ɵɵconditional(ɵ$index_340_r11 < ctx_r1.allFocusAreaDomains().length - 1 ? 1 : -1);
52770
+ i0.ɵɵconditional(ɵ$index_342_r11 < ctx_r1.allFocusAreaDomains().length - 1 ? 1 : -1);
52769
52771
  } }
52770
52772
  function SymphiqCreateAccountDashboardComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
52771
- i0.ɵɵelementStart(0, "div", 15)(1, "div", 18)(2, "div", 28)(3, "div", 69)(4, "div")(5, "h2", 20);
52773
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 18)(2, "div", 28)(3, "div", 70)(4, "div")(5, "h2", 20);
52772
52774
  i0.ɵɵtext(6, " Focus Areas ");
52773
52775
  i0.ɵɵelementEnd();
52774
52776
  i0.ɵɵelementStart(7, "p", 1);
52775
52777
  i0.ɵɵtext(8, " Tell us about your marketing and operational focus areas ");
52776
52778
  i0.ɵɵelementEnd()();
52777
- i0.ɵɵelementStart(9, "div", 70);
52779
+ i0.ɵɵelementStart(9, "div", 71);
52778
52780
  i0.ɵɵtext(10);
52779
52781
  i0.ɵɵelementEnd()()();
52780
52782
  i0.ɵɵelementStart(11, "div", 24);
@@ -52798,7 +52800,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_26_Template(rf, ctx)
52798
52800
  } }
52799
52801
  function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_3_Template(rf, ctx) { if (rf & 1) {
52800
52802
  const _r13 = i0.ɵɵgetCurrentView();
52801
- i0.ɵɵelementStart(0, "button", 77);
52803
+ i0.ɵɵelementStart(0, "button", 78);
52802
52804
  i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.focusAreasEditMode() ? ctx_r1.cancelFocusAreasEditMode() : ctx_r1.cancelEditMode()); });
52803
52805
  i0.ɵɵtext(1, " Cancel ");
52804
52806
  i0.ɵɵelementEnd();
@@ -52817,8 +52819,8 @@ function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_5_Con
52817
52819
  } }
52818
52820
  function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_5_Template(rf, ctx) { if (rf & 1) {
52819
52821
  i0.ɵɵnamespaceSVG();
52820
- i0.ɵɵelementStart(0, "svg", 78);
52821
- i0.ɵɵelement(1, "circle", 79)(2, "path", 80);
52822
+ i0.ɵɵelementStart(0, "svg", 79);
52823
+ i0.ɵɵelement(1, "circle", 80)(2, "path", 81);
52822
52824
  i0.ɵɵelementEnd();
52823
52825
  i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_5_Conditional_3_Template, 1, 0)(4, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_5_Conditional_4_Template, 1, 0)(5, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_5_Conditional_5_Template, 1, 0);
52824
52826
  } if (rf & 2) {
@@ -52838,8 +52840,8 @@ function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Con
52838
52840
  function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Template(rf, ctx) { if (rf & 1) {
52839
52841
  i0.ɵɵconditionalCreate(0, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Conditional_0_Template, 1, 0)(1, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Conditional_1_Template, 1, 0)(2, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Conditional_2_Template, 1, 0);
52840
52842
  i0.ɵɵnamespaceSVG();
52841
- i0.ɵɵelementStart(3, "svg", 81);
52842
- i0.ɵɵelement(4, "path", 82);
52843
+ i0.ɵɵelementStart(3, "svg", 82);
52844
+ i0.ɵɵelement(4, "path", 83);
52843
52845
  i0.ɵɵelementEnd();
52844
52846
  } if (rf & 2) {
52845
52847
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -52847,9 +52849,9 @@ function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Tem
52847
52849
  } }
52848
52850
  function SymphiqCreateAccountDashboardComponent_Conditional_28_Template(rf, ctx) { if (rf & 1) {
52849
52851
  const _r12 = i0.ɵɵgetCurrentView();
52850
- i0.ɵɵelementStart(0, "div", 17)(1, "div", 73)(2, "div", 74);
52851
- i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_3_Template, 2, 1, "button", 75);
52852
- i0.ɵɵelementStart(4, "button", 76);
52852
+ i0.ɵɵelementStart(0, "div", 17)(1, "div", 74)(2, "div", 75);
52853
+ i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_3_Template, 2, 1, "button", 76);
52854
+ i0.ɵɵelementStart(4, "button", 77);
52853
52855
  i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_28_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.focusAreasEditMode() ? ctx_r1.handleSaveFocusAreas() : ctx_r1.handleContinue()); });
52854
52856
  i0.ɵɵconditionalCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_5_Template, 6, 1)(6, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Template, 5, 1);
52855
52857
  i0.ɵɵelementEnd()()()();
@@ -52925,6 +52927,7 @@ class SymphiqCreateAccountDashboardComponent {
52925
52927
  this.isLoading = signal(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
52926
52928
  this.formChanged = signal(false, ...(ngDevMode ? [{ debugName: "formChanged" }] : []));
52927
52929
  this.originalFormValue = null;
52930
+ this.loadTime = Date.now();
52928
52931
  this.ShopPlatformEnum = ShopPlatformEnum;
52929
52932
  this.JourneyStepIdEnum = JourneyStepIdEnum;
52930
52933
  this.FocusAreaDomainEnum = FocusAreaDomainEnum;
@@ -52983,7 +52986,8 @@ class SymphiqCreateAccountDashboardComponent {
52983
52986
  shopUrl: ['', Validators.required],
52984
52987
  shopPlatform: [ShopPlatformEnum.SHOPIFY, Validators.required],
52985
52988
  otherPlatformName: [''],
52986
- companyName: ['', Validators.required]
52989
+ companyName: ['', Validators.required],
52990
+ website: ['']
52987
52991
  });
52988
52992
  this.initializeFocusAreasMap();
52989
52993
  effect(() => {
@@ -53094,6 +53098,12 @@ class SymphiqCreateAccountDashboardComponent {
53094
53098
  return true;
53095
53099
  }
53096
53100
  handleContinue() {
53101
+ if (this.accountForm.get('website')?.value) {
53102
+ return;
53103
+ }
53104
+ if (Date.now() - this.loadTime < 3000) {
53105
+ return;
53106
+ }
53097
53107
  if (this.accountForm.valid && this.allFocusAreasAnswered() && !this.isLoading()) {
53098
53108
  this.isLoading.set(true);
53099
53109
  const formData = {
@@ -53104,6 +53114,12 @@ class SymphiqCreateAccountDashboardComponent {
53104
53114
  }
53105
53115
  }
53106
53116
  handleSaveFocusAreas() {
53117
+ if (this.accountForm.get('website')?.value) {
53118
+ return;
53119
+ }
53120
+ if (Date.now() - this.loadTime < 3000) {
53121
+ return;
53122
+ }
53107
53123
  if (this.allFocusAreasAnswered() && !this.isLoading()) {
53108
53124
  this.isLoading.set(true);
53109
53125
  const formData = {
@@ -53127,7 +53143,8 @@ class SymphiqCreateAccountDashboardComponent {
53127
53143
  if (detail) {
53128
53144
  map.set(domain, {
53129
53145
  status: detail.status || null,
53130
- tools: detail.tools || []
53146
+ tools: detail.tools || [],
53147
+ id: detail.id
53131
53148
  });
53132
53149
  }
53133
53150
  else {
@@ -53140,11 +53157,15 @@ class SymphiqCreateAccountDashboardComponent {
53140
53157
  const details = [];
53141
53158
  this.focusAreasMap().forEach((value, domain) => {
53142
53159
  if (value.status !== null) {
53143
- details.push({
53160
+ const detail = {
53144
53161
  focusAreaDomain: domain,
53145
53162
  status: value.status,
53146
53163
  tools: value.tools
53147
- });
53164
+ };
53165
+ if (value.id !== undefined) {
53166
+ detail.id = value.id;
53167
+ }
53168
+ details.push(detail);
53148
53169
  }
53149
53170
  });
53150
53171
  return details;
@@ -53460,7 +53481,7 @@ class SymphiqCreateAccountDashboardComponent {
53460
53481
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.shopNameInput = _t.first);
53461
53482
  } }, hostBindings: function SymphiqCreateAccountDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
53462
53483
  i0.ɵɵlistener("scroll", function SymphiqCreateAccountDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
53463
- } }, inputs: { embedded: [1, "embedded"], parentHeaderOffset: [1, "parentHeaderOffset"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], accountData: [1, "accountData"], forDemo: [1, "forDemo"], showNextStepAction: [1, "showNextStepAction"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { onCreateAccount: "onCreateAccount", stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 29, vars: 51, consts: [["shopNameInput", ""], [3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "pb-32"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [3, "close", "save", "isOpen", "focusAreaDomain", "focusAreaTitle", "selectedTools", "viewMode"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-sm", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "hover:scale-105", "flex", "items-center", "gap-2", "cursor-pointer", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"], [1, "space-y-4"], [1, "block", "text-sm", "font-medium", "mb-1", 3, "ngClass"], [1, "text-base", 3, "ngClass"], ["target", "_blank", "rel", "noopener noreferrer", 1, "text-base", "hover:underline", 3, "href", "ngClass"], [1, "mb-6"], [1, "space-y-6", 3, "formGroup"], [1, "block", "text-sm", "font-semibold", "mb-2", 3, "ngClass"], [1, "text-red-500"], ["type", "text", "formControlName", "shopName", "placeholder", "Enter your shop name", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "mt-1", "text-sm", 3, "ngClass"], [1, "flex", "items-center"], [1, "px-4", "py-3", "rounded-l-lg", "border-2", "border-r-0", "text-sm", "font-medium", 3, "ngClass"], ["type", "text", "formControlName", "shopUrl", "placeholder", "yourshop.com", 1, "flex-1", "px-4", "py-3", "rounded-r-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "block", "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "gap-4"], [1, "cursor-pointer", 3, "ngClass"], ["type", "radio", "formControlName", "shopPlatform", 1, "sr-only", 3, "value"], [1, "flex", "items-center", "gap-3", "p-4", "rounded-lg", "border-2", "transition-all", "duration-200"], [1, "w-5", "h-5", "rounded-full", "border-2", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-current"], [1, "flex-1"], [1, "font-semibold", 3, "ngClass"], ["type", "text", "formControlName", "companyName", "placeholder", "Enter company name", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass", "readonly"], [1, "mt-2"], [1, "flex", "items-center", "gap-2", "cursor-pointer"], ["type", "checkbox", 1, "w-4", "h-4", "rounded", "border-2", "transition-all", "duration-200", 3, "change", "checked", "ngClass"], [1, "text-sm", 3, "ngClass"], ["type", "text", "formControlName", "otherPlatformName", "placeholder", "Enter platform name (e.g., WooCommerce, Magento)", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "text-base", "font-bold", "mb-3", "flex", "items-center", "gap-2", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "bg-emerald-500"], [1, "space-y-3"], [1, "p-4", "rounded-lg", "border-l-4", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-2"], [1, "font-semibold", "text-sm", 3, "ngClass"], [1, "px-2", "py-0.5", "rounded", "text-xs", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mt-2"], [1, "text-xs", "font-medium", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-1.5"], [1, "px-2", "py-0.5", "rounded", "text-xs", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "bg-blue-500"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "gap-3"], [1, "p-3", "rounded-lg", "border-l-4", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "bg-slate-400"], [1, "grid", "grid-cols-2", "sm:grid-cols-3", "gap-2"], [1, "p-2", "rounded", "text-center", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [3, "statusChange", "toolsClick", "focusAreaDomain", "selectedStatus", "selectedTools", "viewMode", "title", "description"], [1, "my-4", 3, "ngClass"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-3"], ["type", "button", 1, "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-2", "cursor-pointer", "hover:scale-105", 3, "ngClass"], ["type", "button", 1, "flex-1", "px-6", "py-4", "rounded-xl", "font-bold", "text-lg", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-3", "shadow-lg", 3, "click", "disabled", "ngClass"], ["type", "button", 1, "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-2", "cursor-pointer", "hover:scale-105", 3, "click", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "animate-spin"], ["cx", "12", "cy", "12", "r", "10", "stroke", "currentColor", "stroke-width", "4", 1, "opacity-25"], ["fill", "currentColor", "d", "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z", 1, "opacity-75"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqCreateAccountDashboardComponent_Template(rf, ctx) { if (rf & 1) {
53484
+ } }, inputs: { embedded: [1, "embedded"], parentHeaderOffset: [1, "parentHeaderOffset"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], accountData: [1, "accountData"], forDemo: [1, "forDemo"], showNextStepAction: [1, "showNextStepAction"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { onCreateAccount: "onCreateAccount", stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 29, vars: 51, consts: [["shopNameInput", ""], [3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "pb-32"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [3, "close", "save", "isOpen", "focusAreaDomain", "focusAreaTitle", "selectedTools", "viewMode"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-sm", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "hover:scale-105", "flex", "items-center", "gap-2", "cursor-pointer", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"], [1, "space-y-4"], [1, "block", "text-sm", "font-medium", "mb-1", 3, "ngClass"], [1, "text-base", 3, "ngClass"], ["target", "_blank", "rel", "noopener noreferrer", 1, "text-base", "hover:underline", 3, "href", "ngClass"], [1, "mb-6"], [1, "space-y-6", 3, "formGroup"], [1, "block", "text-sm", "font-semibold", "mb-2", 3, "ngClass"], [1, "text-red-500"], ["type", "text", "formControlName", "shopName", "placeholder", "Enter your shop name", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "mt-1", "text-sm", 3, "ngClass"], [1, "flex", "items-center"], [1, "px-4", "py-3", "rounded-l-lg", "border-2", "border-r-0", "text-sm", "font-medium", 3, "ngClass"], ["type", "text", "formControlName", "shopUrl", "placeholder", "yourshop.com", 1, "flex-1", "px-4", "py-3", "rounded-r-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "block", "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "gap-4"], [1, "cursor-pointer", 3, "ngClass"], ["type", "radio", "formControlName", "shopPlatform", 1, "sr-only", 3, "value"], [1, "flex", "items-center", "gap-3", "p-4", "rounded-lg", "border-2", "transition-all", "duration-200"], [1, "w-5", "h-5", "rounded-full", "border-2", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-current"], [1, "flex-1"], [1, "font-semibold", 3, "ngClass"], ["type", "text", "formControlName", "companyName", "placeholder", "Enter company name", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass", "readonly"], [1, "mt-2"], [1, "flex", "items-center", "gap-2", "cursor-pointer"], ["type", "checkbox", 1, "w-4", "h-4", "rounded", "border-2", "transition-all", "duration-200", 3, "change", "checked", "ngClass"], [1, "text-sm", 3, "ngClass"], ["formControlName", "website", "tabindex", "-1", "autocomplete", "off", 1, "absolute", "-left-[9999px]", "opacity-0"], ["type", "text", "formControlName", "otherPlatformName", "placeholder", "Enter platform name (e.g., WooCommerce, Magento)", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "text-base", "font-bold", "mb-3", "flex", "items-center", "gap-2", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "bg-emerald-500"], [1, "space-y-3"], [1, "p-4", "rounded-lg", "border-l-4", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-2"], [1, "font-semibold", "text-sm", 3, "ngClass"], [1, "px-2", "py-0.5", "rounded", "text-xs", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mt-2"], [1, "text-xs", "font-medium", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-1.5"], [1, "px-2", "py-0.5", "rounded", "text-xs", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "bg-blue-500"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "gap-3"], [1, "p-3", "rounded-lg", "border-l-4", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "bg-slate-400"], [1, "grid", "grid-cols-2", "sm:grid-cols-3", "gap-2"], [1, "p-2", "rounded", "text-center", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [3, "statusChange", "toolsClick", "focusAreaDomain", "selectedStatus", "selectedTools", "viewMode", "title", "description"], [1, "my-4", 3, "ngClass"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-3"], ["type", "button", 1, "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-2", "cursor-pointer", "hover:scale-105", 3, "ngClass"], ["type", "button", 1, "flex-1", "px-6", "py-4", "rounded-xl", "font-bold", "text-lg", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-3", "shadow-lg", 3, "click", "disabled", "ngClass"], ["type", "button", 1, "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-2", "cursor-pointer", "hover:scale-105", 3, "click", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "animate-spin"], ["cx", "12", "cy", "12", "r", "10", "stroke", "currentColor", "stroke-width", "4", 1, "opacity-25"], ["fill", "currentColor", "d", "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z", 1, "opacity-75"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqCreateAccountDashboardComponent_Template(rf, ctx) { if (rf & 1) {
53464
53485
  i0.ɵɵelementStart(0, "div", 1)(1, "div");
53465
53486
  i0.ɵɵelement(2, "div", 2);
53466
53487
  i0.ɵɵelementEnd();
@@ -53479,7 +53500,7 @@ class SymphiqCreateAccountDashboardComponent {
53479
53500
  i0.ɵɵelementEnd();
53480
53501
  i0.ɵɵelementStart(21, "main", 12)(22, "div", 13);
53481
53502
  i0.ɵɵconditionalCreate(23, SymphiqCreateAccountDashboardComponent_Conditional_23_Template, 34, 18, "div", 14);
53482
- i0.ɵɵconditionalCreate(24, SymphiqCreateAccountDashboardComponent_Conditional_24_Template, 61, 35, "div", 14);
53503
+ i0.ɵɵconditionalCreate(24, SymphiqCreateAccountDashboardComponent_Conditional_24_Template, 62, 35, "div", 14);
53483
53504
  i0.ɵɵconditionalCreate(25, SymphiqCreateAccountDashboardComponent_Conditional_25_Template, 15, 8, "div", 15);
53484
53505
  i0.ɵɵconditionalCreate(26, SymphiqCreateAccountDashboardComponent_Conditional_26_Template, 14, 7, "div", 15);
53485
53506
  i0.ɵɵelementEnd()();
@@ -53841,6 +53862,8 @@ class SymphiqCreateAccountDashboardComponent {
53841
53862
  </p>
53842
53863
  }
53843
53864
  </div>
53865
+
53866
+ <input formControlName="website" class="absolute -left-[9999px] opacity-0" tabindex="-1" autocomplete="off" />
53844
53867
  </form>
53845
53868
  </div>
53846
53869
  </div>
@@ -54063,7 +54086,7 @@ class SymphiqCreateAccountDashboardComponent {
54063
54086
  type: HostListener,
54064
54087
  args: ['window:scroll', ['$event']]
54065
54088
  }] }); })();
54066
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqCreateAccountDashboardComponent, { className: "SymphiqCreateAccountDashboardComponent", filePath: "lib/components/create-account-dashboard/symphiq-create-account-dashboard.component.ts", lineNumber: 623 }); })();
54089
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqCreateAccountDashboardComponent, { className: "SymphiqCreateAccountDashboardComponent", filePath: "lib/components/create-account-dashboard/symphiq-create-account-dashboard.component.ts", lineNumber: 625 }); })();
54067
54090
 
54068
54091
  class SymphiqConnectGaDashboardComponent {
54069
54092
  constructor() {
@@ -58138,11 +58161,11 @@ function SymphiqBusinessAnalysisDashboardComponent_Conditional_25_Template(rf, c
58138
58161
  i0.ɵɵconditionalCreate(0, SymphiqBusinessAnalysisDashboardComponent_Conditional_25_Conditional_0_Template, 1, 5, "symphiq-journey-progress-indicator", 27);
58139
58162
  i0.ɵɵelement(1, "symphiq-content-generation-progress", 28);
58140
58163
  } if (rf & 2) {
58141
- let tmp_3_0;
58164
+ let tmp_4_0;
58142
58165
  const ctx_r1 = i0.ɵɵnextContext();
58143
58166
  i0.ɵɵconditional(!ctx_r1.isOnboarded() ? 0 : -1);
58144
58167
  i0.ɵɵadvance();
58145
- i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("title", "We are generating a new Business Analysis for " + (((tmp_3_0 = ctx_r1.currentProfile()) == null ? null : tmp_3_0.profileStructured == null ? null : tmp_3_0.profileStructured.businessName) || "your business") + ".")("subtitle", "It will appear here when ready. You can check back later as this will take a few minutes to complete.");
58168
+ i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("itemStatus", ctx_r1.itemStatus())("title", "We are generating a new Business Analysis for " + (((tmp_4_0 = ctx_r1.currentProfile()) == null ? null : tmp_4_0.profileStructured == null ? null : tmp_4_0.profileStructured.businessName) || "your business") + ".")("subtitle", "It will appear here when ready. You can check back later as this will take a few minutes to complete.");
58146
58169
  } }
58147
58170
  function SymphiqBusinessAnalysisDashboardComponent_Conditional_26_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
58148
58171
  const _r6 = i0.ɵɵgetCurrentView();
@@ -58257,6 +58280,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
58257
58280
  this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
58258
58281
  this.forDemo = input(false, ...(ngDevMode ? [{ debugName: "forDemo" }] : []));
58259
58282
  this.maxAccessibleStepId = input(undefined, ...(ngDevMode ? [{ debugName: "maxAccessibleStepId" }] : []));
58283
+ this.itemStatus = input(...(ngDevMode ? [undefined, { debugName: "itemStatus" }] : []));
58260
58284
  this.stepClick = output();
58261
58285
  this.nextStepClick = output();
58262
58286
  this.JourneyStepIdEnum = JourneyStepIdEnum;
@@ -58721,7 +58745,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
58721
58745
  static { this.ɵfac = function SymphiqBusinessAnalysisDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqBusinessAnalysisDashboardComponent)(); }; }
58722
58746
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqBusinessAnalysisDashboardComponent, selectors: [["symphiq-business-analysis-dashboard"]], hostBindings: function SymphiqBusinessAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
58723
58747
  i0.ɵɵlistener("scroll", function SymphiqBusinessAnalysisDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow)("keydown", function SymphiqBusinessAnalysisDashboardComponent_keydown_HostBindingHandler($event) { return ctx.handleKeyDown($event); }, i0.ɵɵresolveDocument);
58724
- } }, inputs: { embedded: [1, "embedded"], profile: [1, "profile"], parentHeaderOffset: [1, "parentHeaderOffset"], requestedByUser: [1, "requestedByUser"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 35, vars: 59, 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, "flex", "items-center", "gap-2"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [1, "flex", "items-center", "gap-4"], [1, "flex", "items-center", "gap-2", "text-sm", "flex-shrink-0"], [1, "relative"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "viewMode", "embedded"], [3, "viewInContextRequested", "isLightMode"], [3, "searchChange", "resultSelected", "close", "isLightMode", "isOpen", "searchQuery", "results", "hasResults", "selectedIndex", "placeholder"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode", "isLoading"], [3, "searchClick", "isLightMode"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-3", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 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", "M15 12a3 3 0 11-6 0 3 3 0 016 0z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"], [1, "transition-opacity", "duration-300", 3, "ngClass"], [3, "searchClick", "isLightMode", "minimized"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-2", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "title", "subtitle"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "mb-8"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMoreClick", "recommendations", "viewMode"], [3, "sections", "viewMode"], [3, "section", "viewMode", "forceExpanded"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8"], [3, "viewMode", "subsections"]], template: function SymphiqBusinessAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
58748
+ } }, inputs: { embedded: [1, "embedded"], profile: [1, "profile"], parentHeaderOffset: [1, "parentHeaderOffset"], requestedByUser: [1, "requestedByUser"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 35, vars: 59, 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, "flex", "items-center", "gap-2"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [1, "flex", "items-center", "gap-4"], [1, "flex", "items-center", "gap-2", "text-sm", "flex-shrink-0"], [1, "relative"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "viewMode", "embedded"], [3, "viewInContextRequested", "isLightMode"], [3, "searchChange", "resultSelected", "close", "isLightMode", "isOpen", "searchQuery", "results", "hasResults", "selectedIndex", "placeholder"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode", "isLoading"], [3, "searchClick", "isLightMode"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-3", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 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", "M15 12a3 3 0 11-6 0 3 3 0 016 0z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"], [1, "transition-opacity", "duration-300", 3, "ngClass"], [3, "searchClick", "isLightMode", "minimized"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-2", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "itemStatus", "title", "subtitle"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "mb-8"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMoreClick", "recommendations", "viewMode"], [3, "sections", "viewMode"], [3, "section", "viewMode", "forceExpanded"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8"], [3, "viewMode", "subsections"]], template: function SymphiqBusinessAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
58725
58749
  i0.ɵɵelementStart(0, "div", 0)(1, "div");
58726
58750
  i0.ɵɵelement(2, "div", 1);
58727
58751
  i0.ɵɵelementEnd();
@@ -58742,7 +58766,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
58742
58766
  i0.ɵɵconditionalCreate(23, SymphiqBusinessAnalysisDashboardComponent_Conditional_23_Template, 5, 3);
58743
58767
  i0.ɵɵelementEnd()()()()();
58744
58768
  i0.ɵɵelementStart(24, "main", 13);
58745
- i0.ɵɵconditionalCreate(25, SymphiqBusinessAnalysisDashboardComponent_Conditional_25_Template, 2, 4)(26, SymphiqBusinessAnalysisDashboardComponent_Conditional_26_Template, 2, 1);
58769
+ i0.ɵɵconditionalCreate(25, SymphiqBusinessAnalysisDashboardComponent_Conditional_25_Template, 2, 5)(26, SymphiqBusinessAnalysisDashboardComponent_Conditional_26_Template, 2, 1);
58746
58770
  i0.ɵɵelementEnd();
58747
58771
  i0.ɵɵconditionalCreate(27, SymphiqBusinessAnalysisDashboardComponent_Conditional_27_Template, 1, 4, "symphiq-section-navigation", 14);
58748
58772
  i0.ɵɵconditionalCreate(28, SymphiqBusinessAnalysisDashboardComponent_Conditional_28_Template, 1, 4, "symphiq-floating-toc", 14);
@@ -58818,263 +58842,264 @@ class SymphiqBusinessAnalysisDashboardComponent {
58818
58842
  }
58819
58843
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqBusinessAnalysisDashboardComponent, [{
58820
58844
  type: Component,
58821
- args: [{ selector: 'symphiq-business-analysis-dashboard', standalone: true, imports: [CommonModule, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent, ContentGenerationProgressComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
58822
- <div [ngClass]="getContainerClasses()">
58823
- <!-- Scroll Progress Bar (fixed at top) -->
58824
- <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'">
58825
- <div
58826
- [style.width.%]="scrollProgress()"
58827
- [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
58828
- class="h-full transition-all duration-200 ease-out">
58829
- </div>
58830
- </div>
58831
-
58832
- <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>
58833
-
58834
- <div class="relative z-[51]">
58835
- <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
58836
- <!-- Expanded Header (default state) -->
58837
- <div
58838
- class="transition-all duration-300 ease-in-out overflow-hidden"
58839
- [class.max-h-0]="headerScrollService.isScrolled()"
58840
- [class.opacity-0]="headerScrollService.isScrolled()"
58841
- [class.max-h-96]="!headerScrollService.isScrolled()"
58842
- [class.opacity-100]="!headerScrollService.isScrolled()">
58843
- <div
58844
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
58845
- [class.pointer-events-none]="headerScrollService.isScrolled()"
58846
- [class.pointer-events-auto]="!headerScrollService.isScrolled()">
58847
- <div class="flex items-center justify-between">
58848
- <div>
58849
- <h1 [ngClass]="getMainTitleClasses()">
58850
- {{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
58851
- </h1>
58852
- <p [ngClass]="getSubtitleClasses()">
58853
- Business Profile & Analysis
58854
- </p>
58855
- </div>
58856
- @if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
58857
- <div class="flex items-center gap-2">
58858
- <symphiq-search-button
58859
- [isLightMode]="isLightMode()"
58860
- (searchClick)="openSearch()"
58861
- />
58862
- <button
58863
- type="button"
58864
- (click)="openViewModeSwitcher()"
58865
- [ngClass]="getViewModeButtonClasses()"
58866
- class="cursor-pointer flex items-center gap-2 px-3 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 hover:scale-105">
58867
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
58868
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
58869
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
58870
- </svg>
58871
- <span>{{ displayModeLabel() }}</span>
58872
- </button>
58873
- </div>
58874
- }
58875
- </div>
58876
- </div>
58877
- </div>
58878
-
58879
- <!-- Condensed Header (scrolled state) -->
58880
- <div
58881
- class="transition-all duration-300 ease-in-out overflow-hidden"
58882
- [class.max-h-0]="!headerScrollService.isScrolled()"
58883
- [class.opacity-0]="!headerScrollService.isScrolled()"
58884
- [class.max-h-20]="headerScrollService.isScrolled()"
58885
- [class.opacity-100]="headerScrollService.isScrolled()">
58886
- <div
58887
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
58888
- [class.pointer-events-none]="!headerScrollService.isScrolled()"
58889
- [class.pointer-events-auto]="headerScrollService.isScrolled()">
58890
- <div class="flex items-center justify-between">
58891
- <div class="flex-1 min-w-0 mr-4">
58892
- <h1 [ngClass]="isLightMode() ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent truncate' : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent truncate'">
58893
- {{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
58894
- </h1>
58895
- </div>
58896
- <div class="flex items-center gap-4">
58897
- @if (!isSimplifiedView()) {
58898
- <div class="flex items-center gap-2 text-sm flex-shrink-0">
58899
- <span [ngClass]="isLightMode() ? 'text-slate-600 font-medium' : 'text-slate-400 font-medium'" class="transition-opacity duration-300" [class.opacity-0]="sectionTitleFading()" [class.opacity-100]="!sectionTitleFading()">
58900
- {{ currentSectionTitle() }}
58901
- </span>
58902
- @if (currentSubsectionTitle()) {
58903
- <span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">›</span>
58904
- <span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">
58905
- {{ currentSubsectionTitle() }}
58906
- </span>
58907
- }
58908
- </div>
58909
- }
58910
- @if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
58911
- <symphiq-search-button
58912
- [isLightMode]="isLightMode()"
58913
- [minimized]="true"
58914
- (searchClick)="openSearch()"
58915
- />
58916
- <button
58917
- type="button"
58918
- (click)="openViewModeSwitcher()"
58919
- [ngClass]="getViewModeButtonClasses()"
58920
- class="cursor-pointer flex items-center gap-2 px-2 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 hover:scale-105">
58921
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
58922
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
58923
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
58924
- </svg>
58925
- </button>
58926
- }
58927
- </div>
58928
- </div>
58929
- </div>
58930
- </div>
58931
- </header>
58932
-
58933
- <main class="relative">
58934
- @if (isContentGenerating()) {
58935
- <!-- Journey Progress Banner (always show when not onboarded) -->
58936
- @if (!isOnboarded()) {
58937
- <symphiq-journey-progress-indicator
58938
- [viewMode]="viewMode()"
58939
- [currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
58940
- [showNextStepAction]="false"
58941
- [forDemo]="forDemo()"
58942
- [maxAccessibleStepId]="maxAccessibleStepId()"
58943
- (stepClick)="stepClick.emit($event)"
58944
- (nextStepClick)="nextStepClick.emit()"
58945
- />
58946
- }
58947
-
58948
- <!-- Content Generation Progress Component -->
58949
- <symphiq-content-generation-progress
58950
- [viewMode]="viewMode()"
58951
- [title]="'We are generating a new Business Analysis for ' + (currentProfile()?.profileStructured?.businessName || 'your business') + '.'"
58952
- [subtitle]="'It will appear here when ready. You can check back later as this will take a few minutes to complete.'"
58953
- />
58954
- } @else {
58955
- @if (isSimplifiedView()) {
58956
- <!-- Journey Progress Banner - Full Width Sticky (only show when not onboarded) -->
58957
- @if (!isOnboarded()) {
58958
- <symphiq-journey-progress-indicator
58959
- [viewMode]="viewMode()"
58960
- [currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
58961
- [showNextStepAction]="showNextStepAction()"
58962
- [forDemo]="forDemo()"
58963
- [maxAccessibleStepId]="maxAccessibleStepId()"
58964
- (stepClick)="stepClick.emit($event)"
58965
- (nextStepClick)="nextStepClick.emit()"
58966
- />
58967
- }
58968
-
58969
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
58970
- <div class="mb-8">
58971
- <symphiq-welcome-banner
58972
- [viewMode]="viewMode()"
58973
- [businessName]="currentProfile()?.profileStructured?.businessName || 'your business'"
58974
- [isOnboarded]="isOnboarded()"
58975
- />
58976
- </div>
58977
-
58978
- <div class="mb-8">
58979
- <symphiq-recommendations-tiled-grid
58980
- [recommendations]="recommendationItems()"
58981
- [viewMode]="viewMode()"
58982
- (viewMoreClick)="openRecommendationDetailsModal($event)"
58983
- />
58984
- </div>
58985
-
58986
- <div>
58987
- <symphiq-collapsible-section-group
58988
- [sections]="nonRecommendationSections()"
58989
- [viewMode]="viewMode()"
58990
- />
58991
- </div>
58992
- </div>
58993
- } @else {
58994
- @for (section of sections(); track trackBySectionId($index, section); let idx = $index; let last = $last) {
58995
- <symphiq-profile-section
58996
- [section]="section"
58997
- [viewMode]="viewMode()"
58998
- [forceExpanded]="!isCompactView()"
58999
- />
59000
- @if (!last) {
59001
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
59002
- <symphiq-section-divider
59003
- [viewMode]="viewMode()"
59004
- [subsections]="sections()[idx + 1].subsections || []" />
59005
- </div>
59006
- }
59007
- }
59008
- }
59009
- }
59010
- </main>
59011
-
59012
- @if (!isSimplifiedView()) {
59013
- <symphiq-section-navigation
59014
- [sections]="sections()"
59015
- [viewMode]="viewMode()"
59016
- [embedded]="embedded()"
59017
- [scrollElement]="scrollElement() ?? undefined"
59018
- />
59019
- }
59020
-
59021
- @if (!isSimplifiedView()) {
59022
- <symphiq-floating-toc
59023
- [sections]="sections()"
59024
- [viewMode]="viewMode()"
59025
- [embedded]="embedded()"
59026
- [scrollElement]="scrollElement() ?? undefined"
59027
- />
59028
- }
59029
-
59030
- <symphiq-floating-back-button
59031
- [viewMode]="viewMode()"
59032
- [embedded]="embedded()"
59033
- />
59034
- </div>
59035
-
59036
- @if (isLoading()) {
59037
- <div [ngClass]="getLoadingOverlayClasses()">
59038
- <div [ngClass]="getSpinnerClasses()"></div>
59039
- </div>
59040
- }
59041
-
59042
- <symphiq-tooltip-container />
59043
- <symphiq-business-analysis-modal
59044
- [isLightMode]="isLightMode()"
59045
- (viewInContextRequested)="handleViewInContext($event)" />
59046
-
59047
- <symphiq-search-modal
59048
- [isLightMode]="isLightMode()"
59049
- [isOpen]="searchService.isSearchOpen()"
59050
- [searchQuery]="searchService.getSearchQuery()"
59051
- [results]="searchService.searchResults()"
59052
- [hasResults]="searchService.hasResults()"
59053
- [selectedIndex]="selectedSearchIndex()"
59054
- [placeholder]="'Search sections, items, and analysis...'"
59055
- (searchChange)="onSearchChange($event)"
59056
- (resultSelected)="onSearchResultSelected($event)"
59057
- (close)="closeSearch()"
59058
- />
59059
-
59060
- <symphiq-view-mode-switcher-modal
59061
- [isOpen]="isViewModeSwitcherOpen()"
59062
- [currentMode]="displayMode()"
59063
- [viewMode]="viewMode()"
59064
- [isLoading]="isViewModeSwitching()"
59065
- (close)="closeViewModeSwitcher()"
59066
- (modeSelected)="handleDisplayModeChange($event)"
59067
- />
59068
- </div>
58845
+ args: [{ selector: 'symphiq-business-analysis-dashboard', standalone: true, imports: [CommonModule, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent, ContentGenerationProgressComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
58846
+ <div [ngClass]="getContainerClasses()">
58847
+ <!-- Scroll Progress Bar (fixed at top) -->
58848
+ <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'">
58849
+ <div
58850
+ [style.width.%]="scrollProgress()"
58851
+ [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
58852
+ class="h-full transition-all duration-200 ease-out">
58853
+ </div>
58854
+ </div>
58855
+
58856
+ <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>
58857
+
58858
+ <div class="relative z-[51]">
58859
+ <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
58860
+ <!-- Expanded Header (default state) -->
58861
+ <div
58862
+ class="transition-all duration-300 ease-in-out overflow-hidden"
58863
+ [class.max-h-0]="headerScrollService.isScrolled()"
58864
+ [class.opacity-0]="headerScrollService.isScrolled()"
58865
+ [class.max-h-96]="!headerScrollService.isScrolled()"
58866
+ [class.opacity-100]="!headerScrollService.isScrolled()">
58867
+ <div
58868
+ class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
58869
+ [class.pointer-events-none]="headerScrollService.isScrolled()"
58870
+ [class.pointer-events-auto]="!headerScrollService.isScrolled()">
58871
+ <div class="flex items-center justify-between">
58872
+ <div>
58873
+ <h1 [ngClass]="getMainTitleClasses()">
58874
+ {{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
58875
+ </h1>
58876
+ <p [ngClass]="getSubtitleClasses()">
58877
+ Business Profile & Analysis
58878
+ </p>
58879
+ </div>
58880
+ @if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
58881
+ <div class="flex items-center gap-2">
58882
+ <symphiq-search-button
58883
+ [isLightMode]="isLightMode()"
58884
+ (searchClick)="openSearch()"
58885
+ />
58886
+ <button
58887
+ type="button"
58888
+ (click)="openViewModeSwitcher()"
58889
+ [ngClass]="getViewModeButtonClasses()"
58890
+ class="cursor-pointer flex items-center gap-2 px-3 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 hover:scale-105">
58891
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
58892
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
58893
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
58894
+ </svg>
58895
+ <span>{{ displayModeLabel() }}</span>
58896
+ </button>
58897
+ </div>
58898
+ }
58899
+ </div>
58900
+ </div>
58901
+ </div>
58902
+
58903
+ <!-- Condensed Header (scrolled state) -->
58904
+ <div
58905
+ class="transition-all duration-300 ease-in-out overflow-hidden"
58906
+ [class.max-h-0]="!headerScrollService.isScrolled()"
58907
+ [class.opacity-0]="!headerScrollService.isScrolled()"
58908
+ [class.max-h-20]="headerScrollService.isScrolled()"
58909
+ [class.opacity-100]="headerScrollService.isScrolled()">
58910
+ <div
58911
+ class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
58912
+ [class.pointer-events-none]="!headerScrollService.isScrolled()"
58913
+ [class.pointer-events-auto]="headerScrollService.isScrolled()">
58914
+ <div class="flex items-center justify-between">
58915
+ <div class="flex-1 min-w-0 mr-4">
58916
+ <h1 [ngClass]="isLightMode() ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent truncate' : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent truncate'">
58917
+ {{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
58918
+ </h1>
58919
+ </div>
58920
+ <div class="flex items-center gap-4">
58921
+ @if (!isSimplifiedView()) {
58922
+ <div class="flex items-center gap-2 text-sm flex-shrink-0">
58923
+ <span [ngClass]="isLightMode() ? 'text-slate-600 font-medium' : 'text-slate-400 font-medium'" class="transition-opacity duration-300" [class.opacity-0]="sectionTitleFading()" [class.opacity-100]="!sectionTitleFading()">
58924
+ {{ currentSectionTitle() }}
58925
+ </span>
58926
+ @if (currentSubsectionTitle()) {
58927
+ <span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">›</span>
58928
+ <span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">
58929
+ {{ currentSubsectionTitle() }}
58930
+ </span>
58931
+ }
58932
+ </div>
58933
+ }
58934
+ @if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
58935
+ <symphiq-search-button
58936
+ [isLightMode]="isLightMode()"
58937
+ [minimized]="true"
58938
+ (searchClick)="openSearch()"
58939
+ />
58940
+ <button
58941
+ type="button"
58942
+ (click)="openViewModeSwitcher()"
58943
+ [ngClass]="getViewModeButtonClasses()"
58944
+ class="cursor-pointer flex items-center gap-2 px-2 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 hover:scale-105">
58945
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
58946
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
58947
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
58948
+ </svg>
58949
+ </button>
58950
+ }
58951
+ </div>
58952
+ </div>
58953
+ </div>
58954
+ </div>
58955
+ </header>
58956
+
58957
+ <main class="relative">
58958
+ @if (isContentGenerating()) {
58959
+ <!-- Journey Progress Banner (always show when not onboarded) -->
58960
+ @if (!isOnboarded()) {
58961
+ <symphiq-journey-progress-indicator
58962
+ [viewMode]="viewMode()"
58963
+ [currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
58964
+ [showNextStepAction]="false"
58965
+ [forDemo]="forDemo()"
58966
+ [maxAccessibleStepId]="maxAccessibleStepId()"
58967
+ (stepClick)="stepClick.emit($event)"
58968
+ (nextStepClick)="nextStepClick.emit()"
58969
+ />
58970
+ }
58971
+
58972
+ <!-- Content Generation Progress Component -->
58973
+ <symphiq-content-generation-progress
58974
+ [viewMode]="viewMode()"
58975
+ [itemStatus]="itemStatus()"
58976
+ [title]="'We are generating a new Business Analysis for ' + (currentProfile()?.profileStructured?.businessName || 'your business') + '.'"
58977
+ [subtitle]="'It will appear here when ready. You can check back later as this will take a few minutes to complete.'"
58978
+ />
58979
+ } @else {
58980
+ @if (isSimplifiedView()) {
58981
+ <!-- Journey Progress Banner - Full Width Sticky (only show when not onboarded) -->
58982
+ @if (!isOnboarded()) {
58983
+ <symphiq-journey-progress-indicator
58984
+ [viewMode]="viewMode()"
58985
+ [currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
58986
+ [showNextStepAction]="showNextStepAction()"
58987
+ [forDemo]="forDemo()"
58988
+ [maxAccessibleStepId]="maxAccessibleStepId()"
58989
+ (stepClick)="stepClick.emit($event)"
58990
+ (nextStepClick)="nextStepClick.emit()"
58991
+ />
58992
+ }
58993
+
58994
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
58995
+ <div class="mb-8">
58996
+ <symphiq-welcome-banner
58997
+ [viewMode]="viewMode()"
58998
+ [businessName]="currentProfile()?.profileStructured?.businessName || 'your business'"
58999
+ [isOnboarded]="isOnboarded()"
59000
+ />
59001
+ </div>
59002
+
59003
+ <div class="mb-8">
59004
+ <symphiq-recommendations-tiled-grid
59005
+ [recommendations]="recommendationItems()"
59006
+ [viewMode]="viewMode()"
59007
+ (viewMoreClick)="openRecommendationDetailsModal($event)"
59008
+ />
59009
+ </div>
59010
+
59011
+ <div>
59012
+ <symphiq-collapsible-section-group
59013
+ [sections]="nonRecommendationSections()"
59014
+ [viewMode]="viewMode()"
59015
+ />
59016
+ </div>
59017
+ </div>
59018
+ } @else {
59019
+ @for (section of sections(); track trackBySectionId($index, section); let idx = $index; let last = $last) {
59020
+ <symphiq-profile-section
59021
+ [section]="section"
59022
+ [viewMode]="viewMode()"
59023
+ [forceExpanded]="!isCompactView()"
59024
+ />
59025
+ @if (!last) {
59026
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
59027
+ <symphiq-section-divider
59028
+ [viewMode]="viewMode()"
59029
+ [subsections]="sections()[idx + 1].subsections || []" />
59030
+ </div>
59031
+ }
59032
+ }
59033
+ }
59034
+ }
59035
+ </main>
59036
+
59037
+ @if (!isSimplifiedView()) {
59038
+ <symphiq-section-navigation
59039
+ [sections]="sections()"
59040
+ [viewMode]="viewMode()"
59041
+ [embedded]="embedded()"
59042
+ [scrollElement]="scrollElement() ?? undefined"
59043
+ />
59044
+ }
59045
+
59046
+ @if (!isSimplifiedView()) {
59047
+ <symphiq-floating-toc
59048
+ [sections]="sections()"
59049
+ [viewMode]="viewMode()"
59050
+ [embedded]="embedded()"
59051
+ [scrollElement]="scrollElement() ?? undefined"
59052
+ />
59053
+ }
59054
+
59055
+ <symphiq-floating-back-button
59056
+ [viewMode]="viewMode()"
59057
+ [embedded]="embedded()"
59058
+ />
59059
+ </div>
59060
+
59061
+ @if (isLoading()) {
59062
+ <div [ngClass]="getLoadingOverlayClasses()">
59063
+ <div [ngClass]="getSpinnerClasses()"></div>
59064
+ </div>
59065
+ }
59066
+
59067
+ <symphiq-tooltip-container />
59068
+ <symphiq-business-analysis-modal
59069
+ [isLightMode]="isLightMode()"
59070
+ (viewInContextRequested)="handleViewInContext($event)" />
59071
+
59072
+ <symphiq-search-modal
59073
+ [isLightMode]="isLightMode()"
59074
+ [isOpen]="searchService.isSearchOpen()"
59075
+ [searchQuery]="searchService.getSearchQuery()"
59076
+ [results]="searchService.searchResults()"
59077
+ [hasResults]="searchService.hasResults()"
59078
+ [selectedIndex]="selectedSearchIndex()"
59079
+ [placeholder]="'Search sections, items, and analysis...'"
59080
+ (searchChange)="onSearchChange($event)"
59081
+ (resultSelected)="onSearchResultSelected($event)"
59082
+ (close)="closeSearch()"
59083
+ />
59084
+
59085
+ <symphiq-view-mode-switcher-modal
59086
+ [isOpen]="isViewModeSwitcherOpen()"
59087
+ [currentMode]="displayMode()"
59088
+ [viewMode]="viewMode()"
59089
+ [isLoading]="isViewModeSwitching()"
59090
+ (close)="closeViewModeSwitcher()"
59091
+ (modeSelected)="handleDisplayModeChange($event)"
59092
+ />
59093
+ </div>
59069
59094
  `, styles: [":host{display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-highlight{0%,to{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.02);box-shadow:0 0 20px 8px #3b82f64d}}:host ::ng-deep .search-highlight-pulse{animation:pulse-highlight 2s ease-in-out;border-color:#3b82f6!important}\n"] }]
59070
- }], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], profile: [{ type: i0.Input, args: [{ isSignal: true, alias: "profile", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], onScroll: [{
59095
+ }], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], profile: [{ type: i0.Input, args: [{ isSignal: true, alias: "profile", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], itemStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatus", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], onScroll: [{
59071
59096
  type: HostListener,
59072
59097
  args: ['window:scroll', ['$event']]
59073
59098
  }], handleKeyDown: [{
59074
59099
  type: HostListener,
59075
59100
  args: ['document:keydown', ['$event']]
59076
59101
  }] }); })();
59077
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 331 }); })();
59102
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 333 }); })();
59078
59103
 
59079
59104
  function DashboardHeaderComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
59080
59105
  i0.ɵɵelement(0, "div", 6);