@eric-emg/symphiq-components 1.2.518 → 1.2.520

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.
@@ -2063,12 +2063,23 @@ class HeaderScrollService {
2063
2063
  this.consecutiveDirectionCount = 0;
2064
2064
  if (finalDesiredState) {
2065
2065
  const beforeScroll = window.scrollY;
2066
- window.scrollBy(0, this.HEADER_HEIGHT_DIFF);
2067
- this.log('Scroll compensation applied', {
2068
- before: beforeScroll,
2069
- after: window.scrollY,
2070
- compensation: this.HEADER_HEIGHT_DIFF
2071
- });
2066
+ const windowHeight = window.innerHeight;
2067
+ const documentHeight = document.documentElement.scrollHeight;
2068
+ const maxScroll = documentHeight - windowHeight - this.HEADER_HEIGHT_DIFF;
2069
+ if (beforeScroll < maxScroll) {
2070
+ window.scrollBy(0, this.HEADER_HEIGHT_DIFF);
2071
+ this.log('Scroll compensation applied', {
2072
+ before: beforeScroll,
2073
+ after: window.scrollY,
2074
+ compensation: this.HEADER_HEIGHT_DIFF
2075
+ });
2076
+ }
2077
+ else {
2078
+ this.log('Scroll compensation skipped - near bottom of page', {
2079
+ beforeScroll,
2080
+ maxScroll
2081
+ });
2082
+ }
2072
2083
  }
2073
2084
  setTimeout(() => {
2074
2085
  this.isProgrammaticScroll = false;
@@ -2113,12 +2124,25 @@ class HeaderScrollService {
2113
2124
  this.consecutiveDirectionCount = 0;
2114
2125
  if (desiredState) {
2115
2126
  const beforeScroll = window.scrollY;
2116
- window.scrollBy(0, this.HEADER_HEIGHT_DIFF);
2117
- this.log('Scroll compensation applied', {
2118
- before: beforeScroll,
2119
- after: window.scrollY,
2120
- compensation: this.HEADER_HEIGHT_DIFF
2121
- });
2127
+ const windowHeight = window.innerHeight;
2128
+ const documentHeight = document.documentElement.scrollHeight;
2129
+ const maxScroll = documentHeight - windowHeight - this.HEADER_HEIGHT_DIFF;
2130
+ if (beforeScroll < maxScroll) {
2131
+ window.scrollBy(0, this.HEADER_HEIGHT_DIFF);
2132
+ this.log('Scroll compensation applied', {
2133
+ before: beforeScroll,
2134
+ after: window.scrollY,
2135
+ compensation: this.HEADER_HEIGHT_DIFF
2136
+ });
2137
+ }
2138
+ else {
2139
+ this.log('Scroll compensation skipped - near bottom of page', {
2140
+ beforeScroll,
2141
+ maxScroll,
2142
+ documentHeight,
2143
+ windowHeight
2144
+ });
2145
+ }
2122
2146
  }
2123
2147
  setTimeout(() => {
2124
2148
  this.isProgrammaticScroll = false;
@@ -52488,15 +52512,469 @@ class FocusAreaToolsModalComponent {
52488
52512
  }] }); })();
52489
52513
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaToolsModalComponent, { className: "FocusAreaToolsModalComponent", filePath: "lib/components/create-account-dashboard/focus-area-tools-modal.component.ts", lineNumber: 149 }); })();
52490
52514
 
52515
+ function SearchButtonComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
52516
+ i0.ɵɵelementStart(0, "span");
52517
+ i0.ɵɵtext(1, "Search");
52518
+ i0.ɵɵelementEnd();
52519
+ } }
52520
+ class SearchButtonComponent {
52521
+ constructor() {
52522
+ this.isLightMode = input(false, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
52523
+ this.minimized = input(false, ...(ngDevMode ? [{ debugName: "minimized" }] : []));
52524
+ this.title = input('Search (/ or Cmd+K)', ...(ngDevMode ? [{ debugName: "title" }] : []));
52525
+ this.searchClick = output();
52526
+ this.buttonClass = computed(() => {
52527
+ if (this.isLightMode()) {
52528
+ return 'bg-slate-100 text-slate-700 hover:bg-slate-200 hover:text-slate-900';
52529
+ }
52530
+ return 'bg-slate-800 text-slate-300 hover:bg-slate-700 hover:text-white';
52531
+ }, ...(ngDevMode ? [{ debugName: "buttonClass" }] : []));
52532
+ }
52533
+ static { this.ɵfac = function SearchButtonComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchButtonComponent)(); }; }
52534
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchButtonComponent, selectors: [["symphiq-search-button"]], inputs: { isLightMode: [1, "isLightMode"], minimized: [1, "minimized"], title: [1, "title"] }, outputs: { searchClick: "searchClick" }, decls: 4, vars: 9, consts: [["type", "button", 3, "click", "ngClass", "title"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"]], template: function SearchButtonComponent_Template(rf, ctx) { if (rf & 1) {
52535
+ i0.ɵɵelementStart(0, "button", 0);
52536
+ i0.ɵɵlistener("click", function SearchButtonComponent_Template_button_click_0_listener() { return ctx.searchClick.emit(); });
52537
+ i0.ɵɵnamespaceSVG();
52538
+ i0.ɵɵelementStart(1, "svg", 1);
52539
+ i0.ɵɵelement(2, "path", 2);
52540
+ i0.ɵɵelementEnd();
52541
+ i0.ɵɵconditionalCreate(3, SearchButtonComponent_Conditional_3_Template, 2, 0, "span");
52542
+ i0.ɵɵelementEnd();
52543
+ } if (rf & 2) {
52544
+ i0.ɵɵclassMap(ctx.minimized() ? "cursor-pointer p-2 rounded-lg transition-all duration-200 hover:scale-110" : "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");
52545
+ i0.ɵɵproperty("ngClass", ctx.buttonClass())("title", ctx.title());
52546
+ i0.ɵɵadvance();
52547
+ i0.ɵɵclassProp("w-5", ctx.minimized())("h-5", ctx.minimized());
52548
+ i0.ɵɵadvance(2);
52549
+ i0.ɵɵconditional(!ctx.minimized() ? 3 : -1);
52550
+ } }, dependencies: [CommonModule, i1$1.NgClass], styles: ["[_nghost-%COMP%]{display:contents}"], changeDetection: 0 }); }
52551
+ }
52552
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchButtonComponent, [{
52553
+ type: Component,
52554
+ args: [{ selector: 'symphiq-search-button', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], template: `
52555
+ <button
52556
+ type="button"
52557
+ (click)="searchClick.emit()"
52558
+ [ngClass]="buttonClass()"
52559
+ [title]="title()"
52560
+ [class]="minimized() ? 'cursor-pointer p-2 rounded-lg transition-all duration-200 hover:scale-110' : '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'">
52561
+ <svg class="w-4 h-4" [class.w-5]="minimized()" [class.h-5]="minimized()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
52562
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
52563
+ </svg>
52564
+ @if (!minimized()) {
52565
+ <span>Search</span>
52566
+ }
52567
+ </button>
52568
+ `, styles: [":host{display:contents}\n"] }]
52569
+ }], null, { isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], minimized: [{ type: i0.Input, args: [{ isSignal: true, alias: "minimized", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], searchClick: [{ type: i0.Output, args: ["searchClick"] }] }); })();
52570
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchButtonComponent, { className: "SearchButtonComponent", filePath: "lib/components/shared/search-button.component.ts", lineNumber: 30 }); })();
52571
+
52572
+ function DashboardHeaderComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
52573
+ i0.ɵɵelement(0, "div", 6);
52574
+ } }
52575
+ function DashboardHeaderComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
52576
+ const _r1 = i0.ɵɵgetCurrentView();
52577
+ i0.ɵɵelementStart(0, "div", 7)(1, "symphiq-search-button", 16);
52578
+ i0.ɵɵlistener("searchClick", function DashboardHeaderComponent_Conditional_11_Template_symphiq_search_button_searchClick_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSearchClick()); });
52579
+ i0.ɵɵelementEnd();
52580
+ i0.ɵɵelementStart(2, "button", 17);
52581
+ i0.ɵɵlistener("click", function DashboardHeaderComponent_Conditional_11_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onViewModeClick()); });
52582
+ i0.ɵɵnamespaceSVG();
52583
+ i0.ɵɵelementStart(3, "svg", 18);
52584
+ i0.ɵɵelement(4, "path", 19)(5, "path", 20);
52585
+ i0.ɵɵelementEnd();
52586
+ i0.ɵɵnamespaceHTML();
52587
+ i0.ɵɵelementStart(6, "span");
52588
+ i0.ɵɵtext(7);
52589
+ i0.ɵɵelementEnd()()();
52590
+ } if (rf & 2) {
52591
+ const ctx_r1 = i0.ɵɵnextContext();
52592
+ i0.ɵɵadvance();
52593
+ i0.ɵɵproperty("isLightMode", ctx_r1.isLightMode());
52594
+ i0.ɵɵadvance();
52595
+ i0.ɵɵproperty("ngClass", ctx_r1.getViewModeButtonClasses());
52596
+ i0.ɵɵadvance(5);
52597
+ i0.ɵɵtextInterpolate(ctx_r1.viewModeLabel());
52598
+ } }
52599
+ function DashboardHeaderComponent_Conditional_12_Conditional_1_Template(rf, ctx) { if (rf & 1) {
52600
+ i0.ɵɵelementStart(0, "div", 21)(1, "div", 22);
52601
+ i0.ɵɵtext(2, "Generated At");
52602
+ i0.ɵɵelementEnd();
52603
+ i0.ɵɵelementStart(3, "div", 23);
52604
+ i0.ɵɵtext(4);
52605
+ i0.ɵɵelementEnd()();
52606
+ } if (rf & 2) {
52607
+ const ctx_r1 = i0.ɵɵnextContext(2);
52608
+ i0.ɵɵadvance();
52609
+ i0.ɵɵclassMap(ctx_r1.metaLabelClass());
52610
+ i0.ɵɵadvance(2);
52611
+ i0.ɵɵclassMap(ctx_r1.headerTitleClass());
52612
+ i0.ɵɵadvance();
52613
+ i0.ɵɵtextInterpolate(ctx_r1.formattedGeneratedDate());
52614
+ } }
52615
+ function DashboardHeaderComponent_Conditional_12_Conditional_2_Template(rf, ctx) { if (rf & 1) {
52616
+ i0.ɵɵelementStart(0, "div", 21)(1, "div", 22);
52617
+ i0.ɵɵtext(2, "Requested by");
52618
+ i0.ɵɵelementEnd();
52619
+ i0.ɵɵelementStart(3, "div", 23);
52620
+ i0.ɵɵtext(4);
52621
+ i0.ɵɵelementEnd()();
52622
+ } if (rf & 2) {
52623
+ let tmp_4_0;
52624
+ const ctx_r1 = i0.ɵɵnextContext(2);
52625
+ i0.ɵɵadvance();
52626
+ i0.ɵɵclassMap(ctx_r1.metaLabelClass());
52627
+ i0.ɵɵadvance(2);
52628
+ i0.ɵɵclassMap(ctx_r1.headerTitleClass());
52629
+ i0.ɵɵadvance();
52630
+ i0.ɵɵtextInterpolate2("", (tmp_4_0 = ctx_r1.requestedByUser()) == null ? null : tmp_4_0.firstName, " ", (tmp_4_0 = ctx_r1.requestedByUser()) == null ? null : tmp_4_0.lastName);
52631
+ } }
52632
+ function DashboardHeaderComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
52633
+ i0.ɵɵelementStart(0, "div", 8);
52634
+ i0.ɵɵconditionalCreate(1, DashboardHeaderComponent_Conditional_12_Conditional_1_Template, 5, 5, "div", 21);
52635
+ i0.ɵɵconditionalCreate(2, DashboardHeaderComponent_Conditional_12_Conditional_2_Template, 5, 6, "div", 21);
52636
+ i0.ɵɵelementEnd();
52637
+ } if (rf & 2) {
52638
+ const ctx_r1 = i0.ɵɵnextContext();
52639
+ i0.ɵɵadvance();
52640
+ i0.ɵɵconditional(ctx_r1.formattedGeneratedDate() ? 1 : -1);
52641
+ i0.ɵɵadvance();
52642
+ i0.ɵɵconditional(ctx_r1.requestedByUser() ? 2 : -1);
52643
+ } }
52644
+ function DashboardHeaderComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
52645
+ i0.ɵɵelementStart(0, "span", 24);
52646
+ i0.ɵɵtext(1, "\u2014");
52647
+ i0.ɵɵelementEnd();
52648
+ i0.ɵɵelementStart(2, "span", 25);
52649
+ i0.ɵɵtext(3);
52650
+ i0.ɵɵelementEnd();
52651
+ } if (rf & 2) {
52652
+ const ctx_r1 = i0.ɵɵnextContext();
52653
+ i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-400" : "text-slate-500");
52654
+ i0.ɵɵadvance(2);
52655
+ i0.ɵɵproperty("ngClass", ctx_r1.getCondensedSubtitleClasses());
52656
+ i0.ɵɵadvance();
52657
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.subtitle(), " ");
52658
+ } }
52659
+ function DashboardHeaderComponent_Conditional_21_Conditional_3_Template(rf, ctx) { if (rf & 1) {
52660
+ i0.ɵɵelementStart(0, "span", 26);
52661
+ i0.ɵɵtext(1, "\u203A");
52662
+ i0.ɵɵelementEnd();
52663
+ i0.ɵɵelementStart(2, "span", 26);
52664
+ i0.ɵɵtext(3);
52665
+ i0.ɵɵelementEnd();
52666
+ } if (rf & 2) {
52667
+ const ctx_r1 = i0.ɵɵnextContext(2);
52668
+ i0.ɵɵclassProp("opacity-0", ctx_r1.subsectionFading())("opacity-100", !ctx_r1.subsectionFading());
52669
+ i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-400" : "text-slate-500");
52670
+ i0.ɵɵadvance(2);
52671
+ i0.ɵɵclassProp("opacity-0", ctx_r1.subsectionFading())("opacity-100", !ctx_r1.subsectionFading());
52672
+ i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-500" : "text-slate-500");
52673
+ i0.ɵɵadvance();
52674
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.currentSubsection(), " ");
52675
+ } }
52676
+ function DashboardHeaderComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
52677
+ i0.ɵɵelementStart(0, "div", 15)(1, "span", 26);
52678
+ i0.ɵɵtext(2);
52679
+ i0.ɵɵelementEnd();
52680
+ i0.ɵɵconditionalCreate(3, DashboardHeaderComponent_Conditional_21_Conditional_3_Template, 4, 11);
52681
+ i0.ɵɵelementEnd();
52682
+ } if (rf & 2) {
52683
+ const ctx_r1 = i0.ɵɵnextContext();
52684
+ i0.ɵɵadvance();
52685
+ i0.ɵɵclassProp("opacity-0", ctx_r1.sectionFading())("opacity-100", !ctx_r1.sectionFading());
52686
+ i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-600 font-medium" : "text-slate-400 font-medium");
52687
+ i0.ɵɵadvance();
52688
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.currentSection(), " ");
52689
+ i0.ɵɵadvance();
52690
+ i0.ɵɵconditional(ctx_r1.currentSubsection() ? 3 : -1);
52691
+ } }
52692
+ function DashboardHeaderComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
52693
+ const _r3 = i0.ɵɵgetCurrentView();
52694
+ i0.ɵɵelementStart(0, "symphiq-search-button", 27);
52695
+ i0.ɵɵlistener("searchClick", function DashboardHeaderComponent_Conditional_22_Template_symphiq_search_button_searchClick_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSearchClick()); });
52696
+ i0.ɵɵelementEnd();
52697
+ i0.ɵɵelementStart(1, "button", 28);
52698
+ i0.ɵɵlistener("click", function DashboardHeaderComponent_Conditional_22_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onViewModeClick()); });
52699
+ i0.ɵɵnamespaceSVG();
52700
+ i0.ɵɵelementStart(2, "svg", 18);
52701
+ i0.ɵɵelement(3, "path", 19)(4, "path", 20);
52702
+ i0.ɵɵelementEnd()();
52703
+ } if (rf & 2) {
52704
+ const ctx_r1 = i0.ɵɵnextContext();
52705
+ i0.ɵɵproperty("isLightMode", ctx_r1.isLightMode())("minimized", true);
52706
+ i0.ɵɵadvance();
52707
+ i0.ɵɵproperty("ngClass", ctx_r1.getViewModeButtonClasses());
52708
+ } }
52709
+ class DashboardHeaderComponent {
52710
+ constructor() {
52711
+ this.requestedByUser = input(...(ngDevMode ? [undefined, { debugName: "requestedByUser" }] : []));
52712
+ this.createdDate = input(...(ngDevMode ? [undefined, { debugName: "createdDate" }] : []));
52713
+ this.title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
52714
+ this.subtitle = input('', ...(ngDevMode ? [{ debugName: "subtitle" }] : []));
52715
+ this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
52716
+ this.viewModeLabel = input('View Mode', ...(ngDevMode ? [{ debugName: "viewModeLabel" }] : []));
52717
+ this.currentSection = input(...(ngDevMode ? [undefined, { debugName: "currentSection" }] : []));
52718
+ this.currentSubsection = input(...(ngDevMode ? [undefined, { debugName: "currentSubsection" }] : []));
52719
+ this.sectionFading = input(false, ...(ngDevMode ? [{ debugName: "sectionFading" }] : []));
52720
+ this.subsectionFading = input(false, ...(ngDevMode ? [{ debugName: "subsectionFading" }] : []));
52721
+ this.isLoading = input(...(ngDevMode ? [undefined, { debugName: "isLoading" }] : []));
52722
+ this.showControls = input(true, ...(ngDevMode ? [{ debugName: "showControls" }] : []));
52723
+ this.searchClick = output();
52724
+ this.viewModeClick = output();
52725
+ this.headerScrollService = inject(HeaderScrollService);
52726
+ this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
52727
+ this.dateFormatCache = new StringMemoizeCache();
52728
+ this.formattedGeneratedDate = computed(() => {
52729
+ let formatted = '';
52730
+ const createdDate = this.createdDate();
52731
+ if (createdDate) {
52732
+ formatted = this.formatDate(createdDate.toISOString());
52733
+ }
52734
+ return formatted;
52735
+ }, ...(ngDevMode ? [{ debugName: "formattedGeneratedDate" }] : []));
52736
+ this.headerTitleClass = computed(() => this.isLightMode() ? 'text-slate-900' : 'text-white', ...(ngDevMode ? [{ debugName: "headerTitleClass" }] : []));
52737
+ this.metaLabelClass = computed(() => this.isLightMode() ? 'text-slate-600' : 'text-slate-500', ...(ngDevMode ? [{ debugName: "metaLabelClass" }] : []));
52738
+ }
52739
+ onSearchClick() {
52740
+ this.searchClick.emit();
52741
+ }
52742
+ onViewModeClick() {
52743
+ this.viewModeClick.emit();
52744
+ }
52745
+ formatDate(dateString) {
52746
+ // Cache date formatting operations
52747
+ return this.dateFormatCache.get(dateString, (date) => new Date(date).toLocaleDateString('en-US', {
52748
+ year: 'numeric',
52749
+ month: 'long',
52750
+ day: 'numeric',
52751
+ }));
52752
+ }
52753
+ getHeaderClasses() {
52754
+ return this.isLightMode()
52755
+ ? 'bg-white/95 backdrop-blur-md shadow-sm border-b border-slate-200'
52756
+ : 'bg-slate-900/95 backdrop-blur-md shadow-sm border-b border-slate-800';
52757
+ }
52758
+ getMainTitleClasses() {
52759
+ return this.isLightMode()
52760
+ ? 'text-3xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent'
52761
+ : 'text-3xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent';
52762
+ }
52763
+ getSubtitleClasses() {
52764
+ return this.isLightMode()
52765
+ ? 'text-slate-600 mt-1 text-sm'
52766
+ : 'text-slate-400 mt-1 text-sm';
52767
+ }
52768
+ getCondensedTitleClasses() {
52769
+ return this.isLightMode()
52770
+ ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent'
52771
+ : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent';
52772
+ }
52773
+ getCondensedSubtitleClasses() {
52774
+ return this.isLightMode()
52775
+ ? 'text-sm text-slate-500'
52776
+ : 'text-sm text-slate-400';
52777
+ }
52778
+ getViewModeButtonClasses() {
52779
+ return this.isLightMode()
52780
+ ? 'bg-slate-100 hover:bg-slate-200 text-slate-700 border border-slate-200'
52781
+ : 'bg-slate-800 hover:bg-slate-700 text-slate-300 border border-slate-700';
52782
+ }
52783
+ static { this.ɵfac = function DashboardHeaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DashboardHeaderComponent)(); }; }
52784
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DashboardHeaderComponent, selectors: [["symphiq-dashboard-header"]], inputs: { requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], title: [1, "title"], subtitle: [1, "subtitle"], viewMode: [1, "viewMode"], viewModeLabel: [1, "viewModeLabel"], currentSection: [1, "currentSection"], currentSubsection: [1, "currentSubsection"], sectionFading: [1, "sectionFading"], subsectionFading: [1, "subsectionFading"], isLoading: [1, "isLoading"], showControls: [1, "showControls"] }, outputs: { searchClick: "searchClick", viewModeClick: "viewModeClick" }, decls: 23, vars: 27, consts: [[1, "sticky", "top-0", "z-50", "overflow-hidden", 2, "transition", "height 300ms ease-in-out", 3, "ngClass"], [1, "transition-opacity", "duration-300", "ease-in-out", "h-full"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4", "h-full", "flex", "items-center"], [1, "flex", "items-center", "justify-between", "w-full"], [1, "flex", "items-center", "gap-3"], [3, "ngClass"], ["title", "Refreshing data...", 1, "animate-spin", "w-4", "h-4", "border-2", "border-blue-500/30", "border-t-blue-500", "rounded-full"], [1, "flex", "items-center", "gap-2"], [1, "flex", "flex-col", "gap-4", "min-w-[180px]"], [1, "absolute", "inset-x-0", "top-0", "transition-opacity", "duration-300", "ease-in-out"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-2"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3", "flex-1", "min-w-0", "mr-4"], [1, "flex-shrink-0", "!mb-0", 3, "ngClass"], [1, "flex", "items-center", "gap-4"], [1, "flex", "items-center", "gap-2", "text-sm", "flex-shrink-0"], [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, "text-left", "sm:text-right"], [1, "text-xs", "sm:text-sm"], [1, "text-sm", "sm:text-base", "font-medium"], [1, "hidden", "sm:inline", 3, "ngClass"], [1, "hidden", "sm:block", "truncate", "min-w-0", 3, "ngClass"], [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"]], template: function DashboardHeaderComponent_Template(rf, ctx) { if (rf & 1) {
52785
+ i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div")(5, "div", 4)(6, "h1", 5);
52786
+ i0.ɵɵtext(7);
52787
+ i0.ɵɵelementEnd();
52788
+ i0.ɵɵconditionalCreate(8, DashboardHeaderComponent_Conditional_8_Template, 1, 0, "div", 6);
52789
+ i0.ɵɵelementEnd();
52790
+ i0.ɵɵelementStart(9, "p", 5);
52791
+ i0.ɵɵtext(10);
52792
+ i0.ɵɵelementEnd()();
52793
+ i0.ɵɵconditionalCreate(11, DashboardHeaderComponent_Conditional_11_Template, 8, 3, "div", 7);
52794
+ i0.ɵɵconditionalCreate(12, DashboardHeaderComponent_Conditional_12_Template, 3, 2, "div", 8);
52795
+ i0.ɵɵelementEnd()()();
52796
+ i0.ɵɵelementStart(13, "div", 9)(14, "div", 10)(15, "div", 11)(16, "div", 12)(17, "h1", 13);
52797
+ i0.ɵɵtext(18);
52798
+ i0.ɵɵelementEnd();
52799
+ i0.ɵɵconditionalCreate(19, DashboardHeaderComponent_Conditional_19_Template, 4, 3);
52800
+ i0.ɵɵelementEnd();
52801
+ i0.ɵɵelementStart(20, "div", 14);
52802
+ i0.ɵɵconditionalCreate(21, DashboardHeaderComponent_Conditional_21_Template, 4, 7, "div", 15);
52803
+ i0.ɵɵconditionalCreate(22, DashboardHeaderComponent_Conditional_22_Template, 5, 3);
52804
+ i0.ɵɵelementEnd()()()()();
52805
+ } if (rf & 2) {
52806
+ i0.ɵɵstyleProp("height", ctx.headerScrollService.isScrolled() ? "52px" : "100px");
52807
+ i0.ɵɵproperty("ngClass", ctx.getHeaderClasses());
52808
+ i0.ɵɵadvance();
52809
+ i0.ɵɵclassProp("opacity-0", ctx.headerScrollService.isScrolled())("pointer-events-none", ctx.headerScrollService.isScrolled())("opacity-100", !ctx.headerScrollService.isScrolled());
52810
+ i0.ɵɵadvance(5);
52811
+ i0.ɵɵproperty("ngClass", ctx.getMainTitleClasses());
52812
+ i0.ɵɵadvance();
52813
+ i0.ɵɵtextInterpolate1(" ", ctx.title(), " ");
52814
+ i0.ɵɵadvance();
52815
+ i0.ɵɵconditional(ctx.isLoading() ? 8 : -1);
52816
+ i0.ɵɵadvance();
52817
+ i0.ɵɵproperty("ngClass", ctx.getSubtitleClasses());
52818
+ i0.ɵɵadvance();
52819
+ i0.ɵɵtextInterpolate1(" ", ctx.subtitle(), " ");
52820
+ i0.ɵɵadvance();
52821
+ i0.ɵɵconditional(ctx.showControls() ? 11 : -1);
52822
+ i0.ɵɵadvance();
52823
+ i0.ɵɵconditional(ctx.formattedGeneratedDate() || ctx.requestedByUser() ? 12 : -1);
52824
+ i0.ɵɵadvance();
52825
+ i0.ɵɵclassProp("opacity-0", !ctx.headerScrollService.isScrolled())("pointer-events-none", !ctx.headerScrollService.isScrolled())("opacity-100", ctx.headerScrollService.isScrolled());
52826
+ i0.ɵɵadvance(4);
52827
+ i0.ɵɵproperty("ngClass", ctx.getCondensedTitleClasses());
52828
+ i0.ɵɵadvance();
52829
+ i0.ɵɵtextInterpolate1(" ", ctx.title(), " ");
52830
+ i0.ɵɵadvance();
52831
+ i0.ɵɵconditional(ctx.subtitle() ? 19 : -1);
52832
+ i0.ɵɵadvance(2);
52833
+ i0.ɵɵconditional(ctx.currentSection() ? 21 : -1);
52834
+ i0.ɵɵadvance();
52835
+ i0.ɵɵconditional(ctx.showControls() ? 22 : -1);
52836
+ } }, dependencies: [CommonModule, i1$1.NgClass, SearchButtonComponent], encapsulation: 2, changeDetection: 0 }); }
52837
+ }
52838
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DashboardHeaderComponent, [{
52839
+ type: Component,
52840
+ args: [{
52841
+ selector: 'symphiq-dashboard-header',
52842
+ standalone: true,
52843
+ imports: [CommonModule, SearchButtonComponent],
52844
+ changeDetection: ChangeDetectionStrategy.OnPush,
52845
+ template: `
52846
+ <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50 overflow-hidden" [style.height]="headerScrollService.isScrolled() ? '52px' : '100px'" style="transition: height 300ms ease-in-out;">
52847
+ <!-- Expanded Header (default state) -->
52848
+ <div
52849
+ class="transition-opacity duration-300 ease-in-out h-full"
52850
+ [class.opacity-0]="headerScrollService.isScrolled()"
52851
+ [class.pointer-events-none]="headerScrollService.isScrolled()"
52852
+ [class.opacity-100]="!headerScrollService.isScrolled()">
52853
+ <div
52854
+ class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4 h-full flex items-center">
52855
+ <div class="flex items-center justify-between w-full">
52856
+ <div>
52857
+ <div class="flex items-center gap-3">
52858
+ <h1 [ngClass]="getMainTitleClasses()">
52859
+ {{ title() }}
52860
+ </h1>
52861
+ @if (isLoading()) {
52862
+ <div class="animate-spin w-4 h-4 border-2 border-blue-500/30 border-t-blue-500 rounded-full" title="Refreshing data..."></div>
52863
+ }
52864
+ </div>
52865
+ <p [ngClass]="getSubtitleClasses()">
52866
+ {{ subtitle() }}
52867
+ </p>
52868
+ </div>
52869
+ @if (showControls()) {
52870
+ <div class="flex items-center gap-2">
52871
+ <symphiq-search-button
52872
+ [isLightMode]="isLightMode()"
52873
+ (searchClick)="onSearchClick()"
52874
+ />
52875
+ <button
52876
+ type="button"
52877
+ (click)="onViewModeClick()"
52878
+ [ngClass]="getViewModeButtonClasses()"
52879
+ 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">
52880
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
52881
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
52882
+ <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>
52883
+ </svg>
52884
+ <span>{{ viewModeLabel() }}</span>
52885
+ </button>
52886
+ </div>
52887
+ }
52888
+ @if (formattedGeneratedDate() || requestedByUser()) {
52889
+ <div class="flex flex-col gap-4 min-w-[180px]">
52890
+ @if (formattedGeneratedDate()) {
52891
+ <div class="text-left sm:text-right">
52892
+ <div [class]="metaLabelClass()" class="text-xs sm:text-sm">Generated At</div>
52893
+ <div [class]="headerTitleClass()" class="text-sm sm:text-base font-medium">{{ formattedGeneratedDate() }}</div>
52894
+ </div>
52895
+ }
52896
+ @if (requestedByUser()) {
52897
+ <div class="text-left sm:text-right">
52898
+ <div [class]="metaLabelClass()" class="text-xs sm:text-sm">Requested by</div>
52899
+ <div [class]="headerTitleClass()" class="text-sm sm:text-base font-medium">{{ requestedByUser()?.firstName }} {{ requestedByUser()?.lastName }}</div>
52900
+ </div>
52901
+ }
52902
+ </div>
52903
+ }
52904
+ </div>
52905
+ </div>
52906
+ </div>
52907
+
52908
+ <!-- Condensed Header (scrolled state) -->
52909
+ <div
52910
+ class="absolute inset-x-0 top-0 transition-opacity duration-300 ease-in-out"
52911
+ [class.opacity-0]="!headerScrollService.isScrolled()"
52912
+ [class.pointer-events-none]="!headerScrollService.isScrolled()"
52913
+ [class.opacity-100]="headerScrollService.isScrolled()">
52914
+ <div
52915
+ class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-2">
52916
+ <div class="flex items-center justify-between">
52917
+ <div class="flex items-center gap-3 flex-1 min-w-0 mr-4">
52918
+ <h1 [ngClass]="getCondensedTitleClasses()" class="flex-shrink-0 !mb-0">
52919
+ {{ title() }}
52920
+ </h1>
52921
+ @if (subtitle()) {
52922
+ <span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="hidden sm:inline">—</span>
52923
+ <span [ngClass]="getCondensedSubtitleClasses()" class="hidden sm:block truncate min-w-0">
52924
+ {{ subtitle() }}
52925
+ </span>
52926
+ }
52927
+ </div>
52928
+ <div class="flex items-center gap-4">
52929
+ @if (currentSection()) {
52930
+ <div class="flex items-center gap-2 text-sm flex-shrink-0">
52931
+ <span [ngClass]="isLightMode() ? 'text-slate-600 font-medium' : 'text-slate-400 font-medium'" class="transition-opacity duration-300" [class.opacity-0]="sectionFading()" [class.opacity-100]="!sectionFading()">
52932
+ {{ currentSection() }}
52933
+ </span>
52934
+ @if (currentSubsection()) {
52935
+ <span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionFading()" [class.opacity-100]="!subsectionFading()">›</span>
52936
+ <span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionFading()" [class.opacity-100]="!subsectionFading()">
52937
+ {{ currentSubsection() }}
52938
+ </span>
52939
+ }
52940
+ </div>
52941
+ }
52942
+ @if (showControls()) {
52943
+ <symphiq-search-button
52944
+ [isLightMode]="isLightMode()"
52945
+ [minimized]="true"
52946
+ (searchClick)="onSearchClick()"
52947
+ />
52948
+ <button
52949
+ type="button"
52950
+ (click)="onViewModeClick()"
52951
+ [ngClass]="getViewModeButtonClasses()"
52952
+ 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">
52953
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
52954
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
52955
+ <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>
52956
+ </svg>
52957
+ </button>
52958
+ }
52959
+ </div>
52960
+ </div>
52961
+ </div>
52962
+ </div>
52963
+ </header>
52964
+ `
52965
+ }]
52966
+ }], null, { requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], createdDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "createdDate", 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 }] }], viewModeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewModeLabel", required: false }] }], currentSection: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentSection", required: false }] }], currentSubsection: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentSubsection", required: false }] }], sectionFading: [{ type: i0.Input, args: [{ isSignal: true, alias: "sectionFading", required: false }] }], subsectionFading: [{ type: i0.Input, args: [{ isSignal: true, alias: "subsectionFading", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], showControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "showControls", required: false }] }], searchClick: [{ type: i0.Output, args: ["searchClick"] }], viewModeClick: [{ type: i0.Output, args: ["viewModeClick"] }] }); })();
52967
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardHeaderComponent, { className: "DashboardHeaderComponent", filePath: "lib/components/shared/dashboard-header.component.ts", lineNumber: 134 }); })();
52968
+
52491
52969
  const _c0$E = ["shopNameInput"];
52492
52970
  const _forTrack0$B = ($index, $item) => $item.focusAreaDomain;
52493
- function SymphiqCreateAccountDashboardComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
52494
- i0.ɵɵelementStart(0, "div", 13);
52495
- i0.ɵɵelement(1, "symphiq-indeterminate-spinner", 17);
52496
- i0.ɵɵelementStart(2, "div", 18)(3, "h2", 19);
52971
+ function SymphiqCreateAccountDashboardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
52972
+ i0.ɵɵelementStart(0, "div", 8);
52973
+ i0.ɵɵelement(1, "symphiq-indeterminate-spinner", 12);
52974
+ i0.ɵɵelementStart(2, "div", 13)(3, "h2", 14);
52497
52975
  i0.ɵɵtext(4, " Your account is being created ");
52498
52976
  i0.ɵɵelementEnd();
52499
- i0.ɵɵelementStart(5, "p", 20);
52977
+ i0.ɵɵelementStart(5, "p", 15);
52500
52978
  i0.ɵɵtext(6, " Please wait while we set everything up for you... ");
52501
52979
  i0.ɵɵelementEnd()()();
52502
52980
  } if (rf & 2) {
@@ -52508,54 +52986,54 @@ function SymphiqCreateAccountDashboardComponent_Conditional_22_Template(rf, ctx)
52508
52986
  i0.ɵɵadvance(2);
52509
52987
  i0.ɵɵproperty("ngClass", ctx_r0.sectionDescriptionClasses());
52510
52988
  } }
52511
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_1_Conditional_27_Template(rf, ctx) { if (rf & 1) {
52989
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_1_Conditional_27_Template(rf, ctx) { if (rf & 1) {
52512
52990
  i0.ɵɵtext(0, " Shopify ");
52513
52991
  } }
52514
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_1_Conditional_28_Template(rf, ctx) { if (rf & 1) {
52992
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_1_Conditional_28_Template(rf, ctx) { if (rf & 1) {
52515
52993
  i0.ɵɵtext(0);
52516
52994
  } if (rf & 2) {
52517
52995
  const ctx_r0 = i0.ɵɵnextContext(3);
52518
52996
  i0.ɵɵtextInterpolate1(" ", ctx_r0.accountData().otherPlatformName || "Other", " ");
52519
52997
  } }
52520
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_1_Template(rf, ctx) { if (rf & 1) {
52998
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_1_Template(rf, ctx) { if (rf & 1) {
52521
52999
  const _r2 = i0.ɵɵgetCurrentView();
52522
- i0.ɵɵelementStart(0, "div", 21)(1, "div", 23)(2, "div", 24)(3, "div")(4, "h2", 19);
53000
+ i0.ɵɵelementStart(0, "div", 16)(1, "div", 18)(2, "div", 19)(3, "div")(4, "h2", 14);
52523
53001
  i0.ɵɵtext(5, " Shop Details ");
52524
53002
  i0.ɵɵelementEnd();
52525
53003
  i0.ɵɵelementStart(6, "p", 1);
52526
53004
  i0.ɵɵtext(7, " Your shop information ");
52527
53005
  i0.ɵɵelementEnd()();
52528
- i0.ɵɵelementStart(8, "button", 25);
52529
- i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_1_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.enableEditMode()); });
53006
+ i0.ɵɵelementStart(8, "button", 20);
53007
+ i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_1_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.enableEditMode()); });
52530
53008
  i0.ɵɵnamespaceSVG();
52531
- i0.ɵɵelementStart(9, "svg", 26);
52532
- i0.ɵɵelement(10, "path", 27);
53009
+ i0.ɵɵelementStart(9, "svg", 21);
53010
+ i0.ɵɵelement(10, "path", 22);
52533
53011
  i0.ɵɵelementEnd();
52534
53012
  i0.ɵɵtext(11, " Edit ");
52535
53013
  i0.ɵɵelementEnd()();
52536
53014
  i0.ɵɵnamespaceHTML();
52537
- i0.ɵɵelementStart(12, "div", 28)(13, "div")(14, "label", 29);
53015
+ i0.ɵɵelementStart(12, "div", 23)(13, "div")(14, "label", 24);
52538
53016
  i0.ɵɵtext(15, " Shop Name ");
52539
53017
  i0.ɵɵelementEnd();
52540
- i0.ɵɵelementStart(16, "p", 20);
53018
+ i0.ɵɵelementStart(16, "p", 15);
52541
53019
  i0.ɵɵtext(17);
52542
53020
  i0.ɵɵelementEnd()();
52543
- i0.ɵɵelementStart(18, "div")(19, "label", 29);
53021
+ i0.ɵɵelementStart(18, "div")(19, "label", 24);
52544
53022
  i0.ɵɵtext(20, " Shop URL ");
52545
53023
  i0.ɵɵelementEnd();
52546
- i0.ɵɵelementStart(21, "a", 30);
53024
+ i0.ɵɵelementStart(21, "a", 25);
52547
53025
  i0.ɵɵtext(22);
52548
53026
  i0.ɵɵelementEnd()();
52549
- i0.ɵɵelementStart(23, "div")(24, "label", 29);
53027
+ i0.ɵɵelementStart(23, "div")(24, "label", 24);
52550
53028
  i0.ɵɵtext(25, " Shop Platform ");
52551
53029
  i0.ɵɵelementEnd();
52552
- i0.ɵɵelementStart(26, "p", 20);
52553
- i0.ɵɵconditionalCreate(27, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_1_Conditional_27_Template, 1, 0)(28, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_1_Conditional_28_Template, 1, 1);
53030
+ i0.ɵɵelementStart(26, "p", 15);
53031
+ i0.ɵɵconditionalCreate(27, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_1_Conditional_27_Template, 1, 0)(28, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_1_Conditional_28_Template, 1, 1);
52554
53032
  i0.ɵɵelementEnd()();
52555
- i0.ɵɵelementStart(29, "div")(30, "label", 29);
53033
+ i0.ɵɵelementStart(29, "div")(30, "label", 24);
52556
53034
  i0.ɵɵtext(31, " Company Name ");
52557
53035
  i0.ɵɵelementEnd();
52558
- i0.ɵɵelementStart(32, "p", 20);
53036
+ i0.ɵɵelementStart(32, "p", 15);
52559
53037
  i0.ɵɵtext(33);
52560
53038
  i0.ɵɵelementEnd()()()()();
52561
53039
  } if (rf & 2) {
@@ -52594,44 +53072,44 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_1_Tem
52594
53072
  i0.ɵɵadvance();
52595
53073
  i0.ɵɵtextInterpolate1(" ", ctx_r0.accountData().companyName, " ");
52596
53074
  } }
52597
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
52598
- i0.ɵɵelementStart(0, "p", 36);
53075
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
53076
+ i0.ɵɵelementStart(0, "p", 31);
52599
53077
  i0.ɵɵtext(1, " Shop name is required ");
52600
53078
  i0.ɵɵelementEnd();
52601
53079
  } if (rf & 2) {
52602
53080
  const ctx_r0 = i0.ɵɵnextContext(3);
52603
53081
  i0.ɵɵproperty("ngClass", ctx_r0.errorClasses());
52604
53082
  } }
52605
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_25_Template(rf, ctx) { if (rf & 1) {
52606
- i0.ɵɵelementStart(0, "p", 36);
53083
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_25_Template(rf, ctx) { if (rf & 1) {
53084
+ i0.ɵɵelementStart(0, "p", 31);
52607
53085
  i0.ɵɵtext(1, " Shop URL is required ");
52608
53086
  i0.ɵɵelementEnd();
52609
53087
  } if (rf & 2) {
52610
53088
  const ctx_r0 = i0.ɵɵnextContext(3);
52611
53089
  i0.ɵɵproperty("ngClass", ctx_r0.errorClasses());
52612
53090
  } }
52613
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_36_Template(rf, ctx) { if (rf & 1) {
52614
- i0.ɵɵelement(0, "div", 46);
53091
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_36_Template(rf, ctx) { if (rf & 1) {
53092
+ i0.ɵɵelement(0, "div", 41);
52615
53093
  } }
52616
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_44_Template(rf, ctx) { if (rf & 1) {
52617
- i0.ɵɵelement(0, "div", 46);
53094
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_44_Template(rf, ctx) { if (rf & 1) {
53095
+ i0.ɵɵelement(0, "div", 41);
52618
53096
  } }
52619
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_48_Conditional_6_Template(rf, ctx) { if (rf & 1) {
52620
- i0.ɵɵelementStart(0, "p", 36);
53097
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_48_Conditional_6_Template(rf, ctx) { if (rf & 1) {
53098
+ i0.ɵɵelementStart(0, "p", 31);
52621
53099
  i0.ɵɵtext(1, " Platform name is required ");
52622
53100
  i0.ɵɵelementEnd();
52623
53101
  } if (rf & 2) {
52624
53102
  const ctx_r0 = i0.ɵɵnextContext(4);
52625
53103
  i0.ɵɵproperty("ngClass", ctx_r0.errorClasses());
52626
53104
  } }
52627
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_48_Template(rf, ctx) { if (rf & 1) {
52628
- i0.ɵɵelementStart(0, "div")(1, "label", 33);
53105
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_48_Template(rf, ctx) { if (rf & 1) {
53106
+ i0.ɵɵelementStart(0, "div")(1, "label", 28);
52629
53107
  i0.ɵɵtext(2, " Platform Name ");
52630
- i0.ɵɵelementStart(3, "span", 34);
53108
+ i0.ɵɵelementStart(3, "span", 29);
52631
53109
  i0.ɵɵtext(4, "*");
52632
53110
  i0.ɵɵelementEnd()();
52633
- i0.ɵɵelement(5, "input", 55);
52634
- i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_48_Conditional_6_Template, 2, 1, "p", 36);
53111
+ i0.ɵɵelement(5, "input", 50);
53112
+ i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_48_Conditional_6_Template, 2, 1, "p", 31);
52635
53113
  i0.ɵɵelementEnd();
52636
53114
  } if (rf & 2) {
52637
53115
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -52642,79 +53120,79 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Con
52642
53120
  i0.ɵɵadvance();
52643
53121
  i0.ɵɵconditional(ctx_r0.isFieldInvalid("otherPlatformName") ? 6 : -1);
52644
53122
  } }
52645
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_60_Template(rf, ctx) { if (rf & 1) {
52646
- i0.ɵɵelementStart(0, "p", 36);
53123
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_60_Template(rf, ctx) { if (rf & 1) {
53124
+ i0.ɵɵelementStart(0, "p", 31);
52647
53125
  i0.ɵɵtext(1, " Company name is required ");
52648
53126
  i0.ɵɵelementEnd();
52649
53127
  } if (rf & 2) {
52650
53128
  const ctx_r0 = i0.ɵɵnextContext(3);
52651
53129
  i0.ɵɵproperty("ngClass", ctx_r0.errorClasses());
52652
53130
  } }
52653
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Template(rf, ctx) { if (rf & 1) {
53131
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
52654
53132
  const _r3 = i0.ɵɵgetCurrentView();
52655
- i0.ɵɵelementStart(0, "div", 21)(1, "div", 23)(2, "div", 31)(3, "h2", 19);
53133
+ i0.ɵɵelementStart(0, "div", 16)(1, "div", 18)(2, "div", 26)(3, "h2", 14);
52656
53134
  i0.ɵɵtext(4, " Shop Details ");
52657
53135
  i0.ɵɵelementEnd();
52658
53136
  i0.ɵɵelementStart(5, "p", 1);
52659
53137
  i0.ɵɵtext(6, " Enter your shop details to get started with Symphiq ");
52660
53138
  i0.ɵɵelementEnd()();
52661
- i0.ɵɵelementStart(7, "form", 32)(8, "div")(9, "label", 33);
53139
+ i0.ɵɵelementStart(7, "form", 27)(8, "div")(9, "label", 28);
52662
53140
  i0.ɵɵtext(10, " Shop Name ");
52663
- i0.ɵɵelementStart(11, "span", 34);
53141
+ i0.ɵɵelementStart(11, "span", 29);
52664
53142
  i0.ɵɵtext(12, "*");
52665
53143
  i0.ɵɵelementEnd()();
52666
- i0.ɵɵelement(13, "input", 35, 0);
52667
- i0.ɵɵconditionalCreate(15, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_15_Template, 2, 1, "p", 36);
53144
+ i0.ɵɵelement(13, "input", 30, 0);
53145
+ i0.ɵɵconditionalCreate(15, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_15_Template, 2, 1, "p", 31);
52668
53146
  i0.ɵɵelementEnd();
52669
- i0.ɵɵelementStart(16, "div")(17, "label", 33);
53147
+ i0.ɵɵelementStart(16, "div")(17, "label", 28);
52670
53148
  i0.ɵɵtext(18, " Shop URL ");
52671
- i0.ɵɵelementStart(19, "span", 34);
53149
+ i0.ɵɵelementStart(19, "span", 29);
52672
53150
  i0.ɵɵtext(20, "*");
52673
53151
  i0.ɵɵelementEnd()();
52674
- i0.ɵɵelementStart(21, "div", 37)(22, "span", 38);
53152
+ i0.ɵɵelementStart(21, "div", 32)(22, "span", 33);
52675
53153
  i0.ɵɵtext(23, " https:// ");
52676
53154
  i0.ɵɵelementEnd();
52677
- i0.ɵɵelement(24, "input", 39);
53155
+ i0.ɵɵelement(24, "input", 34);
52678
53156
  i0.ɵɵelementEnd();
52679
- i0.ɵɵconditionalCreate(25, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_25_Template, 2, 1, "p", 36);
53157
+ i0.ɵɵconditionalCreate(25, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_25_Template, 2, 1, "p", 31);
52680
53158
  i0.ɵɵelementEnd();
52681
- i0.ɵɵelementStart(26, "div")(27, "label", 40);
53159
+ i0.ɵɵelementStart(26, "div")(27, "label", 35);
52682
53160
  i0.ɵɵtext(28, " Shop Platform ");
52683
- i0.ɵɵelementStart(29, "span", 34);
53161
+ i0.ɵɵelementStart(29, "span", 29);
52684
53162
  i0.ɵɵtext(30, "*");
52685
53163
  i0.ɵɵelementEnd()();
52686
- i0.ɵɵelementStart(31, "div", 41)(32, "label", 42);
52687
- i0.ɵɵelement(33, "input", 43);
52688
- i0.ɵɵelementStart(34, "div", 44)(35, "div", 45);
52689
- i0.ɵɵconditionalCreate(36, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_36_Template, 1, 0, "div", 46);
53164
+ i0.ɵɵelementStart(31, "div", 36)(32, "label", 37);
53165
+ i0.ɵɵelement(33, "input", 38);
53166
+ i0.ɵɵelementStart(34, "div", 39)(35, "div", 40);
53167
+ i0.ɵɵconditionalCreate(36, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_36_Template, 1, 0, "div", 41);
52690
53168
  i0.ɵɵelementEnd();
52691
- i0.ɵɵelementStart(37, "div", 47)(38, "div", 48);
53169
+ i0.ɵɵelementStart(37, "div", 42)(38, "div", 43);
52692
53170
  i0.ɵɵtext(39, " Shopify ");
52693
53171
  i0.ɵɵelementEnd()()()();
52694
- i0.ɵɵelementStart(40, "label", 42);
52695
- i0.ɵɵelement(41, "input", 43);
52696
- i0.ɵɵelementStart(42, "div", 44)(43, "div", 45);
52697
- i0.ɵɵconditionalCreate(44, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_44_Template, 1, 0, "div", 46);
53172
+ i0.ɵɵelementStart(40, "label", 37);
53173
+ i0.ɵɵelement(41, "input", 38);
53174
+ i0.ɵɵelementStart(42, "div", 39)(43, "div", 40);
53175
+ i0.ɵɵconditionalCreate(44, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_44_Template, 1, 0, "div", 41);
52698
53176
  i0.ɵɵelementEnd();
52699
- i0.ɵɵelementStart(45, "div", 47)(46, "div", 48);
53177
+ i0.ɵɵelementStart(45, "div", 42)(46, "div", 43);
52700
53178
  i0.ɵɵtext(47, " Other ");
52701
53179
  i0.ɵɵelementEnd()()()()()();
52702
- i0.ɵɵconditionalCreate(48, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_48_Template, 7, 3, "div");
52703
- i0.ɵɵelementStart(49, "div")(50, "label", 33);
53180
+ i0.ɵɵconditionalCreate(48, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_48_Template, 7, 3, "div");
53181
+ i0.ɵɵelementStart(49, "div")(50, "label", 28);
52704
53182
  i0.ɵɵtext(51, " Company Name ");
52705
- i0.ɵɵelementStart(52, "span", 34);
53183
+ i0.ɵɵelementStart(52, "span", 29);
52706
53184
  i0.ɵɵtext(53, "*");
52707
53185
  i0.ɵɵelementEnd()();
52708
- i0.ɵɵelement(54, "input", 49);
52709
- i0.ɵɵelementStart(55, "div", 50)(56, "label", 51)(57, "input", 52);
52710
- i0.ɵɵlistener("change", function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Template_input_change_57_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.toggleSameAsShopName()); });
53186
+ i0.ɵɵelement(54, "input", 44);
53187
+ i0.ɵɵelementStart(55, "div", 45)(56, "label", 46)(57, "input", 47);
53188
+ i0.ɵɵlistener("change", function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Template_input_change_57_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.toggleSameAsShopName()); });
52711
53189
  i0.ɵɵelementEnd();
52712
- i0.ɵɵelementStart(58, "span", 53);
53190
+ i0.ɵɵelementStart(58, "span", 48);
52713
53191
  i0.ɵɵtext(59, " Same as Shop Name ");
52714
53192
  i0.ɵɵelementEnd()()();
52715
- i0.ɵɵconditionalCreate(60, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Conditional_60_Template, 2, 1, "p", 36);
53193
+ i0.ɵɵconditionalCreate(60, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Conditional_60_Template, 2, 1, "p", 31);
52716
53194
  i0.ɵɵelementEnd();
52717
- i0.ɵɵelement(61, "input", 54);
53195
+ i0.ɵɵelement(61, "input", 49);
52718
53196
  i0.ɵɵelementEnd()()();
52719
53197
  } if (rf & 2) {
52720
53198
  let tmp_19_0;
@@ -52780,8 +53258,8 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Tem
52780
53258
  i0.ɵɵadvance(2);
52781
53259
  i0.ɵɵconditional(ctx_r0.isFieldInvalid("companyName") ? 60 : -1);
52782
53260
  } }
52783
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_12_For_6_Conditional_6_For_5_Template(rf, ctx) { if (rf & 1) {
52784
- i0.ɵɵelementStart(0, "span", 66);
53261
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_12_For_6_Conditional_6_For_5_Template(rf, ctx) { if (rf & 1) {
53262
+ i0.ɵɵelementStart(0, "span", 61);
52785
53263
  i0.ɵɵtext(1);
52786
53264
  i0.ɵɵelementEnd();
52787
53265
  } if (rf & 2) {
@@ -52791,12 +53269,12 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Con
52791
53269
  i0.ɵɵadvance();
52792
53270
  i0.ɵɵtextInterpolate1(" ", tool_r5, " ");
52793
53271
  } }
52794
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_12_For_6_Conditional_6_Template(rf, ctx) { if (rf & 1) {
52795
- i0.ɵɵelementStart(0, "div", 63)(1, "span", 64);
53272
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_12_For_6_Conditional_6_Template(rf, ctx) { if (rf & 1) {
53273
+ i0.ɵɵelementStart(0, "div", 58)(1, "span", 59);
52796
53274
  i0.ɵɵtext(2, "Tools:");
52797
53275
  i0.ɵɵelementEnd();
52798
- i0.ɵɵelementStart(3, "div", 65);
52799
- i0.ɵɵrepeaterCreate(4, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_12_For_6_Conditional_6_For_5_Template, 2, 2, "span", 66, i0.ɵɵrepeaterTrackByIdentity);
53276
+ i0.ɵɵelementStart(3, "div", 60);
53277
+ i0.ɵɵrepeaterCreate(4, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_12_For_6_Conditional_6_For_5_Template, 2, 2, "span", 61, i0.ɵɵrepeaterTrackByIdentity);
52800
53278
  i0.ɵɵelementEnd()();
52801
53279
  } if (rf & 2) {
52802
53280
  const focusArea_r6 = i0.ɵɵnextContext().$implicit;
@@ -52806,14 +53284,14 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Con
52806
53284
  i0.ɵɵadvance(3);
52807
53285
  i0.ɵɵrepeater(focusArea_r6.tools);
52808
53286
  } }
52809
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_12_For_6_Template(rf, ctx) { if (rf & 1) {
52810
- i0.ɵɵelementStart(0, "div", 59)(1, "div", 60)(2, "h4", 61);
53287
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_12_For_6_Template(rf, ctx) { if (rf & 1) {
53288
+ i0.ɵɵelementStart(0, "div", 54)(1, "div", 55)(2, "h4", 56);
52811
53289
  i0.ɵɵtext(3);
52812
53290
  i0.ɵɵelementEnd();
52813
- i0.ɵɵelementStart(4, "span", 62);
53291
+ i0.ɵɵelementStart(4, "span", 57);
52814
53292
  i0.ɵɵtext(5, " Engaged ");
52815
53293
  i0.ɵɵelementEnd()();
52816
- i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_12_For_6_Conditional_6_Template, 6, 1, "div", 63);
53294
+ i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_12_For_6_Conditional_6_Template, 6, 1, "div", 58);
52817
53295
  i0.ɵɵelementEnd();
52818
53296
  } if (rf & 2) {
52819
53297
  const focusArea_r6 = ctx.$implicit;
@@ -52828,13 +53306,13 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Con
52828
53306
  i0.ɵɵadvance(2);
52829
53307
  i0.ɵɵconditional(focusArea_r6.tools && focusArea_r6.tools.length > 0 ? 6 : -1);
52830
53308
  } }
52831
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_12_Template(rf, ctx) { if (rf & 1) {
52832
- i0.ɵɵelementStart(0, "div", 31)(1, "h3", 56);
52833
- i0.ɵɵelement(2, "span", 57);
53309
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_12_Template(rf, ctx) { if (rf & 1) {
53310
+ i0.ɵɵelementStart(0, "div", 26)(1, "h3", 51);
53311
+ i0.ɵɵelement(2, "span", 52);
52834
53312
  i0.ɵɵtext(3);
52835
53313
  i0.ɵɵelementEnd();
52836
- i0.ɵɵelementStart(4, "div", 58);
52837
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_12_For_6_Template, 7, 5, "div", 59, _forTrack0$B);
53314
+ i0.ɵɵelementStart(4, "div", 53);
53315
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_12_For_6_Template, 7, 5, "div", 54, _forTrack0$B);
52838
53316
  i0.ɵɵelementEnd()();
52839
53317
  } if (rf & 2) {
52840
53318
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -52845,8 +53323,8 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Con
52845
53323
  i0.ɵɵadvance(2);
52846
53324
  i0.ɵɵrepeater(ctx_r0.engagedFocusAreas());
52847
53325
  } }
52848
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_13_For_6_Template(rf, ctx) { if (rf & 1) {
52849
- i0.ɵɵelementStart(0, "div", 69)(1, "h4", 61);
53326
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_13_For_6_Template(rf, ctx) { if (rf & 1) {
53327
+ i0.ɵɵelementStart(0, "div", 64)(1, "h4", 56);
52850
53328
  i0.ɵɵtext(2);
52851
53329
  i0.ɵɵelementEnd()();
52852
53330
  } if (rf & 2) {
@@ -52858,13 +53336,13 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Con
52858
53336
  i0.ɵɵadvance();
52859
53337
  i0.ɵɵtextInterpolate1(" ", ctx_r0.getFocusAreaTitle(focusArea_r7.focusAreaDomain), " ");
52860
53338
  } }
52861
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_13_Template(rf, ctx) { if (rf & 1) {
52862
- i0.ɵɵelementStart(0, "div", 31)(1, "h3", 56);
52863
- i0.ɵɵelement(2, "span", 67);
53339
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_13_Template(rf, ctx) { if (rf & 1) {
53340
+ i0.ɵɵelementStart(0, "div", 26)(1, "h3", 51);
53341
+ i0.ɵɵelement(2, "span", 62);
52864
53342
  i0.ɵɵtext(3);
52865
53343
  i0.ɵɵelementEnd();
52866
- i0.ɵɵelementStart(4, "div", 68);
52867
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_13_For_6_Template, 3, 3, "div", 69, _forTrack0$B);
53344
+ i0.ɵɵelementStart(4, "div", 63);
53345
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_13_For_6_Template, 3, 3, "div", 64, _forTrack0$B);
52868
53346
  i0.ɵɵelementEnd()();
52869
53347
  } if (rf & 2) {
52870
53348
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -52875,8 +53353,8 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Con
52875
53353
  i0.ɵɵadvance(2);
52876
53354
  i0.ɵɵrepeater(ctx_r0.interestedFocusAreas());
52877
53355
  } }
52878
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_14_For_6_Template(rf, ctx) { if (rf & 1) {
52879
- i0.ɵɵelementStart(0, "div", 72)(1, "span", 64);
53356
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_14_For_6_Template(rf, ctx) { if (rf & 1) {
53357
+ i0.ɵɵelementStart(0, "div", 67)(1, "span", 59);
52880
53358
  i0.ɵɵtext(2);
52881
53359
  i0.ɵɵelementEnd()();
52882
53360
  } if (rf & 2) {
@@ -52888,13 +53366,13 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Con
52888
53366
  i0.ɵɵadvance();
52889
53367
  i0.ɵɵtextInterpolate1(" ", ctx_r0.getFocusAreaTitle(focusArea_r8.focusAreaDomain), " ");
52890
53368
  } }
52891
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_14_Template(rf, ctx) { if (rf & 1) {
52892
- i0.ɵɵelementStart(0, "div")(1, "h3", 56);
52893
- i0.ɵɵelement(2, "span", 70);
53369
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_14_Template(rf, ctx) { if (rf & 1) {
53370
+ i0.ɵɵelementStart(0, "div")(1, "h3", 51);
53371
+ i0.ɵɵelement(2, "span", 65);
52894
53372
  i0.ɵɵtext(3);
52895
53373
  i0.ɵɵelementEnd();
52896
- i0.ɵɵelementStart(4, "div", 71);
52897
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_14_For_6_Template, 3, 3, "div", 72, _forTrack0$B);
53374
+ i0.ɵɵelementStart(4, "div", 66);
53375
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_14_For_6_Template, 3, 3, "div", 67, _forTrack0$B);
52898
53376
  i0.ɵɵelementEnd()();
52899
53377
  } if (rf & 2) {
52900
53378
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -52905,25 +53383,25 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Con
52905
53383
  i0.ɵɵadvance(2);
52906
53384
  i0.ɵɵrepeater(ctx_r0.notInterestedFocusAreas());
52907
53385
  } }
52908
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Template(rf, ctx) { if (rf & 1) {
53386
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
52909
53387
  const _r4 = i0.ɵɵgetCurrentView();
52910
- i0.ɵɵelementStart(0, "div", 22)(1, "div", 23)(2, "div", 24)(3, "div")(4, "h2", 19);
53388
+ i0.ɵɵelementStart(0, "div", 17)(1, "div", 18)(2, "div", 19)(3, "div")(4, "h2", 14);
52911
53389
  i0.ɵɵtext(5, " Focus Areas ");
52912
53390
  i0.ɵɵelementEnd();
52913
53391
  i0.ɵɵelementStart(6, "p", 1);
52914
53392
  i0.ɵɵtext(7, " Your marketing and operational focus areas ");
52915
53393
  i0.ɵɵelementEnd()();
52916
- i0.ɵɵelementStart(8, "button", 25);
52917
- i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.enableFocusAreasEditMode()); });
53394
+ i0.ɵɵelementStart(8, "button", 20);
53395
+ i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.enableFocusAreasEditMode()); });
52918
53396
  i0.ɵɵnamespaceSVG();
52919
- i0.ɵɵelementStart(9, "svg", 26);
52920
- i0.ɵɵelement(10, "path", 27);
53397
+ i0.ɵɵelementStart(9, "svg", 21);
53398
+ i0.ɵɵelement(10, "path", 22);
52921
53399
  i0.ɵɵelementEnd();
52922
53400
  i0.ɵɵtext(11, " Edit ");
52923
53401
  i0.ɵɵelementEnd()();
52924
- i0.ɵɵconditionalCreate(12, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_12_Template, 7, 2, "div", 31);
52925
- i0.ɵɵconditionalCreate(13, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_13_Template, 7, 2, "div", 31);
52926
- i0.ɵɵconditionalCreate(14, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_14_Template, 7, 2, "div");
53402
+ i0.ɵɵconditionalCreate(12, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_12_Template, 7, 2, "div", 26);
53403
+ i0.ɵɵconditionalCreate(13, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_13_Template, 7, 2, "div", 26);
53404
+ i0.ɵɵconditionalCreate(14, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Conditional_14_Template, 7, 2, "div");
52927
53405
  i0.ɵɵelementEnd()();
52928
53406
  } if (rf & 2) {
52929
53407
  const ctx_r0 = i0.ɵɵnextContext(2);
@@ -52943,38 +53421,38 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Tem
52943
53421
  i0.ɵɵadvance();
52944
53422
  i0.ɵɵconditional(ctx_r0.notInterestedFocusAreas().length > 0 ? 14 : -1);
52945
53423
  } }
52946
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_4_For_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
52947
- i0.ɵɵelement(0, "div", 76);
53424
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_4_For_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
53425
+ i0.ɵɵelement(0, "div", 71);
52948
53426
  } if (rf & 2) {
52949
53427
  const ctx_r0 = i0.ɵɵnextContext(4);
52950
53428
  i0.ɵɵproperty("ngClass", ctx_r0.dividerClasses());
52951
53429
  } }
52952
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_4_For_13_Template(rf, ctx) { if (rf & 1) {
53430
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_4_For_13_Template(rf, ctx) { if (rf & 1) {
52953
53431
  const _r9 = i0.ɵɵgetCurrentView();
52954
- i0.ɵɵelementStart(0, "symphiq-focus-area-question", 75);
52955
- i0.ɵɵlistener("statusChange", function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_4_For_13_Template_symphiq_focus_area_question_statusChange_0_listener($event) { const domain_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.onFocusAreaStatusChange(domain_r10, $event)); })("toolsClick", function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_4_For_13_Template_symphiq_focus_area_question_toolsClick_0_listener() { const domain_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.onFocusAreaToolsClick(domain_r10)); });
53432
+ i0.ɵɵelementStart(0, "symphiq-focus-area-question", 70);
53433
+ i0.ɵɵlistener("statusChange", function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_4_For_13_Template_symphiq_focus_area_question_statusChange_0_listener($event) { const domain_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.onFocusAreaStatusChange(domain_r10, $event)); })("toolsClick", function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_4_For_13_Template_symphiq_focus_area_question_toolsClick_0_listener() { const domain_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.onFocusAreaToolsClick(domain_r10)); });
52956
53434
  i0.ɵɵelementEnd();
52957
- i0.ɵɵconditionalCreate(1, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_4_For_13_Conditional_1_Template, 1, 1, "div", 76);
53435
+ i0.ɵɵconditionalCreate(1, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_4_For_13_Conditional_1_Template, 1, 1, "div", 71);
52958
53436
  } if (rf & 2) {
52959
53437
  const domain_r10 = ctx.$implicit;
52960
- const ɵ$index_356_r11 = ctx.$index;
53438
+ const ɵ$index_331_r11 = ctx.$index;
52961
53439
  const ctx_r0 = i0.ɵɵnextContext(3);
52962
53440
  i0.ɵɵproperty("focusAreaDomain", domain_r10)("selectedStatus", ctx_r0.getFocusAreaStatus(domain_r10))("selectedTools", ctx_r0.getFocusAreaTools(domain_r10))("viewMode", ctx_r0.viewMode())("title", ctx_r0.getFocusAreaTitle(domain_r10))("description", ctx_r0.getFocusAreaDescription(domain_r10));
52963
53441
  i0.ɵɵadvance();
52964
- i0.ɵɵconditional(ɵ$index_356_r11 < ctx_r0.allFocusAreaDomains().length - 1 ? 1 : -1);
53442
+ i0.ɵɵconditional(ɵ$index_331_r11 < ctx_r0.allFocusAreaDomains().length - 1 ? 1 : -1);
52965
53443
  } }
52966
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_4_Template(rf, ctx) { if (rf & 1) {
52967
- i0.ɵɵelementStart(0, "div", 22)(1, "div", 23)(2, "div", 31)(3, "div", 73)(4, "div")(5, "h2", 19);
53444
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_4_Template(rf, ctx) { if (rf & 1) {
53445
+ i0.ɵɵelementStart(0, "div", 17)(1, "div", 18)(2, "div", 26)(3, "div", 68)(4, "div")(5, "h2", 14);
52968
53446
  i0.ɵɵtext(6, " Focus Areas ");
52969
53447
  i0.ɵɵelementEnd();
52970
53448
  i0.ɵɵelementStart(7, "p", 1);
52971
53449
  i0.ɵɵtext(8, " Tell us about your marketing and operational focus areas ");
52972
53450
  i0.ɵɵelementEnd()();
52973
- i0.ɵɵelementStart(9, "div", 74);
53451
+ i0.ɵɵelementStart(9, "div", 69);
52974
53452
  i0.ɵɵtext(10);
52975
53453
  i0.ɵɵelementEnd()()();
52976
- i0.ɵɵelementStart(11, "div", 28);
52977
- i0.ɵɵrepeaterCreate(12, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_4_For_13_Template, 2, 7, null, null, i0.ɵɵrepeaterTrackByIdentity);
53454
+ i0.ɵɵelementStart(11, "div", 23);
53455
+ i0.ɵɵrepeaterCreate(12, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_4_For_13_Template, 2, 7, null, null, i0.ɵɵrepeaterTrackByIdentity);
52978
53456
  i0.ɵɵelementEnd()()();
52979
53457
  } if (rf & 2) {
52980
53458
  const ctx_r0 = i0.ɵɵnextContext(2);
@@ -52992,12 +53470,12 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_4_Tem
52992
53470
  i0.ɵɵadvance(2);
52993
53471
  i0.ɵɵrepeater(ctx_r0.allFocusAreaDomains());
52994
53472
  } }
52995
- function SymphiqCreateAccountDashboardComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
52996
- i0.ɵɵelementStart(0, "div", 14);
52997
- i0.ɵɵconditionalCreate(1, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_1_Template, 34, 18, "div", 21);
52998
- i0.ɵɵconditionalCreate(2, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_2_Template, 62, 35, "div", 21);
52999
- i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Template, 15, 8, "div", 22);
53000
- i0.ɵɵconditionalCreate(4, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_4_Template, 14, 7, "div", 22);
53473
+ function SymphiqCreateAccountDashboardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
53474
+ i0.ɵɵelementStart(0, "div", 9);
53475
+ i0.ɵɵconditionalCreate(1, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_1_Template, 34, 18, "div", 16);
53476
+ i0.ɵɵconditionalCreate(2, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_2_Template, 62, 35, "div", 16);
53477
+ i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_3_Template, 15, 8, "div", 17);
53478
+ i0.ɵɵconditionalCreate(4, SymphiqCreateAccountDashboardComponent_Conditional_9_Conditional_4_Template, 14, 7, "div", 17);
53001
53479
  i0.ɵɵelementEnd();
53002
53480
  } if (rf & 2) {
53003
53481
  const ctx_r0 = i0.ɵɵnextContext();
@@ -53010,62 +53488,62 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Template(rf, ctx)
53010
53488
  i0.ɵɵadvance();
53011
53489
  i0.ɵɵconditional(!ctx_r0.accountData() || ctx_r0.focusAreasEditMode() ? 4 : -1);
53012
53490
  } }
53013
- function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_3_Template(rf, ctx) { if (rf & 1) {
53491
+ function SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_3_Template(rf, ctx) { if (rf & 1) {
53014
53492
  const _r13 = i0.ɵɵgetCurrentView();
53015
- i0.ɵɵelementStart(0, "button", 81);
53016
- i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.focusAreasEditMode() ? ctx_r0.cancelFocusAreasEditMode() : ctx_r0.cancelEditMode()); });
53493
+ i0.ɵɵelementStart(0, "button", 76);
53494
+ i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.focusAreasEditMode() ? ctx_r0.cancelFocusAreasEditMode() : ctx_r0.cancelEditMode()); });
53017
53495
  i0.ɵɵtext(1, " Cancel ");
53018
53496
  i0.ɵɵelementEnd();
53019
53497
  } if (rf & 2) {
53020
53498
  const ctx_r0 = i0.ɵɵnextContext(2);
53021
53499
  i0.ɵɵproperty("ngClass", ctx_r0.cancelButtonClasses());
53022
53500
  } }
53023
- function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Conditional_3_Template(rf, ctx) { if (rf & 1) {
53501
+ function SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_5_Conditional_3_Template(rf, ctx) { if (rf & 1) {
53024
53502
  i0.ɵɵtext(0, " Saving Focus Areas... ");
53025
53503
  } }
53026
- function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
53504
+ function SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
53027
53505
  i0.ɵɵtext(0, " Updating Account... ");
53028
53506
  } }
53029
- function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Conditional_5_Template(rf, ctx) { if (rf & 1) {
53507
+ function SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_5_Conditional_5_Template(rf, ctx) { if (rf & 1) {
53030
53508
  i0.ɵɵtext(0, " Creating Account... ");
53031
53509
  } }
53032
- function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Template(rf, ctx) { if (rf & 1) {
53510
+ function SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_5_Template(rf, ctx) { if (rf & 1) {
53033
53511
  i0.ɵɵnamespaceSVG();
53034
- i0.ɵɵelementStart(0, "svg", 82);
53035
- i0.ɵɵelement(1, "circle", 83)(2, "path", 84);
53512
+ i0.ɵɵelementStart(0, "svg", 77);
53513
+ i0.ɵɵelement(1, "circle", 78)(2, "path", 79);
53036
53514
  i0.ɵɵelementEnd();
53037
- i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Conditional_3_Template, 1, 0)(4, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Conditional_4_Template, 1, 0)(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Conditional_5_Template, 1, 0);
53515
+ i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_5_Conditional_3_Template, 1, 0)(4, SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_5_Conditional_4_Template, 1, 0)(5, SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_5_Conditional_5_Template, 1, 0);
53038
53516
  } if (rf & 2) {
53039
53517
  const ctx_r0 = i0.ɵɵnextContext(2);
53040
53518
  i0.ɵɵadvance(3);
53041
53519
  i0.ɵɵconditional(ctx_r0.focusAreasEditMode() ? 3 : ctx_r0.accountData() && ctx_r0.editMode() ? 4 : 5);
53042
53520
  } }
53043
- function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Conditional_0_Template(rf, ctx) { if (rf & 1) {
53521
+ function SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_6_Conditional_0_Template(rf, ctx) { if (rf & 1) {
53044
53522
  i0.ɵɵtext(0, " Save Focus Areas ");
53045
53523
  } }
53046
- function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
53524
+ function SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
53047
53525
  i0.ɵɵtext(0, " Save Changes ");
53048
53526
  } }
53049
- function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Conditional_2_Template(rf, ctx) { if (rf & 1) {
53527
+ function SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_6_Conditional_2_Template(rf, ctx) { if (rf & 1) {
53050
53528
  i0.ɵɵtext(0, " Create Account ");
53051
53529
  } }
53052
- function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Template(rf, ctx) { if (rf & 1) {
53053
- i0.ɵɵconditionalCreate(0, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Conditional_0_Template, 1, 0)(1, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Conditional_1_Template, 1, 0)(2, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Conditional_2_Template, 1, 0);
53530
+ function SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_6_Template(rf, ctx) { if (rf & 1) {
53531
+ i0.ɵɵconditionalCreate(0, SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_6_Conditional_0_Template, 1, 0)(1, SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_6_Conditional_1_Template, 1, 0)(2, SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_6_Conditional_2_Template, 1, 0);
53054
53532
  i0.ɵɵnamespaceSVG();
53055
- i0.ɵɵelementStart(3, "svg", 85);
53056
- i0.ɵɵelement(4, "path", 86);
53533
+ i0.ɵɵelementStart(3, "svg", 80);
53534
+ i0.ɵɵelement(4, "path", 81);
53057
53535
  i0.ɵɵelementEnd();
53058
53536
  } if (rf & 2) {
53059
53537
  const ctx_r0 = i0.ɵɵnextContext(2);
53060
53538
  i0.ɵɵconditional(ctx_r0.focusAreasEditMode() ? 0 : ctx_r0.accountData() && ctx_r0.editMode() ? 1 : 2);
53061
53539
  } }
53062
- function SymphiqCreateAccountDashboardComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
53540
+ function SymphiqCreateAccountDashboardComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
53063
53541
  const _r12 = i0.ɵɵgetCurrentView();
53064
- i0.ɵɵelementStart(0, "div", 16)(1, "div", 77)(2, "div", 78);
53065
- i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_3_Template, 2, 1, "button", 79);
53066
- i0.ɵɵelementStart(4, "button", 80);
53067
- i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_25_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r12); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.focusAreasEditMode() ? ctx_r0.handleSaveFocusAreas() : ctx_r0.handleContinue()); });
53068
- i0.ɵɵconditionalCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_5_Template, 6, 1)(6, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_6_Template, 5, 1);
53542
+ i0.ɵɵelementStart(0, "div", 11)(1, "div", 72)(2, "div", 73);
53543
+ i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_3_Template, 2, 1, "button", 74);
53544
+ i0.ɵɵelementStart(4, "button", 75);
53545
+ i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_11_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r12); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.focusAreasEditMode() ? ctx_r0.handleSaveFocusAreas() : ctx_r0.handleContinue()); });
53546
+ i0.ɵɵconditionalCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_5_Template, 6, 1)(6, SymphiqCreateAccountDashboardComponent_Conditional_11_Conditional_6_Template, 5, 1);
53069
53547
  i0.ɵɵelementEnd()()()();
53070
53548
  } if (rf & 2) {
53071
53549
  const ctx_r0 = i0.ɵɵnextContext();
@@ -53454,21 +53932,6 @@ class SymphiqCreateAccountDashboardComponent {
53454
53932
  ? 'min-h-screen'
53455
53933
  : 'min-h-screen';
53456
53934
  }
53457
- getHeaderClasses() {
53458
- return this.isLightMode()
53459
- ? 'bg-white/80 backdrop-blur-md border-b border-slate-200'
53460
- : 'bg-slate-900/80 backdrop-blur-md border-b border-slate-700';
53461
- }
53462
- getMainTitleClasses() {
53463
- return this.isLightMode()
53464
- ? 'text-4xl font-bold bg-gradient-to-r from-blue-600 to-cyan-600 bg-clip-text text-transparent'
53465
- : 'text-4xl font-bold bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent';
53466
- }
53467
- getSubtitleClasses() {
53468
- return this.isLightMode()
53469
- ? 'text-slate-600 text-lg mt-2'
53470
- : 'text-slate-400 text-lg mt-2';
53471
- }
53472
53935
  containerClasses() {
53473
53936
  return this.isLightMode()
53474
53937
  ? 'bg-white border-slate-200'
@@ -53694,30 +54157,23 @@ class SymphiqCreateAccountDashboardComponent {
53694
54157
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.shopNameInput = _t.first);
53695
54158
  } }, hostBindings: function SymphiqCreateAccountDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
53696
54159
  i0.ɵɵlistener("scroll", function SymphiqCreateAccountDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
53697
- } }, 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: 26, vars: 48, 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, "flex", "flex-col", "items-center", "justify-center", "min-h-[60vh]", "gap-6"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [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"], ["size", "large", 3, "viewMode"], [1, "text-center"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [1, "text-base", 3, "ngClass"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], ["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"], ["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) {
54160
+ } }, 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: 12, vars: 24, 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]"], [3, "title", "subtitle", "viewMode", "showControls"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "pb-32"], [1, "flex", "flex-col", "items-center", "justify-center", "min-h-[60vh]", "gap-6"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [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"], ["size", "large", 3, "viewMode"], [1, "text-center"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [1, "text-base", 3, "ngClass"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], ["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"], ["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) {
53698
54161
  i0.ɵɵelementStart(0, "div", 1)(1, "div");
53699
54162
  i0.ɵɵelement(2, "div", 2);
53700
54163
  i0.ɵɵelementEnd();
53701
54164
  i0.ɵɵelement(3, "div", 3);
53702
- i0.ɵɵelementStart(4, "div", 4)(5, "header", 5)(6, "div", 6)(7, "div", 7)(8, "div", 8)(9, "div")(10, "h1", 1);
53703
- i0.ɵɵtext(11, " Create Account ");
53704
- i0.ɵɵelementEnd();
53705
- i0.ɵɵelementStart(12, "p", 1);
53706
- i0.ɵɵtext(13, " Tell us about your shop ");
53707
- i0.ɵɵelementEnd()()()()();
53708
- i0.ɵɵelementStart(14, "div", 6)(15, "div", 9)(16, "div", 8)(17, "div", 10)(18, "h1", 1);
53709
- i0.ɵɵtext(19, " Create Account ");
53710
- i0.ɵɵelementEnd()()()()()();
53711
- i0.ɵɵelementStart(20, "symphiq-journey-progress-indicator", 11);
53712
- i0.ɵɵlistener("stepClick", function SymphiqCreateAccountDashboardComponent_Template_symphiq_journey_progress_indicator_stepClick_20_listener($event) { return ctx.stepClick.emit($event); })("nextStepClick", function SymphiqCreateAccountDashboardComponent_Template_symphiq_journey_progress_indicator_nextStepClick_20_listener() { return ctx.nextStepClick.emit(); });
54165
+ i0.ɵɵelementStart(4, "div", 4);
54166
+ i0.ɵɵelement(5, "symphiq-dashboard-header", 5);
54167
+ i0.ɵɵelementStart(6, "symphiq-journey-progress-indicator", 6);
54168
+ i0.ɵɵlistener("stepClick", function SymphiqCreateAccountDashboardComponent_Template_symphiq_journey_progress_indicator_stepClick_6_listener($event) { return ctx.stepClick.emit($event); })("nextStepClick", function SymphiqCreateAccountDashboardComponent_Template_symphiq_journey_progress_indicator_nextStepClick_6_listener() { return ctx.nextStepClick.emit(); });
53713
54169
  i0.ɵɵelementEnd();
53714
- i0.ɵɵelementStart(21, "main", 12);
53715
- i0.ɵɵconditionalCreate(22, SymphiqCreateAccountDashboardComponent_Conditional_22_Template, 7, 3, "div", 13)(23, SymphiqCreateAccountDashboardComponent_Conditional_23_Template, 5, 4, "div", 14);
54170
+ i0.ɵɵelementStart(7, "main", 7);
54171
+ i0.ɵɵconditionalCreate(8, SymphiqCreateAccountDashboardComponent_Conditional_8_Template, 7, 3, "div", 8)(9, SymphiqCreateAccountDashboardComponent_Conditional_9_Template, 5, 4, "div", 9);
53716
54172
  i0.ɵɵelementEnd();
53717
- i0.ɵɵelementStart(24, "symphiq-focus-area-tools-modal", 15);
53718
- i0.ɵɵlistener("close", function SymphiqCreateAccountDashboardComponent_Template_symphiq_focus_area_tools_modal_close_24_listener() { return ctx.onToolsModalClose(); })("save", function SymphiqCreateAccountDashboardComponent_Template_symphiq_focus_area_tools_modal_save_24_listener($event) { return ctx.onToolsModalSave($event); });
54173
+ i0.ɵɵelementStart(10, "symphiq-focus-area-tools-modal", 10);
54174
+ i0.ɵɵlistener("close", function SymphiqCreateAccountDashboardComponent_Template_symphiq_focus_area_tools_modal_close_10_listener() { return ctx.onToolsModalClose(); })("save", function SymphiqCreateAccountDashboardComponent_Template_symphiq_focus_area_tools_modal_save_10_listener($event) { return ctx.onToolsModalSave($event); });
53719
54175
  i0.ɵɵelementEnd();
53720
- i0.ɵɵconditionalCreate(25, SymphiqCreateAccountDashboardComponent_Conditional_25_Template, 7, 13, "div", 16);
54176
+ i0.ɵɵconditionalCreate(11, SymphiqCreateAccountDashboardComponent_Conditional_11_Template, 7, 13, "div", 11);
53721
54177
  i0.ɵɵelementEnd()();
53722
54178
  } if (rf & 2) {
53723
54179
  i0.ɵɵproperty("ngClass", ctx.getContainerClasses());
@@ -53729,576 +54185,522 @@ class SymphiqCreateAccountDashboardComponent {
53729
54185
  i0.ɵɵadvance();
53730
54186
  i0.ɵɵclassProp("light-mode", ctx.isLightMode());
53731
54187
  i0.ɵɵadvance(2);
53732
- i0.ɵɵproperty("ngClass", ctx.getHeaderClasses());
54188
+ i0.ɵɵproperty("title", "Create Account")("subtitle", "Tell us about your shop")("viewMode", ctx.viewMode())("showControls", false);
53733
54189
  i0.ɵɵadvance();
53734
- i0.ɵɵclassProp("max-h-0", ctx.headerScrollService.isScrolled())("opacity-0", ctx.headerScrollService.isScrolled())("max-h-96", !ctx.headerScrollService.isScrolled())("opacity-100", !ctx.headerScrollService.isScrolled());
53735
- i0.ɵɵadvance();
53736
- i0.ɵɵclassProp("pointer-events-none", ctx.headerScrollService.isScrolled())("pointer-events-auto", !ctx.headerScrollService.isScrolled());
53737
- i0.ɵɵadvance(3);
53738
- i0.ɵɵproperty("ngClass", ctx.getMainTitleClasses());
53739
- i0.ɵɵadvance(2);
53740
- i0.ɵɵproperty("ngClass", ctx.getSubtitleClasses());
53741
- i0.ɵɵadvance(2);
53742
- i0.ɵɵclassProp("max-h-0", !ctx.headerScrollService.isScrolled())("opacity-0", !ctx.headerScrollService.isScrolled())("max-h-20", ctx.headerScrollService.isScrolled())("opacity-100", ctx.headerScrollService.isScrolled());
53743
- i0.ɵɵadvance();
53744
- i0.ɵɵclassProp("pointer-events-none", !ctx.headerScrollService.isScrolled())("pointer-events-auto", ctx.headerScrollService.isScrolled());
53745
- i0.ɵɵadvance(3);
53746
- 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");
53747
- i0.ɵɵadvance(2);
53748
54190
  i0.ɵɵproperty("viewMode", ctx.viewMode())("currentStepId", ctx.JourneyStepIdEnum.CREATE_ACCOUNT)("showNextStepAction", ctx.showNextStepAction())("forDemo", ctx.forDemo())("maxAccessibleStepId", ctx.maxAccessibleStepId());
53749
54191
  i0.ɵɵadvance(2);
53750
- i0.ɵɵconditional(ctx.isCreatingAccount() ? 22 : 23);
54192
+ i0.ɵɵconditional(ctx.isCreatingAccount() ? 8 : 9);
53751
54193
  i0.ɵɵadvance(2);
53752
54194
  i0.ɵɵproperty("isOpen", ctx.toolsModalOpen())("focusAreaDomain", ctx.currentEditingFocusArea())("focusAreaTitle", ctx.currentEditingFocusAreaTitle())("selectedTools", ctx.currentEditingTools())("viewMode", ctx.viewMode());
53753
54195
  i0.ɵɵadvance();
53754
- i0.ɵɵconditional((!ctx.accountData() || ctx.editMode() || ctx.focusAreasEditMode()) && !ctx.isCreatingAccount() ? 25 : -1);
53755
- } }, dependencies: [CommonModule, i1$1.NgClass, ReactiveFormsModule, i2$1.ɵNgNoValidate, i2$1.DefaultValueAccessor, i2$1.RadioControlValueAccessor, i2$1.NgControlStatus, i2$1.NgControlStatusGroup, i2$1.FormGroupDirective, i2$1.FormControlName, JourneyProgressIndicatorComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent, IndeterminateSpinnerComponent], 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)}}"], changeDetection: 0 }); }
54196
+ i0.ɵɵconditional((!ctx.accountData() || ctx.editMode() || ctx.focusAreasEditMode()) && !ctx.isCreatingAccount() ? 11 : -1);
54197
+ } }, dependencies: [CommonModule, i1$1.NgClass, ReactiveFormsModule, i2$1.ɵNgNoValidate, i2$1.DefaultValueAccessor, i2$1.RadioControlValueAccessor, i2$1.NgControlStatus, i2$1.NgControlStatusGroup, i2$1.FormGroupDirective, i2$1.FormControlName, JourneyProgressIndicatorComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent, IndeterminateSpinnerComponent, DashboardHeaderComponent], 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)}}"], changeDetection: 0 }); }
53756
54198
  }
53757
54199
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqCreateAccountDashboardComponent, [{
53758
54200
  type: Component,
53759
- args: [{ selector: 'symphiq-create-account-dashboard', standalone: true, imports: [CommonModule, ReactiveFormsModule, JourneyProgressIndicatorComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent, IndeterminateSpinnerComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
53760
- <div [ngClass]="getContainerClasses()">
53761
- <!-- Scroll Progress Bar -->
53762
- <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'">
53763
- <div
53764
- [style.width.%]="scrollProgress()"
53765
- [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400'"
53766
- class="h-full transition-all duration-200 ease-out">
53767
- </div>
53768
- </div>
53769
-
53770
- <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>
53771
-
53772
- <div class="relative z-[51]">
53773
- <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
53774
- <!-- Expanded Header -->
53775
- <div
53776
- class="transition-all duration-300 ease-in-out overflow-hidden"
53777
- [class.max-h-0]="headerScrollService.isScrolled()"
53778
- [class.opacity-0]="headerScrollService.isScrolled()"
53779
- [class.max-h-96]="!headerScrollService.isScrolled()"
53780
- [class.opacity-100]="!headerScrollService.isScrolled()">
53781
- <div
53782
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
53783
- [class.pointer-events-none]="headerScrollService.isScrolled()"
53784
- [class.pointer-events-auto]="!headerScrollService.isScrolled()">
53785
- <div class="flex items-center justify-between">
53786
- <div>
53787
- <h1 [ngClass]="getMainTitleClasses()">
53788
- Create Account
53789
- </h1>
53790
- <p [ngClass]="getSubtitleClasses()">
53791
- Tell us about your shop
53792
- </p>
53793
- </div>
53794
- </div>
53795
- </div>
53796
- </div>
53797
-
53798
- <!-- Condensed Header -->
53799
- <div
53800
- class="transition-all duration-300 ease-in-out overflow-hidden"
53801
- [class.max-h-0]="!headerScrollService.isScrolled()"
53802
- [class.opacity-0]="!headerScrollService.isScrolled()"
53803
- [class.max-h-20]="headerScrollService.isScrolled()"
53804
- [class.opacity-100]="headerScrollService.isScrolled()">
53805
- <div
53806
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
53807
- [class.pointer-events-none]="!headerScrollService.isScrolled()"
53808
- [class.pointer-events-auto]="headerScrollService.isScrolled()">
53809
- <div class="flex items-center justify-between">
53810
- <div class="flex-1 min-w-0 mr-4">
53811
- <h1 [ngClass]="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'">
53812
- Create Account
53813
- </h1>
53814
- </div>
53815
- </div>
53816
- </div>
53817
- </div>
53818
- </header>
53819
-
53820
- <!-- Journey Progress Indicator -->
53821
- <symphiq-journey-progress-indicator
53822
- [viewMode]="viewMode()"
53823
- [currentStepId]="JourneyStepIdEnum.CREATE_ACCOUNT"
53824
- [showNextStepAction]="showNextStepAction()"
53825
- [forDemo]="forDemo()"
53826
- [maxAccessibleStepId]="maxAccessibleStepId()"
53827
- (stepClick)="stepClick.emit($event)"
53828
- (nextStepClick)="nextStepClick.emit()"
53829
- />
53830
-
53831
- <main class="relative pb-32">
53832
- @if (isCreatingAccount()) {
53833
- <div class="flex flex-col items-center justify-center min-h-[60vh] gap-6">
53834
- <symphiq-indeterminate-spinner
53835
- [viewMode]="viewMode()"
53836
- size="large"
53837
- />
53838
- <div class="text-center">
53839
- <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
53840
- Your account is being created
53841
- </h2>
53842
- <p [ngClass]="sectionDescriptionClasses()" class="text-base">
53843
- Please wait while we set everything up for you...
53844
- </p>
53845
- </div>
53846
- </div>
53847
- } @else {
53848
- <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
53849
- <!-- View Mode: Display Account Data -->
53850
- @if (accountData() && !editMode() && !focusAreasEditMode()) {
53851
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
53852
- <div [ngClass]="contentClasses()" class="px-8 py-8">
53853
- <div class="flex items-start justify-between mb-6">
53854
- <div>
53855
- <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
53856
- Shop Details
53857
- </h2>
53858
- <p [ngClass]="sectionDescriptionClasses()">
53859
- Your shop information
53860
- </p>
53861
- </div>
53862
- <button
53863
- type="button"
53864
- (click)="enableEditMode()"
53865
- [ngClass]="editButtonClasses()"
53866
- 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">
53867
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
53868
- <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"/>
53869
- </svg>
53870
- Edit
53871
- </button>
53872
- </div>
53873
-
53874
- <div class="space-y-4">
53875
- <div>
53876
- <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
53877
- Shop Name
53878
- </label>
53879
- <p [ngClass]="viewValueClasses()" class="text-base">
53880
- {{ accountData()!.shopName }}
53881
- </p>
53882
- </div>
53883
-
53884
- <div>
53885
- <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
53886
- Shop URL
53887
- </label>
53888
- <a [href]="accountData()!.shopUrl" target="_blank" rel="noopener noreferrer"
53889
- [ngClass]="viewLinkClasses()"
53890
- class="text-base hover:underline">
53891
- {{ accountData()!.shopUrl }}
53892
- </a>
53893
- </div>
53894
-
53895
- <div>
53896
- <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
53897
- Shop Platform
53898
- </label>
53899
- <p [ngClass]="viewValueClasses()" class="text-base">
53900
- @if (accountData()!.shopPlatform === ShopPlatformEnum.SHOPIFY) {
53901
- Shopify
53902
- } @else {
53903
- {{ accountData()!.otherPlatformName || 'Other' }}
53904
- }
53905
- </p>
53906
- </div>
53907
-
53908
- <div>
53909
- <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
53910
- Company Name
53911
- </label>
53912
- <p [ngClass]="viewValueClasses()" class="text-base">
53913
- {{ accountData()!.companyName }}
53914
- </p>
53915
- </div>
53916
- </div>
53917
- </div>
53918
- </div>
53919
- }
53920
-
53921
- <!-- Edit Mode: Form -->
53922
- @if (!accountData() || editMode()) {
53923
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
53924
- <div [ngClass]="contentClasses()" class="px-8 py-8">
53925
- <div class="mb-6">
53926
- <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
53927
- Shop Details
53928
- </h2>
53929
- <p [ngClass]="sectionDescriptionClasses()">
53930
- Enter your shop details to get started with Symphiq
53931
- </p>
53932
- </div>
53933
-
53934
- <form [formGroup]="accountForm" class="space-y-6">
53935
- <!-- Shop Name -->
53936
- <div>
53937
- <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
53938
- Shop Name <span class="text-red-500">*</span>
53939
- </label>
53940
- <input
53941
- #shopNameInput
53942
- type="text"
53943
- formControlName="shopName"
53944
- [ngClass]="inputClasses('shopName')"
53945
- class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
53946
- placeholder="Enter your shop name"
53947
- />
53948
- @if (isFieldInvalid('shopName')) {
53949
- <p [ngClass]="errorClasses()" class="mt-1 text-sm">
53950
- Shop name is required
53951
- </p>
53952
- }
53953
- </div>
53954
-
53955
- <!-- Shop URL -->
53956
- <div>
53957
- <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
53958
- Shop URL <span class="text-red-500">*</span>
53959
- </label>
53960
- <div class="flex items-center">
53961
- <span [ngClass]="urlPrefixClasses()" class="px-4 py-3 rounded-l-lg border-2 border-r-0 text-sm font-medium">
53962
- https://
53963
- </span>
53964
- <input
53965
- type="text"
53966
- formControlName="shopUrl"
53967
- [ngClass]="urlInputClasses('shopUrl')"
53968
- class="flex-1 px-4 py-3 rounded-r-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
53969
- placeholder="yourshop.com"
53970
- />
53971
- </div>
53972
- @if (isFieldInvalid('shopUrl')) {
53973
- <p [ngClass]="errorClasses()" class="mt-1 text-sm">
53974
- Shop URL is required
53975
- </p>
53976
- }
53977
- </div>
53978
-
53979
- <!-- Shop Platform -->
53980
- <div>
53981
- <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-3">
53982
- Shop Platform <span class="text-red-500">*</span>
53983
- </label>
53984
- <div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
53985
- <label [ngClass]="radioPlatformClasses(ShopPlatformEnum.SHOPIFY)" class="cursor-pointer">
53986
- <input
53987
- type="radio"
53988
- formControlName="shopPlatform"
53989
- [value]="ShopPlatformEnum.SHOPIFY"
53990
- class="sr-only"
53991
- />
53992
- <div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
53993
- <div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.SHOPIFY)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
53994
- @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.SHOPIFY) {
53995
- <div class="w-3 h-3 rounded-full bg-current"></div>
53996
- }
53997
- </div>
53998
- <div class="flex-1">
53999
- <div [ngClass]="radioLabelClasses()" class="font-semibold">
54000
- Shopify
54001
- </div>
54002
- </div>
54003
- </div>
54004
- </label>
54005
-
54006
- <label [ngClass]="radioPlatformClasses(ShopPlatformEnum.OTHER)" class="cursor-pointer">
54007
- <input
54008
- type="radio"
54009
- formControlName="shopPlatform"
54010
- [value]="ShopPlatformEnum.OTHER"
54011
- class="sr-only"
54012
- />
54013
- <div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
54014
- <div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.OTHER)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
54015
- @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
54016
- <div class="w-3 h-3 rounded-full bg-current"></div>
54017
- }
54018
- </div>
54019
- <div class="flex-1">
54020
- <div [ngClass]="radioLabelClasses()" class="font-semibold">
54021
- Other
54022
- </div>
54023
- </div>
54024
- </div>
54025
- </label>
54026
- </div>
54027
- </div>
54028
-
54029
- <!-- Other Platform Name (Conditional) -->
54030
- @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
54031
- <div>
54032
- <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
54033
- Platform Name <span class="text-red-500">*</span>
54034
- </label>
54035
- <input
54036
- type="text"
54037
- formControlName="otherPlatformName"
54038
- [ngClass]="inputClasses('otherPlatformName')"
54039
- class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
54040
- placeholder="Enter platform name (e.g., WooCommerce, Magento)"
54041
- />
54042
- @if (isFieldInvalid('otherPlatformName')) {
54043
- <p [ngClass]="errorClasses()" class="mt-1 text-sm">
54044
- Platform name is required
54045
- </p>
54046
- }
54047
- </div>
54048
- }
54049
-
54050
- <!-- Company Name -->
54051
- <div>
54052
- <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
54053
- Company Name <span class="text-red-500">*</span>
54054
- </label>
54055
- <input
54056
- type="text"
54057
- formControlName="companyName"
54058
- [ngClass]="inputClasses('companyName')"
54059
- [readonly]="sameAsShopName()"
54060
- class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
54061
- [class.cursor-not-allowed]="sameAsShopName()"
54062
- [class.opacity-60]="sameAsShopName()"
54063
- placeholder="Enter company name"
54064
- />
54065
- <div class="mt-2">
54066
- <label class="flex items-center gap-2 cursor-pointer">
54067
- <input
54068
- type="checkbox"
54069
- [checked]="sameAsShopName()"
54070
- (change)="toggleSameAsShopName()"
54071
- [ngClass]="checkboxClasses()"
54072
- class="w-4 h-4 rounded border-2 transition-all duration-200"
54073
- />
54074
- <span [ngClass]="checkboxLabelClasses()" class="text-sm">
54075
- Same as Shop Name
54076
- </span>
54077
- </label>
54078
- </div>
54079
- @if (isFieldInvalid('companyName')) {
54080
- <p [ngClass]="errorClasses()" class="mt-1 text-sm">
54081
- Company name is required
54082
- </p>
54083
- }
54084
- </div>
54085
-
54086
- <input formControlName="website" class="absolute -left-[9999px] opacity-0" tabindex="-1" autocomplete="off" />
54087
- </form>
54088
- </div>
54089
- </div>
54090
- }
54091
-
54092
- <!-- Focus Areas Card - View Mode -->
54093
- @if (accountData() && accountData()!.focusAreaDetails && !focusAreasEditMode() && !editMode()) {
54094
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
54095
- <div [ngClass]="contentClasses()" class="px-8 py-8">
54096
- <div class="flex items-start justify-between mb-6">
54097
- <div>
54098
- <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
54099
- Focus Areas
54100
- </h2>
54101
- <p [ngClass]="sectionDescriptionClasses()">
54102
- Your marketing and operational focus areas
54103
- </p>
54104
- </div>
54105
- <button
54106
- type="button"
54107
- (click)="enableFocusAreasEditMode()"
54108
- [ngClass]="editButtonClasses()"
54109
- 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">
54110
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54111
- <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"/>
54112
- </svg>
54113
- Edit
54114
- </button>
54115
- </div>
54116
-
54117
- <!-- Grouped by Status -->
54118
- @if (engagedFocusAreas().length > 0) {
54119
- <div class="mb-6">
54120
- <h3 [ngClass]="groupTitleClasses('engaged')" class="text-base font-bold mb-3 flex items-center gap-2">
54121
- <span class="w-2 h-2 rounded-full bg-emerald-500"></span>
54122
- Engaged In ({{ engagedFocusAreas().length }})
54123
- </h3>
54124
- <div class="space-y-3">
54125
- @for (focusArea of engagedFocusAreas(); track focusArea.focusAreaDomain) {
54126
- <div [ngClass]="focusAreaViewCardClasses('engaged')" class="p-4 rounded-lg border-l-4">
54127
- <div class="flex items-start justify-between mb-2">
54128
- <h4 [ngClass]="focusAreaViewTitleClasses()" class="font-semibold text-sm">
54129
- {{ getFocusAreaTitle(focusArea.focusAreaDomain!) }}
54130
- </h4>
54131
- <span [ngClass]="statusBadgeClasses('engaged')" class="px-2 py-0.5 rounded text-xs font-semibold whitespace-nowrap">
54132
- Engaged
54133
- </span>
54134
- </div>
54135
- @if (focusArea.tools && focusArea.tools.length > 0) {
54136
- <div class="flex items-center gap-2 mt-2">
54137
- <span [ngClass]="toolsLabelViewClasses()" class="text-xs font-medium">Tools:</span>
54138
- <div class="flex flex-wrap gap-1.5">
54139
- @for (tool of focusArea.tools; track tool) {
54140
- <span [ngClass]="toolChipViewClasses()" class="px-2 py-0.5 rounded text-xs">
54141
- {{ tool }}
54142
- </span>
54143
- }
54144
- </div>
54145
- </div>
54146
- }
54147
- </div>
54148
- }
54149
- </div>
54150
- </div>
54151
- }
54152
-
54153
- @if (interestedFocusAreas().length > 0) {
54154
- <div class="mb-6">
54155
- <h3 [ngClass]="groupTitleClasses('interested')" class="text-base font-bold mb-3 flex items-center gap-2">
54156
- <span class="w-2 h-2 rounded-full bg-blue-500"></span>
54157
- Interested In ({{ interestedFocusAreas().length }})
54158
- </h3>
54159
- <div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
54160
- @for (focusArea of interestedFocusAreas(); track focusArea.focusAreaDomain) {
54161
- <div [ngClass]="focusAreaViewCardClasses('interested')" class="p-3 rounded-lg border-l-4">
54162
- <h4 [ngClass]="focusAreaViewTitleClasses()" class="font-semibold text-sm">
54163
- {{ getFocusAreaTitle(focusArea.focusAreaDomain!) }}
54164
- </h4>
54165
- </div>
54166
- }
54167
- </div>
54168
- </div>
54169
- }
54170
-
54171
- @if (notInterestedFocusAreas().length > 0) {
54172
- <div>
54173
- <h3 [ngClass]="groupTitleClasses('not-interested')" class="text-base font-bold mb-3 flex items-center gap-2">
54174
- <span class="w-2 h-2 rounded-full bg-slate-400"></span>
54175
- Not Interested ({{ notInterestedFocusAreas().length }})
54176
- </h3>
54177
- <div class="grid grid-cols-2 sm:grid-cols-3 gap-2">
54178
- @for (focusArea of notInterestedFocusAreas(); track focusArea.focusAreaDomain) {
54179
- <div [ngClass]="focusAreaViewCardClasses('not-interested')" class="p-2 rounded text-center">
54180
- <span [ngClass]="focusAreaViewTitleSmallClasses()" class="text-xs font-medium">
54181
- {{ getFocusAreaTitle(focusArea.focusAreaDomain!) }}
54182
- </span>
54183
- </div>
54184
- }
54185
- </div>
54186
- </div>
54187
- }
54188
- </div>
54189
- </div>
54190
- }
54191
-
54192
- <!-- Focus Areas Card - Edit Mode -->
54193
- @if (!accountData() || focusAreasEditMode()) {
54194
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
54195
- <div [ngClass]="contentClasses()" class="px-8 py-8">
54196
- <div class="mb-6">
54197
- <div class="flex items-start justify-between">
54198
- <div>
54199
- <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
54200
- Focus Areas
54201
- </h2>
54202
- <p [ngClass]="sectionDescriptionClasses()">
54203
- Tell us about your marketing and operational focus areas
54204
- </p>
54205
- </div>
54206
- <div [ngClass]="progressBadgeClasses()" class="px-4 py-2 rounded-lg text-sm font-semibold whitespace-nowrap">
54207
- {{ focusAreasAnswered() }} of {{ totalFocusAreas() }} answered
54208
- </div>
54209
- </div>
54210
- </div>
54211
-
54212
- <div class="space-y-4">
54213
- @for (domain of allFocusAreaDomains(); track domain; let i = $index) {
54214
- <symphiq-focus-area-question
54215
- [focusAreaDomain]="domain"
54216
- [selectedStatus]="getFocusAreaStatus(domain)"
54217
- [selectedTools]="getFocusAreaTools(domain)"
54218
- [viewMode]="viewMode()"
54219
- [title]="getFocusAreaTitle(domain)"
54220
- [description]="getFocusAreaDescription(domain)"
54221
- (statusChange)="onFocusAreaStatusChange(domain, $event)"
54222
- (toolsClick)="onFocusAreaToolsClick(domain)"
54223
- />
54224
- @if (i < allFocusAreaDomains().length - 1) {
54225
- <div [ngClass]="dividerClasses()" class="my-4"></div>
54226
- }
54227
- }
54228
- </div>
54229
- </div>
54230
- </div>
54231
- }
54232
- </div>
54233
- }
54234
- </main>
54235
-
54236
- <!-- Tools Selection Modal -->
54237
- <symphiq-focus-area-tools-modal
54238
- [isOpen]="toolsModalOpen()"
54239
- [focusAreaDomain]="currentEditingFocusArea()!"
54240
- [focusAreaTitle]="currentEditingFocusAreaTitle()"
54241
- [selectedTools]="currentEditingTools()"
54242
- [viewMode]="viewMode()"
54243
- (close)="onToolsModalClose()"
54244
- (save)="onToolsModalSave($event)"
54245
- />
54246
-
54247
- <!-- Sticky Continue Button -->
54248
- @if ((!accountData() || editMode() || focusAreasEditMode()) && !isCreatingAccount()) {
54249
- <div [ngClass]="stickyButtonContainerClasses()" class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-sm">
54250
- <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
54251
- <div class="flex items-center gap-3">
54252
- @if ((accountData() && editMode()) || (accountData() && focusAreasEditMode())) {
54253
- <button
54254
- type="button"
54255
- (click)="focusAreasEditMode() ? cancelFocusAreasEditMode() : cancelEditMode()"
54256
- [ngClass]="cancelButtonClasses()"
54257
- class="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">
54258
- Cancel
54259
- </button>
54260
- }
54261
- <button
54262
- type="button"
54263
- (click)="focusAreasEditMode() ? handleSaveFocusAreas() : handleContinue()"
54264
- [disabled]="!isButtonEnabled()"
54265
- [ngClass]="continueButtonClasses()"
54266
- class="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"
54267
- [class.cursor-pointer]="isButtonEnabled()"
54268
- [class.cursor-not-allowed]="!isButtonEnabled()"
54269
- [class.opacity-50]="!isButtonEnabled()"
54270
- [class.hover:scale-105]="isButtonEnabled()">
54271
- @if (isLoading()) {
54272
- <svg class="w-6 h-6 animate-spin" fill="none" viewBox="0 0 24 24">
54273
- <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
54274
- <path class="opacity-75" 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"></path>
54275
- </svg>
54276
- @if (focusAreasEditMode()) {
54277
- Saving Focus Areas...
54278
- } @else if (accountData() && editMode()) {
54279
- Updating Account...
54280
- } @else {
54281
- Creating Account...
54282
- }
54283
- } @else {
54284
- @if (focusAreasEditMode()) {
54285
- Save Focus Areas
54286
- } @else if (accountData() && editMode()) {
54287
- Save Changes
54288
- } @else {
54289
- Create Account
54290
- }
54291
- <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54292
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"/>
54293
- </svg>
54294
- }
54295
- </button>
54296
- </div>
54297
- </div>
54298
- </div>
54299
- }
54300
- </div>
54301
- </div>
54201
+ args: [{ selector: 'symphiq-create-account-dashboard', standalone: true, imports: [CommonModule, ReactiveFormsModule, JourneyProgressIndicatorComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent, IndeterminateSpinnerComponent, DashboardHeaderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
54202
+ <div [ngClass]="getContainerClasses()">
54203
+ <!-- Scroll Progress Bar -->
54204
+ <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'">
54205
+ <div
54206
+ [style.width.%]="scrollProgress()"
54207
+ [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400'"
54208
+ class="h-full transition-all duration-200 ease-out">
54209
+ </div>
54210
+ </div>
54211
+
54212
+ <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>
54213
+
54214
+ <div class="relative z-[51]">
54215
+ <symphiq-dashboard-header
54216
+ [title]="'Create Account'"
54217
+ [subtitle]="'Tell us about your shop'"
54218
+ [viewMode]="viewMode()"
54219
+ [showControls]="false"
54220
+ />
54221
+
54222
+ <!-- Journey Progress Indicator -->
54223
+ <symphiq-journey-progress-indicator
54224
+ [viewMode]="viewMode()"
54225
+ [currentStepId]="JourneyStepIdEnum.CREATE_ACCOUNT"
54226
+ [showNextStepAction]="showNextStepAction()"
54227
+ [forDemo]="forDemo()"
54228
+ [maxAccessibleStepId]="maxAccessibleStepId()"
54229
+ (stepClick)="stepClick.emit($event)"
54230
+ (nextStepClick)="nextStepClick.emit()"
54231
+ />
54232
+
54233
+ <main class="relative pb-32">
54234
+ @if (isCreatingAccount()) {
54235
+ <div class="flex flex-col items-center justify-center min-h-[60vh] gap-6">
54236
+ <symphiq-indeterminate-spinner
54237
+ [viewMode]="viewMode()"
54238
+ size="large"
54239
+ />
54240
+ <div class="text-center">
54241
+ <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
54242
+ Your account is being created
54243
+ </h2>
54244
+ <p [ngClass]="sectionDescriptionClasses()" class="text-base">
54245
+ Please wait while we set everything up for you...
54246
+ </p>
54247
+ </div>
54248
+ </div>
54249
+ } @else {
54250
+ <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
54251
+ <!-- View Mode: Display Account Data -->
54252
+ @if (accountData() && !editMode() && !focusAreasEditMode()) {
54253
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
54254
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
54255
+ <div class="flex items-start justify-between mb-6">
54256
+ <div>
54257
+ <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
54258
+ Shop Details
54259
+ </h2>
54260
+ <p [ngClass]="sectionDescriptionClasses()">
54261
+ Your shop information
54262
+ </p>
54263
+ </div>
54264
+ <button
54265
+ type="button"
54266
+ (click)="enableEditMode()"
54267
+ [ngClass]="editButtonClasses()"
54268
+ 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">
54269
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54270
+ <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"/>
54271
+ </svg>
54272
+ Edit
54273
+ </button>
54274
+ </div>
54275
+
54276
+ <div class="space-y-4">
54277
+ <div>
54278
+ <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
54279
+ Shop Name
54280
+ </label>
54281
+ <p [ngClass]="viewValueClasses()" class="text-base">
54282
+ {{ accountData()!.shopName }}
54283
+ </p>
54284
+ </div>
54285
+
54286
+ <div>
54287
+ <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
54288
+ Shop URL
54289
+ </label>
54290
+ <a [href]="accountData()!.shopUrl" target="_blank" rel="noopener noreferrer"
54291
+ [ngClass]="viewLinkClasses()"
54292
+ class="text-base hover:underline">
54293
+ {{ accountData()!.shopUrl }}
54294
+ </a>
54295
+ </div>
54296
+
54297
+ <div>
54298
+ <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
54299
+ Shop Platform
54300
+ </label>
54301
+ <p [ngClass]="viewValueClasses()" class="text-base">
54302
+ @if (accountData()!.shopPlatform === ShopPlatformEnum.SHOPIFY) {
54303
+ Shopify
54304
+ } @else {
54305
+ {{ accountData()!.otherPlatformName || 'Other' }}
54306
+ }
54307
+ </p>
54308
+ </div>
54309
+
54310
+ <div>
54311
+ <label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
54312
+ Company Name
54313
+ </label>
54314
+ <p [ngClass]="viewValueClasses()" class="text-base">
54315
+ {{ accountData()!.companyName }}
54316
+ </p>
54317
+ </div>
54318
+ </div>
54319
+ </div>
54320
+ </div>
54321
+ }
54322
+
54323
+ <!-- Edit Mode: Form -->
54324
+ @if (!accountData() || editMode()) {
54325
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
54326
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
54327
+ <div class="mb-6">
54328
+ <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
54329
+ Shop Details
54330
+ </h2>
54331
+ <p [ngClass]="sectionDescriptionClasses()">
54332
+ Enter your shop details to get started with Symphiq
54333
+ </p>
54334
+ </div>
54335
+
54336
+ <form [formGroup]="accountForm" class="space-y-6">
54337
+ <!-- Shop Name -->
54338
+ <div>
54339
+ <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
54340
+ Shop Name <span class="text-red-500">*</span>
54341
+ </label>
54342
+ <input
54343
+ #shopNameInput
54344
+ type="text"
54345
+ formControlName="shopName"
54346
+ [ngClass]="inputClasses('shopName')"
54347
+ class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
54348
+ placeholder="Enter your shop name"
54349
+ />
54350
+ @if (isFieldInvalid('shopName')) {
54351
+ <p [ngClass]="errorClasses()" class="mt-1 text-sm">
54352
+ Shop name is required
54353
+ </p>
54354
+ }
54355
+ </div>
54356
+
54357
+ <!-- Shop URL -->
54358
+ <div>
54359
+ <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
54360
+ Shop URL <span class="text-red-500">*</span>
54361
+ </label>
54362
+ <div class="flex items-center">
54363
+ <span [ngClass]="urlPrefixClasses()" class="px-4 py-3 rounded-l-lg border-2 border-r-0 text-sm font-medium">
54364
+ https://
54365
+ </span>
54366
+ <input
54367
+ type="text"
54368
+ formControlName="shopUrl"
54369
+ [ngClass]="urlInputClasses('shopUrl')"
54370
+ class="flex-1 px-4 py-3 rounded-r-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
54371
+ placeholder="yourshop.com"
54372
+ />
54373
+ </div>
54374
+ @if (isFieldInvalid('shopUrl')) {
54375
+ <p [ngClass]="errorClasses()" class="mt-1 text-sm">
54376
+ Shop URL is required
54377
+ </p>
54378
+ }
54379
+ </div>
54380
+
54381
+ <!-- Shop Platform -->
54382
+ <div>
54383
+ <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-3">
54384
+ Shop Platform <span class="text-red-500">*</span>
54385
+ </label>
54386
+ <div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
54387
+ <label [ngClass]="radioPlatformClasses(ShopPlatformEnum.SHOPIFY)" class="cursor-pointer">
54388
+ <input
54389
+ type="radio"
54390
+ formControlName="shopPlatform"
54391
+ [value]="ShopPlatformEnum.SHOPIFY"
54392
+ class="sr-only"
54393
+ />
54394
+ <div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
54395
+ <div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.SHOPIFY)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
54396
+ @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.SHOPIFY) {
54397
+ <div class="w-3 h-3 rounded-full bg-current"></div>
54398
+ }
54399
+ </div>
54400
+ <div class="flex-1">
54401
+ <div [ngClass]="radioLabelClasses()" class="font-semibold">
54402
+ Shopify
54403
+ </div>
54404
+ </div>
54405
+ </div>
54406
+ </label>
54407
+
54408
+ <label [ngClass]="radioPlatformClasses(ShopPlatformEnum.OTHER)" class="cursor-pointer">
54409
+ <input
54410
+ type="radio"
54411
+ formControlName="shopPlatform"
54412
+ [value]="ShopPlatformEnum.OTHER"
54413
+ class="sr-only"
54414
+ />
54415
+ <div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
54416
+ <div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.OTHER)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
54417
+ @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
54418
+ <div class="w-3 h-3 rounded-full bg-current"></div>
54419
+ }
54420
+ </div>
54421
+ <div class="flex-1">
54422
+ <div [ngClass]="radioLabelClasses()" class="font-semibold">
54423
+ Other
54424
+ </div>
54425
+ </div>
54426
+ </div>
54427
+ </label>
54428
+ </div>
54429
+ </div>
54430
+
54431
+ <!-- Other Platform Name (Conditional) -->
54432
+ @if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
54433
+ <div>
54434
+ <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
54435
+ Platform Name <span class="text-red-500">*</span>
54436
+ </label>
54437
+ <input
54438
+ type="text"
54439
+ formControlName="otherPlatformName"
54440
+ [ngClass]="inputClasses('otherPlatformName')"
54441
+ class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
54442
+ placeholder="Enter platform name (e.g., WooCommerce, Magento)"
54443
+ />
54444
+ @if (isFieldInvalid('otherPlatformName')) {
54445
+ <p [ngClass]="errorClasses()" class="mt-1 text-sm">
54446
+ Platform name is required
54447
+ </p>
54448
+ }
54449
+ </div>
54450
+ }
54451
+
54452
+ <!-- Company Name -->
54453
+ <div>
54454
+ <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
54455
+ Company Name <span class="text-red-500">*</span>
54456
+ </label>
54457
+ <input
54458
+ type="text"
54459
+ formControlName="companyName"
54460
+ [ngClass]="inputClasses('companyName')"
54461
+ [readonly]="sameAsShopName()"
54462
+ class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
54463
+ [class.cursor-not-allowed]="sameAsShopName()"
54464
+ [class.opacity-60]="sameAsShopName()"
54465
+ placeholder="Enter company name"
54466
+ />
54467
+ <div class="mt-2">
54468
+ <label class="flex items-center gap-2 cursor-pointer">
54469
+ <input
54470
+ type="checkbox"
54471
+ [checked]="sameAsShopName()"
54472
+ (change)="toggleSameAsShopName()"
54473
+ [ngClass]="checkboxClasses()"
54474
+ class="w-4 h-4 rounded border-2 transition-all duration-200"
54475
+ />
54476
+ <span [ngClass]="checkboxLabelClasses()" class="text-sm">
54477
+ Same as Shop Name
54478
+ </span>
54479
+ </label>
54480
+ </div>
54481
+ @if (isFieldInvalid('companyName')) {
54482
+ <p [ngClass]="errorClasses()" class="mt-1 text-sm">
54483
+ Company name is required
54484
+ </p>
54485
+ }
54486
+ </div>
54487
+
54488
+ <input formControlName="website" class="absolute -left-[9999px] opacity-0" tabindex="-1" autocomplete="off" />
54489
+ </form>
54490
+ </div>
54491
+ </div>
54492
+ }
54493
+
54494
+ <!-- Focus Areas Card - View Mode -->
54495
+ @if (accountData() && accountData()!.focusAreaDetails && !focusAreasEditMode() && !editMode()) {
54496
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
54497
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
54498
+ <div class="flex items-start justify-between mb-6">
54499
+ <div>
54500
+ <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
54501
+ Focus Areas
54502
+ </h2>
54503
+ <p [ngClass]="sectionDescriptionClasses()">
54504
+ Your marketing and operational focus areas
54505
+ </p>
54506
+ </div>
54507
+ <button
54508
+ type="button"
54509
+ (click)="enableFocusAreasEditMode()"
54510
+ [ngClass]="editButtonClasses()"
54511
+ 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">
54512
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54513
+ <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"/>
54514
+ </svg>
54515
+ Edit
54516
+ </button>
54517
+ </div>
54518
+
54519
+ <!-- Grouped by Status -->
54520
+ @if (engagedFocusAreas().length > 0) {
54521
+ <div class="mb-6">
54522
+ <h3 [ngClass]="groupTitleClasses('engaged')" class="text-base font-bold mb-3 flex items-center gap-2">
54523
+ <span class="w-2 h-2 rounded-full bg-emerald-500"></span>
54524
+ Engaged In ({{ engagedFocusAreas().length }})
54525
+ </h3>
54526
+ <div class="space-y-3">
54527
+ @for (focusArea of engagedFocusAreas(); track focusArea.focusAreaDomain) {
54528
+ <div [ngClass]="focusAreaViewCardClasses('engaged')" class="p-4 rounded-lg border-l-4">
54529
+ <div class="flex items-start justify-between mb-2">
54530
+ <h4 [ngClass]="focusAreaViewTitleClasses()" class="font-semibold text-sm">
54531
+ {{ getFocusAreaTitle(focusArea.focusAreaDomain!) }}
54532
+ </h4>
54533
+ <span [ngClass]="statusBadgeClasses('engaged')" class="px-2 py-0.5 rounded text-xs font-semibold whitespace-nowrap">
54534
+ Engaged
54535
+ </span>
54536
+ </div>
54537
+ @if (focusArea.tools && focusArea.tools.length > 0) {
54538
+ <div class="flex items-center gap-2 mt-2">
54539
+ <span [ngClass]="toolsLabelViewClasses()" class="text-xs font-medium">Tools:</span>
54540
+ <div class="flex flex-wrap gap-1.5">
54541
+ @for (tool of focusArea.tools; track tool) {
54542
+ <span [ngClass]="toolChipViewClasses()" class="px-2 py-0.5 rounded text-xs">
54543
+ {{ tool }}
54544
+ </span>
54545
+ }
54546
+ </div>
54547
+ </div>
54548
+ }
54549
+ </div>
54550
+ }
54551
+ </div>
54552
+ </div>
54553
+ }
54554
+
54555
+ @if (interestedFocusAreas().length > 0) {
54556
+ <div class="mb-6">
54557
+ <h3 [ngClass]="groupTitleClasses('interested')" class="text-base font-bold mb-3 flex items-center gap-2">
54558
+ <span class="w-2 h-2 rounded-full bg-blue-500"></span>
54559
+ Interested In ({{ interestedFocusAreas().length }})
54560
+ </h3>
54561
+ <div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
54562
+ @for (focusArea of interestedFocusAreas(); track focusArea.focusAreaDomain) {
54563
+ <div [ngClass]="focusAreaViewCardClasses('interested')" class="p-3 rounded-lg border-l-4">
54564
+ <h4 [ngClass]="focusAreaViewTitleClasses()" class="font-semibold text-sm">
54565
+ {{ getFocusAreaTitle(focusArea.focusAreaDomain!) }}
54566
+ </h4>
54567
+ </div>
54568
+ }
54569
+ </div>
54570
+ </div>
54571
+ }
54572
+
54573
+ @if (notInterestedFocusAreas().length > 0) {
54574
+ <div>
54575
+ <h3 [ngClass]="groupTitleClasses('not-interested')" class="text-base font-bold mb-3 flex items-center gap-2">
54576
+ <span class="w-2 h-2 rounded-full bg-slate-400"></span>
54577
+ Not Interested ({{ notInterestedFocusAreas().length }})
54578
+ </h3>
54579
+ <div class="grid grid-cols-2 sm:grid-cols-3 gap-2">
54580
+ @for (focusArea of notInterestedFocusAreas(); track focusArea.focusAreaDomain) {
54581
+ <div [ngClass]="focusAreaViewCardClasses('not-interested')" class="p-2 rounded text-center">
54582
+ <span [ngClass]="focusAreaViewTitleSmallClasses()" class="text-xs font-medium">
54583
+ {{ getFocusAreaTitle(focusArea.focusAreaDomain!) }}
54584
+ </span>
54585
+ </div>
54586
+ }
54587
+ </div>
54588
+ </div>
54589
+ }
54590
+ </div>
54591
+ </div>
54592
+ }
54593
+
54594
+ <!-- Focus Areas Card - Edit Mode -->
54595
+ @if (!accountData() || focusAreasEditMode()) {
54596
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
54597
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
54598
+ <div class="mb-6">
54599
+ <div class="flex items-start justify-between">
54600
+ <div>
54601
+ <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
54602
+ Focus Areas
54603
+ </h2>
54604
+ <p [ngClass]="sectionDescriptionClasses()">
54605
+ Tell us about your marketing and operational focus areas
54606
+ </p>
54607
+ </div>
54608
+ <div [ngClass]="progressBadgeClasses()" class="px-4 py-2 rounded-lg text-sm font-semibold whitespace-nowrap">
54609
+ {{ focusAreasAnswered() }} of {{ totalFocusAreas() }} answered
54610
+ </div>
54611
+ </div>
54612
+ </div>
54613
+
54614
+ <div class="space-y-4">
54615
+ @for (domain of allFocusAreaDomains(); track domain; let i = $index) {
54616
+ <symphiq-focus-area-question
54617
+ [focusAreaDomain]="domain"
54618
+ [selectedStatus]="getFocusAreaStatus(domain)"
54619
+ [selectedTools]="getFocusAreaTools(domain)"
54620
+ [viewMode]="viewMode()"
54621
+ [title]="getFocusAreaTitle(domain)"
54622
+ [description]="getFocusAreaDescription(domain)"
54623
+ (statusChange)="onFocusAreaStatusChange(domain, $event)"
54624
+ (toolsClick)="onFocusAreaToolsClick(domain)"
54625
+ />
54626
+ @if (i < allFocusAreaDomains().length - 1) {
54627
+ <div [ngClass]="dividerClasses()" class="my-4"></div>
54628
+ }
54629
+ }
54630
+ </div>
54631
+ </div>
54632
+ </div>
54633
+ }
54634
+ </div>
54635
+ }
54636
+ </main>
54637
+
54638
+ <!-- Tools Selection Modal -->
54639
+ <symphiq-focus-area-tools-modal
54640
+ [isOpen]="toolsModalOpen()"
54641
+ [focusAreaDomain]="currentEditingFocusArea()!"
54642
+ [focusAreaTitle]="currentEditingFocusAreaTitle()"
54643
+ [selectedTools]="currentEditingTools()"
54644
+ [viewMode]="viewMode()"
54645
+ (close)="onToolsModalClose()"
54646
+ (save)="onToolsModalSave($event)"
54647
+ />
54648
+
54649
+ <!-- Sticky Continue Button -->
54650
+ @if ((!accountData() || editMode() || focusAreasEditMode()) && !isCreatingAccount()) {
54651
+ <div [ngClass]="stickyButtonContainerClasses()" class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-sm">
54652
+ <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
54653
+ <div class="flex items-center gap-3">
54654
+ @if ((accountData() && editMode()) || (accountData() && focusAreasEditMode())) {
54655
+ <button
54656
+ type="button"
54657
+ (click)="focusAreasEditMode() ? cancelFocusAreasEditMode() : cancelEditMode()"
54658
+ [ngClass]="cancelButtonClasses()"
54659
+ class="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">
54660
+ Cancel
54661
+ </button>
54662
+ }
54663
+ <button
54664
+ type="button"
54665
+ (click)="focusAreasEditMode() ? handleSaveFocusAreas() : handleContinue()"
54666
+ [disabled]="!isButtonEnabled()"
54667
+ [ngClass]="continueButtonClasses()"
54668
+ class="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"
54669
+ [class.cursor-pointer]="isButtonEnabled()"
54670
+ [class.cursor-not-allowed]="!isButtonEnabled()"
54671
+ [class.opacity-50]="!isButtonEnabled()"
54672
+ [class.hover:scale-105]="isButtonEnabled()">
54673
+ @if (isLoading()) {
54674
+ <svg class="w-6 h-6 animate-spin" fill="none" viewBox="0 0 24 24">
54675
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
54676
+ <path class="opacity-75" 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"></path>
54677
+ </svg>
54678
+ @if (focusAreasEditMode()) {
54679
+ Saving Focus Areas...
54680
+ } @else if (accountData() && editMode()) {
54681
+ Updating Account...
54682
+ } @else {
54683
+ Creating Account...
54684
+ }
54685
+ } @else {
54686
+ @if (focusAreasEditMode()) {
54687
+ Save Focus Areas
54688
+ } @else if (accountData() && editMode()) {
54689
+ Save Changes
54690
+ } @else {
54691
+ Create Account
54692
+ }
54693
+ <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54694
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"/>
54695
+ </svg>
54696
+ }
54697
+ </button>
54698
+ </div>
54699
+ </div>
54700
+ </div>
54701
+ }
54702
+ </div>
54703
+ </div>
54302
54704
  `, 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)}}\n"] }]
54303
54705
  }], () => [], { 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 }] }], accountData: [{ type: i0.Input, args: [{ isSignal: true, alias: "accountData", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], showNextStepAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "showNextStepAction", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], onCreateAccount: [{ type: i0.Output, args: ["onCreateAccount"] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], shopNameInput: [{
54304
54706
  type: ViewChild,
@@ -54307,16 +54709,16 @@ class SymphiqCreateAccountDashboardComponent {
54307
54709
  type: HostListener,
54308
54710
  args: ['window:scroll', ['$event']]
54309
54711
  }] }); })();
54310
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqCreateAccountDashboardComponent, { className: "SymphiqCreateAccountDashboardComponent", filePath: "lib/components/create-account-dashboard/symphiq-create-account-dashboard.component.ts", lineNumber: 642 }); })();
54712
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqCreateAccountDashboardComponent, { className: "SymphiqCreateAccountDashboardComponent", filePath: "lib/components/create-account-dashboard/symphiq-create-account-dashboard.component.ts", lineNumber: 603 }); })();
54311
54713
 
54312
54714
  const _forTrack0$A = ($index, $item) => $item.id;
54313
- function SymphiqConnectGaDashboardComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
54314
- i0.ɵɵelementStart(0, "div", 12)(1, "div", 14)(2, "div", 15);
54315
- i0.ɵɵelement(3, "symphiq-indeterminate-spinner", 16);
54316
- i0.ɵɵelementStart(4, "h2", 17);
54715
+ function SymphiqConnectGaDashboardComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
54716
+ i0.ɵɵelementStart(0, "div", 7)(1, "div", 9)(2, "div", 10);
54717
+ i0.ɵɵelement(3, "symphiq-indeterminate-spinner", 11);
54718
+ i0.ɵɵelementStart(4, "h2", 12);
54317
54719
  i0.ɵɵtext(5, " Connecting to Google ");
54318
54720
  i0.ɵɵelementEnd();
54319
- i0.ɵɵelementStart(6, "p", 18);
54721
+ i0.ɵɵelementStart(6, "p", 13);
54320
54722
  i0.ɵɵtext(7, " Please complete the sign-in process in the popup window. Once authorized, your Google Analytics properties will appear here. ");
54321
54723
  i0.ɵɵelementEnd()()()();
54322
54724
  } if (rf & 2) {
@@ -54331,83 +54733,83 @@ function SymphiqConnectGaDashboardComponent_Conditional_21_Template(rf, ctx) { i
54331
54733
  i0.ɵɵadvance(2);
54332
54734
  i0.ɵɵproperty("ngClass", ctx_r0.textClasses());
54333
54735
  } }
54334
- function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_9_Template(rf, ctx) { if (rf & 1) {
54736
+ function SymphiqConnectGaDashboardComponent_Conditional_8_Conditional_9_Template(rf, ctx) { if (rf & 1) {
54335
54737
  i0.ɵɵtext(0, " Change Google Account ");
54336
54738
  } }
54337
- function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_10_Template(rf, ctx) { if (rf & 1) {
54739
+ function SymphiqConnectGaDashboardComponent_Conditional_8_Conditional_10_Template(rf, ctx) { if (rf & 1) {
54338
54740
  i0.ɵɵtext(0, " Connect Google Analytics 4 ");
54339
54741
  } }
54340
- function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_11_Template(rf, ctx) { if (rf & 1) {
54742
+ function SymphiqConnectGaDashboardComponent_Conditional_8_Conditional_11_Template(rf, ctx) { if (rf & 1) {
54341
54743
  const _r3 = i0.ɵɵgetCurrentView();
54342
- i0.ɵɵelementStart(0, "button", 54);
54343
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.cancelReconnectMode()); });
54744
+ i0.ɵɵelementStart(0, "button", 50);
54745
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_8_Conditional_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.cancelReconnectMode()); });
54344
54746
  i0.ɵɵtext(1, " Cancel ");
54345
54747
  i0.ɵɵelementEnd();
54346
54748
  } if (rf & 2) {
54347
54749
  const ctx_r0 = i0.ɵɵnextContext(2);
54348
54750
  i0.ɵɵproperty("ngClass", ctx_r0.headerCancelButtonClasses());
54349
54751
  } }
54350
- function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_13_Template(rf, ctx) { if (rf & 1) {
54752
+ function SymphiqConnectGaDashboardComponent_Conditional_8_Conditional_13_Template(rf, ctx) { if (rf & 1) {
54351
54753
  i0.ɵɵtext(0, " Sign in with a different Google account to access other Google Analytics properties. ");
54352
54754
  } }
54353
- function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_14_Template(rf, ctx) { if (rf & 1) {
54755
+ function SymphiqConnectGaDashboardComponent_Conditional_8_Conditional_14_Template(rf, ctx) { if (rf & 1) {
54354
54756
  i0.ɵɵtext(0, " 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. ");
54355
54757
  } }
54356
- function SymphiqConnectGaDashboardComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
54758
+ function SymphiqConnectGaDashboardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
54357
54759
  const _r2 = i0.ɵɵgetCurrentView();
54358
- i0.ɵɵelementStart(0, "div", 12)(1, "div", 19)(2, "div", 20)(3, "div", 21);
54760
+ i0.ɵɵelementStart(0, "div", 7)(1, "div", 14)(2, "div", 15)(3, "div", 16);
54359
54761
  i0.ɵɵnamespaceSVG();
54360
- i0.ɵɵelementStart(4, "svg", 22);
54361
- i0.ɵɵelement(5, "path", 23);
54762
+ i0.ɵɵelementStart(4, "svg", 17);
54763
+ i0.ɵɵelement(5, "path", 18);
54362
54764
  i0.ɵɵelementEnd()();
54363
54765
  i0.ɵɵnamespaceHTML();
54364
- i0.ɵɵelementStart(6, "div", 24)(7, "div", 25)(8, "h2", 26);
54365
- i0.ɵɵconditionalCreate(9, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_9_Template, 1, 0)(10, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_10_Template, 1, 0);
54766
+ i0.ɵɵelementStart(6, "div", 19)(7, "div", 20)(8, "h2", 21);
54767
+ i0.ɵɵconditionalCreate(9, SymphiqConnectGaDashboardComponent_Conditional_8_Conditional_9_Template, 1, 0)(10, SymphiqConnectGaDashboardComponent_Conditional_8_Conditional_10_Template, 1, 0);
54366
54768
  i0.ɵɵelementEnd();
54367
- i0.ɵɵconditionalCreate(11, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_11_Template, 2, 1, "button", 27);
54769
+ i0.ɵɵconditionalCreate(11, SymphiqConnectGaDashboardComponent_Conditional_8_Conditional_11_Template, 2, 1, "button", 22);
54368
54770
  i0.ɵɵelementEnd();
54369
- i0.ɵɵelementStart(12, "p", 28);
54370
- i0.ɵɵconditionalCreate(13, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_13_Template, 1, 0)(14, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_14_Template, 1, 0);
54771
+ i0.ɵɵelementStart(12, "p", 23);
54772
+ i0.ɵɵconditionalCreate(13, SymphiqConnectGaDashboardComponent_Conditional_8_Conditional_13_Template, 1, 0)(14, SymphiqConnectGaDashboardComponent_Conditional_8_Conditional_14_Template, 1, 0);
54371
54773
  i0.ɵɵelementEnd();
54372
- i0.ɵɵelementStart(15, "div", 29)(16, "button", 30);
54373
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_22_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onGoogleButtonClick()); });
54374
- i0.ɵɵelement(17, "div", 31);
54375
- i0.ɵɵelementStart(18, "div", 32)(19, "div", 33);
54774
+ i0.ɵɵelementStart(15, "div", 24)(16, "button", 25);
54775
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_8_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onGoogleButtonClick()); });
54776
+ i0.ɵɵelement(17, "div", 26);
54777
+ i0.ɵɵelementStart(18, "div", 27)(19, "div", 28);
54376
54778
  i0.ɵɵnamespaceSVG();
54377
- i0.ɵɵelementStart(20, "svg", 34);
54378
- i0.ɵɵelement(21, "path", 35)(22, "path", 36)(23, "path", 37)(24, "path", 38)(25, "path", 39);
54779
+ i0.ɵɵelementStart(20, "svg", 29);
54780
+ i0.ɵɵelement(21, "path", 30)(22, "path", 31)(23, "path", 32)(24, "path", 33)(25, "path", 34);
54379
54781
  i0.ɵɵelementEnd()();
54380
54782
  i0.ɵɵnamespaceHTML();
54381
- i0.ɵɵelementStart(26, "span", 40);
54783
+ i0.ɵɵelementStart(26, "span", 35);
54382
54784
  i0.ɵɵtext(27, "Continue with Google");
54383
54785
  i0.ɵɵelementEnd()()()();
54384
- i0.ɵɵelementStart(28, "div", 41);
54786
+ i0.ɵɵelementStart(28, "div", 36);
54385
54787
  i0.ɵɵnamespaceSVG();
54386
- i0.ɵɵelementStart(29, "svg", 42);
54387
- i0.ɵɵelement(30, "path", 43);
54788
+ i0.ɵɵelementStart(29, "svg", 37);
54789
+ i0.ɵɵelement(30, "path", 38);
54388
54790
  i0.ɵɵelementEnd();
54389
54791
  i0.ɵɵnamespaceHTML();
54390
- i0.ɵɵelementStart(31, "div", 24)(32, "p", 44)(33, "strong", 45);
54792
+ i0.ɵɵelementStart(31, "div", 19)(32, "p", 39)(33, "strong", 40);
54391
54793
  i0.ɵɵtext(34, "Note:");
54392
54794
  i0.ɵɵelementEnd();
54393
54795
  i0.ɵɵtext(35, " 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. ");
54394
54796
  i0.ɵɵelementEnd()()();
54395
- i0.ɵɵelementStart(36, "div", 46)(37, "div", 47);
54396
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_22_Template_div_click_37_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.toggleExpanded()); });
54397
- i0.ɵɵelementStart(38, "span", 48);
54797
+ i0.ɵɵelementStart(36, "div", 41)(37, "div", 42);
54798
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_8_Template_div_click_37_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.toggleExpanded()); });
54799
+ i0.ɵɵelementStart(38, "span", 43);
54398
54800
  i0.ɵɵtext(39, " How do we use your Google Analytics data? ");
54399
54801
  i0.ɵɵelementEnd();
54400
54802
  i0.ɵɵnamespaceSVG();
54401
- i0.ɵɵelementStart(40, "svg", 49);
54402
- i0.ɵɵelement(41, "path", 50);
54803
+ i0.ɵɵelementStart(40, "svg", 44);
54804
+ i0.ɵɵelement(41, "path", 45);
54403
54805
  i0.ɵɵelementEnd()();
54404
54806
  i0.ɵɵnamespaceHTML();
54405
- i0.ɵɵelementStart(42, "div", 4)(43, "div", 51)(44, "p", 52);
54807
+ i0.ɵɵelementStart(42, "div", 46)(43, "div", 47)(44, "p", 48);
54406
54808
  i0.ɵɵtext(45, " 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. ");
54407
54809
  i0.ɵɵelementEnd();
54408
- i0.ɵɵelementStart(46, "p", 44);
54810
+ i0.ɵɵelementStart(46, "p", 39);
54409
54811
  i0.ɵɵtext(47, " Symphiq's use and transfer to any other app of information received from Google APIs will adhere to ");
54410
- i0.ɵɵelementStart(48, "strong", 53);
54812
+ i0.ɵɵelementStart(48, "strong", 49);
54411
54813
  i0.ɵɵtext(49, "Google API Services User Data Policy");
54412
54814
  i0.ɵɵelementEnd();
54413
54815
  i0.ɵɵtext(50, " including the Limited Use requirements. ");
@@ -54453,33 +54855,33 @@ function SymphiqConnectGaDashboardComponent_Conditional_22_Template(rf, ctx) { i
54453
54855
  i0.ɵɵadvance(2);
54454
54856
  i0.ɵɵproperty("ngClass", ctx_r0.expandedTextClasses());
54455
54857
  } }
54456
- function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_9_Template(rf, ctx) { if (rf & 1) {
54858
+ function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_9_Template(rf, ctx) { if (rf & 1) {
54457
54859
  i0.ɵɵtext(0, " Change Google Analytics Property ");
54458
54860
  } }
54459
- function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_10_Template(rf, ctx) { if (rf & 1) {
54861
+ function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_10_Template(rf, ctx) { if (rf & 1) {
54460
54862
  i0.ɵɵtext(0, " Choose Your Property ");
54461
54863
  } }
54462
- function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_11_Template(rf, ctx) { if (rf & 1) {
54864
+ function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_11_Template(rf, ctx) { if (rf & 1) {
54463
54865
  const _r4 = i0.ɵɵgetCurrentView();
54464
- i0.ɵɵelementStart(0, "button", 54);
54465
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.cancelEditMode()); });
54866
+ i0.ɵɵelementStart(0, "button", 50);
54867
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.cancelEditMode()); });
54466
54868
  i0.ɵɵtext(1, " Cancel ");
54467
54869
  i0.ɵɵelementEnd();
54468
54870
  } if (rf & 2) {
54469
54871
  const ctx_r0 = i0.ɵɵnextContext(2);
54470
54872
  i0.ɵɵproperty("ngClass", ctx_r0.headerCancelButtonClasses());
54471
54873
  } }
54472
- function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
54473
- i0.ɵɵelement(0, "div", 65);
54874
+ function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
54875
+ i0.ɵɵelement(0, "div", 61);
54474
54876
  } }
54475
- function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Conditional_10_Conditional_0_Template(rf, ctx) { if (rf & 1) {
54476
- i0.ɵɵelementStart(0, "div", 70);
54877
+ function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_For_2_Conditional_10_Conditional_0_Template(rf, ctx) { if (rf & 1) {
54878
+ i0.ɵɵelementStart(0, "div", 66);
54477
54879
  i0.ɵɵnamespaceSVG();
54478
- i0.ɵɵelementStart(1, "svg", 71);
54479
- i0.ɵɵelement(2, "path", 72);
54880
+ i0.ɵɵelementStart(1, "svg", 67);
54881
+ i0.ɵɵelement(2, "path", 68);
54480
54882
  i0.ɵɵelementEnd();
54481
54883
  i0.ɵɵnamespaceHTML();
54482
- i0.ɵɵelementStart(3, "span", 69);
54884
+ i0.ɵɵelementStart(3, "span", 65);
54483
54885
  i0.ɵɵtext(4);
54484
54886
  i0.ɵɵelementEnd()();
54485
54887
  } if (rf & 2) {
@@ -54491,31 +54893,31 @@ function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_
54491
54893
  i0.ɵɵadvance();
54492
54894
  i0.ɵɵtextInterpolate1(" Account: ", ctx.name || "Unnamed Account", " ");
54493
54895
  } }
54494
- function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
54495
- i0.ɵɵconditionalCreate(0, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Conditional_10_Conditional_0_Template, 5, 3, "div", 70);
54896
+ function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
54897
+ i0.ɵɵconditionalCreate(0, SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_For_2_Conditional_10_Conditional_0_Template, 5, 3, "div", 66);
54496
54898
  } if (rf & 2) {
54497
54899
  let tmp_13_0;
54498
54900
  const property_r7 = i0.ɵɵnextContext().$implicit;
54499
54901
  const ctx_r0 = i0.ɵɵnextContext(3);
54500
54902
  i0.ɵɵconditional((tmp_13_0 = ctx_r0.getAccountForProperty(property_r7)) ? 0 : -1, tmp_13_0);
54501
54903
  } }
54502
- function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Template(rf, ctx) { if (rf & 1) {
54904
+ function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_For_2_Template(rf, ctx) { if (rf & 1) {
54503
54905
  const _r6 = i0.ɵɵgetCurrentView();
54504
- i0.ɵɵelementStart(0, "label", 62);
54505
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Template_label_click_0_listener() { const property_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectProperty(property_r7.id)); })("keydown.enter", function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Template_label_keydown_enter_0_listener() { const property_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectProperty(property_r7.id)); })("keydown.space", function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Template_label_keydown_space_0_listener($event) { const property_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); ctx_r0.selectProperty(property_r7.id); return i0.ɵɵresetView($event.preventDefault()); });
54506
- i0.ɵɵelementStart(1, "div", 63)(2, "div", 64);
54507
- i0.ɵɵconditionalCreate(3, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Conditional_3_Template, 1, 0, "div", 65);
54906
+ i0.ɵɵelementStart(0, "label", 58);
54907
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_For_2_Template_label_click_0_listener() { const property_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectProperty(property_r7.id)); })("keydown.enter", function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_For_2_Template_label_keydown_enter_0_listener() { const property_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.selectProperty(property_r7.id)); })("keydown.space", function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_For_2_Template_label_keydown_space_0_listener($event) { const property_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); ctx_r0.selectProperty(property_r7.id); return i0.ɵɵresetView($event.preventDefault()); });
54908
+ i0.ɵɵelementStart(1, "div", 59)(2, "div", 60);
54909
+ i0.ɵɵconditionalCreate(3, SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_For_2_Conditional_3_Template, 1, 0, "div", 61);
54508
54910
  i0.ɵɵelementEnd();
54509
- i0.ɵɵelementStart(4, "div", 66)(5, "div", 67);
54911
+ i0.ɵɵelementStart(4, "div", 62)(5, "div", 63);
54510
54912
  i0.ɵɵnamespaceSVG();
54511
- i0.ɵɵelementStart(6, "svg", 68);
54512
- i0.ɵɵelement(7, "path", 23);
54913
+ i0.ɵɵelementStart(6, "svg", 64);
54914
+ i0.ɵɵelement(7, "path", 18);
54513
54915
  i0.ɵɵelementEnd();
54514
54916
  i0.ɵɵnamespaceHTML();
54515
- i0.ɵɵelementStart(8, "div", 69);
54917
+ i0.ɵɵelementStart(8, "div", 65);
54516
54918
  i0.ɵɵtext(9);
54517
54919
  i0.ɵɵelementEnd()();
54518
- i0.ɵɵconditionalCreate(10, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Conditional_10_Template, 1, 1);
54920
+ i0.ɵɵconditionalCreate(10, SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_For_2_Conditional_10_Template, 1, 1);
54519
54921
  i0.ɵɵelementEnd()()();
54520
54922
  } if (rf & 2) {
54521
54923
  const property_r7 = ctx.$implicit;
@@ -54535,17 +54937,17 @@ function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_
54535
54937
  i0.ɵɵadvance();
54536
54938
  i0.ɵɵconditional(property_r7.gaAccountId ? 10 : -1);
54537
54939
  } }
54538
- function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_Template(rf, ctx) { if (rf & 1) {
54940
+ function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_Template(rf, ctx) { if (rf & 1) {
54539
54941
  const _r5 = i0.ɵɵgetCurrentView();
54540
- i0.ɵɵelementStart(0, "div", 56);
54541
- i0.ɵɵrepeaterCreate(1, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Template, 11, 8, "label", 57, _forTrack0$A);
54942
+ i0.ɵɵelementStart(0, "div", 52);
54943
+ i0.ɵɵrepeaterCreate(1, SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_For_2_Template, 11, 8, "label", 53, _forTrack0$A);
54542
54944
  i0.ɵɵelementEnd();
54543
- i0.ɵɵelement(3, "div", 58);
54544
- i0.ɵɵelementStart(4, "button", 59);
54545
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.useDifferentGoogleAccount()); });
54945
+ i0.ɵɵelement(3, "div", 54);
54946
+ i0.ɵɵelementStart(4, "button", 55);
54947
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.useDifferentGoogleAccount()); });
54546
54948
  i0.ɵɵnamespaceSVG();
54547
- i0.ɵɵelementStart(5, "svg", 60);
54548
- i0.ɵɵelement(6, "path", 61);
54949
+ i0.ɵɵelementStart(5, "svg", 56);
54950
+ i0.ɵɵelement(6, "path", 57);
54549
54951
  i0.ɵɵelementEnd();
54550
54952
  i0.ɵɵtext(7, " Use Different Google Account ");
54551
54953
  i0.ɵɵelementEnd();
@@ -54558,8 +54960,8 @@ function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_Templa
54558
54960
  i0.ɵɵadvance();
54559
54961
  i0.ɵɵproperty("ngClass", ctx_r0.useDifferentAccountButtonClasses());
54560
54962
  } }
54561
- function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_15_Template(rf, ctx) { if (rf & 1) {
54562
- i0.ɵɵelementStart(0, "div", 55)(1, "p", 73);
54963
+ function SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_15_Template(rf, ctx) { if (rf & 1) {
54964
+ i0.ɵɵelementStart(0, "div", 51)(1, "p", 69);
54563
54965
  i0.ɵɵtext(2, " No properties found. Please connect your Google Analytics account. ");
54564
54966
  i0.ɵɵelementEnd()();
54565
54967
  } if (rf & 2) {
@@ -54567,22 +54969,22 @@ function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_15_Templa
54567
54969
  i0.ɵɵadvance();
54568
54970
  i0.ɵɵproperty("ngClass", ctx_r0.emptyStateTextClasses());
54569
54971
  } }
54570
- function SymphiqConnectGaDashboardComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
54571
- i0.ɵɵelementStart(0, "div", 12)(1, "div", 19)(2, "div", 20)(3, "div", 21);
54972
+ function SymphiqConnectGaDashboardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
54973
+ i0.ɵɵelementStart(0, "div", 7)(1, "div", 14)(2, "div", 15)(3, "div", 16);
54572
54974
  i0.ɵɵnamespaceSVG();
54573
- i0.ɵɵelementStart(4, "svg", 22);
54574
- i0.ɵɵelement(5, "path", 23);
54975
+ i0.ɵɵelementStart(4, "svg", 17);
54976
+ i0.ɵɵelement(5, "path", 18);
54575
54977
  i0.ɵɵelementEnd()();
54576
54978
  i0.ɵɵnamespaceHTML();
54577
- i0.ɵɵelementStart(6, "div", 24)(7, "div", 25)(8, "h2", 26);
54578
- i0.ɵɵconditionalCreate(9, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_9_Template, 1, 0)(10, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_10_Template, 1, 0);
54979
+ i0.ɵɵelementStart(6, "div", 19)(7, "div", 20)(8, "h2", 21);
54980
+ i0.ɵɵconditionalCreate(9, SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_9_Template, 1, 0)(10, SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_10_Template, 1, 0);
54579
54981
  i0.ɵɵelementEnd();
54580
- i0.ɵɵconditionalCreate(11, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_11_Template, 2, 1, "button", 27);
54982
+ i0.ɵɵconditionalCreate(11, SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_11_Template, 2, 1, "button", 22);
54581
54983
  i0.ɵɵelementEnd();
54582
- i0.ɵɵelementStart(12, "p", 28);
54984
+ i0.ɵɵelementStart(12, "p", 23);
54583
54985
  i0.ɵɵtext(13, " Please choose the Google Analytics property you'd like to link to your shop. ");
54584
54986
  i0.ɵɵelementEnd();
54585
- i0.ɵɵconditionalCreate(14, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_Template, 8, 2)(15, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_15_Template, 3, 1, "div", 55);
54987
+ i0.ɵɵconditionalCreate(14, SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_14_Template, 8, 2)(15, SymphiqConnectGaDashboardComponent_Conditional_9_Conditional_15_Template, 3, 1, "div", 51);
54586
54988
  i0.ɵɵelementEnd()()()();
54587
54989
  } if (rf & 2) {
54588
54990
  const ctx_r0 = i0.ɵɵnextContext();
@@ -54602,11 +55004,11 @@ function SymphiqConnectGaDashboardComponent_Conditional_23_Template(rf, ctx) { i
54602
55004
  i0.ɵɵadvance(2);
54603
55005
  i0.ɵɵconditional(ctx_r0.sortedGaProperties() && ctx_r0.sortedGaProperties().length > 0 ? 14 : 15);
54604
55006
  } }
54605
- function SymphiqConnectGaDashboardComponent_Conditional_24_Conditional_17_Conditional_10_Template(rf, ctx) { if (rf & 1) {
54606
- i0.ɵɵelementStart(0, "div", 70);
55007
+ function SymphiqConnectGaDashboardComponent_Conditional_10_Conditional_17_Conditional_10_Template(rf, ctx) { if (rf & 1) {
55008
+ i0.ɵɵelementStart(0, "div", 66);
54607
55009
  i0.ɵɵnamespaceSVG();
54608
- i0.ɵɵelementStart(1, "svg", 71);
54609
- i0.ɵɵelement(2, "path", 72);
55010
+ i0.ɵɵelementStart(1, "svg", 67);
55011
+ i0.ɵɵelement(2, "path", 68);
54610
55012
  i0.ɵɵelementEnd();
54611
55013
  i0.ɵɵnamespaceHTML();
54612
55014
  i0.ɵɵelementStart(3, "span", 0);
@@ -54621,20 +55023,20 @@ function SymphiqConnectGaDashboardComponent_Conditional_24_Conditional_17_Condit
54621
55023
  i0.ɵɵadvance();
54622
55024
  i0.ɵɵtextInterpolate1(" ", ctx.name || "Unnamed Account", " ");
54623
55025
  } }
54624
- function SymphiqConnectGaDashboardComponent_Conditional_24_Conditional_17_Template(rf, ctx) { if (rf & 1) {
54625
- i0.ɵɵelementStart(0, "div", 79)(1, "div", 81)(2, "div", 82);
55026
+ function SymphiqConnectGaDashboardComponent_Conditional_10_Conditional_17_Template(rf, ctx) { if (rf & 1) {
55027
+ i0.ɵɵelementStart(0, "div", 75)(1, "div", 77)(2, "div", 78);
54626
55028
  i0.ɵɵtext(3, " Connected ");
54627
55029
  i0.ɵɵelementEnd()();
54628
- i0.ɵɵelementStart(4, "div", 83);
55030
+ i0.ɵɵelementStart(4, "div", 79);
54629
55031
  i0.ɵɵnamespaceSVG();
54630
- i0.ɵɵelementStart(5, "svg", 84);
54631
- i0.ɵɵelement(6, "path", 23);
55032
+ i0.ɵɵelementStart(5, "svg", 80);
55033
+ i0.ɵɵelement(6, "path", 18);
54632
55034
  i0.ɵɵelementEnd();
54633
55035
  i0.ɵɵnamespaceHTML();
54634
- i0.ɵɵelementStart(7, "div")(8, "div", 85);
55036
+ i0.ɵɵelementStart(7, "div")(8, "div", 81);
54635
55037
  i0.ɵɵtext(9);
54636
55038
  i0.ɵɵelementEnd();
54637
- i0.ɵɵconditionalCreate(10, SymphiqConnectGaDashboardComponent_Conditional_24_Conditional_17_Conditional_10_Template, 5, 3, "div", 70);
55039
+ i0.ɵɵconditionalCreate(10, SymphiqConnectGaDashboardComponent_Conditional_10_Conditional_17_Conditional_10_Template, 5, 3, "div", 66);
54638
55040
  i0.ɵɵelementEnd()()();
54639
55041
  } if (rf & 2) {
54640
55042
  let tmp_8_0;
@@ -54651,35 +55053,35 @@ function SymphiqConnectGaDashboardComponent_Conditional_24_Conditional_17_Templa
54651
55053
  i0.ɵɵadvance();
54652
55054
  i0.ɵɵconditional((tmp_8_0 = ctx_r0.selectedPropertyAccount()) ? 10 : -1, tmp_8_0);
54653
55055
  } }
54654
- function SymphiqConnectGaDashboardComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
55056
+ function SymphiqConnectGaDashboardComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
54655
55057
  const _r8 = i0.ɵɵgetCurrentView();
54656
- i0.ɵɵelementStart(0, "div", 12)(1, "div", 19)(2, "div", 20)(3, "div", 21);
55058
+ i0.ɵɵelementStart(0, "div", 7)(1, "div", 14)(2, "div", 15)(3, "div", 16);
54657
55059
  i0.ɵɵnamespaceSVG();
54658
- i0.ɵɵelementStart(4, "svg", 22);
54659
- i0.ɵɵelement(5, "path", 74);
55060
+ i0.ɵɵelementStart(4, "svg", 17);
55061
+ i0.ɵɵelement(5, "path", 70);
54660
55062
  i0.ɵɵelementEnd()();
54661
55063
  i0.ɵɵnamespaceHTML();
54662
- i0.ɵɵelementStart(6, "div", 24)(7, "div", 75)(8, "div")(9, "h2", 76);
55064
+ i0.ɵɵelementStart(6, "div", 19)(7, "div", 71)(8, "div")(9, "h2", 72);
54663
55065
  i0.ɵɵtext(10, " Connected to Google Analytics ");
54664
55066
  i0.ɵɵelementEnd();
54665
- i0.ɵɵelementStart(11, "p", 73);
55067
+ i0.ɵɵelementStart(11, "p", 69);
54666
55068
  i0.ɵɵtext(12, " Your analytics data is linked ");
54667
55069
  i0.ɵɵelementEnd()();
54668
- i0.ɵɵelementStart(13, "button", 77);
54669
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_24_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r8); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.enableEditMode()); });
55070
+ i0.ɵɵelementStart(13, "button", 73);
55071
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_10_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r8); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.enableEditMode()); });
54670
55072
  i0.ɵɵnamespaceSVG();
54671
- i0.ɵɵelementStart(14, "svg", 60);
54672
- i0.ɵɵelement(15, "path", 78);
55073
+ i0.ɵɵelementStart(14, "svg", 56);
55074
+ i0.ɵɵelement(15, "path", 74);
54673
55075
  i0.ɵɵelementEnd();
54674
55076
  i0.ɵɵtext(16, " Edit ");
54675
55077
  i0.ɵɵelementEnd()();
54676
- i0.ɵɵconditionalCreate(17, SymphiqConnectGaDashboardComponent_Conditional_24_Conditional_17_Template, 11, 6, "div", 79);
55078
+ i0.ɵɵconditionalCreate(17, SymphiqConnectGaDashboardComponent_Conditional_10_Conditional_17_Template, 11, 6, "div", 75);
54677
55079
  i0.ɵɵnamespaceHTML();
54678
- i0.ɵɵelementStart(18, "button", 80);
54679
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_24_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r8); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.reconnectWithDifferentAccount()); });
55080
+ i0.ɵɵelementStart(18, "button", 76);
55081
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_10_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r8); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.reconnectWithDifferentAccount()); });
54680
55082
  i0.ɵɵnamespaceSVG();
54681
- i0.ɵɵelementStart(19, "svg", 60);
54682
- i0.ɵɵelement(20, "path", 61);
55083
+ i0.ɵɵelementStart(19, "svg", 56);
55084
+ i0.ɵɵelement(20, "path", 57);
54683
55085
  i0.ɵɵelementEnd();
54684
55086
  i0.ɵɵtext(21, " Use Different Google Account ");
54685
55087
  i0.ɵɵelementEnd()()()()();
@@ -54702,14 +55104,14 @@ function SymphiqConnectGaDashboardComponent_Conditional_24_Template(rf, ctx) { i
54702
55104
  i0.ɵɵadvance();
54703
55105
  i0.ɵɵproperty("ngClass", ctx_r0.reconnectButtonClasses());
54704
55106
  } }
54705
- function SymphiqConnectGaDashboardComponent_Conditional_25_Conditional_3_Template(rf, ctx) { if (rf & 1) {
55107
+ function SymphiqConnectGaDashboardComponent_Conditional_11_Conditional_3_Template(rf, ctx) { if (rf & 1) {
54706
55108
  const _r9 = i0.ɵɵgetCurrentView();
54707
- i0.ɵɵelementStart(0, "button", 89);
54708
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_25_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.cancelEditMode()); });
55109
+ i0.ɵɵelementStart(0, "button", 85);
55110
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_11_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.cancelEditMode()); });
54709
55111
  i0.ɵɵtext(1, " Cancel ");
54710
55112
  i0.ɵɵelementEnd();
54711
- i0.ɵɵelementStart(2, "button", 90);
54712
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_25_Conditional_3_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r9); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.submitPropertyChange()); });
55113
+ i0.ɵɵelementStart(2, "button", 86);
55114
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_11_Conditional_3_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r9); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.submitPropertyChange()); });
54713
55115
  i0.ɵɵtext(3, " Submit ");
54714
55116
  i0.ɵɵelementEnd();
54715
55117
  } if (rf & 2) {
@@ -54718,19 +55120,19 @@ function SymphiqConnectGaDashboardComponent_Conditional_25_Conditional_3_Templat
54718
55120
  i0.ɵɵadvance(2);
54719
55121
  i0.ɵɵproperty("disabled", !ctx_r0.hasPropertyChanged())("ngClass", ctx_r0.submitButtonClasses());
54720
55122
  } }
54721
- function SymphiqConnectGaDashboardComponent_Conditional_25_Conditional_4_Template(rf, ctx) { if (rf & 1) {
55123
+ function SymphiqConnectGaDashboardComponent_Conditional_11_Conditional_4_Template(rf, ctx) { if (rf & 1) {
54722
55124
  const _r10 = i0.ɵɵgetCurrentView();
54723
- i0.ɵɵelementStart(0, "button", 90);
54724
- i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_25_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.submitPropertySelection()); });
55125
+ i0.ɵɵelementStart(0, "button", 86);
55126
+ i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Conditional_11_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.submitPropertySelection()); });
54725
55127
  i0.ɵɵtext(1, " Continue ");
54726
55128
  i0.ɵɵelementEnd();
54727
55129
  } if (rf & 2) {
54728
55130
  const ctx_r0 = i0.ɵɵnextContext(2);
54729
55131
  i0.ɵɵproperty("disabled", !ctx_r0.hasPropertySelected())("ngClass", ctx_r0.submitButtonClasses());
54730
55132
  } }
54731
- function SymphiqConnectGaDashboardComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
54732
- i0.ɵɵelementStart(0, "div", 13)(1, "div", 86)(2, "div", 87);
54733
- i0.ɵɵconditionalCreate(3, SymphiqConnectGaDashboardComponent_Conditional_25_Conditional_3_Template, 4, 3)(4, SymphiqConnectGaDashboardComponent_Conditional_25_Conditional_4_Template, 2, 2, "button", 88);
55133
+ function SymphiqConnectGaDashboardComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
55134
+ i0.ɵɵelementStart(0, "div", 8)(1, "div", 82)(2, "div", 83);
55135
+ i0.ɵɵconditionalCreate(3, SymphiqConnectGaDashboardComponent_Conditional_11_Conditional_3_Template, 4, 3)(4, SymphiqConnectGaDashboardComponent_Conditional_11_Conditional_4_Template, 2, 2, "button", 84);
54734
55136
  i0.ɵɵelementEnd()()();
54735
55137
  } if (rf & 2) {
54736
55138
  const ctx_r0 = i0.ɵɵnextContext();
@@ -54965,21 +55367,6 @@ class SymphiqConnectGaDashboardComponent {
54965
55367
  ? 'min-h-screen'
54966
55368
  : 'min-h-screen';
54967
55369
  }
54968
- getHeaderClasses() {
54969
- return this.isLightMode()
54970
- ? 'bg-white/80 backdrop-blur-md border-b border-slate-200'
54971
- : 'bg-slate-900/80 backdrop-blur-md border-b border-slate-700';
54972
- }
54973
- getMainTitleClasses() {
54974
- return this.isLightMode()
54975
- ? 'text-4xl font-bold bg-gradient-to-r from-blue-600 to-cyan-600 bg-clip-text text-transparent'
54976
- : 'text-4xl font-bold bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent';
54977
- }
54978
- getSubtitleClasses() {
54979
- return this.isLightMode()
54980
- ? 'text-slate-600 text-lg mt-2'
54981
- : 'text-slate-400 text-lg mt-2';
54982
- }
54983
55370
  containerClasses() {
54984
55371
  return this.isLightMode()
54985
55372
  ? 'bg-white border-slate-200'
@@ -55162,482 +55549,421 @@ class SymphiqConnectGaDashboardComponent {
55162
55549
  i0.ɵɵlistener("scroll", function SymphiqConnectGaDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
55163
55550
  } if (rf & 2) {
55164
55551
  i0.ɵɵclassProp("light", ctx.isLightMode())("dark", !ctx.isLightMode());
55165
- } }, 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"], isConnectingToGoogle: [1, "isConnectingToGoogle"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", googleButtonClick: "googleButtonClick", onPropertySelect: "onPropertySelect", onPropertyChange: "onPropertyChange" }, decls: 26, vars: 41, 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-16", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "justify-center", "text-center", "gap-8"], ["size", "large", 3, "viewMode"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-4", 3, "ngClass"], [1, "text-base", "leading-relaxed", "max-w-md", 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", "M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"], [1, "flex-1"], [1, "flex", "items-start", "justify-between", "gap-4", "mb-4"], [1, "text-2xl", "sm:text-3xl", "font-bold", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-semibold", "text-sm", "transition-all", "duration-200", "hover:scale-105", "cursor-pointer", "flex-shrink-0", 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"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-semibold", "text-sm", "transition-all", "duration-200", "hover:scale-105", "cursor-pointer", "flex-shrink-0", 3, "click", "ngClass"], [1, "text-center", "py-8"], ["role", "radiogroup", "aria-label", "Google Analytics Properties", 1, "space-y-3"], ["tabindex", "0", "role", "radio", 1, "block", 3, "ngClass"], [1, "my-6", "border-t", 3, "ngClass"], ["type", "button", 1, "w-full", "px-4", "py-3", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex", "items-center", "justify-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", "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"], ["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"], ["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"], [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", "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "hover:scale-105", "cursor-pointer", 3, "disabled", "ngClass"], ["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) {
55552
+ } }, 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"], isConnectingToGoogle: [1, "isConnectingToGoogle"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", googleButtonClick: "googleButtonClick", onPropertySelect: "onPropertySelect", onPropertyChange: "onPropertyChange" }, decls: 12, vars: 17, 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]"], [3, "title", "subtitle", "viewMode", "showControls"], [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-16", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "justify-center", "text-center", "gap-8"], ["size", "large", 3, "viewMode"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-4", 3, "ngClass"], [1, "text-base", "leading-relaxed", "max-w-md", 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", "M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"], [1, "flex-1"], [1, "flex", "items-start", "justify-between", "gap-4", "mb-4"], [1, "text-2xl", "sm:text-3xl", "font-bold", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-semibold", "text-sm", "transition-all", "duration-200", "hover:scale-105", "cursor-pointer", "flex-shrink-0", 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, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "px-4", "pb-4", "pt-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "mb-4", 3, "ngClass"], [1, "font-bold"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-semibold", "text-sm", "transition-all", "duration-200", "hover:scale-105", "cursor-pointer", "flex-shrink-0", 3, "click", "ngClass"], [1, "text-center", "py-8"], ["role", "radiogroup", "aria-label", "Google Analytics Properties", 1, "space-y-3"], ["tabindex", "0", "role", "radio", 1, "block", 3, "ngClass"], [1, "my-6", "border-t", 3, "ngClass"], ["type", "button", 1, "w-full", "px-4", "py-3", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex", "items-center", "justify-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", "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"], ["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"], ["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"], [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", "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "hover:scale-105", "cursor-pointer", 3, "disabled", "ngClass"], ["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) {
55166
55553
  i0.ɵɵelementStart(0, "div", 0);
55167
55554
  i0.ɵɵelement(1, "div", 1);
55168
- i0.ɵɵelementStart(2, "div", 2)(3, "header", 3)(4, "div", 4)(5, "div", 5)(6, "div", 6)(7, "div")(8, "h1", 0);
55169
- i0.ɵɵtext(9, " Connect Google Analytics 4 ");
55170
- i0.ɵɵelementEnd();
55171
- i0.ɵɵelementStart(10, "p", 0);
55172
- i0.ɵɵtext(11, " Link your analytics data ");
55173
- i0.ɵɵelementEnd()()()()();
55174
- i0.ɵɵelementStart(12, "div", 4)(13, "div", 7)(14, "div", 6)(15, "div", 8)(16, "h1", 0);
55175
- i0.ɵɵtext(17, " Connect Google Analytics 4 ");
55176
- i0.ɵɵelementEnd()()()()()();
55177
- i0.ɵɵelementStart(18, "symphiq-journey-progress-indicator", 9);
55178
- 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(); });
55555
+ i0.ɵɵelementStart(2, "div", 2);
55556
+ i0.ɵɵelement(3, "symphiq-dashboard-header", 3);
55557
+ i0.ɵɵelementStart(4, "symphiq-journey-progress-indicator", 4);
55558
+ i0.ɵɵlistener("stepClick", function SymphiqConnectGaDashboardComponent_Template_symphiq_journey_progress_indicator_stepClick_4_listener($event) { return ctx.stepClick.emit($event); })("nextStepClick", function SymphiqConnectGaDashboardComponent_Template_symphiq_journey_progress_indicator_nextStepClick_4_listener() { return ctx.nextStepClick.emit(); });
55179
55559
  i0.ɵɵelementEnd();
55180
- i0.ɵɵelementStart(19, "main", 10)(20, "div", 11);
55181
- i0.ɵɵconditionalCreate(21, SymphiqConnectGaDashboardComponent_Conditional_21_Template, 8, 5, "div", 12);
55182
- i0.ɵɵconditionalCreate(22, SymphiqConnectGaDashboardComponent_Conditional_22_Template, 51, 28, "div", 12);
55183
- i0.ɵɵconditionalCreate(23, SymphiqConnectGaDashboardComponent_Conditional_23_Template, 16, 8, "div", 12);
55184
- i0.ɵɵconditionalCreate(24, SymphiqConnectGaDashboardComponent_Conditional_24_Template, 22, 8, "div", 12);
55560
+ i0.ɵɵelementStart(5, "main", 5)(6, "div", 6);
55561
+ i0.ɵɵconditionalCreate(7, SymphiqConnectGaDashboardComponent_Conditional_7_Template, 8, 5, "div", 7);
55562
+ i0.ɵɵconditionalCreate(8, SymphiqConnectGaDashboardComponent_Conditional_8_Template, 51, 28, "div", 7);
55563
+ i0.ɵɵconditionalCreate(9, SymphiqConnectGaDashboardComponent_Conditional_9_Template, 16, 8, "div", 7);
55564
+ i0.ɵɵconditionalCreate(10, SymphiqConnectGaDashboardComponent_Conditional_10_Template, 22, 8, "div", 7);
55185
55565
  i0.ɵɵelementEnd();
55186
- i0.ɵɵconditionalCreate(25, SymphiqConnectGaDashboardComponent_Conditional_25_Template, 5, 2, "div", 13);
55566
+ i0.ɵɵconditionalCreate(11, SymphiqConnectGaDashboardComponent_Conditional_11_Template, 5, 2, "div", 8);
55187
55567
  i0.ɵɵelementEnd()()();
55188
55568
  } if (rf & 2) {
55189
55569
  i0.ɵɵproperty("ngClass", ctx.getContainerClasses());
55190
55570
  i0.ɵɵadvance();
55191
55571
  i0.ɵɵclassProp("light-mode", ctx.isLightMode());
55192
55572
  i0.ɵɵadvance(2);
55193
- i0.ɵɵproperty("ngClass", ctx.getHeaderClasses());
55194
- i0.ɵɵadvance();
55195
- i0.ɵɵclassProp("max-h-0", ctx.headerScrollService.isScrolled())("opacity-0", ctx.headerScrollService.isScrolled())("max-h-96", !ctx.headerScrollService.isScrolled())("opacity-100", !ctx.headerScrollService.isScrolled());
55196
- i0.ɵɵadvance();
55197
- i0.ɵɵclassProp("pointer-events-none", ctx.headerScrollService.isScrolled())("pointer-events-auto", !ctx.headerScrollService.isScrolled());
55198
- i0.ɵɵadvance(3);
55199
- i0.ɵɵproperty("ngClass", ctx.getMainTitleClasses());
55200
- i0.ɵɵadvance(2);
55201
- i0.ɵɵproperty("ngClass", ctx.getSubtitleClasses());
55202
- i0.ɵɵadvance(2);
55203
- i0.ɵɵclassProp("max-h-0", !ctx.headerScrollService.isScrolled())("opacity-0", !ctx.headerScrollService.isScrolled())("max-h-20", ctx.headerScrollService.isScrolled())("opacity-100", ctx.headerScrollService.isScrolled());
55573
+ i0.ɵɵproperty("title", "Connect Google Analytics 4")("subtitle", "Link your analytics data")("viewMode", ctx.viewMode())("showControls", false);
55204
55574
  i0.ɵɵadvance();
55205
- i0.ɵɵclassProp("pointer-events-none", !ctx.headerScrollService.isScrolled())("pointer-events-auto", ctx.headerScrollService.isScrolled());
55206
- i0.ɵɵadvance(3);
55207
- 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");
55208
- i0.ɵɵadvance(2);
55209
55575
  i0.ɵɵproperty("viewMode", ctx.viewMode())("currentStepId", ctx.JourneyStepIdEnum.CONNECT_GA4)("showNextStepAction", ctx.showNextStepAction())("forDemo", ctx.forDemo())("maxAccessibleStepId", ctx.maxAccessibleStepId());
55210
55576
  i0.ɵɵadvance(3);
55211
- i0.ɵɵconditional(ctx.isConnecting() ? 21 : -1);
55577
+ i0.ɵɵconditional(ctx.isConnecting() ? 7 : -1);
55212
55578
  i0.ɵɵadvance();
55213
- i0.ɵɵconditional(ctx.isConnectState() && !ctx.isConnecting() ? 22 : -1);
55579
+ i0.ɵɵconditional(ctx.isConnectState() && !ctx.isConnecting() ? 8 : -1);
55214
55580
  i0.ɵɵadvance();
55215
- i0.ɵɵconditional(ctx.isSelectionState() && !ctx.isConnecting() ? 23 : -1);
55581
+ i0.ɵɵconditional(ctx.isSelectionState() && !ctx.isConnecting() ? 9 : -1);
55216
55582
  i0.ɵɵadvance();
55217
- i0.ɵɵconditional(ctx.isSelectedState() && !ctx.isConnecting() ? 24 : -1);
55583
+ i0.ɵɵconditional(ctx.isSelectedState() && !ctx.isConnecting() ? 10 : -1);
55218
55584
  i0.ɵɵadvance();
55219
- i0.ɵɵconditional(ctx.showSubmitButton() ? 25 : -1);
55220
- } }, dependencies: [CommonModule, i1$1.NgClass, JourneyProgressIndicatorComponent, IndeterminateSpinnerComponent], 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 }); }
55585
+ i0.ɵɵconditional(ctx.showSubmitButton() ? 11 : -1);
55586
+ } }, dependencies: [CommonModule, i1$1.NgClass, JourneyProgressIndicatorComponent, IndeterminateSpinnerComponent, DashboardHeaderComponent], 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 }); }
55221
55587
  }
55222
55588
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqConnectGaDashboardComponent, [{
55223
55589
  type: Component,
55224
- args: [{ selector: 'symphiq-connect-ga-dashboard', standalone: true, imports: [CommonModule, JourneyProgressIndicatorComponent, IndeterminateSpinnerComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
55590
+ args: [{ selector: 'symphiq-connect-ga-dashboard', standalone: true, imports: [CommonModule, JourneyProgressIndicatorComponent, IndeterminateSpinnerComponent, DashboardHeaderComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
55225
55591
  '[class.light]': 'isLightMode()',
55226
55592
  '[class.dark]': '!isLightMode()'
55227
- }, template: `
55228
- <div [ngClass]="getContainerClasses()">
55229
- <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>
55230
-
55231
- <div class="relative z-[51]">
55232
- <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
55233
- <!-- Expanded Header -->
55234
- <div
55235
- class="transition-all duration-300 ease-in-out overflow-hidden"
55236
- [class.max-h-0]="headerScrollService.isScrolled()"
55237
- [class.opacity-0]="headerScrollService.isScrolled()"
55238
- [class.max-h-96]="!headerScrollService.isScrolled()"
55239
- [class.opacity-100]="!headerScrollService.isScrolled()">
55240
- <div
55241
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
55242
- [class.pointer-events-none]="headerScrollService.isScrolled()"
55243
- [class.pointer-events-auto]="!headerScrollService.isScrolled()">
55244
- <div class="flex items-center justify-between">
55245
- <div>
55246
- <h1 [ngClass]="getMainTitleClasses()">
55247
- Connect Google Analytics 4
55248
- </h1>
55249
- <p [ngClass]="getSubtitleClasses()">
55250
- Link your analytics data
55251
- </p>
55252
- </div>
55253
- </div>
55254
- </div>
55255
- </div>
55256
-
55257
- <!-- Condensed Header -->
55258
- <div
55259
- class="transition-all duration-300 ease-in-out overflow-hidden"
55260
- [class.max-h-0]="!headerScrollService.isScrolled()"
55261
- [class.opacity-0]="!headerScrollService.isScrolled()"
55262
- [class.max-h-20]="headerScrollService.isScrolled()"
55263
- [class.opacity-100]="headerScrollService.isScrolled()">
55264
- <div
55265
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
55266
- [class.pointer-events-none]="!headerScrollService.isScrolled()"
55267
- [class.pointer-events-auto]="headerScrollService.isScrolled()">
55268
- <div class="flex items-center justify-between">
55269
- <div class="flex-1 min-w-0 mr-4">
55270
- <h1 [ngClass]="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'">
55271
- Connect Google Analytics 4
55272
- </h1>
55273
- </div>
55274
- </div>
55275
- </div>
55276
- </div>
55277
- </header>
55278
-
55279
- <!-- Journey Progress Indicator -->
55280
- <symphiq-journey-progress-indicator
55281
- [viewMode]="viewMode()"
55282
- [currentStepId]="JourneyStepIdEnum.CONNECT_GA4"
55283
- [showNextStepAction]="showNextStepAction()"
55284
- [forDemo]="forDemo()"
55285
- [maxAccessibleStepId]="maxAccessibleStepId()"
55286
- (stepClick)="stepClick.emit($event)"
55287
- (nextStepClick)="nextStepClick.emit()"
55288
- />
55289
-
55290
- <main class="relative pb-32">
55291
- <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
55292
- <!-- Connecting to Google State -->
55293
- @if (isConnecting()) {
55294
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
55295
- <div [ngClass]="contentClasses()" class="px-8 py-16">
55296
- <div class="flex flex-col items-center justify-center text-center gap-8">
55297
- <symphiq-indeterminate-spinner
55298
- [viewMode]="viewMode()"
55299
- size="large"
55300
- />
55301
- <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-4">
55302
- Connecting to Google
55303
- </h2>
55304
- <p [ngClass]="textClasses()" class="text-base leading-relaxed max-w-md">
55305
- Please complete the sign-in process in the popup window. Once authorized, your Google Analytics properties will appear here.
55306
- </p>
55307
- </div>
55308
- </div>
55309
- </div>
55310
- }
55311
-
55312
- <!-- Connect to Google State -->
55313
- @if (isConnectState() && !isConnecting()) {
55314
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
55315
- <div [ngClass]="contentClasses()" class="px-8 py-8">
55316
- <div class="flex items-start gap-6">
55317
- <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
55318
- <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55319
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path>
55320
- </svg>
55321
- </div>
55322
-
55323
- <div class="flex-1">
55324
- <div class="flex items-start justify-between gap-4 mb-4">
55325
- <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold">
55326
- @if (isReconnecting()) {
55327
- Change Google Account
55328
- } @else {
55329
- Connect Google Analytics 4
55330
- }
55331
- </h2>
55332
-
55333
- @if (isReconnecting()) {
55334
- <button
55335
- type="button"
55336
- (click)="cancelReconnectMode()"
55337
- [ngClass]="headerCancelButtonClasses()"
55338
- class="px-4 py-2 rounded-lg font-semibold text-sm transition-all duration-200 hover:scale-105 cursor-pointer flex-shrink-0">
55339
- Cancel
55340
- </button>
55341
- }
55342
- </div>
55343
-
55344
- <p [ngClass]="textClasses()" class="text-base leading-relaxed mb-6">
55345
- @if (isReconnecting()) {
55346
- Sign in with a different Google account to access other Google Analytics properties.
55347
- } @else {
55348
- 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.
55349
- }
55350
- </p>
55351
-
55352
- <div class="mb-6">
55353
- <button type="button" class="gsi-material-button" (click)="onGoogleButtonClick()">
55354
- <div class="gsi-material-button-state"></div>
55355
- <div class="gsi-material-button-content-wrapper">
55356
- <div class="gsi-material-button-icon">
55357
- <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;">
55358
- <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>
55359
- <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>
55360
- <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>
55361
- <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>
55362
- <path fill="none" d="M0 0h48v48H0z"></path>
55363
- </svg>
55364
- </div>
55365
- <span class="gsi-material-button-contents">Continue with Google</span>
55366
- </div>
55367
- </button>
55368
- </div>
55369
-
55370
- <div [ngClass]="noteBoxClasses()" class="p-4 rounded-lg border flex items-start gap-3">
55371
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" [ngClass]="noteIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55372
- <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>
55373
- </svg>
55374
- <div class="flex-1">
55375
- <p [ngClass]="noteTextClasses()" class="text-sm leading-relaxed">
55376
- <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.
55377
- </p>
55378
- </div>
55379
- </div>
55380
-
55381
- <div [ngClass]="expandableCardClasses()" class="mt-6 rounded-lg border overflow-hidden">
55382
- <div (click)="toggleExpanded()" [ngClass]="expandableHeaderClasses()" class="px-4 py-4 cursor-pointer flex items-center justify-between gap-3 transition-colors duration-200">
55383
- <span [ngClass]="expandableHeaderTextClasses()" class="text-base font-semibold">
55384
- How do we use your Google Analytics data?
55385
- </span>
55386
- <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">
55387
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
55388
- </svg>
55389
- </div>
55390
-
55391
- <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()">
55392
- <div [ngClass]="expandedContentClasses()" class="px-4 pb-4 pt-2">
55393
- <p [ngClass]="expandedTextClasses()" class="text-sm leading-relaxed mb-4">
55394
- 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.
55395
- </p>
55396
- <p [ngClass]="expandedTextClasses()" class="text-sm leading-relaxed">
55397
- 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.
55398
- </p>
55399
- </div>
55400
- </div>
55401
- </div>
55402
- </div>
55403
- </div>
55404
- </div>
55405
- </div>
55406
- }
55407
-
55408
- <!-- Property Selection State -->
55409
- @if (isSelectionState() && !isConnecting()) {
55410
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
55411
- <div [ngClass]="contentClasses()" class="px-8 py-8">
55412
- <div class="flex items-start gap-6">
55413
- <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
55414
- <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55415
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path>
55416
- </svg>
55417
- </div>
55418
-
55419
- <div class="flex-1">
55420
- <div class="flex items-start justify-between gap-4 mb-4">
55421
- <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold">
55422
- @if (isEditingProperty()) {
55423
- Change Google Analytics Property
55424
- } @else {
55425
- Choose Your Property
55426
- }
55427
- </h2>
55428
-
55429
- @if (isEditingProperty()) {
55430
- <button
55431
- type="button"
55432
- (click)="cancelEditMode()"
55433
- [ngClass]="headerCancelButtonClasses()"
55434
- class="px-4 py-2 rounded-lg font-semibold text-sm transition-all duration-200 hover:scale-105 cursor-pointer flex-shrink-0">
55435
- Cancel
55436
- </button>
55437
- }
55438
- </div>
55439
-
55440
- <p [ngClass]="textClasses()" class="text-base leading-relaxed mb-6">
55441
- Please choose the Google Analytics property you'd like to link to your shop.
55442
- </p>
55443
-
55444
- @if (sortedGaProperties() && sortedGaProperties()!.length > 0) {
55445
- <div class="space-y-3" role="radiogroup" aria-label="Google Analytics Properties">
55446
- @for (property of sortedGaProperties(); track property.id) {
55447
- <label
55448
- [ngClass]="propertyCardClasses(property.id!)"
55449
- class="block"
55450
- (click)="selectProperty(property.id!)"
55451
- (keydown.enter)="selectProperty(property.id!)"
55452
- (keydown.space)="selectProperty(property.id!); $event.preventDefault()"
55453
- tabindex="0"
55454
- role="radio"
55455
- [attr.aria-checked]="isEditingProperty() ? (currentEditingPropertyId() === property.id) : (selectedGaPropertyId() ? (selectedGaPropertyId() === property.id) : (currentSelectingPropertyId() === property.id))">
55456
- <div class="flex items-center gap-4 p-4">
55457
- <div [ngClass]="radioIndicatorClasses(property.id!)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
55458
- @if (isEditingProperty() ? (currentEditingPropertyId() === property.id) : (selectedGaPropertyId() ? (selectedGaPropertyId() === property.id) : (currentSelectingPropertyId() === property.id))) {
55459
- <div class="w-3 h-3 rounded-full bg-current"></div>
55460
- }
55461
- </div>
55462
-
55463
- <div class="flex-1 min-w-0">
55464
- <div class="flex items-center gap-2 mb-1">
55465
- <svg class="w-5 h-5 flex-shrink-0" [ngClass]="noteIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55466
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path>
55467
- </svg>
55468
- <div [ngClass]="propertyNameClasses()" class="truncate">
55469
- {{ property.name || 'Unnamed Property' }}
55470
- </div>
55471
- </div>
55472
-
55473
- @if (property.gaAccountId) {
55474
- @if (getAccountForProperty(property); as account) {
55475
- <div class="flex items-center gap-2 mt-1">
55476
- <svg class="w-4 h-4 flex-shrink-0" [ngClass]="accountNameClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55477
- <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>
55478
- </svg>
55479
- <span [ngClass]="accountNameClasses()" class="truncate">
55480
- Account: {{ account.name || 'Unnamed Account' }}
55481
- </span>
55482
- </div>
55483
- }
55484
- }
55485
- </div>
55486
- </div>
55487
- </label>
55488
- }
55489
- </div>
55490
-
55491
- <!-- Divider and Use Different Google Account Button -->
55492
- <div [ngClass]="dividerClasses()" class="my-6 border-t"></div>
55493
- <button
55494
- type="button"
55495
- (click)="useDifferentGoogleAccount()"
55496
- [ngClass]="useDifferentAccountButtonClasses()"
55497
- class="w-full px-4 py-3 rounded-lg font-medium text-sm transition-all duration-200 flex items-center justify-center gap-2 cursor-pointer">
55498
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55499
- <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"/>
55500
- </svg>
55501
- Use Different Google Account
55502
- </button>
55503
- } @else {
55504
- <div class="text-center py-8">
55505
- <p [ngClass]="emptyStateTextClasses()" class="text-base">
55506
- No properties found. Please connect your Google Analytics account.
55507
- </p>
55508
- </div>
55509
- }
55510
- </div>
55511
- </div>
55512
- </div>
55513
- </div>
55514
- }
55515
-
55516
- <!-- Selected Property State -->
55517
- @if (isSelectedState() && !isConnecting()) {
55518
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
55519
- <div [ngClass]="contentClasses()" class="px-8 py-8">
55520
- <div class="flex items-start gap-6">
55521
- <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
55522
- <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55523
- <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>
55524
- </svg>
55525
- </div>
55526
-
55527
- <div class="flex-1">
55528
- <div class="flex items-start justify-between mb-6">
55529
- <div>
55530
- <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-2">
55531
- Connected to Google Analytics
55532
- </h2>
55533
- <p [ngClass]="textClasses()" class="text-base">
55534
- Your analytics data is linked
55535
- </p>
55536
- </div>
55537
- <button
55538
- type="button"
55539
- (click)="enableEditMode()"
55540
- [ngClass]="editButtonClasses()"
55541
- 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">
55542
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55543
- <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"/>
55544
- </svg>
55545
- Edit
55546
- </button>
55547
- </div>
55548
-
55549
- @if (selectedProperty(); as property) {
55550
- <div [ngClass]="selectedPropertyCardClasses()" class="rounded-xl border-2 p-6 mb-6">
55551
- <div class="flex items-start gap-3 mb-4">
55552
- <div [ngClass]="statusBadgeClasses()" class="px-3 py-1 rounded-full text-xs font-semibold border">
55553
- Connected
55554
- </div>
55555
- </div>
55556
-
55557
- <div class="flex items-center gap-3 mb-3">
55558
- <svg class="w-6 h-6 flex-shrink-0" [ngClass]="noteIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55559
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path>
55560
- </svg>
55561
- <div>
55562
- <div [ngClass]="propertyNameClasses()" class="text-lg">
55563
- {{ property.name || 'Unnamed Property' }}
55564
- </div>
55565
- @if (selectedPropertyAccount(); as account) {
55566
- <div class="flex items-center gap-2 mt-1">
55567
- <svg class="w-4 h-4 flex-shrink-0" [ngClass]="accountNameClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55568
- <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>
55569
- </svg>
55570
- <span [ngClass]="accountNameClasses()">
55571
- {{ account.name || 'Unnamed Account' }}
55572
- </span>
55573
- </div>
55574
- }
55575
- </div>
55576
- </div>
55577
- </div>
55578
- }
55579
-
55580
- <button
55581
- type="button"
55582
- (click)="reconnectWithDifferentAccount()"
55583
- [ngClass]="reconnectButtonClasses()"
55584
- class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 flex items-center gap-2 cursor-pointer">
55585
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55586
- <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"/>
55587
- </svg>
55588
- Use Different Google Account
55589
- </button>
55590
- </div>
55591
- </div>
55592
- </div>
55593
- </div>
55594
- }
55595
- </div>
55596
-
55597
- <!-- Sticky Bottom Action Bar (Selection or Edit Mode) -->
55598
- @if (showSubmitButton()) {
55599
- <div [ngClass]="stickyButtonContainerClasses()" class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-sm">
55600
- <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
55601
- <div class="flex items-center gap-3">
55602
- @if (isEditingProperty()) {
55603
- <button
55604
- type="button"
55605
- (click)="cancelEditMode()"
55606
- [ngClass]="cancelButtonClasses()"
55607
- 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">
55608
- Cancel
55609
- </button>
55610
- <button
55611
- type="button"
55612
- (click)="submitPropertyChange()"
55613
- [disabled]="!hasPropertyChanged()"
55614
- [ngClass]="submitButtonClasses()"
55615
- class="flex-1 px-6 py-4 rounded-xl font-bold text-base transition-all duration-200 hover:scale-105 cursor-pointer">
55616
- Submit
55617
- </button>
55618
- } @else {
55619
- <button
55620
- type="button"
55621
- (click)="submitPropertySelection()"
55622
- [disabled]="!hasPropertySelected()"
55623
- [ngClass]="submitButtonClasses()"
55624
- class="flex-1 px-6 py-4 rounded-xl font-bold text-base transition-all duration-200 hover:scale-105 cursor-pointer">
55625
- Continue
55626
- </button>
55627
- }
55628
- </div>
55629
- </div>
55630
- </div>
55631
- }
55632
- </main>
55633
- </div>
55634
- </div>
55593
+ }, template: `
55594
+ <div [ngClass]="getContainerClasses()">
55595
+ <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>
55596
+
55597
+ <div class="relative z-[51]">
55598
+ <symphiq-dashboard-header
55599
+ [title]="'Connect Google Analytics 4'"
55600
+ [subtitle]="'Link your analytics data'"
55601
+ [viewMode]="viewMode()"
55602
+ [showControls]="false"
55603
+ />
55604
+
55605
+ <!-- Journey Progress Indicator -->
55606
+ <symphiq-journey-progress-indicator
55607
+ [viewMode]="viewMode()"
55608
+ [currentStepId]="JourneyStepIdEnum.CONNECT_GA4"
55609
+ [showNextStepAction]="showNextStepAction()"
55610
+ [forDemo]="forDemo()"
55611
+ [maxAccessibleStepId]="maxAccessibleStepId()"
55612
+ (stepClick)="stepClick.emit($event)"
55613
+ (nextStepClick)="nextStepClick.emit()"
55614
+ />
55615
+
55616
+ <main class="relative pb-32">
55617
+ <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
55618
+ <!-- Connecting to Google State -->
55619
+ @if (isConnecting()) {
55620
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
55621
+ <div [ngClass]="contentClasses()" class="px-8 py-16">
55622
+ <div class="flex flex-col items-center justify-center text-center gap-8">
55623
+ <symphiq-indeterminate-spinner
55624
+ [viewMode]="viewMode()"
55625
+ size="large"
55626
+ />
55627
+ <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-4">
55628
+ Connecting to Google
55629
+ </h2>
55630
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed max-w-md">
55631
+ Please complete the sign-in process in the popup window. Once authorized, your Google Analytics properties will appear here.
55632
+ </p>
55633
+ </div>
55634
+ </div>
55635
+ </div>
55636
+ }
55637
+
55638
+ <!-- Connect to Google State -->
55639
+ @if (isConnectState() && !isConnecting()) {
55640
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
55641
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
55642
+ <div class="flex items-start gap-6">
55643
+ <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
55644
+ <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55645
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path>
55646
+ </svg>
55647
+ </div>
55648
+
55649
+ <div class="flex-1">
55650
+ <div class="flex items-start justify-between gap-4 mb-4">
55651
+ <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold">
55652
+ @if (isReconnecting()) {
55653
+ Change Google Account
55654
+ } @else {
55655
+ Connect Google Analytics 4
55656
+ }
55657
+ </h2>
55658
+
55659
+ @if (isReconnecting()) {
55660
+ <button
55661
+ type="button"
55662
+ (click)="cancelReconnectMode()"
55663
+ [ngClass]="headerCancelButtonClasses()"
55664
+ class="px-4 py-2 rounded-lg font-semibold text-sm transition-all duration-200 hover:scale-105 cursor-pointer flex-shrink-0">
55665
+ Cancel
55666
+ </button>
55667
+ }
55668
+ </div>
55669
+
55670
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed mb-6">
55671
+ @if (isReconnecting()) {
55672
+ Sign in with a different Google account to access other Google Analytics properties.
55673
+ } @else {
55674
+ 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.
55675
+ }
55676
+ </p>
55677
+
55678
+ <div class="mb-6">
55679
+ <button type="button" class="gsi-material-button" (click)="onGoogleButtonClick()">
55680
+ <div class="gsi-material-button-state"></div>
55681
+ <div class="gsi-material-button-content-wrapper">
55682
+ <div class="gsi-material-button-icon">
55683
+ <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;">
55684
+ <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>
55685
+ <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>
55686
+ <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>
55687
+ <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>
55688
+ <path fill="none" d="M0 0h48v48H0z"></path>
55689
+ </svg>
55690
+ </div>
55691
+ <span class="gsi-material-button-contents">Continue with Google</span>
55692
+ </div>
55693
+ </button>
55694
+ </div>
55695
+
55696
+ <div [ngClass]="noteBoxClasses()" class="p-4 rounded-lg border flex items-start gap-3">
55697
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" [ngClass]="noteIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55698
+ <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>
55699
+ </svg>
55700
+ <div class="flex-1">
55701
+ <p [ngClass]="noteTextClasses()" class="text-sm leading-relaxed">
55702
+ <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.
55703
+ </p>
55704
+ </div>
55705
+ </div>
55706
+
55707
+ <div [ngClass]="expandableCardClasses()" class="mt-6 rounded-lg border overflow-hidden">
55708
+ <div (click)="toggleExpanded()" [ngClass]="expandableHeaderClasses()" class="px-4 py-4 cursor-pointer flex items-center justify-between gap-3 transition-colors duration-200">
55709
+ <span [ngClass]="expandableHeaderTextClasses()" class="text-base font-semibold">
55710
+ How do we use your Google Analytics data?
55711
+ </span>
55712
+ <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">
55713
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
55714
+ </svg>
55715
+ </div>
55716
+
55717
+ <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()">
55718
+ <div [ngClass]="expandedContentClasses()" class="px-4 pb-4 pt-2">
55719
+ <p [ngClass]="expandedTextClasses()" class="text-sm leading-relaxed mb-4">
55720
+ 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.
55721
+ </p>
55722
+ <p [ngClass]="expandedTextClasses()" class="text-sm leading-relaxed">
55723
+ 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.
55724
+ </p>
55725
+ </div>
55726
+ </div>
55727
+ </div>
55728
+ </div>
55729
+ </div>
55730
+ </div>
55731
+ </div>
55732
+ }
55733
+
55734
+ <!-- Property Selection State -->
55735
+ @if (isSelectionState() && !isConnecting()) {
55736
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
55737
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
55738
+ <div class="flex items-start gap-6">
55739
+ <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
55740
+ <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55741
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path>
55742
+ </svg>
55743
+ </div>
55744
+
55745
+ <div class="flex-1">
55746
+ <div class="flex items-start justify-between gap-4 mb-4">
55747
+ <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold">
55748
+ @if (isEditingProperty()) {
55749
+ Change Google Analytics Property
55750
+ } @else {
55751
+ Choose Your Property
55752
+ }
55753
+ </h2>
55754
+
55755
+ @if (isEditingProperty()) {
55756
+ <button
55757
+ type="button"
55758
+ (click)="cancelEditMode()"
55759
+ [ngClass]="headerCancelButtonClasses()"
55760
+ class="px-4 py-2 rounded-lg font-semibold text-sm transition-all duration-200 hover:scale-105 cursor-pointer flex-shrink-0">
55761
+ Cancel
55762
+ </button>
55763
+ }
55764
+ </div>
55765
+
55766
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed mb-6">
55767
+ Please choose the Google Analytics property you'd like to link to your shop.
55768
+ </p>
55769
+
55770
+ @if (sortedGaProperties() && sortedGaProperties()!.length > 0) {
55771
+ <div class="space-y-3" role="radiogroup" aria-label="Google Analytics Properties">
55772
+ @for (property of sortedGaProperties(); track property.id) {
55773
+ <label
55774
+ [ngClass]="propertyCardClasses(property.id!)"
55775
+ class="block"
55776
+ (click)="selectProperty(property.id!)"
55777
+ (keydown.enter)="selectProperty(property.id!)"
55778
+ (keydown.space)="selectProperty(property.id!); $event.preventDefault()"
55779
+ tabindex="0"
55780
+ role="radio"
55781
+ [attr.aria-checked]="isEditingProperty() ? (currentEditingPropertyId() === property.id) : (selectedGaPropertyId() ? (selectedGaPropertyId() === property.id) : (currentSelectingPropertyId() === property.id))">
55782
+ <div class="flex items-center gap-4 p-4">
55783
+ <div [ngClass]="radioIndicatorClasses(property.id!)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
55784
+ @if (isEditingProperty() ? (currentEditingPropertyId() === property.id) : (selectedGaPropertyId() ? (selectedGaPropertyId() === property.id) : (currentSelectingPropertyId() === property.id))) {
55785
+ <div class="w-3 h-3 rounded-full bg-current"></div>
55786
+ }
55787
+ </div>
55788
+
55789
+ <div class="flex-1 min-w-0">
55790
+ <div class="flex items-center gap-2 mb-1">
55791
+ <svg class="w-5 h-5 flex-shrink-0" [ngClass]="noteIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55792
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path>
55793
+ </svg>
55794
+ <div [ngClass]="propertyNameClasses()" class="truncate">
55795
+ {{ property.name || 'Unnamed Property' }}
55796
+ </div>
55797
+ </div>
55798
+
55799
+ @if (property.gaAccountId) {
55800
+ @if (getAccountForProperty(property); as account) {
55801
+ <div class="flex items-center gap-2 mt-1">
55802
+ <svg class="w-4 h-4 flex-shrink-0" [ngClass]="accountNameClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55803
+ <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>
55804
+ </svg>
55805
+ <span [ngClass]="accountNameClasses()" class="truncate">
55806
+ Account: {{ account.name || 'Unnamed Account' }}
55807
+ </span>
55808
+ </div>
55809
+ }
55810
+ }
55811
+ </div>
55812
+ </div>
55813
+ </label>
55814
+ }
55815
+ </div>
55816
+
55817
+ <!-- Divider and Use Different Google Account Button -->
55818
+ <div [ngClass]="dividerClasses()" class="my-6 border-t"></div>
55819
+ <button
55820
+ type="button"
55821
+ (click)="useDifferentGoogleAccount()"
55822
+ [ngClass]="useDifferentAccountButtonClasses()"
55823
+ class="w-full px-4 py-3 rounded-lg font-medium text-sm transition-all duration-200 flex items-center justify-center gap-2 cursor-pointer">
55824
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55825
+ <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"/>
55826
+ </svg>
55827
+ Use Different Google Account
55828
+ </button>
55829
+ } @else {
55830
+ <div class="text-center py-8">
55831
+ <p [ngClass]="emptyStateTextClasses()" class="text-base">
55832
+ No properties found. Please connect your Google Analytics account.
55833
+ </p>
55834
+ </div>
55835
+ }
55836
+ </div>
55837
+ </div>
55838
+ </div>
55839
+ </div>
55840
+ }
55841
+
55842
+ <!-- Selected Property State -->
55843
+ @if (isSelectedState() && !isConnecting()) {
55844
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
55845
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
55846
+ <div class="flex items-start gap-6">
55847
+ <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
55848
+ <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55849
+ <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>
55850
+ </svg>
55851
+ </div>
55852
+
55853
+ <div class="flex-1">
55854
+ <div class="flex items-start justify-between mb-6">
55855
+ <div>
55856
+ <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-2">
55857
+ Connected to Google Analytics
55858
+ </h2>
55859
+ <p [ngClass]="textClasses()" class="text-base">
55860
+ Your analytics data is linked
55861
+ </p>
55862
+ </div>
55863
+ <button
55864
+ type="button"
55865
+ (click)="enableEditMode()"
55866
+ [ngClass]="editButtonClasses()"
55867
+ 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">
55868
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55869
+ <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"/>
55870
+ </svg>
55871
+ Edit
55872
+ </button>
55873
+ </div>
55874
+
55875
+ @if (selectedProperty(); as property) {
55876
+ <div [ngClass]="selectedPropertyCardClasses()" class="rounded-xl border-2 p-6 mb-6">
55877
+ <div class="flex items-start gap-3 mb-4">
55878
+ <div [ngClass]="statusBadgeClasses()" class="px-3 py-1 rounded-full text-xs font-semibold border">
55879
+ Connected
55880
+ </div>
55881
+ </div>
55882
+
55883
+ <div class="flex items-center gap-3 mb-3">
55884
+ <svg class="w-6 h-6 flex-shrink-0" [ngClass]="noteIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55885
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path>
55886
+ </svg>
55887
+ <div>
55888
+ <div [ngClass]="propertyNameClasses()" class="text-lg">
55889
+ {{ property.name || 'Unnamed Property' }}
55890
+ </div>
55891
+ @if (selectedPropertyAccount(); as account) {
55892
+ <div class="flex items-center gap-2 mt-1">
55893
+ <svg class="w-4 h-4 flex-shrink-0" [ngClass]="accountNameClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55894
+ <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>
55895
+ </svg>
55896
+ <span [ngClass]="accountNameClasses()">
55897
+ {{ account.name || 'Unnamed Account' }}
55898
+ </span>
55899
+ </div>
55900
+ }
55901
+ </div>
55902
+ </div>
55903
+ </div>
55904
+ }
55905
+
55906
+ <button
55907
+ type="button"
55908
+ (click)="reconnectWithDifferentAccount()"
55909
+ [ngClass]="reconnectButtonClasses()"
55910
+ class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 flex items-center gap-2 cursor-pointer">
55911
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55912
+ <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"/>
55913
+ </svg>
55914
+ Use Different Google Account
55915
+ </button>
55916
+ </div>
55917
+ </div>
55918
+ </div>
55919
+ </div>
55920
+ }
55921
+ </div>
55922
+
55923
+ <!-- Sticky Bottom Action Bar (Selection or Edit Mode) -->
55924
+ @if (showSubmitButton()) {
55925
+ <div [ngClass]="stickyButtonContainerClasses()" class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-sm">
55926
+ <div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
55927
+ <div class="flex items-center gap-3">
55928
+ @if (isEditingProperty()) {
55929
+ <button
55930
+ type="button"
55931
+ (click)="cancelEditMode()"
55932
+ [ngClass]="cancelButtonClasses()"
55933
+ 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">
55934
+ Cancel
55935
+ </button>
55936
+ <button
55937
+ type="button"
55938
+ (click)="submitPropertyChange()"
55939
+ [disabled]="!hasPropertyChanged()"
55940
+ [ngClass]="submitButtonClasses()"
55941
+ class="flex-1 px-6 py-4 rounded-xl font-bold text-base transition-all duration-200 hover:scale-105 cursor-pointer">
55942
+ Submit
55943
+ </button>
55944
+ } @else {
55945
+ <button
55946
+ type="button"
55947
+ (click)="submitPropertySelection()"
55948
+ [disabled]="!hasPropertySelected()"
55949
+ [ngClass]="submitButtonClasses()"
55950
+ class="flex-1 px-6 py-4 rounded-xl font-bold text-base transition-all duration-200 hover:scale-105 cursor-pointer">
55951
+ Continue
55952
+ </button>
55953
+ }
55954
+ </div>
55955
+ </div>
55956
+ </div>
55957
+ }
55958
+ </main>
55959
+ </div>
55960
+ </div>
55635
55961
  `, 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"] }]
55636
55962
  }], () => [], { 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 }] }], isConnectingToGoogle: [{ type: i0.Input, args: [{ isSignal: true, alias: "isConnectingToGoogle", 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"] }], onScroll: [{
55637
55963
  type: HostListener,
55638
55964
  args: ['window:scroll', ['$event']]
55639
55965
  }] }); })();
55640
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqConnectGaDashboardComponent, { className: "SymphiqConnectGaDashboardComponent", filePath: "lib/components/connect-ga-dashboard/symphiq-connect-ga-dashboard.component.ts", lineNumber: 708 }); })();
55966
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqConnectGaDashboardComponent, { className: "SymphiqConnectGaDashboardComponent", filePath: "lib/components/connect-ga-dashboard/symphiq-connect-ga-dashboard.component.ts", lineNumber: 669 }); })();
55641
55967
 
55642
55968
  class RevenueCalculatorWelcomeBannerComponent {
55643
55969
  constructor() {
@@ -67773,430 +68099,6 @@ class CollapsibleSectionGroupComponent {
67773
68099
  }], null, { sections: [{ type: i0.Input, args: [{ isSignal: true, alias: "sections", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
67774
68100
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleSectionGroupComponent, { className: "CollapsibleSectionGroupComponent", filePath: "lib/components/business-analysis-dashboard/collapsible-section-group.component.ts", lineNumber: 100 }); })();
67775
68101
 
67776
- function SearchButtonComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
67777
- i0.ɵɵelementStart(0, "span");
67778
- i0.ɵɵtext(1, "Search");
67779
- i0.ɵɵelementEnd();
67780
- } }
67781
- class SearchButtonComponent {
67782
- constructor() {
67783
- this.isLightMode = input(false, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
67784
- this.minimized = input(false, ...(ngDevMode ? [{ debugName: "minimized" }] : []));
67785
- this.title = input('Search (/ or Cmd+K)', ...(ngDevMode ? [{ debugName: "title" }] : []));
67786
- this.searchClick = output();
67787
- this.buttonClass = computed(() => {
67788
- if (this.isLightMode()) {
67789
- return 'bg-slate-100 text-slate-700 hover:bg-slate-200 hover:text-slate-900';
67790
- }
67791
- return 'bg-slate-800 text-slate-300 hover:bg-slate-700 hover:text-white';
67792
- }, ...(ngDevMode ? [{ debugName: "buttonClass" }] : []));
67793
- }
67794
- static { this.ɵfac = function SearchButtonComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchButtonComponent)(); }; }
67795
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchButtonComponent, selectors: [["symphiq-search-button"]], inputs: { isLightMode: [1, "isLightMode"], minimized: [1, "minimized"], title: [1, "title"] }, outputs: { searchClick: "searchClick" }, decls: 4, vars: 9, consts: [["type", "button", 3, "click", "ngClass", "title"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"]], template: function SearchButtonComponent_Template(rf, ctx) { if (rf & 1) {
67796
- i0.ɵɵelementStart(0, "button", 0);
67797
- i0.ɵɵlistener("click", function SearchButtonComponent_Template_button_click_0_listener() { return ctx.searchClick.emit(); });
67798
- i0.ɵɵnamespaceSVG();
67799
- i0.ɵɵelementStart(1, "svg", 1);
67800
- i0.ɵɵelement(2, "path", 2);
67801
- i0.ɵɵelementEnd();
67802
- i0.ɵɵconditionalCreate(3, SearchButtonComponent_Conditional_3_Template, 2, 0, "span");
67803
- i0.ɵɵelementEnd();
67804
- } if (rf & 2) {
67805
- i0.ɵɵclassMap(ctx.minimized() ? "cursor-pointer p-2 rounded-lg transition-all duration-200 hover:scale-110" : "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");
67806
- i0.ɵɵproperty("ngClass", ctx.buttonClass())("title", ctx.title());
67807
- i0.ɵɵadvance();
67808
- i0.ɵɵclassProp("w-5", ctx.minimized())("h-5", ctx.minimized());
67809
- i0.ɵɵadvance(2);
67810
- i0.ɵɵconditional(!ctx.minimized() ? 3 : -1);
67811
- } }, dependencies: [CommonModule, i1$1.NgClass], styles: ["[_nghost-%COMP%]{display:contents}"], changeDetection: 0 }); }
67812
- }
67813
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchButtonComponent, [{
67814
- type: Component,
67815
- args: [{ selector: 'symphiq-search-button', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], template: `
67816
- <button
67817
- type="button"
67818
- (click)="searchClick.emit()"
67819
- [ngClass]="buttonClass()"
67820
- [title]="title()"
67821
- [class]="minimized() ? 'cursor-pointer p-2 rounded-lg transition-all duration-200 hover:scale-110' : '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'">
67822
- <svg class="w-4 h-4" [class.w-5]="minimized()" [class.h-5]="minimized()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
67823
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
67824
- </svg>
67825
- @if (!minimized()) {
67826
- <span>Search</span>
67827
- }
67828
- </button>
67829
- `, styles: [":host{display:contents}\n"] }]
67830
- }], null, { isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], minimized: [{ type: i0.Input, args: [{ isSignal: true, alias: "minimized", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], searchClick: [{ type: i0.Output, args: ["searchClick"] }] }); })();
67831
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchButtonComponent, { className: "SearchButtonComponent", filePath: "lib/components/shared/search-button.component.ts", lineNumber: 30 }); })();
67832
-
67833
- function DashboardHeaderComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
67834
- i0.ɵɵelement(0, "div", 6);
67835
- } }
67836
- function DashboardHeaderComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
67837
- const _r1 = i0.ɵɵgetCurrentView();
67838
- i0.ɵɵelementStart(0, "div", 7)(1, "symphiq-search-button", 15);
67839
- i0.ɵɵlistener("searchClick", function DashboardHeaderComponent_Conditional_11_Template_symphiq_search_button_searchClick_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSearchClick()); });
67840
- i0.ɵɵelementEnd();
67841
- i0.ɵɵelementStart(2, "button", 16);
67842
- i0.ɵɵlistener("click", function DashboardHeaderComponent_Conditional_11_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onViewModeClick()); });
67843
- i0.ɵɵnamespaceSVG();
67844
- i0.ɵɵelementStart(3, "svg", 17);
67845
- i0.ɵɵelement(4, "path", 18)(5, "path", 19);
67846
- i0.ɵɵelementEnd();
67847
- i0.ɵɵnamespaceHTML();
67848
- i0.ɵɵelementStart(6, "span");
67849
- i0.ɵɵtext(7);
67850
- i0.ɵɵelementEnd()()();
67851
- } if (rf & 2) {
67852
- const ctx_r1 = i0.ɵɵnextContext();
67853
- i0.ɵɵadvance();
67854
- i0.ɵɵproperty("isLightMode", ctx_r1.isLightMode());
67855
- i0.ɵɵadvance();
67856
- i0.ɵɵproperty("ngClass", ctx_r1.getViewModeButtonClasses());
67857
- i0.ɵɵadvance(5);
67858
- i0.ɵɵtextInterpolate(ctx_r1.viewModeLabel());
67859
- } }
67860
- function DashboardHeaderComponent_Conditional_12_Conditional_1_Template(rf, ctx) { if (rf & 1) {
67861
- i0.ɵɵelementStart(0, "div", 20)(1, "div", 21);
67862
- i0.ɵɵtext(2, "Generated At");
67863
- i0.ɵɵelementEnd();
67864
- i0.ɵɵelementStart(3, "div", 22);
67865
- i0.ɵɵtext(4);
67866
- i0.ɵɵelementEnd()();
67867
- } if (rf & 2) {
67868
- const ctx_r1 = i0.ɵɵnextContext(2);
67869
- i0.ɵɵadvance();
67870
- i0.ɵɵclassMap(ctx_r1.metaLabelClass());
67871
- i0.ɵɵadvance(2);
67872
- i0.ɵɵclassMap(ctx_r1.headerTitleClass());
67873
- i0.ɵɵadvance();
67874
- i0.ɵɵtextInterpolate(ctx_r1.formattedGeneratedDate());
67875
- } }
67876
- function DashboardHeaderComponent_Conditional_12_Conditional_2_Template(rf, ctx) { if (rf & 1) {
67877
- i0.ɵɵelementStart(0, "div", 20)(1, "div", 21);
67878
- i0.ɵɵtext(2, "Requested by");
67879
- i0.ɵɵelementEnd();
67880
- i0.ɵɵelementStart(3, "div", 22);
67881
- i0.ɵɵtext(4);
67882
- i0.ɵɵelementEnd()();
67883
- } if (rf & 2) {
67884
- let tmp_4_0;
67885
- const ctx_r1 = i0.ɵɵnextContext(2);
67886
- i0.ɵɵadvance();
67887
- i0.ɵɵclassMap(ctx_r1.metaLabelClass());
67888
- i0.ɵɵadvance(2);
67889
- i0.ɵɵclassMap(ctx_r1.headerTitleClass());
67890
- i0.ɵɵadvance();
67891
- i0.ɵɵtextInterpolate2("", (tmp_4_0 = ctx_r1.requestedByUser()) == null ? null : tmp_4_0.firstName, " ", (tmp_4_0 = ctx_r1.requestedByUser()) == null ? null : tmp_4_0.lastName);
67892
- } }
67893
- function DashboardHeaderComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
67894
- i0.ɵɵelementStart(0, "div", 8);
67895
- i0.ɵɵconditionalCreate(1, DashboardHeaderComponent_Conditional_12_Conditional_1_Template, 5, 5, "div", 20);
67896
- i0.ɵɵconditionalCreate(2, DashboardHeaderComponent_Conditional_12_Conditional_2_Template, 5, 6, "div", 20);
67897
- i0.ɵɵelementEnd();
67898
- } if (rf & 2) {
67899
- const ctx_r1 = i0.ɵɵnextContext();
67900
- i0.ɵɵadvance();
67901
- i0.ɵɵconditional(ctx_r1.formattedGeneratedDate() ? 1 : -1);
67902
- i0.ɵɵadvance();
67903
- i0.ɵɵconditional(ctx_r1.requestedByUser() ? 2 : -1);
67904
- } }
67905
- function DashboardHeaderComponent_Conditional_20_Conditional_3_Template(rf, ctx) { if (rf & 1) {
67906
- i0.ɵɵelementStart(0, "span", 23);
67907
- i0.ɵɵtext(1, "\u203A");
67908
- i0.ɵɵelementEnd();
67909
- i0.ɵɵelementStart(2, "span", 23);
67910
- i0.ɵɵtext(3);
67911
- i0.ɵɵelementEnd();
67912
- } if (rf & 2) {
67913
- const ctx_r1 = i0.ɵɵnextContext(2);
67914
- i0.ɵɵclassProp("opacity-0", ctx_r1.subsectionFading())("opacity-100", !ctx_r1.subsectionFading());
67915
- i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-400" : "text-slate-500");
67916
- i0.ɵɵadvance(2);
67917
- i0.ɵɵclassProp("opacity-0", ctx_r1.subsectionFading())("opacity-100", !ctx_r1.subsectionFading());
67918
- i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-500" : "text-slate-500");
67919
- i0.ɵɵadvance();
67920
- i0.ɵɵtextInterpolate1(" ", ctx_r1.currentSubsection(), " ");
67921
- } }
67922
- function DashboardHeaderComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
67923
- i0.ɵɵelementStart(0, "div", 14)(1, "span", 23);
67924
- i0.ɵɵtext(2);
67925
- i0.ɵɵelementEnd();
67926
- i0.ɵɵconditionalCreate(3, DashboardHeaderComponent_Conditional_20_Conditional_3_Template, 4, 11);
67927
- i0.ɵɵelementEnd();
67928
- } if (rf & 2) {
67929
- const ctx_r1 = i0.ɵɵnextContext();
67930
- i0.ɵɵadvance();
67931
- i0.ɵɵclassProp("opacity-0", ctx_r1.sectionFading())("opacity-100", !ctx_r1.sectionFading());
67932
- i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-600 font-medium" : "text-slate-400 font-medium");
67933
- i0.ɵɵadvance();
67934
- i0.ɵɵtextInterpolate1(" ", ctx_r1.currentSection(), " ");
67935
- i0.ɵɵadvance();
67936
- i0.ɵɵconditional(ctx_r1.currentSubsection() ? 3 : -1);
67937
- } }
67938
- function DashboardHeaderComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
67939
- const _r3 = i0.ɵɵgetCurrentView();
67940
- i0.ɵɵelementStart(0, "symphiq-search-button", 24);
67941
- i0.ɵɵlistener("searchClick", function DashboardHeaderComponent_Conditional_21_Template_symphiq_search_button_searchClick_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSearchClick()); });
67942
- i0.ɵɵelementEnd();
67943
- i0.ɵɵelementStart(1, "button", 25);
67944
- i0.ɵɵlistener("click", function DashboardHeaderComponent_Conditional_21_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onViewModeClick()); });
67945
- i0.ɵɵnamespaceSVG();
67946
- i0.ɵɵelementStart(2, "svg", 17);
67947
- i0.ɵɵelement(3, "path", 18)(4, "path", 19);
67948
- i0.ɵɵelementEnd()();
67949
- } if (rf & 2) {
67950
- const ctx_r1 = i0.ɵɵnextContext();
67951
- i0.ɵɵproperty("isLightMode", ctx_r1.isLightMode())("minimized", true);
67952
- i0.ɵɵadvance();
67953
- i0.ɵɵproperty("ngClass", ctx_r1.getViewModeButtonClasses());
67954
- } }
67955
- class DashboardHeaderComponent {
67956
- constructor() {
67957
- this.requestedByUser = input(...(ngDevMode ? [undefined, { debugName: "requestedByUser" }] : []));
67958
- this.createdDate = input(...(ngDevMode ? [undefined, { debugName: "createdDate" }] : []));
67959
- this.title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
67960
- this.subtitle = input('', ...(ngDevMode ? [{ debugName: "subtitle" }] : []));
67961
- this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
67962
- this.viewModeLabel = input('View Mode', ...(ngDevMode ? [{ debugName: "viewModeLabel" }] : []));
67963
- this.currentSection = input(...(ngDevMode ? [undefined, { debugName: "currentSection" }] : []));
67964
- this.currentSubsection = input(...(ngDevMode ? [undefined, { debugName: "currentSubsection" }] : []));
67965
- this.sectionFading = input(false, ...(ngDevMode ? [{ debugName: "sectionFading" }] : []));
67966
- this.subsectionFading = input(false, ...(ngDevMode ? [{ debugName: "subsectionFading" }] : []));
67967
- this.isLoading = input(...(ngDevMode ? [undefined, { debugName: "isLoading" }] : []));
67968
- this.showControls = input(true, ...(ngDevMode ? [{ debugName: "showControls" }] : []));
67969
- this.searchClick = output();
67970
- this.viewModeClick = output();
67971
- this.headerScrollService = inject(HeaderScrollService);
67972
- this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
67973
- this.dateFormatCache = new StringMemoizeCache();
67974
- this.formattedGeneratedDate = computed(() => {
67975
- let formatted = '';
67976
- const createdDate = this.createdDate();
67977
- if (createdDate) {
67978
- formatted = this.formatDate(createdDate.toISOString());
67979
- }
67980
- return formatted;
67981
- }, ...(ngDevMode ? [{ debugName: "formattedGeneratedDate" }] : []));
67982
- this.headerTitleClass = computed(() => this.isLightMode() ? 'text-slate-900' : 'text-white', ...(ngDevMode ? [{ debugName: "headerTitleClass" }] : []));
67983
- this.metaLabelClass = computed(() => this.isLightMode() ? 'text-slate-600' : 'text-slate-500', ...(ngDevMode ? [{ debugName: "metaLabelClass" }] : []));
67984
- }
67985
- onSearchClick() {
67986
- this.searchClick.emit();
67987
- }
67988
- onViewModeClick() {
67989
- this.viewModeClick.emit();
67990
- }
67991
- formatDate(dateString) {
67992
- // Cache date formatting operations
67993
- return this.dateFormatCache.get(dateString, (date) => new Date(date).toLocaleDateString('en-US', {
67994
- year: 'numeric',
67995
- month: 'long',
67996
- day: 'numeric',
67997
- }));
67998
- }
67999
- getHeaderClasses() {
68000
- return this.isLightMode()
68001
- ? 'bg-white/95 backdrop-blur-md shadow-sm border-b border-slate-200'
68002
- : 'bg-slate-900/95 backdrop-blur-md shadow-sm border-b border-slate-800';
68003
- }
68004
- getMainTitleClasses() {
68005
- return this.isLightMode()
68006
- ? 'text-3xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent'
68007
- : 'text-3xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent';
68008
- }
68009
- getSubtitleClasses() {
68010
- return this.isLightMode()
68011
- ? 'text-slate-600 mt-1 text-sm'
68012
- : 'text-slate-400 mt-1 text-sm';
68013
- }
68014
- getCondensedTitleClasses() {
68015
- return this.isLightMode()
68016
- ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent truncate'
68017
- : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent truncate';
68018
- }
68019
- getViewModeButtonClasses() {
68020
- return this.isLightMode()
68021
- ? 'bg-slate-100 hover:bg-slate-200 text-slate-700 border border-slate-200'
68022
- : 'bg-slate-800 hover:bg-slate-700 text-slate-300 border border-slate-700';
68023
- }
68024
- static { this.ɵfac = function DashboardHeaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DashboardHeaderComponent)(); }; }
68025
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DashboardHeaderComponent, selectors: [["symphiq-dashboard-header"]], inputs: { requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], title: [1, "title"], subtitle: [1, "subtitle"], viewMode: [1, "viewMode"], viewModeLabel: [1, "viewModeLabel"], currentSection: [1, "currentSection"], currentSubsection: [1, "currentSubsection"], sectionFading: [1, "sectionFading"], subsectionFading: [1, "subsectionFading"], isLoading: [1, "isLoading"], showControls: [1, "showControls"] }, outputs: { searchClick: "searchClick", viewModeClick: "viewModeClick" }, decls: 22, vars: 26, consts: [[1, "sticky", "top-0", "z-50", "overflow-hidden", 2, "transition", "height 300ms ease-in-out", 3, "ngClass"], [1, "transition-opacity", "duration-300", "ease-in-out", "h-full"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4", "h-full", "flex", "items-center"], [1, "flex", "items-center", "justify-between", "w-full"], [1, "flex", "items-center", "gap-3"], [3, "ngClass"], ["title", "Refreshing data...", 1, "animate-spin", "w-4", "h-4", "border-2", "border-blue-500/30", "border-t-blue-500", "rounded-full"], [1, "flex", "items-center", "gap-2"], [1, "flex", "flex-col", "gap-4", "min-w-[180px]"], [1, "absolute", "inset-x-0", "top-0", "transition-opacity", "duration-300", "ease-in-out"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3.5"], [1, "flex", "items-center", "justify-between"], [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"], [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, "text-left", "sm:text-right"], [1, "text-xs", "sm:text-sm"], [1, "text-sm", "sm:text-base", "font-medium"], [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"]], template: function DashboardHeaderComponent_Template(rf, ctx) { if (rf & 1) {
68026
- i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div")(5, "div", 4)(6, "h1", 5);
68027
- i0.ɵɵtext(7);
68028
- i0.ɵɵelementEnd();
68029
- i0.ɵɵconditionalCreate(8, DashboardHeaderComponent_Conditional_8_Template, 1, 0, "div", 6);
68030
- i0.ɵɵelementEnd();
68031
- i0.ɵɵelementStart(9, "p", 5);
68032
- i0.ɵɵtext(10);
68033
- i0.ɵɵelementEnd()();
68034
- i0.ɵɵconditionalCreate(11, DashboardHeaderComponent_Conditional_11_Template, 8, 3, "div", 7);
68035
- i0.ɵɵconditionalCreate(12, DashboardHeaderComponent_Conditional_12_Template, 3, 2, "div", 8);
68036
- i0.ɵɵelementEnd()()();
68037
- i0.ɵɵelementStart(13, "div", 9)(14, "div", 10)(15, "div", 11)(16, "div", 12)(17, "h1", 5);
68038
- i0.ɵɵtext(18);
68039
- i0.ɵɵelementEnd()();
68040
- i0.ɵɵelementStart(19, "div", 13);
68041
- i0.ɵɵconditionalCreate(20, DashboardHeaderComponent_Conditional_20_Template, 4, 7, "div", 14);
68042
- i0.ɵɵconditionalCreate(21, DashboardHeaderComponent_Conditional_21_Template, 5, 3);
68043
- i0.ɵɵelementEnd()()()()();
68044
- } if (rf & 2) {
68045
- i0.ɵɵstyleProp("height", ctx.headerScrollService.isScrolled() ? "52px" : "100px");
68046
- i0.ɵɵproperty("ngClass", ctx.getHeaderClasses());
68047
- i0.ɵɵadvance();
68048
- i0.ɵɵclassProp("opacity-0", ctx.headerScrollService.isScrolled())("pointer-events-none", ctx.headerScrollService.isScrolled())("opacity-100", !ctx.headerScrollService.isScrolled());
68049
- i0.ɵɵadvance(5);
68050
- i0.ɵɵproperty("ngClass", ctx.getMainTitleClasses());
68051
- i0.ɵɵadvance();
68052
- i0.ɵɵtextInterpolate1(" ", ctx.title(), " ");
68053
- i0.ɵɵadvance();
68054
- i0.ɵɵconditional(ctx.isLoading() ? 8 : -1);
68055
- i0.ɵɵadvance();
68056
- i0.ɵɵproperty("ngClass", ctx.getSubtitleClasses());
68057
- i0.ɵɵadvance();
68058
- i0.ɵɵtextInterpolate1(" ", ctx.subtitle(), " ");
68059
- i0.ɵɵadvance();
68060
- i0.ɵɵconditional(ctx.showControls() ? 11 : -1);
68061
- i0.ɵɵadvance();
68062
- i0.ɵɵconditional(ctx.formattedGeneratedDate() || ctx.requestedByUser() ? 12 : -1);
68063
- i0.ɵɵadvance();
68064
- i0.ɵɵclassProp("opacity-0", !ctx.headerScrollService.isScrolled())("pointer-events-none", !ctx.headerScrollService.isScrolled())("opacity-100", ctx.headerScrollService.isScrolled());
68065
- i0.ɵɵadvance(4);
68066
- i0.ɵɵproperty("ngClass", ctx.getCondensedTitleClasses());
68067
- i0.ɵɵadvance();
68068
- i0.ɵɵtextInterpolate1(" ", ctx.title(), " ");
68069
- i0.ɵɵadvance(2);
68070
- i0.ɵɵconditional(ctx.currentSection() ? 20 : -1);
68071
- i0.ɵɵadvance();
68072
- i0.ɵɵconditional(ctx.showControls() ? 21 : -1);
68073
- } }, dependencies: [CommonModule, i1$1.NgClass, SearchButtonComponent], encapsulation: 2, changeDetection: 0 }); }
68074
- }
68075
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DashboardHeaderComponent, [{
68076
- type: Component,
68077
- args: [{
68078
- selector: 'symphiq-dashboard-header',
68079
- standalone: true,
68080
- imports: [CommonModule, SearchButtonComponent],
68081
- changeDetection: ChangeDetectionStrategy.OnPush,
68082
- template: `
68083
- <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50 overflow-hidden" [style.height]="headerScrollService.isScrolled() ? '52px' : '100px'" style="transition: height 300ms ease-in-out;">
68084
- <!-- Expanded Header (default state) -->
68085
- <div
68086
- class="transition-opacity duration-300 ease-in-out h-full"
68087
- [class.opacity-0]="headerScrollService.isScrolled()"
68088
- [class.pointer-events-none]="headerScrollService.isScrolled()"
68089
- [class.opacity-100]="!headerScrollService.isScrolled()">
68090
- <div
68091
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4 h-full flex items-center">
68092
- <div class="flex items-center justify-between w-full">
68093
- <div>
68094
- <div class="flex items-center gap-3">
68095
- <h1 [ngClass]="getMainTitleClasses()">
68096
- {{ title() }}
68097
- </h1>
68098
- @if (isLoading()) {
68099
- <div class="animate-spin w-4 h-4 border-2 border-blue-500/30 border-t-blue-500 rounded-full" title="Refreshing data..."></div>
68100
- }
68101
- </div>
68102
- <p [ngClass]="getSubtitleClasses()">
68103
- {{ subtitle() }}
68104
- </p>
68105
- </div>
68106
- @if (showControls()) {
68107
- <div class="flex items-center gap-2">
68108
- <symphiq-search-button
68109
- [isLightMode]="isLightMode()"
68110
- (searchClick)="onSearchClick()"
68111
- />
68112
- <button
68113
- type="button"
68114
- (click)="onViewModeClick()"
68115
- [ngClass]="getViewModeButtonClasses()"
68116
- 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">
68117
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
68118
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
68119
- <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>
68120
- </svg>
68121
- <span>{{ viewModeLabel() }}</span>
68122
- </button>
68123
- </div>
68124
- }
68125
- @if (formattedGeneratedDate() || requestedByUser()) {
68126
- <div class="flex flex-col gap-4 min-w-[180px]">
68127
- @if (formattedGeneratedDate()) {
68128
- <div class="text-left sm:text-right">
68129
- <div [class]="metaLabelClass()" class="text-xs sm:text-sm">Generated At</div>
68130
- <div [class]="headerTitleClass()" class="text-sm sm:text-base font-medium">{{ formattedGeneratedDate() }}</div>
68131
- </div>
68132
- }
68133
- @if (requestedByUser()) {
68134
- <div class="text-left sm:text-right">
68135
- <div [class]="metaLabelClass()" class="text-xs sm:text-sm">Requested by</div>
68136
- <div [class]="headerTitleClass()" class="text-sm sm:text-base font-medium">{{ requestedByUser()?.firstName }} {{ requestedByUser()?.lastName }}</div>
68137
- </div>
68138
- }
68139
- </div>
68140
- }
68141
- </div>
68142
- </div>
68143
- </div>
68144
-
68145
- <!-- Condensed Header (scrolled state) -->
68146
- <div
68147
- class="absolute inset-x-0 top-0 transition-opacity duration-300 ease-in-out"
68148
- [class.opacity-0]="!headerScrollService.isScrolled()"
68149
- [class.pointer-events-none]="!headerScrollService.isScrolled()"
68150
- [class.opacity-100]="headerScrollService.isScrolled()">
68151
- <div
68152
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3.5">
68153
- <div class="flex items-center justify-between">
68154
- <div class="flex-1 min-w-0 mr-4">
68155
- <h1 [ngClass]="getCondensedTitleClasses()">
68156
- {{ title() }}
68157
- </h1>
68158
- </div>
68159
- <div class="flex items-center gap-4">
68160
- @if (currentSection()) {
68161
- <div class="flex items-center gap-2 text-sm flex-shrink-0">
68162
- <span [ngClass]="isLightMode() ? 'text-slate-600 font-medium' : 'text-slate-400 font-medium'" class="transition-opacity duration-300" [class.opacity-0]="sectionFading()" [class.opacity-100]="!sectionFading()">
68163
- {{ currentSection() }}
68164
- </span>
68165
- @if (currentSubsection()) {
68166
- <span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionFading()" [class.opacity-100]="!subsectionFading()">›</span>
68167
- <span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionFading()" [class.opacity-100]="!subsectionFading()">
68168
- {{ currentSubsection() }}
68169
- </span>
68170
- }
68171
- </div>
68172
- }
68173
- @if (showControls()) {
68174
- <symphiq-search-button
68175
- [isLightMode]="isLightMode()"
68176
- [minimized]="true"
68177
- (searchClick)="onSearchClick()"
68178
- />
68179
- <button
68180
- type="button"
68181
- (click)="onViewModeClick()"
68182
- [ngClass]="getViewModeButtonClasses()"
68183
- 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">
68184
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
68185
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
68186
- <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>
68187
- </svg>
68188
- </button>
68189
- }
68190
- </div>
68191
- </div>
68192
- </div>
68193
- </div>
68194
- </header>
68195
- `
68196
- }]
68197
- }], null, { requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], createdDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "createdDate", 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 }] }], viewModeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewModeLabel", required: false }] }], currentSection: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentSection", required: false }] }], currentSubsection: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentSubsection", required: false }] }], sectionFading: [{ type: i0.Input, args: [{ isSignal: true, alias: "sectionFading", required: false }] }], subsectionFading: [{ type: i0.Input, args: [{ isSignal: true, alias: "subsectionFading", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], showControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "showControls", required: false }] }], searchClick: [{ type: i0.Output, args: ["searchClick"] }], viewModeClick: [{ type: i0.Output, args: ["viewModeClick"] }] }); })();
68198
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardHeaderComponent, { className: "DashboardHeaderComponent", filePath: "lib/components/shared/dashboard-header.component.ts", lineNumber: 128 }); })();
68199
-
68200
68102
  const _c0$u = () => [];
68201
68103
  function SymphiqBusinessAnalysisDashboardComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
68202
68104
  i0.ɵɵelementStart(0, "div", 6);