@eric-emg/symphiq-components 1.2.522 → 1.2.524

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.
@@ -46531,14 +46531,14 @@ function DashboardHeaderComponent_Conditional_8_Template(rf, ctx) { if (rf & 1)
46531
46531
  } }
46532
46532
  function DashboardHeaderComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
46533
46533
  const _r1 = i0.ɵɵgetCurrentView();
46534
- i0.ɵɵelementStart(0, "symphiq-search-button", 16);
46534
+ i0.ɵɵelementStart(0, "symphiq-search-button", 17);
46535
46535
  i0.ɵɵlistener("searchClick", function DashboardHeaderComponent_Conditional_13_Template_symphiq_search_button_searchClick_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSearchClick()); });
46536
46536
  i0.ɵɵelementEnd();
46537
- i0.ɵɵelementStart(1, "button", 17);
46537
+ i0.ɵɵelementStart(1, "button", 18);
46538
46538
  i0.ɵɵlistener("click", function DashboardHeaderComponent_Conditional_13_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onViewModeClick()); });
46539
46539
  i0.ɵɵnamespaceSVG();
46540
- i0.ɵɵelementStart(2, "svg", 18);
46541
- i0.ɵɵelement(3, "path", 19)(4, "path", 20);
46540
+ i0.ɵɵelementStart(2, "svg", 19);
46541
+ i0.ɵɵelement(3, "path", 20)(4, "path", 21);
46542
46542
  i0.ɵɵelementEnd();
46543
46543
  i0.ɵɵnamespaceHTML();
46544
46544
  i0.ɵɵelementStart(5, "span");
@@ -46553,10 +46553,10 @@ function DashboardHeaderComponent_Conditional_13_Template(rf, ctx) { if (rf & 1)
46553
46553
  i0.ɵɵtextInterpolate(ctx_r1.viewModeLabel());
46554
46554
  } }
46555
46555
  function DashboardHeaderComponent_Conditional_15_Conditional_1_Template(rf, ctx) { if (rf & 1) {
46556
- i0.ɵɵelementStart(0, "div", 21)(1, "div", 22);
46556
+ i0.ɵɵelementStart(0, "div", 22)(1, "div", 23);
46557
46557
  i0.ɵɵtext(2, "Generated At");
46558
46558
  i0.ɵɵelementEnd();
46559
- i0.ɵɵelementStart(3, "div", 23);
46559
+ i0.ɵɵelementStart(3, "div", 24);
46560
46560
  i0.ɵɵtext(4);
46561
46561
  i0.ɵɵelementEnd()();
46562
46562
  } if (rf & 2) {
@@ -46569,10 +46569,10 @@ function DashboardHeaderComponent_Conditional_15_Conditional_1_Template(rf, ctx)
46569
46569
  i0.ɵɵtextInterpolate(ctx_r1.formattedGeneratedDate());
46570
46570
  } }
46571
46571
  function DashboardHeaderComponent_Conditional_15_Conditional_2_Template(rf, ctx) { if (rf & 1) {
46572
- i0.ɵɵelementStart(0, "div", 21)(1, "div", 22);
46572
+ i0.ɵɵelementStart(0, "div", 22)(1, "div", 23);
46573
46573
  i0.ɵɵtext(2, "Requested by");
46574
46574
  i0.ɵɵelementEnd();
46575
- i0.ɵɵelementStart(3, "div", 23);
46575
+ i0.ɵɵelementStart(3, "div", 24);
46576
46576
  i0.ɵɵtext(4);
46577
46577
  i0.ɵɵelementEnd()();
46578
46578
  } if (rf & 2) {
@@ -46586,9 +46586,9 @@ function DashboardHeaderComponent_Conditional_15_Conditional_2_Template(rf, ctx)
46586
46586
  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);
46587
46587
  } }
46588
46588
  function DashboardHeaderComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
46589
- i0.ɵɵelementStart(0, "div", 10);
46590
- i0.ɵɵconditionalCreate(1, DashboardHeaderComponent_Conditional_15_Conditional_1_Template, 5, 5, "div", 21);
46591
- i0.ɵɵconditionalCreate(2, DashboardHeaderComponent_Conditional_15_Conditional_2_Template, 5, 6, "div", 21);
46589
+ i0.ɵɵelementStart(0, "div", 11);
46590
+ i0.ɵɵconditionalCreate(1, DashboardHeaderComponent_Conditional_15_Conditional_1_Template, 5, 5, "div", 22);
46591
+ i0.ɵɵconditionalCreate(2, DashboardHeaderComponent_Conditional_15_Conditional_2_Template, 5, 6, "div", 22);
46592
46592
  i0.ɵɵelementEnd();
46593
46593
  } if (rf & 2) {
46594
46594
  const ctx_r1 = i0.ɵɵnextContext();
@@ -46598,10 +46598,10 @@ function DashboardHeaderComponent_Conditional_15_Template(rf, ctx) { if (rf & 1)
46598
46598
  i0.ɵɵconditional(ctx_r1.requestedByUser() ? 2 : -1);
46599
46599
  } }
46600
46600
  function DashboardHeaderComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
46601
- i0.ɵɵelementStart(0, "span", 24);
46601
+ i0.ɵɵelementStart(0, "span", 25);
46602
46602
  i0.ɵɵtext(1, "\u2014");
46603
46603
  i0.ɵɵelementEnd();
46604
- i0.ɵɵelementStart(2, "span", 25);
46604
+ i0.ɵɵelementStart(2, "span", 26);
46605
46605
  i0.ɵɵtext(3);
46606
46606
  i0.ɵɵelementEnd();
46607
46607
  } if (rf & 2) {
@@ -46613,10 +46613,10 @@ function DashboardHeaderComponent_Conditional_22_Template(rf, ctx) { if (rf & 1)
46613
46613
  i0.ɵɵtextInterpolate1(" ", ctx_r1.subtitle(), " ");
46614
46614
  } }
46615
46615
  function DashboardHeaderComponent_Conditional_25_Conditional_3_Template(rf, ctx) { if (rf & 1) {
46616
- i0.ɵɵelementStart(0, "span", 26);
46616
+ i0.ɵɵelementStart(0, "span", 27);
46617
46617
  i0.ɵɵtext(1, "\u203A");
46618
46618
  i0.ɵɵelementEnd();
46619
- i0.ɵɵelementStart(2, "span", 26);
46619
+ i0.ɵɵelementStart(2, "span", 27);
46620
46620
  i0.ɵɵtext(3);
46621
46621
  i0.ɵɵelementEnd();
46622
46622
  } if (rf & 2) {
@@ -46630,7 +46630,7 @@ function DashboardHeaderComponent_Conditional_25_Conditional_3_Template(rf, ctx)
46630
46630
  i0.ɵɵtextInterpolate1(" ", ctx_r1.currentSubsection(), " ");
46631
46631
  } }
46632
46632
  function DashboardHeaderComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
46633
- i0.ɵɵelementStart(0, "div", 15)(1, "span", 26);
46633
+ i0.ɵɵelementStart(0, "div", 16)(1, "span", 27);
46634
46634
  i0.ɵɵtext(2);
46635
46635
  i0.ɵɵelementEnd();
46636
46636
  i0.ɵɵconditionalCreate(3, DashboardHeaderComponent_Conditional_25_Conditional_3_Template, 4, 11);
@@ -46647,14 +46647,14 @@ function DashboardHeaderComponent_Conditional_25_Template(rf, ctx) { if (rf & 1)
46647
46647
  } }
46648
46648
  function DashboardHeaderComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
46649
46649
  const _r3 = i0.ɵɵgetCurrentView();
46650
- i0.ɵɵelementStart(0, "symphiq-search-button", 27);
46650
+ i0.ɵɵelementStart(0, "symphiq-search-button", 28);
46651
46651
  i0.ɵɵlistener("searchClick", function DashboardHeaderComponent_Conditional_26_Template_symphiq_search_button_searchClick_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSearchClick()); });
46652
46652
  i0.ɵɵelementEnd();
46653
- i0.ɵɵelementStart(1, "button", 28);
46653
+ i0.ɵɵelementStart(1, "button", 29);
46654
46654
  i0.ɵɵlistener("click", function DashboardHeaderComponent_Conditional_26_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onViewModeClick()); });
46655
46655
  i0.ɵɵnamespaceSVG();
46656
- i0.ɵɵelementStart(2, "svg", 18);
46657
- i0.ɵɵelement(3, "path", 19)(4, "path", 20);
46656
+ i0.ɵɵelementStart(2, "svg", 19);
46657
+ i0.ɵɵelement(3, "path", 20)(4, "path", 21);
46658
46658
  i0.ɵɵelementEnd()();
46659
46659
  } if (rf & 2) {
46660
46660
  const ctx_r1 = i0.ɵɵnextContext();
@@ -46677,10 +46677,14 @@ class DashboardHeaderComponent {
46677
46677
  this.isLoading = input(...(ngDevMode ? [undefined, { debugName: "isLoading" }] : []));
46678
46678
  this.showControls = input(true, ...(ngDevMode ? [{ debugName: "showControls" }] : []));
46679
46679
  this.hasCondensedLeftContent = input(false, ...(ngDevMode ? [{ debugName: "hasCondensedLeftContent" }] : []));
46680
+ this.size = input('default', ...(ngDevMode ? [{ debugName: "size" }] : []));
46680
46681
  this.searchClick = output();
46681
46682
  this.viewModeClick = output();
46682
46683
  this.headerScrollService = inject(HeaderScrollService);
46684
+ this.tooltipService = inject(TooltipService);
46683
46685
  this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
46686
+ this.isLargeSize = computed(() => this.size() === 'large', ...(ngDevMode ? [{ debugName: "isLargeSize" }] : []));
46687
+ this.expandedHeight = computed(() => this.isLargeSize() ? '140px' : '100px', ...(ngDevMode ? [{ debugName: "expandedHeight" }] : []));
46684
46688
  this.dateFormatCache = new StringMemoizeCache();
46685
46689
  this.formattedGeneratedDate = computed(() => {
46686
46690
  let formatted = '';
@@ -46693,12 +46697,25 @@ class DashboardHeaderComponent {
46693
46697
  this.headerTitleClass = computed(() => this.isLightMode() ? 'text-slate-900' : 'text-white', ...(ngDevMode ? [{ debugName: "headerTitleClass" }] : []));
46694
46698
  this.metaLabelClass = computed(() => this.isLightMode() ? 'text-slate-600' : 'text-slate-500', ...(ngDevMode ? [{ debugName: "metaLabelClass" }] : []));
46695
46699
  }
46700
+ ngOnInit() {
46701
+ this.headerScrollService.resetState();
46702
+ }
46696
46703
  onSearchClick() {
46697
46704
  this.searchClick.emit();
46698
46705
  }
46699
46706
  onViewModeClick() {
46700
46707
  this.viewModeClick.emit();
46701
46708
  }
46709
+ onTitleMouseEnter(event) {
46710
+ const target = event.target;
46711
+ if (target.scrollWidth > target.clientWidth) {
46712
+ const rect = target.getBoundingClientRect();
46713
+ this.tooltipService.show('text', this.title(), rect, 'bottom');
46714
+ }
46715
+ }
46716
+ onTitleMouseLeave() {
46717
+ this.tooltipService.hide();
46718
+ }
46702
46719
  formatDate(dateString) {
46703
46720
  // Cache date formatting operations
46704
46721
  return this.dateFormatCache.get(dateString, (date) => new Date(date).toLocaleDateString('en-US', {
@@ -46708,16 +46725,31 @@ class DashboardHeaderComponent {
46708
46725
  }));
46709
46726
  }
46710
46727
  getHeaderClasses() {
46728
+ if (this.isLargeSize()) {
46729
+ return this.isLightMode()
46730
+ ? 'backdrop-blur-sm bg-white/50'
46731
+ : 'backdrop-blur-sm bg-slate-900/50';
46732
+ }
46711
46733
  return this.isLightMode()
46712
46734
  ? 'bg-white/95 backdrop-blur-md shadow-sm border-b border-slate-200'
46713
46735
  : 'bg-slate-900/95 backdrop-blur-md shadow-sm border-b border-slate-800';
46714
46736
  }
46715
46737
  getMainTitleClasses() {
46738
+ if (this.isLargeSize()) {
46739
+ return this.isLightMode()
46740
+ ? 'text-4xl sm:text-5xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent'
46741
+ : 'text-4xl sm:text-5xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent';
46742
+ }
46716
46743
  return this.isLightMode()
46717
46744
  ? 'text-3xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent'
46718
46745
  : 'text-3xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent';
46719
46746
  }
46720
46747
  getSubtitleClasses() {
46748
+ if (this.isLargeSize()) {
46749
+ return this.isLightMode()
46750
+ ? 'text-slate-600 mt-2 text-lg'
46751
+ : 'text-slate-400 mt-2 text-lg';
46752
+ }
46721
46753
  return this.isLightMode()
46722
46754
  ? 'text-slate-600 mt-1 text-sm'
46723
46755
  : 'text-slate-400 mt-1 text-sm';
@@ -46738,35 +46770,36 @@ class DashboardHeaderComponent {
46738
46770
  : 'bg-slate-800 hover:bg-slate-700 text-slate-300 border border-slate-700';
46739
46771
  }
46740
46772
  static { this.ɵfac = function DashboardHeaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DashboardHeaderComponent)(); }; }
46741
- 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"], hasCondensedLeftContent: [1, "hasCondensedLeftContent"] }, outputs: { searchClick: "searchClick", viewModeClick: "viewModeClick" }, ngContentSelectors: _c1$i, decls: 28, 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-1"], [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", "flex-wrap", "items-center", "justify-between", "gap-3", "sm:gap-4"], [1, "flex", "items-center", "gap-4"], [1, "flex", "flex-col", "gap-4", "min-w-[180px]"], [1, "absolute", "inset-x-0", "top-0", "h-full", "transition-opacity", "duration-300", "ease-in-out"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "h-full", "flex", "items-center"], [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-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) {
46773
+ 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"], hasCondensedLeftContent: [1, "hasCondensedLeftContent"], size: [1, "size"] }, outputs: { searchClick: "searchClick", viewModeClick: "viewModeClick" }, ngContentSelectors: _c1$i, decls: 28, 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-1", "min-w-0"], [1, "flex", "items-center", "gap-3", "min-w-0"], [1, "truncate", 3, "mouseenter", "mouseleave", "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", "flex-wrap", "items-center", "justify-between", "gap-3", "sm:gap-4"], [3, "ngClass"], [1, "flex", "items-center", "gap-4"], [1, "flex", "flex-col", "gap-1", "min-w-[180px]"], [1, "absolute", "inset-x-0", "top-0", "h-full", "transition-opacity", "duration-300", "ease-in-out"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "h-full", "flex", "items-center"], [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-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"], [1, "text-sm", "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) {
46742
46774
  i0.ɵɵprojectionDef(_c0$G);
46743
46775
  i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4)(5, "div", 5)(6, "h1", 6);
46776
+ i0.ɵɵlistener("mouseenter", function DashboardHeaderComponent_Template_h1_mouseenter_6_listener($event) { return ctx.onTitleMouseEnter($event); })("mouseleave", function DashboardHeaderComponent_Template_h1_mouseleave_6_listener() { return ctx.onTitleMouseLeave(); });
46744
46777
  i0.ɵɵtext(7);
46745
46778
  i0.ɵɵelementEnd();
46746
46779
  i0.ɵɵconditionalCreate(8, DashboardHeaderComponent_Conditional_8_Template, 1, 0, "div", 7);
46747
46780
  i0.ɵɵelementEnd();
46748
- i0.ɵɵelementStart(9, "div", 8)(10, "p", 6);
46781
+ i0.ɵɵelementStart(9, "div", 8)(10, "p", 9);
46749
46782
  i0.ɵɵtext(11);
46750
46783
  i0.ɵɵelementEnd();
46751
- i0.ɵɵelementStart(12, "div", 9);
46784
+ i0.ɵɵelementStart(12, "div", 10);
46752
46785
  i0.ɵɵconditionalCreate(13, DashboardHeaderComponent_Conditional_13_Template, 7, 3);
46753
46786
  i0.ɵɵprojection(14);
46754
46787
  i0.ɵɵelementEnd()()();
46755
- i0.ɵɵconditionalCreate(15, DashboardHeaderComponent_Conditional_15_Template, 3, 2, "div", 10);
46788
+ i0.ɵɵconditionalCreate(15, DashboardHeaderComponent_Conditional_15_Template, 3, 2, "div", 11);
46756
46789
  i0.ɵɵelementEnd()()();
46757
- i0.ɵɵelementStart(16, "div", 11)(17, "div", 12)(18, "div", 3)(19, "div", 13)(20, "h1", 14);
46790
+ i0.ɵɵelementStart(16, "div", 12)(17, "div", 13)(18, "div", 3)(19, "div", 14)(20, "h1", 15);
46758
46791
  i0.ɵɵtext(21);
46759
46792
  i0.ɵɵelementEnd();
46760
46793
  i0.ɵɵconditionalCreate(22, DashboardHeaderComponent_Conditional_22_Template, 4, 3);
46761
46794
  i0.ɵɵprojection(23, 1);
46762
46795
  i0.ɵɵelementEnd();
46763
- i0.ɵɵelementStart(24, "div", 9);
46764
- i0.ɵɵconditionalCreate(25, DashboardHeaderComponent_Conditional_25_Template, 4, 7, "div", 15);
46796
+ i0.ɵɵelementStart(24, "div", 10);
46797
+ i0.ɵɵconditionalCreate(25, DashboardHeaderComponent_Conditional_25_Template, 4, 7, "div", 16);
46765
46798
  i0.ɵɵconditionalCreate(26, DashboardHeaderComponent_Conditional_26_Template, 5, 3);
46766
46799
  i0.ɵɵprojection(27, 2);
46767
46800
  i0.ɵɵelementEnd()()()()();
46768
46801
  } if (rf & 2) {
46769
- i0.ɵɵstyleProp("height", ctx.headerScrollService.isScrolled() ? "52px" : "100px");
46802
+ i0.ɵɵstyleProp("height", ctx.headerScrollService.isScrolled() ? "52px" : ctx.expandedHeight());
46770
46803
  i0.ɵɵproperty("ngClass", ctx.getHeaderClasses());
46771
46804
  i0.ɵɵadvance();
46772
46805
  i0.ɵɵclassProp("opacity-0", ctx.headerScrollService.isScrolled())("pointer-events-none", ctx.headerScrollService.isScrolled())("opacity-100", !ctx.headerScrollService.isScrolled());
@@ -46806,7 +46839,7 @@ class DashboardHeaderComponent {
46806
46839
  imports: [CommonModule, SearchButtonComponent],
46807
46840
  changeDetection: ChangeDetectionStrategy.OnPush,
46808
46841
  template: `
46809
- <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50 overflow-hidden" [style.height]="headerScrollService.isScrolled() ? '52px' : '100px'" style="transition: height 300ms ease-in-out;">
46842
+ <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50 overflow-hidden" [style.height]="headerScrollService.isScrolled() ? '52px' : expandedHeight()" style="transition: height 300ms ease-in-out;">
46810
46843
  <!-- Expanded Header (default state) -->
46811
46844
  <div
46812
46845
  class="transition-opacity duration-300 ease-in-out h-full"
@@ -46816,9 +46849,9 @@ class DashboardHeaderComponent {
46816
46849
  <div
46817
46850
  class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4 h-full flex items-center">
46818
46851
  <div class="flex items-center justify-between w-full">
46819
- <div class="flex-1">
46820
- <div class="flex items-center gap-3">
46821
- <h1 [ngClass]="getMainTitleClasses()">
46852
+ <div class="flex-1 min-w-0">
46853
+ <div class="flex items-center gap-3 min-w-0">
46854
+ <h1 [ngClass]="getMainTitleClasses()" class="truncate" (mouseenter)="onTitleMouseEnter($event)" (mouseleave)="onTitleMouseLeave()">
46822
46855
  {{ title() }}
46823
46856
  </h1>
46824
46857
  @if (isLoading()) {
@@ -46852,17 +46885,17 @@ class DashboardHeaderComponent {
46852
46885
  </div>
46853
46886
  </div>
46854
46887
  @if (formattedGeneratedDate() || requestedByUser()) {
46855
- <div class="flex flex-col gap-4 min-w-[180px]">
46888
+ <div class="flex flex-col gap-1 min-w-[180px]">
46856
46889
  @if (formattedGeneratedDate()) {
46857
46890
  <div class="text-left sm:text-right">
46858
- <div [class]="metaLabelClass()" class="text-xs sm:text-sm">Generated At</div>
46859
- <div [class]="headerTitleClass()" class="text-sm sm:text-base font-medium">{{ formattedGeneratedDate() }}</div>
46891
+ <div [class]="metaLabelClass()" class="text-xs">Generated At</div>
46892
+ <div [class]="headerTitleClass()" class="text-sm font-medium">{{ formattedGeneratedDate() }}</div>
46860
46893
  </div>
46861
46894
  }
46862
46895
  @if (requestedByUser()) {
46863
46896
  <div class="text-left sm:text-right">
46864
- <div [class]="metaLabelClass()" class="text-xs sm:text-sm">Requested by</div>
46865
- <div [class]="headerTitleClass()" class="text-sm sm:text-base font-medium">{{ requestedByUser()?.firstName }} {{ requestedByUser()?.lastName }}</div>
46897
+ <div [class]="metaLabelClass()" class="text-xs">Requested by</div>
46898
+ <div [class]="headerTitleClass()" class="text-sm font-medium">{{ requestedByUser()?.firstName }} {{ requestedByUser()?.lastName }}</div>
46866
46899
  </div>
46867
46900
  }
46868
46901
  </div>
@@ -46931,8 +46964,8 @@ class DashboardHeaderComponent {
46931
46964
  </header>
46932
46965
  `
46933
46966
  }]
46934
- }], 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 }] }], hasCondensedLeftContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasCondensedLeftContent", required: false }] }], searchClick: [{ type: i0.Output, args: ["searchClick"] }], viewModeClick: [{ type: i0.Output, args: ["viewModeClick"] }] }); })();
46935
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardHeaderComponent, { className: "DashboardHeaderComponent", filePath: "lib/components/shared/dashboard-header.component.ts", lineNumber: 139 }); })();
46967
+ }], 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 }] }], hasCondensedLeftContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasCondensedLeftContent", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], searchClick: [{ type: i0.Output, args: ["searchClick"] }], viewModeClick: [{ type: i0.Output, args: ["viewModeClick"] }] }); })();
46968
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardHeaderComponent, { className: "DashboardHeaderComponent", filePath: "lib/components/shared/dashboard-header.component.ts", lineNumber: 140 }); })();
46936
46969
 
46937
46970
  const _c0$F = ["dashboardContainer"];
46938
46971
  const _c1$h = () => ({});
@@ -48139,13 +48172,14 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Template(rf, ctx
48139
48172
  i0.ɵɵconditional(ctx_r2.showCompetitiveIntelligence() ? 6 : -1);
48140
48173
  } }
48141
48174
  class SymphiqFunnelAnalysisDashboardComponent {
48142
- constructor(funnelOrderService, viewModeService, searchService, tooltipService, profileContextService, profileItemLookupService) {
48175
+ constructor(funnelOrderService, viewModeService, searchService, tooltipService, profileContextService, profileItemLookupService, headerScrollService) {
48143
48176
  this.funnelOrderService = funnelOrderService;
48144
48177
  this.viewModeService = viewModeService;
48145
48178
  this.searchService = searchService;
48146
48179
  this.tooltipService = tooltipService;
48147
48180
  this.profileContextService = profileContextService;
48148
48181
  this.profileItemLookupService = profileItemLookupService;
48182
+ this.headerScrollService = headerScrollService;
48149
48183
  this.ViewModeEnum = ViewModeEnum;
48150
48184
  // Input signals (Angular 20 signal-based inputs)
48151
48185
  this.requestedByUser = input(...(ngDevMode ? [undefined, { debugName: "requestedByUser" }] : []));
@@ -48191,7 +48225,6 @@ class SymphiqFunnelAnalysisDashboardComponent {
48191
48225
  this.selectedSectionFilter = signal('ALL', ...(ngDevMode ? [{ debugName: "selectedSectionFilter" }] : []));
48192
48226
  this.selectedBreakdownFilter = signal('ALL', ...(ngDevMode ? [{ debugName: "selectedBreakdownFilter" }] : []));
48193
48227
  this.selectedCompetitiveFilter = signal('ALL', ...(ngDevMode ? [{ debugName: "selectedCompetitiveFilter" }] : []));
48194
- this.isScrolled = signal(false, ...(ngDevMode ? [{ debugName: "isScrolled" }] : []));
48195
48228
  this.scrollProgress = signal(0, ...(ngDevMode ? [{ debugName: "scrollProgress" }] : []));
48196
48229
  this.fabExpanded = signal(false, ...(ngDevMode ? [{ debugName: "fabExpanded" }] : []));
48197
48230
  this.activeNavSection = signal('overview', ...(ngDevMode ? [{ debugName: "activeNavSection" }] : []));
@@ -48713,12 +48746,12 @@ class SymphiqFunnelAnalysisDashboardComponent {
48713
48746
  if (!this.isProgrammaticScroll) {
48714
48747
  const COLLAPSE_THRESHOLD = 20;
48715
48748
  const EXPAND_THRESHOLD = 10;
48716
- const currentState = this.isScrolled();
48749
+ const currentState = this.headerScrollService.isScrolled();
48717
48750
  if (!currentState && scrollTop > COLLAPSE_THRESHOLD) {
48718
- this.isScrolled.set(true);
48751
+ this.headerScrollService.isScrolled.set(true);
48719
48752
  }
48720
48753
  else if (currentState && scrollTop < EXPAND_THRESHOLD) {
48721
- this.isScrolled.set(false);
48754
+ this.headerScrollService.isScrolled.set(false);
48722
48755
  }
48723
48756
  }
48724
48757
  // ========================================
@@ -49075,7 +49108,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
49075
49108
  // This 20px gap prevents rapid toggling when hovering near a single threshold
49076
49109
  const COLLAPSE_THRESHOLD = 50;
49077
49110
  const EXPAND_THRESHOLD = 30;
49078
- const currentState = this.isScrolled();
49111
+ const currentState = this.headerScrollService.isScrolled();
49079
49112
  // Determine new state based on current position and hysteresis logic
49080
49113
  let newState = currentState;
49081
49114
  // If currently expanded and we scroll past collapse threshold, collapse
@@ -49092,7 +49125,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
49092
49125
  this.scrollTimeout = setTimeout(() => {
49093
49126
  // Double-check position and state during debounce
49094
49127
  const finalPosition = window.scrollY;
49095
- const finalCurrentState = this.isScrolled();
49128
+ const finalCurrentState = this.headerScrollService.isScrolled();
49096
49129
  let finalState = finalCurrentState;
49097
49130
  if (!finalCurrentState && finalPosition > COLLAPSE_THRESHOLD) {
49098
49131
  finalState = true;
@@ -49100,8 +49133,8 @@ class SymphiqFunnelAnalysisDashboardComponent {
49100
49133
  else if (finalCurrentState && finalPosition < EXPAND_THRESHOLD) {
49101
49134
  finalState = false;
49102
49135
  }
49103
- if (this.isScrolled() !== finalState) {
49104
- this.isScrolled.set(finalState);
49136
+ if (this.headerScrollService.isScrolled() !== finalState) {
49137
+ this.headerScrollService.isScrolled.set(finalState);
49105
49138
  this.lastStateChangeTime = Date.now();
49106
49139
  }
49107
49140
  }, 100);
@@ -49124,7 +49157,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
49124
49157
  }
49125
49158
  setTimeout(() => {
49126
49159
  this.isProgrammaticScroll = false;
49127
- this.isScrolled.set(false);
49160
+ this.headerScrollService.isScrolled.set(false);
49128
49161
  }, 800);
49129
49162
  }
49130
49163
  scrollToSection(sectionId) {
@@ -49157,10 +49190,10 @@ class SymphiqFunnelAnalysisDashboardComponent {
49157
49190
  ? this.embeddedScrollContainer.scrollTop
49158
49191
  : window.scrollY;
49159
49192
  if (finalPosition > 50) {
49160
- this.isScrolled.set(true);
49193
+ this.headerScrollService.isScrolled.set(true);
49161
49194
  }
49162
49195
  else if (finalPosition < 30) {
49163
- this.isScrolled.set(false);
49196
+ this.headerScrollService.isScrolled.set(false);
49164
49197
  }
49165
49198
  }, 800);
49166
49199
  }
@@ -49206,7 +49239,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
49206
49239
  }
49207
49240
  return value.toLocaleString('en-US', { maximumFractionDigits: 0 });
49208
49241
  }
49209
- static { this.ɵfac = function SymphiqFunnelAnalysisDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqFunnelAnalysisDashboardComponent)(i0.ɵɵdirectiveInject(FunnelOrderService), i0.ɵɵdirectiveInject(ViewModeService), i0.ɵɵdirectiveInject(SearchService), i0.ɵɵdirectiveInject(TooltipService), i0.ɵɵdirectiveInject(ProfileContextService), i0.ɵɵdirectiveInject(ProfileItemLookupService)); }; }
49242
+ static { this.ɵfac = function SymphiqFunnelAnalysisDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqFunnelAnalysisDashboardComponent)(i0.ɵɵdirectiveInject(FunnelOrderService), i0.ɵɵdirectiveInject(ViewModeService), i0.ɵɵdirectiveInject(SearchService), i0.ɵɵdirectiveInject(TooltipService), i0.ɵɵdirectiveInject(ProfileContextService), i0.ɵɵdirectiveInject(ProfileItemLookupService), i0.ɵɵdirectiveInject(HeaderScrollService)); }; }
49210
49243
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqFunnelAnalysisDashboardComponent, selectors: [["symphiq-funnel-analysis-dashboard"]], viewQuery: function SymphiqFunnelAnalysisDashboardComponent_Query(rf, ctx) { if (rf & 1) {
49211
49244
  i0.ɵɵviewQuery(ModalComponent, 5);
49212
49245
  i0.ɵɵviewQuery(_c0$F, 5);
@@ -49268,7 +49301,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
49268
49301
  i0.ɵɵstyleProp("width", ctx.scrollProgress(), "%");
49269
49302
  i0.ɵɵproperty("ngClass", ctx.isLightMode() ? "bg-gradient-to-r from-blue-500 to-purple-500" : "bg-gradient-to-r from-blue-400 to-purple-400");
49270
49303
  i0.ɵɵadvance();
49271
- i0.ɵɵproperty("title", ((tmp_9_0 = ctx.analysisData()) == null ? null : tmp_9_0.title) || "")("subtitle", "Revenue Orchestration & Funnel Analysis")("viewMode", ctx.isLightMode() ? ctx.ViewModeEnum.LIGHT : ctx.ViewModeEnum.DARK)("viewModeLabel", ctx.displayModeLabel())("isLoading", ctx.isLoading() && !ctx.isShowingLoader())("requestedByUser", ctx.requestedByUser())("createdDate", ctx.analysisCreatedDate())("showControls", !ctx.isSimplifiedView())("hasCondensedLeftContent", !!ctx.revenueMetric());
49304
+ i0.ɵɵproperty("title", ((tmp_9_0 = ctx.analysisData()) == null ? null : tmp_9_0.title) || "")("subtitle", "Revenue Orchestration & Funnel Analysis")("viewMode", ctx.isLightMode() ? ctx.ViewModeEnum.LIGHT : ctx.ViewModeEnum.DARK)("viewModeLabel", ctx.displayModeLabel())("isLoading", ctx.isLoading() && !ctx.isShowingLoader())("requestedByUser", ctx.requestedByUser())("createdDate", ctx.analysisCreatedDate())("showControls", true)("hasCondensedLeftContent", !!ctx.revenueMetric());
49272
49305
  i0.ɵɵadvance(2);
49273
49306
  i0.ɵɵconditional(!ctx.isSimplifiedView() ? 7 : -1);
49274
49307
  i0.ɵɵadvance(2);
@@ -49383,7 +49416,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
49383
49416
  [isLoading]="isLoading() && !isShowingLoader()"
49384
49417
  [requestedByUser]="requestedByUser()"
49385
49418
  [createdDate]="analysisCreatedDate()"
49386
- [showControls]="!isSimplifiedView()"
49419
+ [showControls]="true"
49387
49420
  [hasCondensedLeftContent]="!!revenueMetric()"
49388
49421
  (searchClick)="searchService.openSearch()"
49389
49422
  (viewModeClick)="openViewModeSwitcher()"
@@ -50301,7 +50334,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
50301
50334
 
50302
50335
  </div>
50303
50336
  `, styles: [":host{display:block;min-height:100%}.bg-gradient-radial{background:radial-gradient(circle,var(--tw-gradient-stops))}.bento-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;grid-auto-flow:dense}@media (min-width: 768px){.bento-grid{grid-template-columns:repeat(6,1fr)}}.bento-small{grid-column:span 2;grid-row:span 1}.bento-medium{grid-column:span 3;grid-row:span 1}.bento-large{grid-column:span 4;grid-row:span 1}.bento-featured{grid-column:span 6;grid-row:span 1}@media (max-width: 767px){.bento-small,.bento-medium,.bento-large,.bento-featured{grid-column:span 1}}.masonry-grid{column-count:1;column-gap:1.5rem}@media (min-width: 768px){.masonry-grid{column-count:2}}@media (min-width: 1280px){.masonry-grid{column-count:3}}.masonry-grid>div{break-inside:avoid;margin-bottom:1.5rem}.masonry-featured{column-span:all}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}@media (max-width: 640px){.animate-fade-in-up{animation-duration:.4s}}\n"] }]
50304
- }], () => [{ type: FunnelOrderService }, { type: ViewModeService }, { type: SearchService }, { type: TooltipService }, { type: ProfileContextService }, { type: ProfileItemLookupService }], { modalComponent: [{
50337
+ }], () => [{ type: FunnelOrderService }, { type: ViewModeService }, { type: SearchService }, { type: TooltipService }, { type: ProfileContextService }, { type: ProfileItemLookupService }, { type: HeaderScrollService }], { modalComponent: [{
50305
50338
  type: ViewChild,
50306
50339
  args: [ModalComponent]
50307
50340
  }], dashboardContainer: [{
@@ -51444,14 +51477,14 @@ class SymphiqFunnelAnalysisPreviewComponent {
51444
51477
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqFunnelAnalysisPreviewComponent, { className: "SymphiqFunnelAnalysisPreviewComponent", filePath: "lib/components/funnel-analysis-preview/symphiq-funnel-analysis-preview.component.ts", lineNumber: 228 }); })();
51445
51478
 
51446
51479
  const _forTrack0$C = ($index, $item) => $item.id;
51447
- function SymphiqWelcomeDashboardComponent_For_65_Template(rf, ctx) { if (rf & 1) {
51448
- i0.ɵɵelementStart(0, "div", 31)(1, "div", 36)(2, "div", 37)(3, "span", 38);
51480
+ function SymphiqWelcomeDashboardComponent_For_51_Template(rf, ctx) { if (rf & 1) {
51481
+ i0.ɵɵelementStart(0, "div", 27)(1, "div", 32)(2, "div", 33)(3, "span", 34);
51449
51482
  i0.ɵɵtext(4);
51450
51483
  i0.ɵɵelementEnd()();
51451
- i0.ɵɵelementStart(5, "div", 23);
51484
+ i0.ɵɵelementStart(5, "div", 19);
51452
51485
  i0.ɵɵtext(6);
51453
51486
  i0.ɵɵelementEnd()();
51454
- i0.ɵɵelementStart(7, "div", 39);
51487
+ i0.ɵɵelementStart(7, "div", 35);
51455
51488
  i0.ɵɵtext(8);
51456
51489
  i0.ɵɵelementEnd()();
51457
51490
  } if (rf & 2) {
@@ -51590,21 +51623,6 @@ class SymphiqWelcomeDashboardComponent {
51590
51623
  }
51591
51624
  return 'relative min-h-screen';
51592
51625
  }
51593
- getHeaderClasses() {
51594
- const isDark = this.viewMode() === ViewModeEnum.DARK;
51595
- return isDark ? 'relative backdrop-blur-sm bg-slate-900/50' : 'relative backdrop-blur-sm bg-white/50';
51596
- }
51597
- getMainTitleClasses() {
51598
- const isDark = this.viewMode() === ViewModeEnum.DARK;
51599
- if (isDark) {
51600
- return 'text-4xl sm:text-5xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent';
51601
- }
51602
- return 'text-4xl sm:text-5xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent';
51603
- }
51604
- getSubtitleClasses() {
51605
- const isDark = this.viewMode() === ViewModeEnum.DARK;
51606
- return isDark ? 'text-lg mt-2 text-slate-400' : 'text-lg mt-2 text-slate-600';
51607
- }
51608
51626
  containerClasses() {
51609
51627
  return this.viewMode() === ViewModeEnum.DARK
51610
51628
  ? 'bg-slate-800/40 border-slate-700/50'
@@ -51673,86 +51691,79 @@ class SymphiqWelcomeDashboardComponent {
51673
51691
  static { this.ɵfac = function SymphiqWelcomeDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqWelcomeDashboardComponent)(); }; }
51674
51692
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqWelcomeDashboardComponent, selectors: [["symphiq-welcome-dashboard"]], hostBindings: function SymphiqWelcomeDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
51675
51693
  i0.ɵɵlistener("scroll", function SymphiqWelcomeDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
51676
- } }, inputs: { embedded: [1, "embedded"], parentHeaderOffset: [1, "parentHeaderOffset"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 74, vars: 57, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], [3, "viewMode", "currentStepId"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-3", 3, "ngClass"], [1, "space-y-3", "text-sm", 3, "ngClass"], [1, "flex", "flex-col"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "flex", "items-center", "gap-3"], [1, "flex-shrink-0", "w-6", "h-6", "rounded-full", "bg-blue-100", "dark:bg-blue-900/30", "flex", "items-center", "justify-center"], [1, "text-xs", "font-bold", "text-blue-600", "dark:text-blue-400"], [1, "text-xs", "opacity-90", "ml-9"]], template: function SymphiqWelcomeDashboardComponent_Template(rf, ctx) { if (rf & 1) {
51694
+ } }, inputs: { embedded: [1, "embedded"], parentHeaderOffset: [1, "parentHeaderOffset"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 60, vars: 34, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [3, "title", "subtitle", "viewMode", "showControls", "size"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], [3, "viewMode", "currentStepId"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-3", 3, "ngClass"], [1, "space-y-3", "text-sm", 3, "ngClass"], [1, "flex", "flex-col"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "flex", "items-center", "gap-3"], [1, "flex-shrink-0", "w-6", "h-6", "rounded-full", "bg-blue-100", "dark:bg-blue-900/30", "flex", "items-center", "justify-center"], [1, "text-xs", "font-bold", "text-blue-600", "dark:text-blue-400"], [1, "text-xs", "opacity-90", "ml-9"]], template: function SymphiqWelcomeDashboardComponent_Template(rf, ctx) { if (rf & 1) {
51677
51695
  i0.ɵɵelementStart(0, "div", 0)(1, "div");
51678
51696
  i0.ɵɵelement(2, "div", 1);
51679
51697
  i0.ɵɵelementEnd();
51680
51698
  i0.ɵɵelement(3, "div", 2);
51681
- i0.ɵɵelementStart(4, "div", 3)(5, "header", 4)(6, "div", 5)(7, "div", 6)(8, "div", 7)(9, "div")(10, "h1", 0);
51682
- i0.ɵɵtext(11, " Welcome to Symphiq ");
51683
- i0.ɵɵelementEnd();
51684
- i0.ɵɵelementStart(12, "p", 0);
51685
- i0.ɵɵtext(13, " Your Revenue Orchestration Journey Starts Here ");
51686
- i0.ɵɵelementEnd()()()()();
51687
- i0.ɵɵelementStart(14, "div", 5)(15, "div", 8)(16, "div", 7)(17, "div", 9)(18, "h1", 0);
51688
- i0.ɵɵtext(19, " Welcome to Symphiq ");
51689
- i0.ɵɵelementEnd()()()()()();
51690
- i0.ɵɵelementStart(20, "symphiq-journey-progress-indicator", 10);
51691
- i0.ɵɵlistener("stepClick", function SymphiqWelcomeDashboardComponent_Template_symphiq_journey_progress_indicator_stepClick_20_listener($event) { return ctx.stepClick.emit($event); })("nextStepClick", function SymphiqWelcomeDashboardComponent_Template_symphiq_journey_progress_indicator_nextStepClick_20_listener() { return ctx.nextStepClick.emit(); });
51699
+ i0.ɵɵelementStart(4, "div", 3);
51700
+ i0.ɵɵelement(5, "symphiq-dashboard-header", 4);
51701
+ i0.ɵɵelementStart(6, "symphiq-journey-progress-indicator", 5);
51702
+ i0.ɵɵlistener("stepClick", function SymphiqWelcomeDashboardComponent_Template_symphiq_journey_progress_indicator_stepClick_6_listener($event) { return ctx.stepClick.emit($event); })("nextStepClick", function SymphiqWelcomeDashboardComponent_Template_symphiq_journey_progress_indicator_nextStepClick_6_listener() { return ctx.nextStepClick.emit(); });
51692
51703
  i0.ɵɵelementEnd();
51693
- i0.ɵɵelementStart(21, "main", 11)(22, "div", 6)(23, "div", 12)(24, "div", 13)(25, "div", 14)(26, "div", 15);
51704
+ i0.ɵɵelementStart(7, "main", 6)(8, "div", 7)(9, "div", 8)(10, "div", 9)(11, "div", 10)(12, "div", 11);
51694
51705
  i0.ɵɵnamespaceSVG();
51695
- i0.ɵɵelementStart(27, "svg", 16);
51696
- i0.ɵɵelement(28, "path", 17);
51706
+ i0.ɵɵelementStart(13, "svg", 12);
51707
+ i0.ɵɵelement(14, "path", 13);
51697
51708
  i0.ɵɵelementEnd()();
51698
51709
  i0.ɵɵnamespaceHTML();
51699
- i0.ɵɵelementStart(29, "div", 18)(30, "h2", 19);
51700
- i0.ɵɵtext(31, " Welcome to Symphiq ");
51710
+ i0.ɵɵelementStart(15, "div", 14)(16, "h2", 15);
51711
+ i0.ɵɵtext(17, " Welcome to Symphiq ");
51701
51712
  i0.ɵɵelementEnd();
51702
- i0.ɵɵelementStart(32, "div", 20)(33, "div", 21)(34, "p", 22);
51703
- i0.ɵɵtext(35, " Symphiq is your Revenue Orchestration Workspace for eCommerce. We help you turn goals into coordinated actions by connecting every revenue touchpoint\u2014so your team plans with confidence, executes together, and measures what truly drives growth. ");
51713
+ i0.ɵɵelementStart(18, "div", 16)(19, "div", 17)(20, "p", 18);
51714
+ i0.ɵɵtext(21, " Symphiq is your Revenue Orchestration Workspace for eCommerce. We help you turn goals into coordinated actions by connecting every revenue touchpoint\u2014so your team plans with confidence, executes together, and measures what truly drives growth. ");
51704
51715
  i0.ɵɵelementEnd();
51705
- i0.ɵɵelementStart(36, "p", 22)(37, "strong", 23);
51706
- i0.ɵɵtext(38, "How it works:");
51716
+ i0.ɵɵelementStart(22, "p", 18)(23, "strong", 19);
51717
+ i0.ɵɵtext(24, "How it works:");
51707
51718
  i0.ɵɵelementEnd();
51708
- i0.ɵɵtext(39, " Symphiq guides you through a continuous journey loop. You'll ");
51709
- i0.ɵɵelementStart(40, "strong");
51710
- i0.ɵɵtext(41, "Build Revenue Targets");
51719
+ i0.ɵɵtext(25, " Symphiq guides you through a continuous journey loop. You'll ");
51720
+ i0.ɵɵelementStart(26, "strong");
51721
+ i0.ɵɵtext(27, "Build Revenue Targets");
51711
51722
  i0.ɵɵelementEnd();
51712
- i0.ɵɵtext(42, " with bottom-up metric goals, ");
51713
- i0.ɵɵelementStart(43, "strong");
51714
- i0.ɵɵtext(44, "Strategize Proactively");
51723
+ i0.ɵɵtext(28, " with bottom-up metric goals, ");
51724
+ i0.ɵɵelementStart(29, "strong");
51725
+ i0.ɵɵtext(30, "Strategize Proactively");
51715
51726
  i0.ɵɵelementEnd();
51716
- i0.ɵɵtext(45, " with AI-generated business goals and objectives, ");
51717
- i0.ɵɵelementStart(46, "strong");
51718
- i0.ɵɵtext(47, "Execute Together");
51727
+ i0.ɵɵtext(31, " with AI-generated business goals and objectives, ");
51728
+ i0.ɵɵelementStart(32, "strong");
51729
+ i0.ɵɵtext(33, "Execute Together");
51719
51730
  i0.ɵɵelementEnd();
51720
- i0.ɵɵtext(48, " with your team on recommendations and tasks, ");
51721
- i0.ɵɵelementStart(49, "strong");
51722
- i0.ɵɵtext(50, "Measure What Matters");
51731
+ i0.ɵɵtext(34, " with your team on recommendations and tasks, ");
51732
+ i0.ɵɵelementStart(35, "strong");
51733
+ i0.ɵɵtext(36, "Measure What Matters");
51723
51734
  i0.ɵɵelementEnd();
51724
- i0.ɵɵtext(51, " with pacing and impact tracking, and ");
51725
- i0.ɵɵelementStart(52, "strong");
51726
- i0.ɵɵtext(53, "Retain Knowledge");
51735
+ i0.ɵɵtext(37, " with pacing and impact tracking, and ");
51736
+ i0.ɵɵelementStart(38, "strong");
51737
+ i0.ɵɵtext(39, "Retain Knowledge");
51727
51738
  i0.ɵɵelementEnd();
51728
- i0.ɵɵtext(54, " through detailed profiles that preserve institutional wisdom. This loop repeats as your business grows, learning from each cycle to refine strategies. ");
51739
+ i0.ɵɵtext(40, " through detailed profiles that preserve institutional wisdom. This loop repeats as your business grows, learning from each cycle to refine strategies. ");
51729
51740
  i0.ɵɵelementEnd()();
51730
- i0.ɵɵelementStart(55, "div", 24);
51731
- i0.ɵɵelement(56, "symphiq-confidence-level-card", 25);
51741
+ i0.ɵɵelementStart(41, "div", 20);
51742
+ i0.ɵɵelement(42, "symphiq-confidence-level-card", 21);
51732
51743
  i0.ɵɵelementEnd()();
51733
- i0.ɵɵelementStart(57, "div", 26);
51744
+ i0.ɵɵelementStart(43, "div", 22);
51734
51745
  i0.ɵɵnamespaceSVG();
51735
- i0.ɵɵelementStart(58, "svg", 27);
51736
- i0.ɵɵelement(59, "path", 28);
51746
+ i0.ɵɵelementStart(44, "svg", 23);
51747
+ i0.ɵɵelement(45, "path", 24);
51737
51748
  i0.ɵɵelementEnd();
51738
51749
  i0.ɵɵnamespaceHTML();
51739
- i0.ɵɵelementStart(60, "div", 18)(61, "h3", 29);
51740
- i0.ɵɵtext(62, " Your Onboarding Journey ");
51750
+ i0.ɵɵelementStart(46, "div", 14)(47, "h3", 25);
51751
+ i0.ɵɵtext(48, " Your Onboarding Journey ");
51741
51752
  i0.ɵɵelementEnd();
51742
- i0.ɵɵelementStart(63, "div", 30);
51743
- i0.ɵɵrepeaterCreate(64, SymphiqWelcomeDashboardComponent_For_65_Template, 9, 3, "div", 31, _forTrack0$C);
51753
+ i0.ɵɵelementStart(49, "div", 26);
51754
+ i0.ɵɵrepeaterCreate(50, SymphiqWelcomeDashboardComponent_For_51_Template, 9, 3, "div", 27, _forTrack0$C);
51744
51755
  i0.ɵɵelementEnd()()();
51745
- i0.ɵɵelementStart(66, "div", 32);
51756
+ i0.ɵɵelementStart(52, "div", 28);
51746
51757
  i0.ɵɵnamespaceSVG();
51747
- i0.ɵɵelementStart(67, "svg", 27);
51748
- i0.ɵɵelement(68, "path", 33);
51758
+ i0.ɵɵelementStart(53, "svg", 23);
51759
+ i0.ɵɵelement(54, "path", 29);
51749
51760
  i0.ɵɵelementEnd();
51750
51761
  i0.ɵɵnamespaceHTML();
51751
- i0.ɵɵelementStart(69, "div", 18)(70, "h3", 34);
51752
- i0.ɵɵtext(71, " Ready to Begin Your Journey? ");
51762
+ i0.ɵɵelementStart(55, "div", 14)(56, "h3", 30);
51763
+ i0.ɵɵtext(57, " Ready to Begin Your Journey? ");
51753
51764
  i0.ɵɵelementEnd();
51754
- i0.ɵɵelementStart(72, "p", 35);
51755
- i0.ɵɵtext(73, " The next step will guide you through creating your account and entering your shop details\u2014including your business name, website URL, and ecommerce platform. Each step builds on the previous one to create comprehensive business context, enabling Symphiq to deliver increasingly accurate and personalized recommendations as you progress. ");
51765
+ i0.ɵɵelementStart(58, "p", 31);
51766
+ i0.ɵɵtext(59, " The next step will guide you through creating your account and entering your shop details\u2014including your business name, website URL, and ecommerce platform. Each step builds on the previous one to create comprehensive business context, enabling Symphiq to deliver increasingly accurate and personalized recommendations as you progress. ");
51756
51767
  i0.ɵɵelementEnd()()()()()()()()()()();
51757
51768
  } if (rf & 2) {
51758
51769
  i0.ɵɵproperty("ngClass", ctx.getContainerClasses());
@@ -51764,22 +51775,8 @@ class SymphiqWelcomeDashboardComponent {
51764
51775
  i0.ɵɵadvance();
51765
51776
  i0.ɵɵclassProp("light-mode", ctx.isLightMode());
51766
51777
  i0.ɵɵadvance(2);
51767
- i0.ɵɵproperty("ngClass", ctx.getHeaderClasses());
51768
- i0.ɵɵadvance();
51769
- i0.ɵɵclassProp("max-h-0", ctx.headerScrollService.isScrolled())("opacity-0", ctx.headerScrollService.isScrolled())("max-h-96", !ctx.headerScrollService.isScrolled())("opacity-100", !ctx.headerScrollService.isScrolled());
51770
- i0.ɵɵadvance();
51771
- i0.ɵɵclassProp("pointer-events-none", ctx.headerScrollService.isScrolled())("pointer-events-auto", !ctx.headerScrollService.isScrolled());
51772
- i0.ɵɵadvance(3);
51773
- i0.ɵɵproperty("ngClass", ctx.getMainTitleClasses());
51774
- i0.ɵɵadvance(2);
51775
- i0.ɵɵproperty("ngClass", ctx.getSubtitleClasses());
51776
- i0.ɵɵadvance(2);
51777
- i0.ɵɵclassProp("max-h-0", !ctx.headerScrollService.isScrolled())("opacity-0", !ctx.headerScrollService.isScrolled())("max-h-20", ctx.headerScrollService.isScrolled())("opacity-100", ctx.headerScrollService.isScrolled());
51778
+ i0.ɵɵproperty("title", "Welcome to Symphiq")("subtitle", "Your Revenue Orchestration Journey Starts Here")("viewMode", ctx.viewMode())("showControls", false)("size", "large");
51778
51779
  i0.ɵɵadvance();
51779
- i0.ɵɵclassProp("pointer-events-none", !ctx.headerScrollService.isScrolled())("pointer-events-auto", ctx.headerScrollService.isScrolled());
51780
- i0.ɵɵadvance(3);
51781
- i0.ɵɵproperty("ngClass", ctx.isLightMode() ? "text-xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent truncate" : "text-xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent truncate");
51782
- i0.ɵɵadvance(2);
51783
51780
  i0.ɵɵproperty("viewMode", ctx.viewMode())("currentStepId", ctx.JourneyStepIdEnum.WELCOME)("showNextStepAction", true)("forDemo", ctx.forDemo())("maxAccessibleStepId", ctx.maxAccessibleStepId());
51784
51781
  i0.ɵɵadvance(3);
51785
51782
  i0.ɵɵproperty("ngClass", ctx.containerClasses());
@@ -51813,11 +51810,11 @@ class SymphiqWelcomeDashboardComponent {
51813
51810
  i0.ɵɵproperty("ngClass", ctx.nextStepsTitleClasses());
51814
51811
  i0.ɵɵadvance(2);
51815
51812
  i0.ɵɵproperty("ngClass", ctx.nextStepsTextClasses());
51816
- } }, dependencies: [CommonModule, i1$1.NgClass, ConfidenceLevelCardComponent, JourneyProgressIndicatorComponent], styles: ["[_nghost-%COMP%]{display:block}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}"], changeDetection: 0 }); }
51813
+ } }, dependencies: [CommonModule, i1$1.NgClass, ConfidenceLevelCardComponent, DashboardHeaderComponent, JourneyProgressIndicatorComponent], styles: ["[_nghost-%COMP%]{display:block}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}"], changeDetection: 0 }); }
51817
51814
  }
51818
51815
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqWelcomeDashboardComponent, [{
51819
51816
  type: Component,
51820
- args: [{ selector: 'symphiq-welcome-dashboard', standalone: true, imports: [CommonModule, ConfidenceLevelCardComponent, JourneyProgressIndicatorComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
51817
+ args: [{ selector: 'symphiq-welcome-dashboard', standalone: true, imports: [CommonModule, ConfidenceLevelCardComponent, DashboardHeaderComponent, JourneyProgressIndicatorComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
51821
51818
  <div [ngClass]="getContainerClasses()">
51822
51819
  <!-- Scroll Progress Bar -->
51823
51820
  <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'">
@@ -51831,52 +51828,13 @@ class SymphiqWelcomeDashboardComponent {
51831
51828
  <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>
51832
51829
 
51833
51830
  <div class="relative z-[51]">
51834
- <header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
51835
- <!-- Expanded Header -->
51836
- <div
51837
- class="transition-all duration-300 ease-in-out overflow-hidden"
51838
- [class.max-h-0]="headerScrollService.isScrolled()"
51839
- [class.opacity-0]="headerScrollService.isScrolled()"
51840
- [class.max-h-96]="!headerScrollService.isScrolled()"
51841
- [class.opacity-100]="!headerScrollService.isScrolled()">
51842
- <div
51843
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
51844
- [class.pointer-events-none]="headerScrollService.isScrolled()"
51845
- [class.pointer-events-auto]="!headerScrollService.isScrolled()">
51846
- <div class="flex items-center justify-between">
51847
- <div>
51848
- <h1 [ngClass]="getMainTitleClasses()">
51849
- Welcome to Symphiq
51850
- </h1>
51851
- <p [ngClass]="getSubtitleClasses()">
51852
- Your Revenue Orchestration Journey Starts Here
51853
- </p>
51854
- </div>
51855
- </div>
51856
- </div>
51857
- </div>
51858
-
51859
- <!-- Condensed Header -->
51860
- <div
51861
- class="transition-all duration-300 ease-in-out overflow-hidden"
51862
- [class.max-h-0]="!headerScrollService.isScrolled()"
51863
- [class.opacity-0]="!headerScrollService.isScrolled()"
51864
- [class.max-h-20]="headerScrollService.isScrolled()"
51865
- [class.opacity-100]="headerScrollService.isScrolled()">
51866
- <div
51867
- class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
51868
- [class.pointer-events-none]="!headerScrollService.isScrolled()"
51869
- [class.pointer-events-auto]="headerScrollService.isScrolled()">
51870
- <div class="flex items-center justify-between">
51871
- <div class="flex-1 min-w-0 mr-4">
51872
- <h1 [ngClass]="isLightMode() ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent truncate' : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent truncate'">
51873
- Welcome to Symphiq
51874
- </h1>
51875
- </div>
51876
- </div>
51877
- </div>
51878
- </div>
51879
- </header>
51831
+ <symphiq-dashboard-header
51832
+ [title]="'Welcome to Symphiq'"
51833
+ [subtitle]="'Your Revenue Orchestration Journey Starts Here'"
51834
+ [viewMode]="viewMode()"
51835
+ [showControls]="false"
51836
+ [size]="'large'"
51837
+ />
51880
51838
 
51881
51839
  <!-- Journey Progress Indicator -->
51882
51840
  <symphiq-journey-progress-indicator
@@ -51979,7 +51937,7 @@ class SymphiqWelcomeDashboardComponent {
51979
51937
  type: HostListener,
51980
51938
  args: ['window:scroll', ['$event']]
51981
51939
  }] }); })();
51982
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqWelcomeDashboardComponent, { className: "SymphiqWelcomeDashboardComponent", filePath: "lib/components/welcome-dashboard/symphiq-welcome-dashboard.component.ts", lineNumber: 201 }); })();
51940
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqWelcomeDashboardComponent, { className: "SymphiqWelcomeDashboardComponent", filePath: "lib/components/welcome-dashboard/symphiq-welcome-dashboard.component.ts", lineNumber: 163 }); })();
51983
51941
 
51984
51942
  function FocusAreaQuestionComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
51985
51943
  i0.ɵɵelementStart(0, "span", 5);