@eric-emg/symphiq-components 1.2.161 → 1.2.163
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 +528 -359
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +58 -21
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/styles.css +20 -0
|
@@ -7,6 +7,7 @@ import { map, catchError, shareReplay, debounceTime, switchMap } from 'rxjs/oper
|
|
|
7
7
|
import * as i1 from '@angular/common/http';
|
|
8
8
|
import * as i2 from '@angular/platform-browser';
|
|
9
9
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
10
|
+
import confetti from 'canvas-confetti';
|
|
10
11
|
import * as i1$1 from '@angular/common';
|
|
11
12
|
import { NgClass, CommonModule, isPlatformBrowser, DOCUMENT } from '@angular/common';
|
|
12
13
|
import * as i2$1 from '@angular/forms';
|
|
@@ -2436,6 +2437,103 @@ class CrossDashboardRelationshipsService {
|
|
|
2436
2437
|
}]
|
|
2437
2438
|
}], null, null); })();
|
|
2438
2439
|
|
|
2440
|
+
class ConfettiService {
|
|
2441
|
+
constructor() {
|
|
2442
|
+
this.lightModeColors = [
|
|
2443
|
+
'#3b82f6',
|
|
2444
|
+
'#06b6d4',
|
|
2445
|
+
'#a855f7',
|
|
2446
|
+
'#60a5fa',
|
|
2447
|
+
'#22d3ee'
|
|
2448
|
+
];
|
|
2449
|
+
this.darkModeColors = [
|
|
2450
|
+
'#60a5fa',
|
|
2451
|
+
'#22d3ee',
|
|
2452
|
+
'#c084fc',
|
|
2453
|
+
'#93c5fd',
|
|
2454
|
+
'#67e8f9'
|
|
2455
|
+
];
|
|
2456
|
+
}
|
|
2457
|
+
getColors(customColors, viewMode) {
|
|
2458
|
+
if (customColors && customColors.length > 0) {
|
|
2459
|
+
return customColors;
|
|
2460
|
+
}
|
|
2461
|
+
const isDarkMode = viewMode === ViewModeEnum.DARK;
|
|
2462
|
+
return isDarkMode ? this.darkModeColors : this.lightModeColors;
|
|
2463
|
+
}
|
|
2464
|
+
getIntensityConfig(intensity) {
|
|
2465
|
+
switch (intensity) {
|
|
2466
|
+
case 'subtle':
|
|
2467
|
+
return {
|
|
2468
|
+
bursts: 2,
|
|
2469
|
+
particleCount: 30,
|
|
2470
|
+
spread: 45,
|
|
2471
|
+
startVelocity: 20,
|
|
2472
|
+
scalar: 0.7
|
|
2473
|
+
};
|
|
2474
|
+
case 'celebration':
|
|
2475
|
+
return {
|
|
2476
|
+
bursts: 4,
|
|
2477
|
+
particleCount: 100,
|
|
2478
|
+
spread: 80,
|
|
2479
|
+
startVelocity: 35,
|
|
2480
|
+
scalar: 1.2
|
|
2481
|
+
};
|
|
2482
|
+
case 'normal':
|
|
2483
|
+
default:
|
|
2484
|
+
return {
|
|
2485
|
+
bursts: 3,
|
|
2486
|
+
particleCount: 60,
|
|
2487
|
+
spread: 60,
|
|
2488
|
+
startVelocity: 25,
|
|
2489
|
+
scalar: 1.0
|
|
2490
|
+
};
|
|
2491
|
+
}
|
|
2492
|
+
}
|
|
2493
|
+
trigger(config = {}) {
|
|
2494
|
+
const { intensity = 'normal', colors: customColors, delay = 200, viewMode } = config;
|
|
2495
|
+
const intensityConfig = this.getIntensityConfig(intensity);
|
|
2496
|
+
const colors = this.getColors(customColors, viewMode);
|
|
2497
|
+
setTimeout(() => {
|
|
2498
|
+
this.fireConfetti(intensityConfig, colors);
|
|
2499
|
+
}, delay);
|
|
2500
|
+
}
|
|
2501
|
+
fireConfetti(config, colors) {
|
|
2502
|
+
const { bursts, particleCount, spread, startVelocity, scalar } = config;
|
|
2503
|
+
let burstCount = 0;
|
|
2504
|
+
const burstInterval = setInterval(() => {
|
|
2505
|
+
if (burstCount >= bursts) {
|
|
2506
|
+
clearInterval(burstInterval);
|
|
2507
|
+
return;
|
|
2508
|
+
}
|
|
2509
|
+
const x = 0.5;
|
|
2510
|
+
const y = 0.5;
|
|
2511
|
+
confetti({
|
|
2512
|
+
particleCount,
|
|
2513
|
+
spread,
|
|
2514
|
+
startVelocity,
|
|
2515
|
+
origin: { x, y },
|
|
2516
|
+
colors,
|
|
2517
|
+
scalar,
|
|
2518
|
+
gravity: 1.2,
|
|
2519
|
+
decay: 0.94,
|
|
2520
|
+
ticks: 200,
|
|
2521
|
+
shapes: ['circle', 'square'],
|
|
2522
|
+
zIndex: 100
|
|
2523
|
+
});
|
|
2524
|
+
burstCount++;
|
|
2525
|
+
}, 150);
|
|
2526
|
+
}
|
|
2527
|
+
static { this.ɵfac = function ConfettiService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ConfettiService)(); }; }
|
|
2528
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ConfettiService, factory: ConfettiService.ɵfac, providedIn: 'root' }); }
|
|
2529
|
+
}
|
|
2530
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfettiService, [{
|
|
2531
|
+
type: Injectable,
|
|
2532
|
+
args: [{
|
|
2533
|
+
providedIn: 'root'
|
|
2534
|
+
}]
|
|
2535
|
+
}], null, null); })();
|
|
2536
|
+
|
|
2439
2537
|
const _c0$13 = a0 => ["skeleton-loader", "rounded-lg", "relative", "overflow-hidden", a0];
|
|
2440
2538
|
const _c1$C = a0 => ["skeleton-shimmer-overlay", "absolute", "inset-0", "bg-gradient-to-r", a0];
|
|
2441
2539
|
class SkeletonLoaderComponent {
|
|
@@ -54099,6 +54197,7 @@ class SymphiqConnectGaDashboardComponent {
|
|
|
54099
54197
|
this.maxAccessibleStepId = input(undefined, ...(ngDevMode ? [{ debugName: "maxAccessibleStepId" }] : []));
|
|
54100
54198
|
this.stepClick = output();
|
|
54101
54199
|
this.nextStepClick = output();
|
|
54200
|
+
this.googleButtonClick = output();
|
|
54102
54201
|
this.headerScrollService = inject(HeaderScrollService);
|
|
54103
54202
|
this.JourneyStepIdEnum = JourneyStepIdEnum;
|
|
54104
54203
|
this.COLLAPSE_THRESHOLD = 20;
|
|
@@ -54246,7 +54345,7 @@ class SymphiqConnectGaDashboardComponent {
|
|
|
54246
54345
|
i0.ɵɵlistener("scroll", function SymphiqConnectGaDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
|
|
54247
54346
|
} if (rf & 2) {
|
|
54248
54347
|
i0.ɵɵclassProp("light", ctx.isLightMode())("dark", !ctx.isLightMode());
|
|
54249
|
-
} }, 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: 70, vars: 66, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-4", 3, "ngClass"], [1, "text-base", "leading-relaxed", "mb-6", 3, "ngClass"], [1, "mb-6"], ["type", "button", 1, "gsi-material-button"], [1, "gsi-material-button-state"], [1, "gsi-material-button-content-wrapper"], [1, "gsi-material-button-icon"], ["version", "1.1", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 48 48", 0, "xmlns", "xlink", "http://www.w3.org/1999/xlink", 2, "display", "block"], ["fill", "#EA4335", "d", "M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"], ["fill", "#4285F4", "d", "M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"], ["fill", "#FBBC05", "d", "M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"], ["fill", "#34A853", "d", "M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"], ["fill", "none", "d", "M0 0h48v48H0z"], [1, "gsi-material-button-contents"], [1, "p-4", "rounded-lg", "border", "flex", "items-start", "gap-3", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "mt-6", "rounded-lg", "border", "overflow-hidden", 3, "ngClass"], [1, "px-4", "py-4", "cursor-pointer", "flex", "items-center", "justify-between", "gap-3", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "text-base", "font-semibold", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-300", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "px-4", "pb-4", "pt-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "mb-4", 3, "ngClass"], [1, "font-bold"]], template: function SymphiqConnectGaDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
54348
|
+
} }, inputs: { embedded: [1, "embedded"], parentHeaderOffset: [1, "parentHeaderOffset"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", googleButtonClick: "googleButtonClick" }, decls: 70, vars: 66, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", "mb-8", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-4", 3, "ngClass"], [1, "text-base", "leading-relaxed", "mb-6", 3, "ngClass"], [1, "mb-6"], ["type", "button", 1, "gsi-material-button", 3, "click"], [1, "gsi-material-button-state"], [1, "gsi-material-button-content-wrapper"], [1, "gsi-material-button-icon"], ["version", "1.1", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 48 48", 0, "xmlns", "xlink", "http://www.w3.org/1999/xlink", 2, "display", "block"], ["fill", "#EA4335", "d", "M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"], ["fill", "#4285F4", "d", "M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"], ["fill", "#FBBC05", "d", "M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"], ["fill", "#34A853", "d", "M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"], ["fill", "none", "d", "M0 0h48v48H0z"], [1, "gsi-material-button-contents"], [1, "p-4", "rounded-lg", "border", "flex", "items-start", "gap-3", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "mt-6", "rounded-lg", "border", "overflow-hidden", 3, "ngClass"], [1, "px-4", "py-4", "cursor-pointer", "flex", "items-center", "justify-between", "gap-3", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "text-base", "font-semibold", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-300", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "px-4", "pb-4", "pt-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "mb-4", 3, "ngClass"], [1, "font-bold"]], template: function SymphiqConnectGaDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
54250
54349
|
i0.ɵɵelementStart(0, "div", 0)(1, "div");
|
|
54251
54350
|
i0.ɵɵelement(2, "div", 1);
|
|
54252
54351
|
i0.ɵɵelementEnd();
|
|
@@ -54276,6 +54375,7 @@ class SymphiqConnectGaDashboardComponent {
|
|
|
54276
54375
|
i0.ɵɵtext(33, " Integrating Google Analytics is essential. We use it to pull the majority of your data in a read-only format, ensuring no changes are made to your analytics. Please make sure you have access to the Google Analytics property associated with this shop to ensure proper integration. ");
|
|
54277
54376
|
i0.ɵɵelementEnd();
|
|
54278
54377
|
i0.ɵɵelementStart(34, "div", 22)(35, "button", 23);
|
|
54378
|
+
i0.ɵɵlistener("click", function SymphiqConnectGaDashboardComponent_Template_button_click_35_listener() { return ctx.googleButtonClick.emit(); });
|
|
54279
54379
|
i0.ɵɵelement(36, "div", 24);
|
|
54280
54380
|
i0.ɵɵelementStart(37, "div", 25)(38, "div", 26);
|
|
54281
54381
|
i0.ɵɵnamespaceSVG();
|
|
@@ -54481,7 +54581,7 @@ class SymphiqConnectGaDashboardComponent {
|
|
|
54481
54581
|
|
|
54482
54582
|
<!-- Continue with Google Button -->
|
|
54483
54583
|
<div class="mb-6">
|
|
54484
|
-
<button type="button" class="gsi-material-button">
|
|
54584
|
+
<button type="button" class="gsi-material-button" (click)="googleButtonClick.emit()">
|
|
54485
54585
|
<div class="gsi-material-button-state"></div>
|
|
54486
54586
|
<div class="gsi-material-button-content-wrapper">
|
|
54487
54587
|
<div class="gsi-material-button-icon">
|
|
@@ -54557,7 +54657,7 @@ class SymphiqConnectGaDashboardComponent {
|
|
|
54557
54657
|
</div>
|
|
54558
54658
|
</div>
|
|
54559
54659
|
`, 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"] }]
|
|
54560
|
-
}], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], onScroll: [{
|
|
54660
|
+
}], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], googleButtonClick: [{ type: i0.Output, args: ["googleButtonClick"] }], onScroll: [{
|
|
54561
54661
|
type: HostListener,
|
|
54562
54662
|
args: ['window:scroll', ['$event']]
|
|
54563
54663
|
}] }); })();
|
|
@@ -57836,27 +57936,24 @@ class CollapsibleSectionGroupComponent {
|
|
|
57836
57936
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleSectionGroupComponent, { className: "CollapsibleSectionGroupComponent", filePath: "lib/components/business-analysis-dashboard/collapsible-section-group.component.ts", lineNumber: 100 }); })();
|
|
57837
57937
|
|
|
57838
57938
|
function ContentGenerationProgressComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
57839
|
-
i0.ɵɵelementStart(0, "div", 20)
|
|
57840
|
-
i0.ɵɵelement(2, "div", 22)(3, "div", 23)(4, "div", 24)(5, "div", 25)(6, "div", 26);
|
|
57841
|
-
i0.ɵɵelementEnd()
|
|
57939
|
+
i0.ɵɵelementStart(0, "div", 20);
|
|
57940
|
+
i0.ɵɵelement(1, "div", 21)(2, "div", 22)(3, "div", 23)(4, "div", 24)(5, "div", 25)(6, "div", 26);
|
|
57941
|
+
i0.ɵɵelementEnd();
|
|
57842
57942
|
} if (rf & 2) {
|
|
57843
57943
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
57844
|
-
i0.ɵɵstyleProp("clip-path", "inset(0 0 0 " + ctx_r0.progressPercentage() + "%)");
|
|
57845
|
-
i0.ɵɵadvance(2);
|
|
57846
57944
|
i0.ɵɵstyleProp("left", ctx_r0.progressPercentage(), "%");
|
|
57847
|
-
i0.ɵɵproperty("ngClass", ctx_r0.dotClasses());
|
|
57848
57945
|
i0.ɵɵadvance();
|
|
57849
|
-
i0.ɵɵstyleProp("
|
|
57850
|
-
i0.ɵɵproperty("ngClass", ctx_r0.dotClasses());
|
|
57946
|
+
i0.ɵɵstyleProp("background-color", ctx_r0.dotColor());
|
|
57851
57947
|
i0.ɵɵadvance();
|
|
57852
|
-
i0.ɵɵstyleProp("
|
|
57853
|
-
i0.ɵɵproperty("ngClass", ctx_r0.dotClasses());
|
|
57948
|
+
i0.ɵɵstyleProp("background-color", ctx_r0.dotColor());
|
|
57854
57949
|
i0.ɵɵadvance();
|
|
57855
|
-
i0.ɵɵstyleProp("
|
|
57856
|
-
i0.ɵɵproperty("ngClass", ctx_r0.dotClasses());
|
|
57950
|
+
i0.ɵɵstyleProp("background-color", ctx_r0.dotColor());
|
|
57857
57951
|
i0.ɵɵadvance();
|
|
57858
|
-
i0.ɵɵstyleProp("
|
|
57859
|
-
i0.ɵɵ
|
|
57952
|
+
i0.ɵɵstyleProp("background-color", ctx_r0.dotColor());
|
|
57953
|
+
i0.ɵɵadvance();
|
|
57954
|
+
i0.ɵɵstyleProp("background-color", ctx_r0.dotColor());
|
|
57955
|
+
i0.ɵɵadvance();
|
|
57956
|
+
i0.ɵɵstyleProp("background-color", ctx_r0.dotColor());
|
|
57860
57957
|
} }
|
|
57861
57958
|
function ContentGenerationProgressComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
57862
57959
|
i0.ɵɵelement(0, "div", 27);
|
|
@@ -57874,8 +57971,9 @@ class ContentGenerationProgressComponent {
|
|
|
57874
57971
|
this.showIcon = input(true, ...(ngDevMode ? [{ debugName: "showIcon" }] : []));
|
|
57875
57972
|
this.progressPercentage = computed(() => {
|
|
57876
57973
|
const status = this.itemStatus();
|
|
57877
|
-
if (!status?.percentageComplete)
|
|
57974
|
+
if (!status?.percentageComplete) {
|
|
57878
57975
|
return 0;
|
|
57976
|
+
}
|
|
57879
57977
|
return Math.round(Math.min(100, Math.max(0, status.percentageComplete)));
|
|
57880
57978
|
}, ...(ngDevMode ? [{ debugName: "progressPercentage" }] : []));
|
|
57881
57979
|
this.progressMessage = computed(() => {
|
|
@@ -57929,6 +58027,9 @@ class ContentGenerationProgressComponent {
|
|
|
57929
58027
|
? 'bg-blue-400 shadow-lg shadow-blue-400/60'
|
|
57930
58028
|
: 'bg-cyan-300 shadow-lg shadow-cyan-300/60';
|
|
57931
58029
|
}, ...(ngDevMode ? [{ debugName: "dotClasses" }] : []));
|
|
58030
|
+
this.dotColor = computed(() => {
|
|
58031
|
+
return this.isLightMode() ? '#60a5fa' : '#67e8f9';
|
|
58032
|
+
}, ...(ngDevMode ? [{ debugName: "dotColor" }] : []));
|
|
57932
58033
|
this.progressGlowClasses = computed(() => {
|
|
57933
58034
|
return this.isLightMode()
|
|
57934
58035
|
? 'bg-blue-400 shadow-xl'
|
|
@@ -57941,7 +58042,7 @@ class ContentGenerationProgressComponent {
|
|
|
57941
58042
|
}, ...(ngDevMode ? [{ debugName: "percentageClasses" }] : []));
|
|
57942
58043
|
}
|
|
57943
58044
|
static { this.ɵfac = function ContentGenerationProgressComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ContentGenerationProgressComponent)(); }; }
|
|
57944
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContentGenerationProgressComponent, selectors: [["symphiq-content-generation-progress"]], inputs: { itemStatus: [1, "itemStatus"], title: [1, "title"], subtitle: [1, "subtitle"], viewMode: [1, "viewMode"], showIcon: [1, "showIcon"] }, decls: 25, vars: 17, consts: [[1, "min-h-[60vh]", "flex", "items-center", "justify-center", "px-4", "py-12", 3, "ngClass"], [1, "max-w-3xl", "w-full", "space-y-8"], [1, "text-center", "space-y-3"], [1, "flex", "items-center", "justify-center", "mb-4"], [1, "relative", "w-20", "h-20", "rounded-2xl", "flex", "items-center", "justify-center", "icon-pulse", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-10", "h-10"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"], [1, "absolute", "inset-0", "rounded-2xl", "icon-glow"], [1, "text-3xl", "sm:text-4xl", "font-bold", 3, "ngClass"], [1, "text-base", "sm:text-lg", "max-w-2xl", "mx-auto", 3, "ngClass"], [1, "space-y-4"], [1, "text-center"], [1, "text-lg", "sm:text-xl", "font-medium", "message-fade", 3, "ngClass"], [1, "relative", "h-3", "rounded-full", "overflow
|
|
58045
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContentGenerationProgressComponent, selectors: [["symphiq-content-generation-progress"]], inputs: { itemStatus: [1, "itemStatus"], title: [1, "title"], subtitle: [1, "subtitle"], viewMode: [1, "viewMode"], showIcon: [1, "showIcon"] }, decls: 25, vars: 17, consts: [[1, "min-h-[60vh]", "flex", "items-center", "justify-center", "px-4", "py-12", 3, "ngClass"], [1, "max-w-3xl", "w-full", "space-y-8"], [1, "text-center", "space-y-3"], [1, "flex", "items-center", "justify-center", "mb-4"], [1, "relative", "w-20", "h-20", "rounded-2xl", "flex", "items-center", "justify-center", "icon-pulse", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-10", "h-10"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"], [1, "absolute", "inset-0", "rounded-2xl", "icon-glow"], [1, "text-3xl", "sm:text-4xl", "font-bold", 3, "ngClass"], [1, "text-base", "sm:text-lg", "max-w-2xl", "mx-auto", 3, "ngClass"], [1, "space-y-4"], [1, "text-center"], [1, "text-lg", "sm:text-xl", "font-medium", "message-fade", 3, "ngClass"], [1, "relative", "h-3", "rounded-full", 2, "overflow", "visible", 3, "ngClass"], [1, "absolute", "inset-0", "rounded-full", 3, "ngClass"], [1, "absolute", "inset-y-0", "left-0", "rounded-full", "transition-all", "duration-700", "ease-out", "overflow-hidden", 3, "ngClass"], [1, "absolute", "inset-0", "shimmer-effect"], [1, "absolute", "pointer-events-none", 2, "right", "0", "top", "-4px", "bottom", "-4px", "overflow", "visible", 3, "left"], [1, "absolute", "top-1/2", "-translate-y-1/2", "w-4", "h-4", "rounded-full", "blur-md", "transition-all", "duration-700", "ease-out", 2, "margin-left", "-8px", 3, "ngClass", "left"], [1, "text-sm", "font-medium", "tabular-nums", 3, "ngClass"], [1, "absolute", "pointer-events-none", 2, "right", "0", "top", "-4px", "bottom", "-4px", "overflow", "visible"], [1, "animated-dot", "animated-dot-1"], [1, "animated-dot", "animated-dot-2"], [1, "animated-dot", "animated-dot-3"], [1, "animated-dot", "animated-dot-4"], [1, "animated-dot", "animated-dot-5"], [1, "animated-dot", "animated-dot-6"], [1, "absolute", "top-1/2", "-translate-y-1/2", "w-4", "h-4", "rounded-full", "blur-md", "transition-all", "duration-700", "ease-out", 2, "margin-left", "-8px", 3, "ngClass"]], template: function ContentGenerationProgressComponent_Template(rf, ctx) { if (rf & 1) {
|
|
57945
58046
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4);
|
|
57946
58047
|
i0.ɵɵnamespaceSVG();
|
|
57947
58048
|
i0.ɵɵelementStart(5, "svg", 5);
|
|
@@ -57964,7 +58065,7 @@ class ContentGenerationProgressComponent {
|
|
|
57964
58065
|
i0.ɵɵelementStart(18, "div", 15);
|
|
57965
58066
|
i0.ɵɵelement(19, "div", 16);
|
|
57966
58067
|
i0.ɵɵelementEnd();
|
|
57967
|
-
i0.ɵɵconditionalCreate(20, ContentGenerationProgressComponent_Conditional_20_Template, 7,
|
|
58068
|
+
i0.ɵɵconditionalCreate(20, ContentGenerationProgressComponent_Conditional_20_Template, 7, 14, "div", 17);
|
|
57968
58069
|
i0.ɵɵconditionalCreate(21, ContentGenerationProgressComponent_Conditional_21_Template, 1, 3, "div", 18);
|
|
57969
58070
|
i0.ɵɵelementEnd();
|
|
57970
58071
|
i0.ɵɵelementStart(22, "div", 11)(23, "span", 19);
|
|
@@ -58001,92 +58102,158 @@ class ContentGenerationProgressComponent {
|
|
|
58001
58102
|
i0.ɵɵproperty("ngClass", ctx.percentageClasses());
|
|
58002
58103
|
i0.ɵɵadvance();
|
|
58003
58104
|
i0.ɵɵtextInterpolate1(" ", ctx.progressPercentage(), "% complete ");
|
|
58004
|
-
} }, dependencies: [CommonModule, i1$1.NgClass], styles: ["@keyframes _ngcontent-%COMP%_icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes _ngcontent-%COMP%_icon-glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes _ngcontent-%COMP%_shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes _ngcontent-%COMP%_dots-move{0%{
|
|
58105
|
+
} }, dependencies: [CommonModule, i1$1.NgClass], styles: ["@keyframes _ngcontent-%COMP%_icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes _ngcontent-%COMP%_icon-glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes _ngcontent-%COMP%_shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes _ngcontent-%COMP%_dots-move{0%{left:0%;opacity:0}3%{left:3%;opacity:1}97%{left:97%;opacity:1}to{left:100%;opacity:0}}@keyframes _ngcontent-%COMP%_dots-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}@keyframes _ngcontent-%COMP%_message-fade{0%,to{opacity:1}50%{opacity:.7}}.icon-pulse[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_icon-pulse 2s ease-in-out infinite}.icon-glow[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_icon-glow-pulse 2s ease-in-out infinite}.shimmer-effect[_ngcontent-%COMP%]{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:_ngcontent-%COMP%_shimmer 2s ease-in-out infinite}.message-fade[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_message-fade 3s ease-in-out infinite}.animated-dot[_ngcontent-%COMP%]{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;margin-top:-6px;margin-left:-6px;animation:_ngcontent-%COMP%_dots-move 6s linear infinite,_ngcontent-%COMP%_dots-pulse 2s ease-in-out infinite;will-change:left,transform,opacity;z-index:20;box-shadow:0 0 8px currentColor,0 0 16px currentColor}.animated-dot-1[_ngcontent-%COMP%]{animation-delay:0s,0s}.animated-dot-2[_ngcontent-%COMP%]{animation-delay:1s,0s}.animated-dot-3[_ngcontent-%COMP%]{animation-delay:2s,0s}.animated-dot-4[_ngcontent-%COMP%]{animation-delay:3s,0s}.animated-dot-5[_ngcontent-%COMP%]{animation-delay:4s,0s}.animated-dot-6[_ngcontent-%COMP%]{animation-delay:5s,0s}"], changeDetection: 0 }); }
|
|
58005
58106
|
}
|
|
58006
58107
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContentGenerationProgressComponent, [{
|
|
58007
58108
|
type: Component,
|
|
58008
|
-
args: [{ selector: 'symphiq-content-generation-progress', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
58009
|
-
<div [ngClass]="containerClasses()" class="min-h-[60vh] flex items-center justify-center px-4 py-12">
|
|
58010
|
-
<div class="max-w-3xl w-full space-y-8">
|
|
58011
|
-
<!-- Title Section -->
|
|
58012
|
-
<div class="text-center space-y-3">
|
|
58013
|
-
<div class="flex items-center justify-center mb-4">
|
|
58014
|
-
<div [ngClass]="iconContainerClasses()" class="relative w-20 h-20 rounded-2xl flex items-center justify-center icon-pulse">
|
|
58015
|
-
<svg class="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
58016
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
|
|
58017
|
-
</svg>
|
|
58018
|
-
<div class="absolute inset-0 rounded-2xl icon-glow"></div>
|
|
58019
|
-
</div>
|
|
58020
|
-
</div>
|
|
58021
|
-
|
|
58022
|
-
<h2 [ngClass]="titleClasses()" class="text-3xl sm:text-4xl font-bold">
|
|
58023
|
-
{{ title() }}
|
|
58024
|
-
</h2>
|
|
58025
|
-
|
|
58026
|
-
<p [ngClass]="subtitleClasses()" class="text-base sm:text-lg max-w-2xl mx-auto">
|
|
58027
|
-
{{ subtitle() }}
|
|
58028
|
-
</p>
|
|
58029
|
-
</div>
|
|
58030
|
-
|
|
58031
|
-
<!-- Progress Section -->
|
|
58032
|
-
<div class="space-y-4">
|
|
58033
|
-
<!-- Progress Message -->
|
|
58034
|
-
<div class="text-center">
|
|
58035
|
-
<p [ngClass]="progressMessageClasses()" class="text-lg sm:text-xl font-medium message-fade">
|
|
58036
|
-
{{ progressMessage() }}
|
|
58037
|
-
</p>
|
|
58038
|
-
</div>
|
|
58039
|
-
|
|
58040
|
-
<!-- Progress Bar Container -->
|
|
58041
|
-
<div [ngClass]="progressBarContainerClasses()" class="relative h-3 rounded-full overflow
|
|
58042
|
-
<!-- Background Track -->
|
|
58043
|
-
<div [ngClass]="progressBarBackgroundClasses()" class="absolute inset-0 rounded-full"></div>
|
|
58044
|
-
|
|
58045
|
-
<!-- Solid Fill with Gradient -->
|
|
58046
|
-
<div
|
|
58047
|
-
[ngClass]="progressBarFillClasses()"
|
|
58048
|
-
[style.width.%]="progressPercentage()"
|
|
58049
|
-
class="absolute inset-y-0 left-0 rounded-full transition-all duration-700 ease-out overflow-hidden">
|
|
58050
|
-
<!-- Inner shimmer effect -->
|
|
58051
|
-
<div class="absolute inset-0 shimmer-effect"></div>
|
|
58052
|
-
</div>
|
|
58053
|
-
|
|
58054
|
-
<!-- Animated Dots Overlay (
|
|
58055
|
-
@if (progressPercentage() > 0 && progressPercentage() < 100) {
|
|
58056
|
-
<div
|
|
58057
|
-
|
|
58058
|
-
|
|
58059
|
-
|
|
58060
|
-
|
|
58061
|
-
|
|
58062
|
-
|
|
58063
|
-
|
|
58064
|
-
|
|
58065
|
-
|
|
58066
|
-
|
|
58067
|
-
|
|
58068
|
-
|
|
58069
|
-
|
|
58070
|
-
|
|
58071
|
-
|
|
58072
|
-
|
|
58073
|
-
style="
|
|
58074
|
-
|
|
58075
|
-
|
|
58076
|
-
|
|
58077
|
-
|
|
58078
|
-
|
|
58079
|
-
|
|
58080
|
-
|
|
58081
|
-
|
|
58082
|
-
|
|
58083
|
-
|
|
58084
|
-
|
|
58085
|
-
|
|
58086
|
-
|
|
58087
|
-
|
|
58109
|
+
args: [{ selector: 'symphiq-content-generation-progress', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
58110
|
+
<div [ngClass]="containerClasses()" class="min-h-[60vh] flex items-center justify-center px-4 py-12">
|
|
58111
|
+
<div class="max-w-3xl w-full space-y-8">
|
|
58112
|
+
<!-- Title Section -->
|
|
58113
|
+
<div class="text-center space-y-3">
|
|
58114
|
+
<div class="flex items-center justify-center mb-4">
|
|
58115
|
+
<div [ngClass]="iconContainerClasses()" class="relative w-20 h-20 rounded-2xl flex items-center justify-center icon-pulse">
|
|
58116
|
+
<svg class="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
58117
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
|
|
58118
|
+
</svg>
|
|
58119
|
+
<div class="absolute inset-0 rounded-2xl icon-glow"></div>
|
|
58120
|
+
</div>
|
|
58121
|
+
</div>
|
|
58122
|
+
|
|
58123
|
+
<h2 [ngClass]="titleClasses()" class="text-3xl sm:text-4xl font-bold">
|
|
58124
|
+
{{ title() }}
|
|
58125
|
+
</h2>
|
|
58126
|
+
|
|
58127
|
+
<p [ngClass]="subtitleClasses()" class="text-base sm:text-lg max-w-2xl mx-auto">
|
|
58128
|
+
{{ subtitle() }}
|
|
58129
|
+
</p>
|
|
58130
|
+
</div>
|
|
58131
|
+
|
|
58132
|
+
<!-- Progress Section -->
|
|
58133
|
+
<div class="space-y-4">
|
|
58134
|
+
<!-- Progress Message -->
|
|
58135
|
+
<div class="text-center">
|
|
58136
|
+
<p [ngClass]="progressMessageClasses()" class="text-lg sm:text-xl font-medium message-fade">
|
|
58137
|
+
{{ progressMessage() }}
|
|
58138
|
+
</p>
|
|
58139
|
+
</div>
|
|
58140
|
+
|
|
58141
|
+
<!-- Progress Bar Container -->
|
|
58142
|
+
<div [ngClass]="progressBarContainerClasses()" class="relative h-3 rounded-full" style="overflow: visible;">
|
|
58143
|
+
<!-- Background Track -->
|
|
58144
|
+
<div [ngClass]="progressBarBackgroundClasses()" class="absolute inset-0 rounded-full"></div>
|
|
58145
|
+
|
|
58146
|
+
<!-- Solid Fill with Gradient -->
|
|
58147
|
+
<div
|
|
58148
|
+
[ngClass]="progressBarFillClasses()"
|
|
58149
|
+
[style.width.%]="progressPercentage()"
|
|
58150
|
+
class="absolute inset-y-0 left-0 rounded-full transition-all duration-700 ease-out overflow-hidden">
|
|
58151
|
+
<!-- Inner shimmer effect -->
|
|
58152
|
+
<div class="absolute inset-0 shimmer-effect"></div>
|
|
58153
|
+
</div>
|
|
58154
|
+
|
|
58155
|
+
<!-- Animated Dots Overlay (container positioned at progress edge, dots animate within) -->
|
|
58156
|
+
@if (progressPercentage() > 0 && progressPercentage() < 100) {
|
|
58157
|
+
<div
|
|
58158
|
+
class="absolute pointer-events-none"
|
|
58159
|
+
[style.left.%]="progressPercentage()"
|
|
58160
|
+
style="right: 0; top: -4px; bottom: -4px; overflow: visible;">
|
|
58161
|
+
<div class="animated-dot animated-dot-1" [style.background-color]="dotColor()"></div>
|
|
58162
|
+
<div class="animated-dot animated-dot-2" [style.background-color]="dotColor()"></div>
|
|
58163
|
+
<div class="animated-dot animated-dot-3" [style.background-color]="dotColor()"></div>
|
|
58164
|
+
<div class="animated-dot animated-dot-4" [style.background-color]="dotColor()"></div>
|
|
58165
|
+
<div class="animated-dot animated-dot-5" [style.background-color]="dotColor()"></div>
|
|
58166
|
+
<div class="animated-dot animated-dot-6" [style.background-color]="dotColor()"></div>
|
|
58167
|
+
</div>
|
|
58168
|
+
}
|
|
58169
|
+
|
|
58170
|
+
<!-- Glow effect at the progress edge -->
|
|
58171
|
+
@if (progressPercentage() > 0 && progressPercentage() < 100) {
|
|
58172
|
+
<div
|
|
58173
|
+
[ngClass]="progressGlowClasses()"
|
|
58174
|
+
[style.left.%]="progressPercentage()"
|
|
58175
|
+
class="absolute top-1/2 -translate-y-1/2 w-4 h-4 rounded-full blur-md transition-all duration-700 ease-out"
|
|
58176
|
+
style="margin-left: -8px;">
|
|
58177
|
+
</div>
|
|
58178
|
+
}
|
|
58179
|
+
</div>
|
|
58180
|
+
|
|
58181
|
+
<!-- Progress Percentage -->
|
|
58182
|
+
<div class="text-center">
|
|
58183
|
+
<span [ngClass]="percentageClasses()" class="text-sm font-medium tabular-nums">
|
|
58184
|
+
{{ progressPercentage() }}% complete
|
|
58185
|
+
</span>
|
|
58186
|
+
</div>
|
|
58187
|
+
</div>
|
|
58188
|
+
</div>
|
|
58189
|
+
</div>
|
|
58190
|
+
`, styles: ["@keyframes icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes icon-glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes dots-move{0%{left:0%;opacity:0}3%{left:3%;opacity:1}97%{left:97%;opacity:1}to{left:100%;opacity:0}}@keyframes dots-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}@keyframes message-fade{0%,to{opacity:1}50%{opacity:.7}}.icon-pulse{animation:icon-pulse 2s ease-in-out infinite}.icon-glow{animation:icon-glow-pulse 2s ease-in-out infinite}.shimmer-effect{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s ease-in-out infinite}.message-fade{animation:message-fade 3s ease-in-out infinite}.animated-dot{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;margin-top:-6px;margin-left:-6px;animation:dots-move 6s linear infinite,dots-pulse 2s ease-in-out infinite;will-change:left,transform,opacity;z-index:20;box-shadow:0 0 8px currentColor,0 0 16px currentColor}.animated-dot-1{animation-delay:0s,0s}.animated-dot-2{animation-delay:1s,0s}.animated-dot-3{animation-delay:2s,0s}.animated-dot-4{animation-delay:3s,0s}.animated-dot-5{animation-delay:4s,0s}.animated-dot-6{animation-delay:5s,0s}\n"] }]
|
|
58088
58191
|
}], null, { itemStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatus", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], showIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIcon", required: false }] }] }); })();
|
|
58089
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContentGenerationProgressComponent, { className: "ContentGenerationProgressComponent", filePath: "lib/components/shared/content-generation-progress.component.ts", lineNumber:
|
|
58192
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContentGenerationProgressComponent, { className: "ContentGenerationProgressComponent", filePath: "lib/components/shared/content-generation-progress.component.ts", lineNumber: 222 }); })();
|
|
58193
|
+
|
|
58194
|
+
class ContentGenerationProgressWithConfettiComponent {
|
|
58195
|
+
constructor() {
|
|
58196
|
+
this.itemStatus = input(...(ngDevMode ? [undefined, { debugName: "itemStatus" }] : []));
|
|
58197
|
+
this.title = input('Generating Your Analysis', ...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
58198
|
+
this.subtitle = input('This will appear when ready. You can check back later as this will take a few minutes to complete.', ...(ngDevMode ? [{ debugName: "subtitle" }] : []));
|
|
58199
|
+
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
58200
|
+
this.showIcon = input(true, ...(ngDevMode ? [{ debugName: "showIcon" }] : []));
|
|
58201
|
+
this.profile = input(...(ngDevMode ? [undefined, { debugName: "profile" }] : []));
|
|
58202
|
+
this.confettiIntensity = input('normal', ...(ngDevMode ? [{ debugName: "confettiIntensity" }] : []));
|
|
58203
|
+
this.enableConfetti = input(true, ...(ngDevMode ? [{ debugName: "enableConfetti" }] : []));
|
|
58204
|
+
this.confettiDelay = input(200, ...(ngDevMode ? [{ debugName: "confettiDelay" }] : []));
|
|
58205
|
+
this.confettiService = inject(ConfettiService);
|
|
58206
|
+
this.hasCelebrated = signal(false, ...(ngDevMode ? [{ debugName: "hasCelebrated" }] : []));
|
|
58207
|
+
effect(() => {
|
|
58208
|
+
const currentProfile = this.profile();
|
|
58209
|
+
const currentStatus = currentProfile?.selfContentStatus;
|
|
58210
|
+
if (!this.enableConfetti()) {
|
|
58211
|
+
return;
|
|
58212
|
+
}
|
|
58213
|
+
if (currentStatus === AiDynamicContentStatusEnum.GENERATED && !this.hasCelebrated()) {
|
|
58214
|
+
untracked(() => {
|
|
58215
|
+
this.confettiService.trigger({
|
|
58216
|
+
intensity: this.confettiIntensity(),
|
|
58217
|
+
delay: this.confettiDelay(),
|
|
58218
|
+
viewMode: this.viewMode(),
|
|
58219
|
+
});
|
|
58220
|
+
this.hasCelebrated.set(true);
|
|
58221
|
+
});
|
|
58222
|
+
}
|
|
58223
|
+
if (currentStatus === AiDynamicContentStatusEnum.REQUESTED ||
|
|
58224
|
+
currentStatus === AiDynamicContentStatusEnum.GENERATING) {
|
|
58225
|
+
untracked(() => {
|
|
58226
|
+
this.hasCelebrated.set(false);
|
|
58227
|
+
});
|
|
58228
|
+
}
|
|
58229
|
+
});
|
|
58230
|
+
}
|
|
58231
|
+
static { this.ɵfac = function ContentGenerationProgressWithConfettiComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ContentGenerationProgressWithConfettiComponent)(); }; }
|
|
58232
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContentGenerationProgressWithConfettiComponent, selectors: [["symphiq-content-generation-progress-with-confetti"]], inputs: { itemStatus: [1, "itemStatus"], title: [1, "title"], subtitle: [1, "subtitle"], viewMode: [1, "viewMode"], showIcon: [1, "showIcon"], profile: [1, "profile"], confettiIntensity: [1, "confettiIntensity"], enableConfetti: [1, "enableConfetti"], confettiDelay: [1, "confettiDelay"] }, decls: 1, vars: 5, consts: [[3, "itemStatus", "title", "subtitle", "viewMode", "showIcon"]], template: function ContentGenerationProgressWithConfettiComponent_Template(rf, ctx) { if (rf & 1) {
|
|
58233
|
+
i0.ɵɵelement(0, "symphiq-content-generation-progress", 0);
|
|
58234
|
+
} if (rf & 2) {
|
|
58235
|
+
i0.ɵɵproperty("itemStatus", ctx.itemStatus())("title", ctx.title())("subtitle", ctx.subtitle())("viewMode", ctx.viewMode())("showIcon", ctx.showIcon());
|
|
58236
|
+
} }, dependencies: [ContentGenerationProgressComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
58237
|
+
}
|
|
58238
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContentGenerationProgressWithConfettiComponent, [{
|
|
58239
|
+
type: Component,
|
|
58240
|
+
args: [{
|
|
58241
|
+
selector: 'symphiq-content-generation-progress-with-confetti',
|
|
58242
|
+
standalone: true,
|
|
58243
|
+
imports: [ContentGenerationProgressComponent],
|
|
58244
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
58245
|
+
template: `
|
|
58246
|
+
<symphiq-content-generation-progress
|
|
58247
|
+
[itemStatus]="itemStatus()"
|
|
58248
|
+
[title]="title()"
|
|
58249
|
+
[subtitle]="subtitle()"
|
|
58250
|
+
[viewMode]="viewMode()"
|
|
58251
|
+
[showIcon]="showIcon()"
|
|
58252
|
+
/>
|
|
58253
|
+
`
|
|
58254
|
+
}]
|
|
58255
|
+
}], () => [], { itemStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatus", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], showIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIcon", required: false }] }], profile: [{ type: i0.Input, args: [{ isSignal: true, alias: "profile", required: false }] }], confettiIntensity: [{ type: i0.Input, args: [{ isSignal: true, alias: "confettiIntensity", required: false }] }], enableConfetti: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableConfetti", required: false }] }], confettiDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "confettiDelay", required: false }] }] }); })();
|
|
58256
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContentGenerationProgressWithConfettiComponent, { className: "ContentGenerationProgressWithConfettiComponent", filePath: "lib/components/shared/content-generation-progress-with-confetti.component.ts", lineNumber: 29 }); })();
|
|
58090
58257
|
|
|
58091
58258
|
const _c0$n = () => [];
|
|
58092
58259
|
function SymphiqBusinessAnalysisDashboardComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -58174,13 +58341,13 @@ function SymphiqBusinessAnalysisDashboardComponent_Conditional_25_Conditional_0_
|
|
|
58174
58341
|
} }
|
|
58175
58342
|
function SymphiqBusinessAnalysisDashboardComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
58176
58343
|
i0.ɵɵconditionalCreate(0, SymphiqBusinessAnalysisDashboardComponent_Conditional_25_Conditional_0_Template, 1, 5, "symphiq-journey-progress-indicator", 27);
|
|
58177
|
-
i0.ɵɵelement(1, "symphiq-content-generation-progress", 28);
|
|
58344
|
+
i0.ɵɵelement(1, "symphiq-content-generation-progress-with-confetti", 28);
|
|
58178
58345
|
} if (rf & 2) {
|
|
58179
|
-
let
|
|
58346
|
+
let tmp_6_0;
|
|
58180
58347
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
58181
58348
|
i0.ɵɵconditional(!ctx_r1.isOnboarded() ? 0 : -1);
|
|
58182
58349
|
i0.ɵɵadvance();
|
|
58183
|
-
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("itemStatus", ctx_r1.itemStatus())("title", "We are generating a new Business Analysis for " + (((
|
|
58350
|
+
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("itemStatus", ctx_r1.itemStatus())("profile", ctx_r1.profile())("confettiIntensity", "celebration")("title", "We are generating a new Business Analysis for " + (((tmp_6_0 = ctx_r1.currentProfile()) == null ? null : tmp_6_0.profileStructured == null ? null : tmp_6_0.profileStructured.businessName) || "your business") + ".")("subtitle", "It will appear here when ready. You can check back later as this will take a few minutes to complete.");
|
|
58184
58351
|
} }
|
|
58185
58352
|
function SymphiqBusinessAnalysisDashboardComponent_Conditional_26_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
58186
58353
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
@@ -58760,7 +58927,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
58760
58927
|
static { this.ɵfac = function SymphiqBusinessAnalysisDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqBusinessAnalysisDashboardComponent)(); }; }
|
|
58761
58928
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqBusinessAnalysisDashboardComponent, selectors: [["symphiq-business-analysis-dashboard"]], hostBindings: function SymphiqBusinessAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
58762
58929
|
i0.ɵɵlistener("scroll", function SymphiqBusinessAnalysisDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow)("keydown", function SymphiqBusinessAnalysisDashboardComponent_keydown_HostBindingHandler($event) { return ctx.handleKeyDown($event); }, i0.ɵɵresolveDocument);
|
|
58763
|
-
} }, inputs: { embedded: [1, "embedded"], profile: [1, "profile"], parentHeaderOffset: [1, "parentHeaderOffset"], requestedByUser: [1, "requestedByUser"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 35, vars: 59, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-2"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [1, "flex", "items-center", "gap-4"], [1, "flex", "items-center", "gap-2", "text-sm", "flex-shrink-0"], [1, "relative"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "viewMode", "embedded"], [3, "viewInContextRequested", "isLightMode"], [3, "searchChange", "resultSelected", "close", "isLightMode", "isOpen", "searchQuery", "results", "hasResults", "selectedIndex", "placeholder"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode", "isLoading"], [3, "searchClick", "isLightMode"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-3", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M15 12a3 3 0 11-6 0 3 3 0 016 0z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"], [1, "transition-opacity", "duration-300", 3, "ngClass"], [3, "searchClick", "isLightMode", "minimized"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-2", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "itemStatus", "title", "subtitle"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "mb-8"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMoreClick", "recommendations", "viewMode"], [3, "sections", "viewMode"], [3, "section", "viewMode", "forceExpanded"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8"], [3, "viewMode", "subsections"]], template: function SymphiqBusinessAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
58930
|
+
} }, inputs: { embedded: [1, "embedded"], profile: [1, "profile"], parentHeaderOffset: [1, "parentHeaderOffset"], requestedByUser: [1, "requestedByUser"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 35, vars: 59, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-2"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [1, "flex", "items-center", "gap-4"], [1, "flex", "items-center", "gap-2", "text-sm", "flex-shrink-0"], [1, "relative"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "viewMode", "embedded"], [3, "viewInContextRequested", "isLightMode"], [3, "searchChange", "resultSelected", "close", "isLightMode", "isOpen", "searchQuery", "results", "hasResults", "selectedIndex", "placeholder"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode", "isLoading"], [3, "searchClick", "isLightMode"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-3", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M15 12a3 3 0 11-6 0 3 3 0 016 0z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"], [1, "transition-opacity", "duration-300", 3, "ngClass"], [3, "searchClick", "isLightMode", "minimized"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-2", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "itemStatus", "profile", "confettiIntensity", "title", "subtitle"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "mb-8"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMoreClick", "recommendations", "viewMode"], [3, "sections", "viewMode"], [3, "section", "viewMode", "forceExpanded"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8"], [3, "viewMode", "subsections"]], template: function SymphiqBusinessAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
58764
58931
|
i0.ɵɵelementStart(0, "div", 0)(1, "div");
|
|
58765
58932
|
i0.ɵɵelement(2, "div", 1);
|
|
58766
58933
|
i0.ɵɵelementEnd();
|
|
@@ -58781,7 +58948,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
58781
58948
|
i0.ɵɵconditionalCreate(23, SymphiqBusinessAnalysisDashboardComponent_Conditional_23_Template, 5, 3);
|
|
58782
58949
|
i0.ɵɵelementEnd()()()()();
|
|
58783
58950
|
i0.ɵɵelementStart(24, "main", 13);
|
|
58784
|
-
i0.ɵɵconditionalCreate(25, SymphiqBusinessAnalysisDashboardComponent_Conditional_25_Template, 2,
|
|
58951
|
+
i0.ɵɵconditionalCreate(25, SymphiqBusinessAnalysisDashboardComponent_Conditional_25_Template, 2, 7)(26, SymphiqBusinessAnalysisDashboardComponent_Conditional_26_Template, 2, 1);
|
|
58785
58952
|
i0.ɵɵelementEnd();
|
|
58786
58953
|
i0.ɵɵconditionalCreate(27, SymphiqBusinessAnalysisDashboardComponent_Conditional_27_Template, 1, 4, "symphiq-section-navigation", 14);
|
|
58787
58954
|
i0.ɵɵconditionalCreate(28, SymphiqBusinessAnalysisDashboardComponent_Conditional_28_Template, 1, 4, "symphiq-floating-toc", 14);
|
|
@@ -58853,259 +59020,261 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
58853
59020
|
i0.ɵɵproperty("isLightMode", ctx.isLightMode())("isOpen", ctx.searchService.isSearchOpen())("searchQuery", ctx.searchService.getSearchQuery())("results", ctx.searchService.searchResults())("hasResults", ctx.searchService.hasResults())("selectedIndex", ctx.selectedSearchIndex())("placeholder", "Search sections, items, and analysis...");
|
|
58854
59021
|
i0.ɵɵadvance();
|
|
58855
59022
|
i0.ɵɵproperty("isOpen", ctx.isViewModeSwitcherOpen())("currentMode", ctx.displayMode())("viewMode", ctx.viewMode())("isLoading", ctx.isViewModeSwitching());
|
|
58856
|
-
} }, dependencies: [CommonModule, i1$1.NgClass, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent,
|
|
59023
|
+
} }, dependencies: [CommonModule, i1$1.NgClass, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent, ContentGenerationProgressWithConfettiComponent], styles: ["[_nghost-%COMP%]{display:block}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_pulse-highlight{0%,to{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.02);box-shadow:0 0 20px 8px #3b82f64d}}[_nghost-%COMP%] .search-highlight-pulse{animation:_ngcontent-%COMP%_pulse-highlight 2s ease-in-out;border-color:#3b82f6!important}"], changeDetection: 0 }); }
|
|
58857
59024
|
}
|
|
58858
59025
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqBusinessAnalysisDashboardComponent, [{
|
|
58859
59026
|
type: Component,
|
|
58860
|
-
args: [{ selector: 'symphiq-business-analysis-dashboard', standalone: true, imports: [CommonModule, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent,
|
|
58861
|
-
<div [ngClass]="getContainerClasses()">
|
|
58862
|
-
<!-- Scroll Progress Bar (fixed at top) -->
|
|
58863
|
-
<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'">
|
|
58864
|
-
<div
|
|
58865
|
-
[style.width.%]="scrollProgress()"
|
|
58866
|
-
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
58867
|
-
class="h-full transition-all duration-200 ease-out">
|
|
58868
|
-
</div>
|
|
58869
|
-
</div>
|
|
58870
|
-
|
|
58871
|
-
<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>
|
|
58872
|
-
|
|
58873
|
-
<div class="relative z-[51]">
|
|
58874
|
-
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
58875
|
-
<!-- Expanded Header (default state) -->
|
|
58876
|
-
<div
|
|
58877
|
-
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
58878
|
-
[class.max-h-0]="headerScrollService.isScrolled()"
|
|
58879
|
-
[class.opacity-0]="headerScrollService.isScrolled()"
|
|
58880
|
-
[class.max-h-96]="!headerScrollService.isScrolled()"
|
|
58881
|
-
[class.opacity-100]="!headerScrollService.isScrolled()">
|
|
58882
|
-
<div
|
|
58883
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
58884
|
-
[class.pointer-events-none]="headerScrollService.isScrolled()"
|
|
58885
|
-
[class.pointer-events-auto]="!headerScrollService.isScrolled()">
|
|
58886
|
-
<div class="flex items-center justify-between">
|
|
58887
|
-
<div>
|
|
58888
|
-
<h1 [ngClass]="getMainTitleClasses()">
|
|
58889
|
-
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
58890
|
-
</h1>
|
|
58891
|
-
<p [ngClass]="getSubtitleClasses()">
|
|
58892
|
-
Business Profile & Analysis
|
|
58893
|
-
</p>
|
|
58894
|
-
</div>
|
|
58895
|
-
@if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
|
|
58896
|
-
<div class="flex items-center gap-2">
|
|
58897
|
-
<symphiq-search-button
|
|
58898
|
-
[isLightMode]="isLightMode()"
|
|
58899
|
-
(searchClick)="openSearch()"
|
|
58900
|
-
/>
|
|
58901
|
-
<button
|
|
58902
|
-
type="button"
|
|
58903
|
-
(click)="openViewModeSwitcher()"
|
|
58904
|
-
[ngClass]="getViewModeButtonClasses()"
|
|
58905
|
-
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">
|
|
58906
|
-
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
58907
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
58908
|
-
<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>
|
|
58909
|
-
</svg>
|
|
58910
|
-
<span>{{ displayModeLabel() }}</span>
|
|
58911
|
-
</button>
|
|
58912
|
-
</div>
|
|
58913
|
-
}
|
|
58914
|
-
</div>
|
|
58915
|
-
</div>
|
|
58916
|
-
</div>
|
|
58917
|
-
|
|
58918
|
-
<!-- Condensed Header (scrolled state) -->
|
|
58919
|
-
<div
|
|
58920
|
-
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
58921
|
-
[class.max-h-0]="!headerScrollService.isScrolled()"
|
|
58922
|
-
[class.opacity-0]="!headerScrollService.isScrolled()"
|
|
58923
|
-
[class.max-h-20]="headerScrollService.isScrolled()"
|
|
58924
|
-
[class.opacity-100]="headerScrollService.isScrolled()">
|
|
58925
|
-
<div
|
|
58926
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
58927
|
-
[class.pointer-events-none]="!headerScrollService.isScrolled()"
|
|
58928
|
-
[class.pointer-events-auto]="headerScrollService.isScrolled()">
|
|
58929
|
-
<div class="flex items-center justify-between">
|
|
58930
|
-
<div class="flex-1 min-w-0 mr-4">
|
|
58931
|
-
<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'">
|
|
58932
|
-
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
58933
|
-
</h1>
|
|
58934
|
-
</div>
|
|
58935
|
-
<div class="flex items-center gap-4">
|
|
58936
|
-
@if (!isSimplifiedView()) {
|
|
58937
|
-
<div class="flex items-center gap-2 text-sm flex-shrink-0">
|
|
58938
|
-
<span [ngClass]="isLightMode() ? 'text-slate-600 font-medium' : 'text-slate-400 font-medium'" class="transition-opacity duration-300" [class.opacity-0]="sectionTitleFading()" [class.opacity-100]="!sectionTitleFading()">
|
|
58939
|
-
{{ currentSectionTitle() }}
|
|
58940
|
-
</span>
|
|
58941
|
-
@if (currentSubsectionTitle()) {
|
|
58942
|
-
<span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">›</span>
|
|
58943
|
-
<span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">
|
|
58944
|
-
{{ currentSubsectionTitle() }}
|
|
58945
|
-
</span>
|
|
58946
|
-
}
|
|
58947
|
-
</div>
|
|
58948
|
-
}
|
|
58949
|
-
@if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
|
|
58950
|
-
<symphiq-search-button
|
|
58951
|
-
[isLightMode]="isLightMode()"
|
|
58952
|
-
[minimized]="true"
|
|
58953
|
-
(searchClick)="openSearch()"
|
|
58954
|
-
/>
|
|
58955
|
-
<button
|
|
58956
|
-
type="button"
|
|
58957
|
-
(click)="openViewModeSwitcher()"
|
|
58958
|
-
[ngClass]="getViewModeButtonClasses()"
|
|
58959
|
-
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">
|
|
58960
|
-
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
58961
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
58962
|
-
<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>
|
|
58963
|
-
</svg>
|
|
58964
|
-
</button>
|
|
58965
|
-
}
|
|
58966
|
-
</div>
|
|
58967
|
-
</div>
|
|
58968
|
-
</div>
|
|
58969
|
-
</div>
|
|
58970
|
-
</header>
|
|
58971
|
-
|
|
58972
|
-
<main class="relative">
|
|
58973
|
-
@if (isContentGenerating()) {
|
|
58974
|
-
<!-- Journey Progress Banner (always show when not onboarded) -->
|
|
58975
|
-
@if (!isOnboarded()) {
|
|
58976
|
-
<symphiq-journey-progress-indicator
|
|
58977
|
-
[viewMode]="viewMode()"
|
|
58978
|
-
[currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
|
|
58979
|
-
[showNextStepAction]="false"
|
|
58980
|
-
[forDemo]="forDemo()"
|
|
58981
|
-
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
58982
|
-
(stepClick)="stepClick.emit($event)"
|
|
58983
|
-
(nextStepClick)="nextStepClick.emit()"
|
|
58984
|
-
/>
|
|
58985
|
-
}
|
|
58986
|
-
|
|
58987
|
-
<!-- Content Generation Progress Component -->
|
|
58988
|
-
<symphiq-content-generation-progress
|
|
58989
|
-
[viewMode]="viewMode()"
|
|
58990
|
-
[itemStatus]="itemStatus()"
|
|
58991
|
-
[
|
|
58992
|
-
[
|
|
58993
|
-
|
|
58994
|
-
|
|
58995
|
-
|
|
58996
|
-
|
|
58997
|
-
|
|
58998
|
-
|
|
58999
|
-
|
|
59000
|
-
|
|
59001
|
-
[
|
|
59002
|
-
[
|
|
59003
|
-
[
|
|
59004
|
-
|
|
59005
|
-
|
|
59006
|
-
|
|
59007
|
-
|
|
59008
|
-
|
|
59009
|
-
|
|
59010
|
-
|
|
59011
|
-
|
|
59012
|
-
|
|
59013
|
-
|
|
59014
|
-
[
|
|
59015
|
-
|
|
59016
|
-
|
|
59017
|
-
|
|
59018
|
-
|
|
59019
|
-
|
|
59020
|
-
|
|
59021
|
-
|
|
59022
|
-
|
|
59023
|
-
|
|
59024
|
-
|
|
59025
|
-
|
|
59026
|
-
|
|
59027
|
-
|
|
59028
|
-
|
|
59029
|
-
|
|
59030
|
-
|
|
59031
|
-
|
|
59032
|
-
|
|
59033
|
-
|
|
59034
|
-
|
|
59035
|
-
|
|
59036
|
-
|
|
59037
|
-
|
|
59038
|
-
[
|
|
59039
|
-
|
|
59040
|
-
|
|
59041
|
-
|
|
59042
|
-
|
|
59043
|
-
|
|
59044
|
-
|
|
59045
|
-
|
|
59046
|
-
|
|
59047
|
-
|
|
59048
|
-
|
|
59049
|
-
|
|
59050
|
-
|
|
59051
|
-
|
|
59052
|
-
|
|
59053
|
-
|
|
59054
|
-
|
|
59055
|
-
|
|
59056
|
-
[
|
|
59057
|
-
[
|
|
59058
|
-
|
|
59059
|
-
|
|
59060
|
-
|
|
59061
|
-
|
|
59062
|
-
|
|
59063
|
-
|
|
59064
|
-
|
|
59065
|
-
[
|
|
59066
|
-
[
|
|
59067
|
-
|
|
59068
|
-
|
|
59069
|
-
|
|
59070
|
-
|
|
59071
|
-
|
|
59072
|
-
|
|
59073
|
-
|
|
59074
|
-
|
|
59075
|
-
|
|
59076
|
-
|
|
59077
|
-
|
|
59078
|
-
|
|
59079
|
-
|
|
59080
|
-
|
|
59081
|
-
|
|
59082
|
-
|
|
59083
|
-
|
|
59084
|
-
|
|
59085
|
-
|
|
59086
|
-
|
|
59087
|
-
|
|
59088
|
-
|
|
59089
|
-
|
|
59090
|
-
[
|
|
59091
|
-
[
|
|
59092
|
-
[
|
|
59093
|
-
[
|
|
59094
|
-
[
|
|
59095
|
-
|
|
59096
|
-
|
|
59097
|
-
(
|
|
59098
|
-
|
|
59099
|
-
|
|
59100
|
-
|
|
59101
|
-
|
|
59102
|
-
|
|
59103
|
-
[
|
|
59104
|
-
[
|
|
59105
|
-
|
|
59106
|
-
|
|
59107
|
-
|
|
59108
|
-
|
|
59027
|
+
args: [{ selector: 'symphiq-business-analysis-dashboard', standalone: true, imports: [CommonModule, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent, ContentGenerationProgressWithConfettiComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
59028
|
+
<div [ngClass]="getContainerClasses()">
|
|
59029
|
+
<!-- Scroll Progress Bar (fixed at top) -->
|
|
59030
|
+
<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'">
|
|
59031
|
+
<div
|
|
59032
|
+
[style.width.%]="scrollProgress()"
|
|
59033
|
+
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
59034
|
+
class="h-full transition-all duration-200 ease-out">
|
|
59035
|
+
</div>
|
|
59036
|
+
</div>
|
|
59037
|
+
|
|
59038
|
+
<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>
|
|
59039
|
+
|
|
59040
|
+
<div class="relative z-[51]">
|
|
59041
|
+
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
59042
|
+
<!-- Expanded Header (default state) -->
|
|
59043
|
+
<div
|
|
59044
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
59045
|
+
[class.max-h-0]="headerScrollService.isScrolled()"
|
|
59046
|
+
[class.opacity-0]="headerScrollService.isScrolled()"
|
|
59047
|
+
[class.max-h-96]="!headerScrollService.isScrolled()"
|
|
59048
|
+
[class.opacity-100]="!headerScrollService.isScrolled()">
|
|
59049
|
+
<div
|
|
59050
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
59051
|
+
[class.pointer-events-none]="headerScrollService.isScrolled()"
|
|
59052
|
+
[class.pointer-events-auto]="!headerScrollService.isScrolled()">
|
|
59053
|
+
<div class="flex items-center justify-between">
|
|
59054
|
+
<div>
|
|
59055
|
+
<h1 [ngClass]="getMainTitleClasses()">
|
|
59056
|
+
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
59057
|
+
</h1>
|
|
59058
|
+
<p [ngClass]="getSubtitleClasses()">
|
|
59059
|
+
Business Profile & Analysis
|
|
59060
|
+
</p>
|
|
59061
|
+
</div>
|
|
59062
|
+
@if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
|
|
59063
|
+
<div class="flex items-center gap-2">
|
|
59064
|
+
<symphiq-search-button
|
|
59065
|
+
[isLightMode]="isLightMode()"
|
|
59066
|
+
(searchClick)="openSearch()"
|
|
59067
|
+
/>
|
|
59068
|
+
<button
|
|
59069
|
+
type="button"
|
|
59070
|
+
(click)="openViewModeSwitcher()"
|
|
59071
|
+
[ngClass]="getViewModeButtonClasses()"
|
|
59072
|
+
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">
|
|
59073
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
59074
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
59075
|
+
<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>
|
|
59076
|
+
</svg>
|
|
59077
|
+
<span>{{ displayModeLabel() }}</span>
|
|
59078
|
+
</button>
|
|
59079
|
+
</div>
|
|
59080
|
+
}
|
|
59081
|
+
</div>
|
|
59082
|
+
</div>
|
|
59083
|
+
</div>
|
|
59084
|
+
|
|
59085
|
+
<!-- Condensed Header (scrolled state) -->
|
|
59086
|
+
<div
|
|
59087
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
59088
|
+
[class.max-h-0]="!headerScrollService.isScrolled()"
|
|
59089
|
+
[class.opacity-0]="!headerScrollService.isScrolled()"
|
|
59090
|
+
[class.max-h-20]="headerScrollService.isScrolled()"
|
|
59091
|
+
[class.opacity-100]="headerScrollService.isScrolled()">
|
|
59092
|
+
<div
|
|
59093
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
59094
|
+
[class.pointer-events-none]="!headerScrollService.isScrolled()"
|
|
59095
|
+
[class.pointer-events-auto]="headerScrollService.isScrolled()">
|
|
59096
|
+
<div class="flex items-center justify-between">
|
|
59097
|
+
<div class="flex-1 min-w-0 mr-4">
|
|
59098
|
+
<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'">
|
|
59099
|
+
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
59100
|
+
</h1>
|
|
59101
|
+
</div>
|
|
59102
|
+
<div class="flex items-center gap-4">
|
|
59103
|
+
@if (!isSimplifiedView()) {
|
|
59104
|
+
<div class="flex items-center gap-2 text-sm flex-shrink-0">
|
|
59105
|
+
<span [ngClass]="isLightMode() ? 'text-slate-600 font-medium' : 'text-slate-400 font-medium'" class="transition-opacity duration-300" [class.opacity-0]="sectionTitleFading()" [class.opacity-100]="!sectionTitleFading()">
|
|
59106
|
+
{{ currentSectionTitle() }}
|
|
59107
|
+
</span>
|
|
59108
|
+
@if (currentSubsectionTitle()) {
|
|
59109
|
+
<span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">›</span>
|
|
59110
|
+
<span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">
|
|
59111
|
+
{{ currentSubsectionTitle() }}
|
|
59112
|
+
</span>
|
|
59113
|
+
}
|
|
59114
|
+
</div>
|
|
59115
|
+
}
|
|
59116
|
+
@if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
|
|
59117
|
+
<symphiq-search-button
|
|
59118
|
+
[isLightMode]="isLightMode()"
|
|
59119
|
+
[minimized]="true"
|
|
59120
|
+
(searchClick)="openSearch()"
|
|
59121
|
+
/>
|
|
59122
|
+
<button
|
|
59123
|
+
type="button"
|
|
59124
|
+
(click)="openViewModeSwitcher()"
|
|
59125
|
+
[ngClass]="getViewModeButtonClasses()"
|
|
59126
|
+
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">
|
|
59127
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
59128
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
59129
|
+
<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>
|
|
59130
|
+
</svg>
|
|
59131
|
+
</button>
|
|
59132
|
+
}
|
|
59133
|
+
</div>
|
|
59134
|
+
</div>
|
|
59135
|
+
</div>
|
|
59136
|
+
</div>
|
|
59137
|
+
</header>
|
|
59138
|
+
|
|
59139
|
+
<main class="relative">
|
|
59140
|
+
@if (isContentGenerating()) {
|
|
59141
|
+
<!-- Journey Progress Banner (always show when not onboarded) -->
|
|
59142
|
+
@if (!isOnboarded()) {
|
|
59143
|
+
<symphiq-journey-progress-indicator
|
|
59144
|
+
[viewMode]="viewMode()"
|
|
59145
|
+
[currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
|
|
59146
|
+
[showNextStepAction]="false"
|
|
59147
|
+
[forDemo]="forDemo()"
|
|
59148
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
59149
|
+
(stepClick)="stepClick.emit($event)"
|
|
59150
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
59151
|
+
/>
|
|
59152
|
+
}
|
|
59153
|
+
|
|
59154
|
+
<!-- Content Generation Progress Component -->
|
|
59155
|
+
<symphiq-content-generation-progress-with-confetti
|
|
59156
|
+
[viewMode]="viewMode()"
|
|
59157
|
+
[itemStatus]="itemStatus()"
|
|
59158
|
+
[profile]="profile()"
|
|
59159
|
+
[confettiIntensity]="'celebration'"
|
|
59160
|
+
[title]="'We are generating a new Business Analysis for ' + (currentProfile()?.profileStructured?.businessName || 'your business') + '.'"
|
|
59161
|
+
[subtitle]="'It will appear here when ready. You can check back later as this will take a few minutes to complete.'"
|
|
59162
|
+
/>
|
|
59163
|
+
} @else {
|
|
59164
|
+
@if (isSimplifiedView()) {
|
|
59165
|
+
<!-- Journey Progress Banner - Full Width Sticky (only show when not onboarded) -->
|
|
59166
|
+
@if (!isOnboarded()) {
|
|
59167
|
+
<symphiq-journey-progress-indicator
|
|
59168
|
+
[viewMode]="viewMode()"
|
|
59169
|
+
[currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
|
|
59170
|
+
[showNextStepAction]="showNextStepAction()"
|
|
59171
|
+
[forDemo]="forDemo()"
|
|
59172
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
59173
|
+
(stepClick)="stepClick.emit($event)"
|
|
59174
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
59175
|
+
/>
|
|
59176
|
+
}
|
|
59177
|
+
|
|
59178
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
|
59179
|
+
<div class="mb-8">
|
|
59180
|
+
<symphiq-welcome-banner
|
|
59181
|
+
[viewMode]="viewMode()"
|
|
59182
|
+
[businessName]="currentProfile()?.profileStructured?.businessName || 'your business'"
|
|
59183
|
+
[isOnboarded]="isOnboarded()"
|
|
59184
|
+
/>
|
|
59185
|
+
</div>
|
|
59186
|
+
|
|
59187
|
+
<div class="mb-8">
|
|
59188
|
+
<symphiq-recommendations-tiled-grid
|
|
59189
|
+
[recommendations]="recommendationItems()"
|
|
59190
|
+
[viewMode]="viewMode()"
|
|
59191
|
+
(viewMoreClick)="openRecommendationDetailsModal($event)"
|
|
59192
|
+
/>
|
|
59193
|
+
</div>
|
|
59194
|
+
|
|
59195
|
+
<div>
|
|
59196
|
+
<symphiq-collapsible-section-group
|
|
59197
|
+
[sections]="nonRecommendationSections()"
|
|
59198
|
+
[viewMode]="viewMode()"
|
|
59199
|
+
/>
|
|
59200
|
+
</div>
|
|
59201
|
+
</div>
|
|
59202
|
+
} @else {
|
|
59203
|
+
@for (section of sections(); track trackBySectionId($index, section); let idx = $index; let last = $last) {
|
|
59204
|
+
<symphiq-profile-section
|
|
59205
|
+
[section]="section"
|
|
59206
|
+
[viewMode]="viewMode()"
|
|
59207
|
+
[forceExpanded]="!isCompactView()"
|
|
59208
|
+
/>
|
|
59209
|
+
@if (!last) {
|
|
59210
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
59211
|
+
<symphiq-section-divider
|
|
59212
|
+
[viewMode]="viewMode()"
|
|
59213
|
+
[subsections]="sections()[idx + 1].subsections || []" />
|
|
59214
|
+
</div>
|
|
59215
|
+
}
|
|
59216
|
+
}
|
|
59217
|
+
}
|
|
59218
|
+
}
|
|
59219
|
+
</main>
|
|
59220
|
+
|
|
59221
|
+
@if (!isSimplifiedView()) {
|
|
59222
|
+
<symphiq-section-navigation
|
|
59223
|
+
[sections]="sections()"
|
|
59224
|
+
[viewMode]="viewMode()"
|
|
59225
|
+
[embedded]="embedded()"
|
|
59226
|
+
[scrollElement]="scrollElement() ?? undefined"
|
|
59227
|
+
/>
|
|
59228
|
+
}
|
|
59229
|
+
|
|
59230
|
+
@if (!isSimplifiedView()) {
|
|
59231
|
+
<symphiq-floating-toc
|
|
59232
|
+
[sections]="sections()"
|
|
59233
|
+
[viewMode]="viewMode()"
|
|
59234
|
+
[embedded]="embedded()"
|
|
59235
|
+
[scrollElement]="scrollElement() ?? undefined"
|
|
59236
|
+
/>
|
|
59237
|
+
}
|
|
59238
|
+
|
|
59239
|
+
<symphiq-floating-back-button
|
|
59240
|
+
[viewMode]="viewMode()"
|
|
59241
|
+
[embedded]="embedded()"
|
|
59242
|
+
/>
|
|
59243
|
+
</div>
|
|
59244
|
+
|
|
59245
|
+
@if (isLoading()) {
|
|
59246
|
+
<div [ngClass]="getLoadingOverlayClasses()">
|
|
59247
|
+
<div [ngClass]="getSpinnerClasses()"></div>
|
|
59248
|
+
</div>
|
|
59249
|
+
}
|
|
59250
|
+
|
|
59251
|
+
<symphiq-tooltip-container />
|
|
59252
|
+
<symphiq-business-analysis-modal
|
|
59253
|
+
[isLightMode]="isLightMode()"
|
|
59254
|
+
(viewInContextRequested)="handleViewInContext($event)" />
|
|
59255
|
+
|
|
59256
|
+
<symphiq-search-modal
|
|
59257
|
+
[isLightMode]="isLightMode()"
|
|
59258
|
+
[isOpen]="searchService.isSearchOpen()"
|
|
59259
|
+
[searchQuery]="searchService.getSearchQuery()"
|
|
59260
|
+
[results]="searchService.searchResults()"
|
|
59261
|
+
[hasResults]="searchService.hasResults()"
|
|
59262
|
+
[selectedIndex]="selectedSearchIndex()"
|
|
59263
|
+
[placeholder]="'Search sections, items, and analysis...'"
|
|
59264
|
+
(searchChange)="onSearchChange($event)"
|
|
59265
|
+
(resultSelected)="onSearchResultSelected($event)"
|
|
59266
|
+
(close)="closeSearch()"
|
|
59267
|
+
/>
|
|
59268
|
+
|
|
59269
|
+
<symphiq-view-mode-switcher-modal
|
|
59270
|
+
[isOpen]="isViewModeSwitcherOpen()"
|
|
59271
|
+
[currentMode]="displayMode()"
|
|
59272
|
+
[viewMode]="viewMode()"
|
|
59273
|
+
[isLoading]="isViewModeSwitching()"
|
|
59274
|
+
(close)="closeViewModeSwitcher()"
|
|
59275
|
+
(modeSelected)="handleDisplayModeChange($event)"
|
|
59276
|
+
/>
|
|
59277
|
+
</div>
|
|
59109
59278
|
`, styles: [":host{display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-highlight{0%,to{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.02);box-shadow:0 0 20px 8px #3b82f64d}}:host ::ng-deep .search-highlight-pulse{animation:pulse-highlight 2s ease-in-out;border-color:#3b82f6!important}\n"] }]
|
|
59110
59279
|
}], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], profile: [{ type: i0.Input, args: [{ isSignal: true, alias: "profile", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], itemStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatus", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], onScroll: [{
|
|
59111
59280
|
type: HostListener,
|
|
@@ -59114,7 +59283,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
59114
59283
|
type: HostListener,
|
|
59115
59284
|
args: ['document:keydown', ['$event']]
|
|
59116
59285
|
}] }); })();
|
|
59117
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber:
|
|
59286
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 335 }); })();
|
|
59118
59287
|
|
|
59119
59288
|
function DashboardHeaderComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
59120
59289
|
i0.ɵɵelement(0, "div", 6);
|
|
@@ -104874,5 +105043,5 @@ const PROFILE_ANALYSIS_METRIC_SCREEN_PAGE_VIEWS = ({
|
|
|
104874
105043
|
* Generated bundle index. Do not edit.
|
|
104875
105044
|
*/
|
|
104876
105045
|
|
|
104877
|
-
export { AreaChartComponent, BUSINESS_PROFILE, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfidenceLevelCardComponent, ContentGenerationProgressComponent, CrossDashboardRelationshipsService, FUNNEL_ANALYSIS, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FocusAreaExecutiveSummaryComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent, FunnelOrderService, GradeBadgeComponent, HeaderScrollService, HierarchyDisplayComponent, HorizontalBarComponent, IconService, InsightCardComponent, JourneyProgressIndicatorComponent, JourneyStepIdEnum, LineChartComponent, MetricCardComponent, MetricExecutiveSummaryComponent, MetricFormatterService, MetricListItemComponent, MetricWelcomeBannerComponent, MobileBottomNavComponent, MobileFABComponent, ModalComponent, ModalService, NapkinVisualPlaceholderComponent, NavigationStateService, OpportunityHighlightBannerComponent, OverallAssessmentComponent, PROFILE_ANALYSIS_FOCUS_AREA_AFFILIATE, PROFILE_ANALYSIS_METRIC_SCREEN_PAGE_VIEWS, PROFILE_ANALYSIS_SHOP, PieChartComponent, ProfileItemCardComponent, ProfileSectionComponent, ProfileSubsectionComponent, RelatedContentSidebarComponent, ScrollDepthService, ScrollProgressBarComponent, SearchButtonComponent, SearchModalComponent, SectionDividerComponent, SectionNavigationComponent, ShadowElevationDirective, ShopPlatformEnum, ShopWelcomeBannerComponent, SkeletonBarComponent, SkeletonCardBaseComponent, SkeletonCircleComponent, SkeletonCompetitorCardComponent, SkeletonCustomerSegmentCardComponent, SkeletonFocusAreaCardComponent, SkeletonGenericCardComponent, SkeletonLoaderComponent, SkeletonPriceTierCardComponent, SkeletonProductCategoryCardComponent, SkeletonRegionCardComponent, SkeletonSeasonCardComponent, SymphiqBusinessAnalysisDashboardComponent, SymphiqConnectGaDashboardComponent, SymphiqCreateAccountDashboardComponent, SymphiqFunnelAnalysisDashboardComponent, SymphiqFunnelAnalysisPreviewComponent, SymphiqIconComponent, SymphiqProfileAnalysisDashboardComponent, SymphiqWelcomeDashboardComponent, TooltipContainerComponent, TooltipDataService, TooltipDirective, TooltipService, ViewModeService, ViewportAnimationDirective, VisualizationContainerComponent, getBadgeLabelClasses, getButtonClasses, getCategoryBadgeClasses, getCategoryColor, getCompetitiveBadgeClasses, getContainerClasses, getFooterClasses, getGradeBadgeClasses, getHeaderClasses, getInsightsBadgeClasses, getInsightsCardClasses, getMetricLabelClasses, getMetricMiniCardClasses, getMetricValueClasses, getNarrativeTextClasses, getRevenueCardClasses, getRevenueIconClasses, getStatusBadgeClasses, getStatusDotClasses, getStatusIconClasses, getStatusSummaryClasses, getSubtitleClasses, getTitleClasses, getTrendClasses, getTrendIconClasses, getTrendValueClasses, isLightMode };
|
|
105046
|
+
export { AreaChartComponent, BUSINESS_PROFILE, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfettiService, ConfidenceLevelCardComponent, ContentGenerationProgressComponent, ContentGenerationProgressWithConfettiComponent, CrossDashboardRelationshipsService, FUNNEL_ANALYSIS, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FocusAreaExecutiveSummaryComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent, FunnelOrderService, GradeBadgeComponent, HeaderScrollService, HierarchyDisplayComponent, HorizontalBarComponent, IconService, InsightCardComponent, JourneyProgressIndicatorComponent, JourneyStepIdEnum, LineChartComponent, MetricCardComponent, MetricExecutiveSummaryComponent, MetricFormatterService, MetricListItemComponent, MetricWelcomeBannerComponent, MobileBottomNavComponent, MobileFABComponent, ModalComponent, ModalService, NapkinVisualPlaceholderComponent, NavigationStateService, OpportunityHighlightBannerComponent, OverallAssessmentComponent, PROFILE_ANALYSIS_FOCUS_AREA_AFFILIATE, PROFILE_ANALYSIS_METRIC_SCREEN_PAGE_VIEWS, PROFILE_ANALYSIS_SHOP, PieChartComponent, ProfileItemCardComponent, ProfileSectionComponent, ProfileSubsectionComponent, RelatedContentSidebarComponent, ScrollDepthService, ScrollProgressBarComponent, SearchButtonComponent, SearchModalComponent, SectionDividerComponent, SectionNavigationComponent, ShadowElevationDirective, ShopPlatformEnum, ShopWelcomeBannerComponent, SkeletonBarComponent, SkeletonCardBaseComponent, SkeletonCircleComponent, SkeletonCompetitorCardComponent, SkeletonCustomerSegmentCardComponent, SkeletonFocusAreaCardComponent, SkeletonGenericCardComponent, SkeletonLoaderComponent, SkeletonPriceTierCardComponent, SkeletonProductCategoryCardComponent, SkeletonRegionCardComponent, SkeletonSeasonCardComponent, SymphiqBusinessAnalysisDashboardComponent, SymphiqConnectGaDashboardComponent, SymphiqCreateAccountDashboardComponent, SymphiqFunnelAnalysisDashboardComponent, SymphiqFunnelAnalysisPreviewComponent, SymphiqIconComponent, SymphiqProfileAnalysisDashboardComponent, SymphiqWelcomeDashboardComponent, TooltipContainerComponent, TooltipDataService, TooltipDirective, TooltipService, ViewModeService, ViewportAnimationDirective, VisualizationContainerComponent, getBadgeLabelClasses, getButtonClasses, getCategoryBadgeClasses, getCategoryColor, getCompetitiveBadgeClasses, getContainerClasses, getFooterClasses, getGradeBadgeClasses, getHeaderClasses, getInsightsBadgeClasses, getInsightsCardClasses, getMetricLabelClasses, getMetricMiniCardClasses, getMetricValueClasses, getNarrativeTextClasses, getRevenueCardClasses, getRevenueIconClasses, getStatusBadgeClasses, getStatusDotClasses, getStatusIconClasses, getStatusSummaryClasses, getSubtitleClasses, getTitleClasses, getTrendClasses, getTrendIconClasses, getTrendValueClasses, isLightMode };
|
|
104878
105047
|
//# sourceMappingURL=symphiq-components.mjs.map
|