@eric-emg/symphiq-components 1.2.125 → 1.2.128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/symphiq-components.mjs +126 -105
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +11 -11
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -55526,106 +55526,106 @@ class FocusAreaWelcomeBannerComponent {
|
|
|
55526
55526
|
standalone: true,
|
|
55527
55527
|
imports: [CommonModule, ConfidenceLevelCardComponent, SymphiqIconComponent],
|
|
55528
55528
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
55529
|
-
template: `
|
|
55530
|
-
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
55531
|
-
<div [ngClass]="contentClasses()" class="px-8 py-8">
|
|
55532
|
-
<div class="flex items-start gap-6">
|
|
55533
|
-
<div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
|
|
55534
|
-
<symphiq-icon [icon]="focusAreaIcon()" size="w-8 h-8" />
|
|
55535
|
-
</div>
|
|
55536
|
-
|
|
55537
|
-
<div class="flex-1">
|
|
55538
|
-
<h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
|
|
55539
|
-
@if (isOnboarded) {
|
|
55540
|
-
Your {{ focusAreaDisplayName() }} Analysis
|
|
55541
|
-
} @else {
|
|
55542
|
-
Welcome to Your {{ focusAreaDisplayName() }} Analysis
|
|
55543
|
-
}
|
|
55544
|
-
</h2>
|
|
55545
|
-
|
|
55546
|
-
<!-- Description and Confidence Card in Responsive Layout -->
|
|
55547
|
-
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
|
|
55548
|
-
<!-- Description (takes 2 columns on large screens) -->
|
|
55549
|
-
<div class="lg:col-span-2 space-y-3">
|
|
55550
|
-
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
55551
|
-
{{ focusAreaDisplayName() }} Analysis provides a deep dive into this specific operational domain. By analyzing your approach, tools, and performance in {{ focusAreaDisplayName() | lowercase }}, Symphiq identifies tactical opportunities and creates an actionable roadmap for improvement.
|
|
55552
|
-
</p>
|
|
55553
|
-
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
55554
|
-
<strong class="font-semibold">Why this matters:</strong> Rather than generic best practices, this analysis delivers domain-specific insights tailored to your current capabilities, resources, and market position—ensuring recommendations are both impactful and achievable.
|
|
55555
|
-
</p>
|
|
55556
|
-
</div>
|
|
55557
|
-
|
|
55558
|
-
<!-- Confidence Card (takes 1 column on large screens, full width on mobile) -->
|
|
55559
|
-
<div class="lg:col-span-1">
|
|
55560
|
-
<symphiq-confidence-level-card
|
|
55561
|
-
[viewMode]="viewMode"
|
|
55562
|
-
currentStepId="focus-area-analysis"
|
|
55563
|
-
[focusAreaDetails]="focusAreaDetails"
|
|
55564
|
-
[currentFocusAreaDomain]="focusAreaDomain"
|
|
55565
|
-
/>
|
|
55566
|
-
</div>
|
|
55567
|
-
</div>
|
|
55568
|
-
|
|
55569
|
-
<div [ngClass]="highlightBoxClasses()" class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
|
|
55570
|
-
<svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="highlightIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
55571
|
-
<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>
|
|
55572
|
-
</svg>
|
|
55573
|
-
<div class="flex-1">
|
|
55574
|
-
<h3 [ngClass]="highlightTitleClasses()" class="font-bold text-lg mb-2">
|
|
55575
|
-
What You'll See Below
|
|
55576
|
-
</h3>
|
|
55577
|
-
<ul [ngClass]="highlightListClasses()" class="space-y-2 text-sm">
|
|
55578
|
-
<li class="flex items-start gap-2">
|
|
55579
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55580
|
-
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
|
|
55581
|
-
</svg>
|
|
55582
|
-
<span><strong class="font-semibold">Focus Area Health</strong> — Current maturity and performance assessment for {{ focusAreaDisplayName() | lowercase }}</span>
|
|
55583
|
-
</li>
|
|
55584
|
-
<li class="flex items-start gap-2">
|
|
55585
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55586
|
-
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
|
|
55587
|
-
</svg>
|
|
55588
|
-
<span><strong class="font-semibold">Top Priorities</strong> — High-impact improvements specific to this operational domain</span>
|
|
55589
|
-
</li>
|
|
55590
|
-
<li class="flex items-start gap-2">
|
|
55591
|
-
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55592
|
-
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
|
|
55593
|
-
</svg>
|
|
55594
|
-
<span><strong class="font-semibold">Tactical Roadmap</strong> — Step-by-step goals, strategies, and recommendations for domain optimization</span>
|
|
55595
|
-
</li>
|
|
55596
|
-
</ul>
|
|
55597
|
-
</div>
|
|
55598
|
-
</div>
|
|
55599
|
-
|
|
55600
|
-
<div [ngClass]="nextStepsBoxClasses()" class="mt-6 p-5 rounded-xl border flex items-start gap-4">
|
|
55601
|
-
<svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="nextStepsIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
55602
|
-
@if (isOnboarded) {
|
|
55603
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"></path>
|
|
55604
|
-
} @else {
|
|
55605
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
|
|
55606
|
-
}
|
|
55607
|
-
</svg>
|
|
55608
|
-
<div class="flex-1">
|
|
55609
|
-
<h3 [ngClass]="nextStepsTitleClasses()" class="font-bold mb-1">
|
|
55610
|
-
@if (isOnboarded) {
|
|
55611
|
-
Keep Your Focus Area Updated
|
|
55612
|
-
} @else {
|
|
55613
|
-
Continue Your Journey
|
|
55614
|
-
}
|
|
55615
|
-
</h3>
|
|
55616
|
-
<p [ngClass]="nextStepsTextClasses()" class="text-sm leading-relaxed">
|
|
55617
|
-
@if (isOnboarded) {
|
|
55618
|
-
As you implement improvements, adopt new tools, or refine your {{ focusAreaDisplayName() | lowercase }} approach, update this analysis to keep recommendations aligned with your evolving capabilities and market opportunities.
|
|
55619
|
-
} @else {
|
|
55620
|
-
This analysis provides domain-specific insights. To unlock the full power of Symphiq, explore additional focus areas and connect them to your shop operations and funnel metrics.
|
|
55621
|
-
}
|
|
55622
|
-
</p>
|
|
55623
|
-
</div>
|
|
55624
|
-
</div>
|
|
55625
|
-
</div>
|
|
55626
|
-
</div>
|
|
55627
|
-
</div>
|
|
55628
|
-
</div>
|
|
55529
|
+
template: `
|
|
55530
|
+
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
55531
|
+
<div [ngClass]="contentClasses()" class="px-8 py-8">
|
|
55532
|
+
<div class="flex items-start gap-6">
|
|
55533
|
+
<div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
|
|
55534
|
+
<symphiq-icon [icon]="focusAreaIcon()" size="w-8 h-8" />
|
|
55535
|
+
</div>
|
|
55536
|
+
|
|
55537
|
+
<div class="flex-1">
|
|
55538
|
+
<h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
|
|
55539
|
+
@if (isOnboarded) {
|
|
55540
|
+
Your {{ focusAreaDisplayName() }} Analysis
|
|
55541
|
+
} @else {
|
|
55542
|
+
Welcome to Your {{ focusAreaDisplayName() }} Analysis
|
|
55543
|
+
}
|
|
55544
|
+
</h2>
|
|
55545
|
+
|
|
55546
|
+
<!-- Description and Confidence Card in Responsive Layout -->
|
|
55547
|
+
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
|
|
55548
|
+
<!-- Description (takes 2 columns on large screens) -->
|
|
55549
|
+
<div class="lg:col-span-2 space-y-3">
|
|
55550
|
+
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
55551
|
+
{{ focusAreaDisplayName() }} Analysis provides a deep dive into this specific operational domain. By analyzing your approach, tools, and performance in {{ focusAreaDisplayName() | lowercase }}, Symphiq identifies tactical opportunities and creates an actionable roadmap for improvement.
|
|
55552
|
+
</p>
|
|
55553
|
+
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
55554
|
+
<strong class="font-semibold">Why this matters:</strong> Rather than generic best practices, this analysis delivers domain-specific insights tailored to your current capabilities, resources, and market position—ensuring recommendations are both impactful and achievable.
|
|
55555
|
+
</p>
|
|
55556
|
+
</div>
|
|
55557
|
+
|
|
55558
|
+
<!-- Confidence Card (takes 1 column on large screens, full width on mobile) -->
|
|
55559
|
+
<div class="lg:col-span-1">
|
|
55560
|
+
<symphiq-confidence-level-card
|
|
55561
|
+
[viewMode]="viewMode"
|
|
55562
|
+
currentStepId="focus-area-analysis"
|
|
55563
|
+
[focusAreaDetails]="focusAreaDetails"
|
|
55564
|
+
[currentFocusAreaDomain]="focusAreaDomain"
|
|
55565
|
+
/>
|
|
55566
|
+
</div>
|
|
55567
|
+
</div>
|
|
55568
|
+
|
|
55569
|
+
<div [ngClass]="highlightBoxClasses()" class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
|
|
55570
|
+
<svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="highlightIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
55571
|
+
<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>
|
|
55572
|
+
</svg>
|
|
55573
|
+
<div class="flex-1">
|
|
55574
|
+
<h3 [ngClass]="highlightTitleClasses()" class="font-bold text-lg mb-2">
|
|
55575
|
+
What You'll See Below
|
|
55576
|
+
</h3>
|
|
55577
|
+
<ul [ngClass]="highlightListClasses()" class="space-y-2 text-sm">
|
|
55578
|
+
<li class="flex items-start gap-2">
|
|
55579
|
+
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55580
|
+
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
|
|
55581
|
+
</svg>
|
|
55582
|
+
<span><strong class="font-semibold">Focus Area Health</strong> — Current maturity and performance assessment for {{ focusAreaDisplayName() | lowercase }}</span>
|
|
55583
|
+
</li>
|
|
55584
|
+
<li class="flex items-start gap-2">
|
|
55585
|
+
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55586
|
+
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
|
|
55587
|
+
</svg>
|
|
55588
|
+
<span><strong class="font-semibold">Top Priorities</strong> — High-impact improvements specific to this operational domain</span>
|
|
55589
|
+
</li>
|
|
55590
|
+
<li class="flex items-start gap-2">
|
|
55591
|
+
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55592
|
+
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
|
|
55593
|
+
</svg>
|
|
55594
|
+
<span><strong class="font-semibold">Tactical Roadmap</strong> — Step-by-step goals, strategies, and recommendations for domain optimization</span>
|
|
55595
|
+
</li>
|
|
55596
|
+
</ul>
|
|
55597
|
+
</div>
|
|
55598
|
+
</div>
|
|
55599
|
+
|
|
55600
|
+
<div [ngClass]="nextStepsBoxClasses()" class="mt-6 p-5 rounded-xl border flex items-start gap-4">
|
|
55601
|
+
<svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="nextStepsIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
55602
|
+
@if (isOnboarded) {
|
|
55603
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"></path>
|
|
55604
|
+
} @else {
|
|
55605
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
|
|
55606
|
+
}
|
|
55607
|
+
</svg>
|
|
55608
|
+
<div class="flex-1">
|
|
55609
|
+
<h3 [ngClass]="nextStepsTitleClasses()" class="font-bold mb-1">
|
|
55610
|
+
@if (isOnboarded) {
|
|
55611
|
+
Keep Your Focus Area Updated
|
|
55612
|
+
} @else {
|
|
55613
|
+
Continue Your Journey
|
|
55614
|
+
}
|
|
55615
|
+
</h3>
|
|
55616
|
+
<p [ngClass]="nextStepsTextClasses()" class="text-sm leading-relaxed">
|
|
55617
|
+
@if (isOnboarded) {
|
|
55618
|
+
As you implement improvements, adopt new tools, or refine your {{ focusAreaDisplayName() | lowercase }} approach, update this analysis to keep recommendations aligned with your evolving capabilities and market opportunities.
|
|
55619
|
+
} @else {
|
|
55620
|
+
This analysis provides domain-specific insights. To unlock the full power of Symphiq, explore additional focus areas and connect them to your shop operations and funnel metrics.
|
|
55621
|
+
}
|
|
55622
|
+
</p>
|
|
55623
|
+
</div>
|
|
55624
|
+
</div>
|
|
55625
|
+
</div>
|
|
55626
|
+
</div>
|
|
55627
|
+
</div>
|
|
55628
|
+
</div>
|
|
55629
55629
|
`
|
|
55630
55630
|
}]
|
|
55631
55631
|
}], null, { viewMode: [{
|
|
@@ -73269,14 +73269,22 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
73269
73269
|
this.embeddedScrollEffect = effect(() => {
|
|
73270
73270
|
const scrollEvent = this.scrollEvent();
|
|
73271
73271
|
const isEmbedded = this.embedded();
|
|
73272
|
+
console.log('[ProfileAnalysis] embeddedScrollEffect triggered', {
|
|
73273
|
+
isEmbedded,
|
|
73274
|
+
hasScrollEvent: !!scrollEvent,
|
|
73275
|
+
scrollEventDetail: scrollEvent?.detail
|
|
73276
|
+
});
|
|
73272
73277
|
if (isEmbedded && !scrollEvent) {
|
|
73278
|
+
console.log('[ProfileAnalysis] Early return: embedded but no scrollEvent');
|
|
73273
73279
|
return;
|
|
73274
73280
|
}
|
|
73275
73281
|
if (!scrollEvent || !isEmbedded) {
|
|
73282
|
+
console.log('[ProfileAnalysis] Early return: no scrollEvent or not embedded');
|
|
73276
73283
|
return;
|
|
73277
73284
|
}
|
|
73278
73285
|
const detail = scrollEvent.detail;
|
|
73279
73286
|
if (!detail) {
|
|
73287
|
+
console.log('[ProfileAnalysis] Early return: no detail in scrollEvent');
|
|
73280
73288
|
return;
|
|
73281
73289
|
}
|
|
73282
73290
|
const scrollTop = detail.scrollTop || 0;
|
|
@@ -73288,14 +73296,27 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
73288
73296
|
this.headerScrollService.isScrolled.set(false);
|
|
73289
73297
|
}
|
|
73290
73298
|
const scrollElement = this.scrollElement();
|
|
73299
|
+
console.log('[ProfileAnalysis] Scroll progress calculation', {
|
|
73300
|
+
scrollTop,
|
|
73301
|
+
hasScrollElement: !!scrollElement,
|
|
73302
|
+
scrollHeight: scrollElement?.scrollHeight,
|
|
73303
|
+
clientHeight: scrollElement?.clientHeight
|
|
73304
|
+
});
|
|
73291
73305
|
if (scrollElement) {
|
|
73292
73306
|
const scrollHeight = scrollElement.scrollHeight || 0;
|
|
73293
73307
|
const clientHeight = scrollElement.clientHeight || 0;
|
|
73294
73308
|
const maxScroll = scrollHeight - clientHeight;
|
|
73295
73309
|
if (maxScroll > 0) {
|
|
73296
73310
|
const progress = (scrollTop / maxScroll) * 100;
|
|
73311
|
+
console.log('[ProfileAnalysis] Setting scrollProgress', { maxScroll, progress: Math.min(100, Math.max(0, progress)) });
|
|
73297
73312
|
this.scrollProgress.set(Math.min(100, Math.max(0, progress)));
|
|
73298
73313
|
}
|
|
73314
|
+
else {
|
|
73315
|
+
console.log('[ProfileAnalysis] maxScroll <= 0, not updating progress', { maxScroll });
|
|
73316
|
+
}
|
|
73317
|
+
}
|
|
73318
|
+
else {
|
|
73319
|
+
console.log('[ProfileAnalysis] No scrollElement available');
|
|
73299
73320
|
}
|
|
73300
73321
|
}, ...(ngDevMode ? [{ debugName: "embeddedScrollEffect" }] : []));
|
|
73301
73322
|
// Signal version of funnelAnalysis for reactive computed signals
|
|
@@ -73368,8 +73389,6 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
73368
73389
|
};
|
|
73369
73390
|
}, ...(ngDevMode ? [{ debugName: "executiveSummary" }] : []));
|
|
73370
73391
|
this.sections = computed(() => {
|
|
73371
|
-
console.log('this.profileAnalysis()', this.profileAnalysis());
|
|
73372
|
-
console.log('this.profileAnalysis()?.profileAnalysisStructured', this.profileAnalysis()?.profileAnalysisStructured);
|
|
73373
73392
|
return this.profileAnalysis()?.profileAnalysisStructured?.sections;
|
|
73374
73393
|
}, ...(ngDevMode ? [{ debugName: "sections" }] : []));
|
|
73375
73394
|
this.allGoals = computed(() => {
|
|
@@ -73602,9 +73621,11 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
73602
73621
|
}
|
|
73603
73622
|
onWindowScroll() {
|
|
73604
73623
|
this.headerScrollService.handleScroll(this.embedded());
|
|
73605
|
-
|
|
73606
|
-
|
|
73607
|
-
|
|
73624
|
+
if (!this.embedded()) {
|
|
73625
|
+
const scrollTop = window.scrollY;
|
|
73626
|
+
const docHeight = document.documentElement.scrollHeight - window.innerHeight;
|
|
73627
|
+
this.scrollProgress.set((scrollTop / docHeight) * 100);
|
|
73628
|
+
}
|
|
73608
73629
|
}
|
|
73609
73630
|
ngOnChanges(changes) {
|
|
73610
73631
|
// Update the signal whenever funnelAnalysis input changes
|