@eric-emg/symphiq-components 1.2.145 → 1.2.146
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 +547 -258
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +27 -2
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/styles.css +53 -0
|
@@ -56362,6 +56362,244 @@ class CollapsibleSectionGroupComponent {
|
|
|
56362
56362
|
}], null, { sections: [{ type: i0.Input, args: [{ isSignal: true, alias: "sections", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
|
|
56363
56363
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleSectionGroupComponent, { className: "CollapsibleSectionGroupComponent", filePath: "lib/components/business-analysis-dashboard/collapsible-section-group.component.ts", lineNumber: 100 }); })();
|
|
56364
56364
|
|
|
56365
|
+
function ContentGenerationProgressComponent_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
56366
|
+
i0.ɵɵelement(0, "div", 26);
|
|
56367
|
+
} if (rf & 2) {
|
|
56368
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
56369
|
+
i0.ɵɵstyleProp("left", ctx_r0.progressPercentage(), "%");
|
|
56370
|
+
i0.ɵɵproperty("ngClass", ctx_r0.progressGlowClasses());
|
|
56371
|
+
} }
|
|
56372
|
+
class ContentGenerationProgressComponent {
|
|
56373
|
+
constructor() {
|
|
56374
|
+
this.itemStatus = input(...(ngDevMode ? [undefined, { debugName: "itemStatus" }] : []));
|
|
56375
|
+
this.title = input('Generating Your Analysis', ...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
56376
|
+
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" }] : []));
|
|
56377
|
+
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
56378
|
+
this.showIcon = input(true, ...(ngDevMode ? [{ debugName: "showIcon" }] : []));
|
|
56379
|
+
this.progressPercentage = computed(() => {
|
|
56380
|
+
const status = this.itemStatus();
|
|
56381
|
+
if (!status?.percentageComplete)
|
|
56382
|
+
return 0;
|
|
56383
|
+
return Math.min(100, Math.max(0, status.percentageComplete));
|
|
56384
|
+
}, ...(ngDevMode ? [{ debugName: "progressPercentage" }] : []));
|
|
56385
|
+
this.progressMessage = computed(() => {
|
|
56386
|
+
const status = this.itemStatus();
|
|
56387
|
+
return status?.message || 'Initializing';
|
|
56388
|
+
}, ...(ngDevMode ? [{ debugName: "progressMessage" }] : []));
|
|
56389
|
+
this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
|
|
56390
|
+
this.containerClasses = computed(() => {
|
|
56391
|
+
return this.isLightMode()
|
|
56392
|
+
? 'bg-gradient-to-br from-slate-50 to-white'
|
|
56393
|
+
: 'bg-gradient-to-br from-slate-900 to-slate-800';
|
|
56394
|
+
}, ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
|
|
56395
|
+
this.iconContainerClasses = computed(() => {
|
|
56396
|
+
if (this.isLightMode()) {
|
|
56397
|
+
return 'bg-gradient-to-br from-blue-500 to-purple-500 text-white shadow-lg shadow-blue-500/30';
|
|
56398
|
+
}
|
|
56399
|
+
return 'bg-gradient-to-br from-blue-400 to-purple-400 text-white shadow-lg shadow-blue-400/30';
|
|
56400
|
+
}, ...(ngDevMode ? [{ debugName: "iconContainerClasses" }] : []));
|
|
56401
|
+
this.titleClasses = computed(() => {
|
|
56402
|
+
if (this.isLightMode()) {
|
|
56403
|
+
return 'bg-gradient-to-r from-blue-600 via-purple-600 to-blue-600 bg-clip-text text-transparent';
|
|
56404
|
+
}
|
|
56405
|
+
return 'bg-gradient-to-r from-blue-400 via-purple-400 to-blue-400 bg-clip-text text-transparent';
|
|
56406
|
+
}, ...(ngDevMode ? [{ debugName: "titleClasses" }] : []));
|
|
56407
|
+
this.subtitleClasses = computed(() => {
|
|
56408
|
+
return this.isLightMode()
|
|
56409
|
+
? 'text-slate-600'
|
|
56410
|
+
: 'text-slate-400';
|
|
56411
|
+
}, ...(ngDevMode ? [{ debugName: "subtitleClasses" }] : []));
|
|
56412
|
+
this.progressMessageClasses = computed(() => {
|
|
56413
|
+
return this.isLightMode()
|
|
56414
|
+
? 'text-slate-700'
|
|
56415
|
+
: 'text-slate-300';
|
|
56416
|
+
}, ...(ngDevMode ? [{ debugName: "progressMessageClasses" }] : []));
|
|
56417
|
+
this.progressBarContainerClasses = computed(() => {
|
|
56418
|
+
return 'w-full';
|
|
56419
|
+
}, ...(ngDevMode ? [{ debugName: "progressBarContainerClasses" }] : []));
|
|
56420
|
+
this.progressBarBackgroundClasses = computed(() => {
|
|
56421
|
+
return this.isLightMode()
|
|
56422
|
+
? 'bg-slate-200'
|
|
56423
|
+
: 'bg-slate-700';
|
|
56424
|
+
}, ...(ngDevMode ? [{ debugName: "progressBarBackgroundClasses" }] : []));
|
|
56425
|
+
this.progressBarFillClasses = computed(() => {
|
|
56426
|
+
if (this.isLightMode()) {
|
|
56427
|
+
return 'bg-gradient-to-r from-blue-500 via-cyan-500 to-blue-600 shadow-lg shadow-blue-500/40';
|
|
56428
|
+
}
|
|
56429
|
+
return 'bg-gradient-to-r from-blue-400 via-cyan-400 to-blue-500 shadow-lg shadow-blue-400/40';
|
|
56430
|
+
}, ...(ngDevMode ? [{ debugName: "progressBarFillClasses" }] : []));
|
|
56431
|
+
this.dotClasses = computed(() => {
|
|
56432
|
+
return this.isLightMode()
|
|
56433
|
+
? 'bg-blue-400 shadow-lg shadow-blue-400/60'
|
|
56434
|
+
: 'bg-cyan-300 shadow-lg shadow-cyan-300/60';
|
|
56435
|
+
}, ...(ngDevMode ? [{ debugName: "dotClasses" }] : []));
|
|
56436
|
+
this.progressGlowClasses = computed(() => {
|
|
56437
|
+
return this.isLightMode()
|
|
56438
|
+
? 'bg-blue-400 shadow-xl'
|
|
56439
|
+
: 'bg-cyan-300 shadow-xl';
|
|
56440
|
+
}, ...(ngDevMode ? [{ debugName: "progressGlowClasses" }] : []));
|
|
56441
|
+
this.percentageClasses = computed(() => {
|
|
56442
|
+
return this.isLightMode()
|
|
56443
|
+
? 'text-slate-600'
|
|
56444
|
+
: 'text-slate-400';
|
|
56445
|
+
}, ...(ngDevMode ? [{ debugName: "percentageClasses" }] : []));
|
|
56446
|
+
}
|
|
56447
|
+
static { this.ɵfac = function ContentGenerationProgressComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ContentGenerationProgressComponent)(); }; }
|
|
56448
|
+
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: 31, vars: 21, 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-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", "inset-0", "overflow-hidden", "rounded-full"], [1, "dots-container", "h-full"], [1, "dot", "dot-1", 3, "ngClass"], [1, "dot", "dot-2", 3, "ngClass"], [1, "dot", "dot-3", 3, "ngClass"], [1, "dot", "dot-4", 3, "ngClass"], [1, "dot", "dot-5", 3, "ngClass"], [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", "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) {
|
|
56449
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4);
|
|
56450
|
+
i0.ɵɵnamespaceSVG();
|
|
56451
|
+
i0.ɵɵelementStart(5, "svg", 5);
|
|
56452
|
+
i0.ɵɵelement(6, "path", 6);
|
|
56453
|
+
i0.ɵɵelementEnd();
|
|
56454
|
+
i0.ɵɵnamespaceHTML();
|
|
56455
|
+
i0.ɵɵelement(7, "div", 7);
|
|
56456
|
+
i0.ɵɵelementEnd()();
|
|
56457
|
+
i0.ɵɵelementStart(8, "h2", 8);
|
|
56458
|
+
i0.ɵɵtext(9);
|
|
56459
|
+
i0.ɵɵelementEnd();
|
|
56460
|
+
i0.ɵɵelementStart(10, "p", 9);
|
|
56461
|
+
i0.ɵɵtext(11);
|
|
56462
|
+
i0.ɵɵelementEnd()();
|
|
56463
|
+
i0.ɵɵelementStart(12, "div", 10)(13, "div", 11)(14, "p", 12);
|
|
56464
|
+
i0.ɵɵtext(15);
|
|
56465
|
+
i0.ɵɵelementEnd()();
|
|
56466
|
+
i0.ɵɵelementStart(16, "div", 13);
|
|
56467
|
+
i0.ɵɵelement(17, "div", 14);
|
|
56468
|
+
i0.ɵɵelementStart(18, "div", 15);
|
|
56469
|
+
i0.ɵɵelement(19, "div", 16);
|
|
56470
|
+
i0.ɵɵelementEnd();
|
|
56471
|
+
i0.ɵɵelementStart(20, "div", 17)(21, "div", 18);
|
|
56472
|
+
i0.ɵɵelement(22, "div", 19)(23, "div", 20)(24, "div", 21)(25, "div", 22)(26, "div", 23);
|
|
56473
|
+
i0.ɵɵelementEnd()();
|
|
56474
|
+
i0.ɵɵconditionalCreate(27, ContentGenerationProgressComponent_Conditional_27_Template, 1, 3, "div", 24);
|
|
56475
|
+
i0.ɵɵelementEnd();
|
|
56476
|
+
i0.ɵɵelementStart(28, "div", 11)(29, "span", 25);
|
|
56477
|
+
i0.ɵɵtext(30);
|
|
56478
|
+
i0.ɵɵelementEnd()()()()();
|
|
56479
|
+
} if (rf & 2) {
|
|
56480
|
+
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
56481
|
+
i0.ɵɵadvance(4);
|
|
56482
|
+
i0.ɵɵproperty("ngClass", ctx.iconContainerClasses());
|
|
56483
|
+
i0.ɵɵadvance(4);
|
|
56484
|
+
i0.ɵɵproperty("ngClass", ctx.titleClasses());
|
|
56485
|
+
i0.ɵɵadvance();
|
|
56486
|
+
i0.ɵɵtextInterpolate1(" ", ctx.title(), " ");
|
|
56487
|
+
i0.ɵɵadvance();
|
|
56488
|
+
i0.ɵɵproperty("ngClass", ctx.subtitleClasses());
|
|
56489
|
+
i0.ɵɵadvance();
|
|
56490
|
+
i0.ɵɵtextInterpolate1(" ", ctx.subtitle(), " ");
|
|
56491
|
+
i0.ɵɵadvance(3);
|
|
56492
|
+
i0.ɵɵproperty("ngClass", ctx.progressMessageClasses());
|
|
56493
|
+
i0.ɵɵadvance();
|
|
56494
|
+
i0.ɵɵtextInterpolate1(" ", ctx.progressMessage(), " ");
|
|
56495
|
+
i0.ɵɵadvance();
|
|
56496
|
+
i0.ɵɵproperty("ngClass", ctx.progressBarContainerClasses());
|
|
56497
|
+
i0.ɵɵadvance();
|
|
56498
|
+
i0.ɵɵproperty("ngClass", ctx.progressBarBackgroundClasses());
|
|
56499
|
+
i0.ɵɵadvance();
|
|
56500
|
+
i0.ɵɵstyleProp("width", ctx.progressPercentage(), "%");
|
|
56501
|
+
i0.ɵɵproperty("ngClass", ctx.progressBarFillClasses());
|
|
56502
|
+
i0.ɵɵadvance(4);
|
|
56503
|
+
i0.ɵɵproperty("ngClass", ctx.dotClasses());
|
|
56504
|
+
i0.ɵɵadvance();
|
|
56505
|
+
i0.ɵɵproperty("ngClass", ctx.dotClasses());
|
|
56506
|
+
i0.ɵɵadvance();
|
|
56507
|
+
i0.ɵɵproperty("ngClass", ctx.dotClasses());
|
|
56508
|
+
i0.ɵɵadvance();
|
|
56509
|
+
i0.ɵɵproperty("ngClass", ctx.dotClasses());
|
|
56510
|
+
i0.ɵɵadvance();
|
|
56511
|
+
i0.ɵɵproperty("ngClass", ctx.dotClasses());
|
|
56512
|
+
i0.ɵɵadvance();
|
|
56513
|
+
i0.ɵɵconditional(ctx.progressPercentage() > 0 && ctx.progressPercentage() < 100 ? 27 : -1);
|
|
56514
|
+
i0.ɵɵadvance(2);
|
|
56515
|
+
i0.ɵɵproperty("ngClass", ctx.percentageClasses());
|
|
56516
|
+
i0.ɵɵadvance();
|
|
56517
|
+
i0.ɵɵtextInterpolate1(" ", ctx.progressPercentage(), "% complete ");
|
|
56518
|
+
} }, 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%{transform:translate(-20px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(calc(100vw + 20px));opacity:0}}@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}.dots-container[_ngcontent-%COMP%]{position:relative;width:100%}.dot[_ngcontent-%COMP%]{position:absolute;top:50%;width:8px;height:8px;border-radius:50%;transform:translateY(-50%);animation:_ngcontent-%COMP%_dots-move 3s linear infinite}.dot-1[_ngcontent-%COMP%]{animation-delay:0s}.dot-2[_ngcontent-%COMP%]{animation-delay:.6s}.dot-3[_ngcontent-%COMP%]{animation-delay:1.2s}.dot-4[_ngcontent-%COMP%]{animation-delay:1.8s}.dot-5[_ngcontent-%COMP%]{animation-delay:2.4s}@media (prefers-reduced-motion: reduce){.icon-pulse[_ngcontent-%COMP%], .icon-glow[_ngcontent-%COMP%], .shimmer-effect[_ngcontent-%COMP%], .message-fade[_ngcontent-%COMP%], .dot[_ngcontent-%COMP%]{animation:none}}"], changeDetection: 0 }); }
|
|
56519
|
+
}
|
|
56520
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContentGenerationProgressComponent, [{
|
|
56521
|
+
type: Component,
|
|
56522
|
+
args: [{ selector: 'symphiq-content-generation-progress', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
56523
|
+
<div [ngClass]="containerClasses()" class="min-h-[60vh] flex items-center justify-center px-4 py-12">
|
|
56524
|
+
<div class="max-w-3xl w-full space-y-8">
|
|
56525
|
+
<!-- Title Section -->
|
|
56526
|
+
<div class="text-center space-y-3">
|
|
56527
|
+
<div class="flex items-center justify-center mb-4">
|
|
56528
|
+
<div [ngClass]="iconContainerClasses()" class="relative w-20 h-20 rounded-2xl flex items-center justify-center icon-pulse">
|
|
56529
|
+
<svg class="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
56530
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
|
|
56531
|
+
</svg>
|
|
56532
|
+
<div class="absolute inset-0 rounded-2xl icon-glow"></div>
|
|
56533
|
+
</div>
|
|
56534
|
+
</div>
|
|
56535
|
+
|
|
56536
|
+
<h2 [ngClass]="titleClasses()" class="text-3xl sm:text-4xl font-bold">
|
|
56537
|
+
{{ title() }}
|
|
56538
|
+
</h2>
|
|
56539
|
+
|
|
56540
|
+
<p [ngClass]="subtitleClasses()" class="text-base sm:text-lg max-w-2xl mx-auto">
|
|
56541
|
+
{{ subtitle() }}
|
|
56542
|
+
</p>
|
|
56543
|
+
</div>
|
|
56544
|
+
|
|
56545
|
+
<!-- Progress Section -->
|
|
56546
|
+
<div class="space-y-4">
|
|
56547
|
+
<!-- Progress Message -->
|
|
56548
|
+
<div class="text-center">
|
|
56549
|
+
<p [ngClass]="progressMessageClasses()" class="text-lg sm:text-xl font-medium message-fade">
|
|
56550
|
+
{{ progressMessage() }}
|
|
56551
|
+
</p>
|
|
56552
|
+
</div>
|
|
56553
|
+
|
|
56554
|
+
<!-- Progress Bar Container -->
|
|
56555
|
+
<div [ngClass]="progressBarContainerClasses()" class="relative h-3 rounded-full overflow-visible">
|
|
56556
|
+
<!-- Background Track -->
|
|
56557
|
+
<div [ngClass]="progressBarBackgroundClasses()" class="absolute inset-0 rounded-full"></div>
|
|
56558
|
+
|
|
56559
|
+
<!-- Solid Fill with Gradient -->
|
|
56560
|
+
<div
|
|
56561
|
+
[ngClass]="progressBarFillClasses()"
|
|
56562
|
+
[style.width.%]="progressPercentage()"
|
|
56563
|
+
class="absolute inset-y-0 left-0 rounded-full transition-all duration-700 ease-out overflow-hidden">
|
|
56564
|
+
<!-- Inner shimmer effect -->
|
|
56565
|
+
<div class="absolute inset-0 shimmer-effect"></div>
|
|
56566
|
+
</div>
|
|
56567
|
+
|
|
56568
|
+
<!-- Animated Dots Overlay (shows beyond the solid bar) -->
|
|
56569
|
+
<div class="absolute inset-0 overflow-hidden rounded-full">
|
|
56570
|
+
<div class="dots-container h-full">
|
|
56571
|
+
<div [ngClass]="dotClasses()" class="dot dot-1"></div>
|
|
56572
|
+
<div [ngClass]="dotClasses()" class="dot dot-2"></div>
|
|
56573
|
+
<div [ngClass]="dotClasses()" class="dot dot-3"></div>
|
|
56574
|
+
<div [ngClass]="dotClasses()" class="dot dot-4"></div>
|
|
56575
|
+
<div [ngClass]="dotClasses()" class="dot dot-5"></div>
|
|
56576
|
+
</div>
|
|
56577
|
+
</div>
|
|
56578
|
+
|
|
56579
|
+
<!-- Glow effect at the progress edge -->
|
|
56580
|
+
@if (progressPercentage() > 0 && progressPercentage() < 100) {
|
|
56581
|
+
<div
|
|
56582
|
+
[ngClass]="progressGlowClasses()"
|
|
56583
|
+
[style.left.%]="progressPercentage()"
|
|
56584
|
+
class="absolute top-1/2 -translate-y-1/2 w-4 h-4 rounded-full blur-md transition-all duration-700 ease-out"
|
|
56585
|
+
style="margin-left: -8px;">
|
|
56586
|
+
</div>
|
|
56587
|
+
}
|
|
56588
|
+
</div>
|
|
56589
|
+
|
|
56590
|
+
<!-- Progress Percentage -->
|
|
56591
|
+
<div class="text-center">
|
|
56592
|
+
<span [ngClass]="percentageClasses()" class="text-sm font-medium tabular-nums">
|
|
56593
|
+
{{ progressPercentage() }}% complete
|
|
56594
|
+
</span>
|
|
56595
|
+
</div>
|
|
56596
|
+
</div>
|
|
56597
|
+
</div>
|
|
56598
|
+
</div>
|
|
56599
|
+
`, 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%{transform:translate(-20px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(calc(100vw + 20px));opacity:0}}@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}.dots-container{position:relative;width:100%}.dot{position:absolute;top:50%;width:8px;height:8px;border-radius:50%;transform:translateY(-50%);animation:dots-move 3s linear infinite}.dot-1{animation-delay:0s}.dot-2{animation-delay:.6s}.dot-3{animation-delay:1.2s}.dot-4{animation-delay:1.8s}.dot-5{animation-delay:2.4s}@media (prefers-reduced-motion: reduce){.icon-pulse,.icon-glow,.shimmer-effect,.message-fade,.dot{animation:none}}\n"] }]
|
|
56600
|
+
}], 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 }] }] }); })();
|
|
56601
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContentGenerationProgressComponent, { className: "ContentGenerationProgressComponent", filePath: "lib/components/shared/content-generation-progress.component.ts", lineNumber: 214 }); })();
|
|
56602
|
+
|
|
56365
56603
|
const _c0$n = () => [];
|
|
56366
56604
|
function SymphiqBusinessAnalysisDashboardComponent_Conditional_29_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
56367
56605
|
i0.ɵɵelementStart(0, "span", 26);
|
|
@@ -56397,64 +56635,89 @@ function SymphiqBusinessAnalysisDashboardComponent_Conditional_29_Template(rf, c
|
|
|
56397
56635
|
i0.ɵɵconditional(ctx_r0.currentSubsectionTitle() ? 3 : -1);
|
|
56398
56636
|
} }
|
|
56399
56637
|
function SymphiqBusinessAnalysisDashboardComponent_Conditional_36_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
56400
|
-
const
|
|
56401
|
-
i0.ɵɵelementStart(0, "symphiq-journey-progress-indicator",
|
|
56402
|
-
i0.ɵɵlistener("stepClick", function SymphiqBusinessAnalysisDashboardComponent_Conditional_36_Conditional_0_Template_symphiq_journey_progress_indicator_stepClick_0_listener($event) { i0.ɵɵrestoreView(
|
|
56638
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
56639
|
+
i0.ɵɵelementStart(0, "symphiq-journey-progress-indicator", 29);
|
|
56640
|
+
i0.ɵɵlistener("stepClick", function SymphiqBusinessAnalysisDashboardComponent_Conditional_36_Conditional_0_Template_symphiq_journey_progress_indicator_stepClick_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.stepClick.emit($event)); })("nextStepClick", function SymphiqBusinessAnalysisDashboardComponent_Conditional_36_Conditional_0_Template_symphiq_journey_progress_indicator_nextStepClick_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.nextStepClick.emit()); });
|
|
56403
56641
|
i0.ɵɵelementEnd();
|
|
56404
56642
|
} if (rf & 2) {
|
|
56405
56643
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56406
|
-
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("currentStepId", ctx_r0.JourneyStepIdEnum.BUSINESS_ANALYSIS)("showNextStepAction",
|
|
56644
|
+
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("currentStepId", ctx_r0.JourneyStepIdEnum.BUSINESS_ANALYSIS)("showNextStepAction", false)("forDemo", ctx_r0.forDemo())("maxAccessibleStepId", ctx_r0.maxAccessibleStepId());
|
|
56407
56645
|
} }
|
|
56408
56646
|
function SymphiqBusinessAnalysisDashboardComponent_Conditional_36_Template(rf, ctx) { if (rf & 1) {
|
|
56409
|
-
const _r2 = i0.ɵɵgetCurrentView();
|
|
56410
56647
|
i0.ɵɵconditionalCreate(0, SymphiqBusinessAnalysisDashboardComponent_Conditional_36_Conditional_0_Template, 1, 5, "symphiq-journey-progress-indicator", 27);
|
|
56411
|
-
i0.ɵɵ
|
|
56412
|
-
|
|
56648
|
+
i0.ɵɵelement(1, "symphiq-content-generation-progress", 28);
|
|
56649
|
+
} if (rf & 2) {
|
|
56650
|
+
let tmp_3_0;
|
|
56651
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
56652
|
+
i0.ɵɵconditional(!ctx_r0.isOnboarded() ? 0 : -1);
|
|
56653
|
+
i0.ɵɵadvance();
|
|
56654
|
+
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("title", "We are generating a new Business Analysis for " + (((tmp_3_0 = ctx_r0.currentProfile()) == null ? null : tmp_3_0.profileStructured == null ? null : tmp_3_0.profileStructured.businessName) || "your business") + ".")("subtitle", "It will appear here when ready. You can check back later as this will take a few minutes to complete.");
|
|
56655
|
+
} }
|
|
56656
|
+
function SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
56657
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
56658
|
+
i0.ɵɵelementStart(0, "symphiq-journey-progress-indicator", 29);
|
|
56659
|
+
i0.ɵɵlistener("stepClick", function SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_0_Conditional_0_Template_symphiq_journey_progress_indicator_stepClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.stepClick.emit($event)); })("nextStepClick", function SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_0_Conditional_0_Template_symphiq_journey_progress_indicator_nextStepClick_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.nextStepClick.emit()); });
|
|
56660
|
+
i0.ɵɵelementEnd();
|
|
56661
|
+
} if (rf & 2) {
|
|
56662
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
56663
|
+
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("currentStepId", ctx_r0.JourneyStepIdEnum.BUSINESS_ANALYSIS)("showNextStepAction", ctx_r0.showNextStepAction())("forDemo", ctx_r0.forDemo())("maxAccessibleStepId", ctx_r0.maxAccessibleStepId());
|
|
56664
|
+
} }
|
|
56665
|
+
function SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
56666
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
56667
|
+
i0.ɵɵconditionalCreate(0, SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_0_Conditional_0_Template, 1, 5, "symphiq-journey-progress-indicator", 27);
|
|
56668
|
+
i0.ɵɵelementStart(1, "div", 6)(2, "div", 30);
|
|
56669
|
+
i0.ɵɵelement(3, "symphiq-welcome-banner", 31);
|
|
56413
56670
|
i0.ɵɵelementEnd();
|
|
56414
|
-
i0.ɵɵelementStart(4, "div",
|
|
56415
|
-
i0.ɵɵlistener("viewMoreClick", function
|
|
56671
|
+
i0.ɵɵelementStart(4, "div", 30)(5, "symphiq-recommendations-tiled-grid", 32);
|
|
56672
|
+
i0.ɵɵlistener("viewMoreClick", function SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_0_Template_symphiq_recommendations_tiled_grid_viewMoreClick_5_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.openRecommendationDetailsModal($event)); });
|
|
56416
56673
|
i0.ɵɵelementEnd()();
|
|
56417
56674
|
i0.ɵɵelementStart(6, "div");
|
|
56418
|
-
i0.ɵɵelement(7, "symphiq-collapsible-section-group",
|
|
56675
|
+
i0.ɵɵelement(7, "symphiq-collapsible-section-group", 33);
|
|
56419
56676
|
i0.ɵɵelementEnd()();
|
|
56420
56677
|
} if (rf & 2) {
|
|
56421
|
-
let
|
|
56422
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
56678
|
+
let tmp_4_0;
|
|
56679
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56423
56680
|
i0.ɵɵconditional(!ctx_r0.isOnboarded() ? 0 : -1);
|
|
56424
56681
|
i0.ɵɵadvance(3);
|
|
56425
|
-
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("businessName", ((
|
|
56682
|
+
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("businessName", ((tmp_4_0 = ctx_r0.currentProfile()) == null ? null : tmp_4_0.profileStructured == null ? null : tmp_4_0.profileStructured.businessName) || "your business")("isOnboarded", ctx_r0.isOnboarded());
|
|
56426
56683
|
i0.ɵɵadvance(2);
|
|
56427
56684
|
i0.ɵɵproperty("recommendations", ctx_r0.recommendationItems())("viewMode", ctx_r0.viewMode());
|
|
56428
56685
|
i0.ɵɵadvance(2);
|
|
56429
56686
|
i0.ɵɵproperty("sections", ctx_r0.nonRecommendationSections())("viewMode", ctx_r0.viewMode());
|
|
56430
56687
|
} }
|
|
56431
|
-
function
|
|
56432
|
-
i0.ɵɵelementStart(0, "div",
|
|
56433
|
-
i0.ɵɵelement(1, "symphiq-section-divider",
|
|
56688
|
+
function SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_1_For_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
56689
|
+
i0.ɵɵelementStart(0, "div", 35);
|
|
56690
|
+
i0.ɵɵelement(1, "symphiq-section-divider", 36);
|
|
56434
56691
|
i0.ɵɵelementEnd();
|
|
56435
56692
|
} if (rf & 2) {
|
|
56436
|
-
const ɵ$
|
|
56437
|
-
const ctx_r0 = i0.ɵɵnextContext(
|
|
56693
|
+
const ɵ$index_106_r5 = i0.ɵɵnextContext().$index;
|
|
56694
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
56438
56695
|
i0.ɵɵadvance();
|
|
56439
|
-
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("subsections", ctx_r0.sections()[ɵ$
|
|
56696
|
+
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("subsections", ctx_r0.sections()[ɵ$index_106_r5 + 1].subsections || i0.ɵɵpureFunction0(2, _c0$n));
|
|
56440
56697
|
} }
|
|
56441
|
-
function
|
|
56442
|
-
i0.ɵɵelement(0, "symphiq-profile-section",
|
|
56443
|
-
i0.ɵɵconditionalCreate(1,
|
|
56698
|
+
function SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_1_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
56699
|
+
i0.ɵɵelement(0, "symphiq-profile-section", 34);
|
|
56700
|
+
i0.ɵɵconditionalCreate(1, SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_1_For_1_Conditional_1_Template, 2, 3, "div", 35);
|
|
56444
56701
|
} if (rf & 2) {
|
|
56445
|
-
const
|
|
56446
|
-
const ɵ$
|
|
56447
|
-
const ɵ$
|
|
56448
|
-
const ctx_r0 = i0.ɵɵnextContext(
|
|
56449
|
-
i0.ɵɵproperty("section",
|
|
56702
|
+
const section_r6 = ctx.$implicit;
|
|
56703
|
+
const ɵ$index_106_r5 = ctx.$index;
|
|
56704
|
+
const ɵ$count_106_r7 = ctx.$count;
|
|
56705
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
56706
|
+
i0.ɵɵproperty("section", section_r6)("viewMode", ctx_r0.viewMode())("forceExpanded", !ctx_r0.isCompactView());
|
|
56450
56707
|
i0.ɵɵadvance();
|
|
56451
|
-
i0.ɵɵconditional(!(ɵ$
|
|
56708
|
+
i0.ɵɵconditional(!(ɵ$index_106_r5 === ɵ$count_106_r7 - 1) ? 1 : -1);
|
|
56709
|
+
} }
|
|
56710
|
+
function SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
56711
|
+
i0.ɵɵrepeaterCreate(0, SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_1_For_1_Template, 2, 4, null, null, i0.ɵɵcomponentInstance().trackBySectionId, true);
|
|
56712
|
+
} if (rf & 2) {
|
|
56713
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56714
|
+
i0.ɵɵrepeater(ctx_r0.sections());
|
|
56452
56715
|
} }
|
|
56453
56716
|
function SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Template(rf, ctx) { if (rf & 1) {
|
|
56454
|
-
i0.ɵɵ
|
|
56717
|
+
i0.ɵɵconditionalCreate(0, SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_0_Template, 8, 8)(1, SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Conditional_1_Template, 2, 0);
|
|
56455
56718
|
} if (rf & 2) {
|
|
56456
56719
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
56457
|
-
i0.ɵɵ
|
|
56720
|
+
i0.ɵɵconditional(ctx_r0.isSimplifiedView() ? 0 : 1);
|
|
56458
56721
|
} }
|
|
56459
56722
|
function SymphiqBusinessAnalysisDashboardComponent_Conditional_38_Template(rf, ctx) { if (rf & 1) {
|
|
56460
56723
|
i0.ɵɵelement(0, "symphiq-section-navigation", 21);
|
|
@@ -56507,6 +56770,10 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
56507
56770
|
this.nextStepClick = output();
|
|
56508
56771
|
this.JourneyStepIdEnum = JourneyStepIdEnum;
|
|
56509
56772
|
this.showNextStepAction = computed(() => this.profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED, ...(ngDevMode ? [{ debugName: "showNextStepAction" }] : []));
|
|
56773
|
+
this.isContentGenerating = computed(() => {
|
|
56774
|
+
const status = this.profile()?.selfContentStatus;
|
|
56775
|
+
return status === AiDynamicContentStatusEnum.REQUESTED || status === AiDynamicContentStatusEnum.GENERATING;
|
|
56776
|
+
}, ...(ngDevMode ? [{ debugName: "isContentGenerating" }] : []));
|
|
56510
56777
|
this.headerScrollService = inject(HeaderScrollService);
|
|
56511
56778
|
this.lookupService = inject(ProfileItemLookupService);
|
|
56512
56779
|
this.navigationService = inject(NavigationStateService);
|
|
@@ -56962,7 +57229,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
56962
57229
|
static { this.ɵfac = function SymphiqBusinessAnalysisDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqBusinessAnalysisDashboardComponent)(); }; }
|
|
56963
57230
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqBusinessAnalysisDashboardComponent, selectors: [["symphiq-business-analysis-dashboard"]], hostBindings: function SymphiqBusinessAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
56964
57231
|
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);
|
|
56965
|
-
} }, inputs: { embedded: [1, "embedded"], profile: [1, "profile"], parentHeaderOffset: [1, "parentHeaderOffset"], requestedByUser: [1, "requestedByUser"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 46, vars: 63, 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"], [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, "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"], [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"], [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"], [1, "transition-opacity", "duration-300", 3, "ngClass"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [
|
|
57232
|
+
} }, inputs: { embedded: [1, "embedded"], profile: [1, "profile"], parentHeaderOffset: [1, "parentHeaderOffset"], requestedByUser: [1, "requestedByUser"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 46, vars: 63, 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"], [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, "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"], [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"], [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"], [1, "transition-opacity", "duration-300", 3, "ngClass"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "title", "subtitle"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "mb-8"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMoreClick", "recommendations", "viewMode"], [3, "sections", "viewMode"], [3, "section", "viewMode", "forceExpanded"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8"], [3, "viewMode", "subsections"]], template: function SymphiqBusinessAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
56966
57233
|
i0.ɵɵelementStart(0, "div", 0)(1, "div");
|
|
56967
57234
|
i0.ɵɵelement(2, "div", 1);
|
|
56968
57235
|
i0.ɵɵelementEnd();
|
|
@@ -57002,7 +57269,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
57002
57269
|
i0.ɵɵelementEnd()()()()()()();
|
|
57003
57270
|
i0.ɵɵnamespaceHTML();
|
|
57004
57271
|
i0.ɵɵelementStart(35, "main", 20);
|
|
57005
|
-
i0.ɵɵconditionalCreate(36, SymphiqBusinessAnalysisDashboardComponent_Conditional_36_Template,
|
|
57272
|
+
i0.ɵɵconditionalCreate(36, SymphiqBusinessAnalysisDashboardComponent_Conditional_36_Template, 2, 4)(37, SymphiqBusinessAnalysisDashboardComponent_Conditional_37_Template, 2, 1);
|
|
57006
57273
|
i0.ɵɵelementEnd();
|
|
57007
57274
|
i0.ɵɵconditionalCreate(38, SymphiqBusinessAnalysisDashboardComponent_Conditional_38_Template, 1, 4, "symphiq-section-navigation", 21);
|
|
57008
57275
|
i0.ɵɵconditionalCreate(39, SymphiqBusinessAnalysisDashboardComponent_Conditional_39_Template, 1, 4, "symphiq-floating-toc", 21);
|
|
@@ -57063,7 +57330,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
57063
57330
|
i0.ɵɵadvance();
|
|
57064
57331
|
i0.ɵɵproperty("ngClass", ctx.getViewModeButtonClasses());
|
|
57065
57332
|
i0.ɵɵadvance(5);
|
|
57066
|
-
i0.ɵɵconditional(ctx.
|
|
57333
|
+
i0.ɵɵconditional(ctx.isContentGenerating() ? 36 : 37);
|
|
57067
57334
|
i0.ɵɵadvance(2);
|
|
57068
57335
|
i0.ɵɵconditional(!ctx.isSimplifiedView() ? 38 : -1);
|
|
57069
57336
|
i0.ɵɵadvance();
|
|
@@ -57078,232 +57345,254 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
57078
57345
|
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...");
|
|
57079
57346
|
i0.ɵɵadvance();
|
|
57080
57347
|
i0.ɵɵproperty("isOpen", ctx.isViewModeSwitcherOpen())("currentMode", ctx.displayMode())("viewMode", ctx.viewMode())("isLoading", ctx.isViewModeSwitching());
|
|
57081
|
-
} }, dependencies: [CommonModule, i1$1.NgClass, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent], 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 }); }
|
|
57348
|
+
} }, dependencies: [CommonModule, i1$1.NgClass, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent, ContentGenerationProgressComponent], 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 }); }
|
|
57082
57349
|
}
|
|
57083
57350
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqBusinessAnalysisDashboardComponent, [{
|
|
57084
57351
|
type: Component,
|
|
57085
|
-
args: [{ selector: 'symphiq-business-analysis-dashboard', standalone: true, imports: [CommonModule, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
57086
|
-
<div [ngClass]="getContainerClasses()">
|
|
57087
|
-
<!-- Scroll Progress Bar (fixed at top) -->
|
|
57088
|
-
<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'">
|
|
57089
|
-
<div
|
|
57090
|
-
[style.width.%]="scrollProgress()"
|
|
57091
|
-
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
57092
|
-
class="h-full transition-all duration-200 ease-out">
|
|
57093
|
-
</div>
|
|
57094
|
-
</div>
|
|
57095
|
-
|
|
57096
|
-
<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>
|
|
57097
|
-
|
|
57098
|
-
<div class="relative z-[51]">
|
|
57099
|
-
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
57100
|
-
<!-- Expanded Header (default state) -->
|
|
57101
|
-
<div
|
|
57102
|
-
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57103
|
-
[class.max-h-0]="headerScrollService.isScrolled()"
|
|
57104
|
-
[class.opacity-0]="headerScrollService.isScrolled()"
|
|
57105
|
-
[class.max-h-96]="!headerScrollService.isScrolled()"
|
|
57106
|
-
[class.opacity-100]="!headerScrollService.isScrolled()">
|
|
57107
|
-
<div
|
|
57108
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
57109
|
-
[class.pointer-events-none]="headerScrollService.isScrolled()"
|
|
57110
|
-
[class.pointer-events-auto]="!headerScrollService.isScrolled()">
|
|
57111
|
-
<div class="flex items-center justify-between">
|
|
57112
|
-
<div>
|
|
57113
|
-
<h1 [ngClass]="getMainTitleClasses()">
|
|
57114
|
-
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
57115
|
-
</h1>
|
|
57116
|
-
<p [ngClass]="getSubtitleClasses()">
|
|
57117
|
-
Business Profile & Analysis
|
|
57118
|
-
</p>
|
|
57119
|
-
</div>
|
|
57120
|
-
<div class="flex items-center gap-2">
|
|
57121
|
-
<symphiq-search-button
|
|
57122
|
-
[isLightMode]="isLightMode()"
|
|
57123
|
-
(searchClick)="openSearch()"
|
|
57124
|
-
/>
|
|
57125
|
-
<button
|
|
57126
|
-
type="button"
|
|
57127
|
-
(click)="openViewModeSwitcher()"
|
|
57128
|
-
[ngClass]="getViewModeButtonClasses()"
|
|
57129
|
-
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">
|
|
57130
|
-
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
57131
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
57132
|
-
<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>
|
|
57133
|
-
</svg>
|
|
57134
|
-
<span>{{ displayModeLabel() }}</span>
|
|
57135
|
-
</button>
|
|
57136
|
-
</div>
|
|
57137
|
-
</div>
|
|
57138
|
-
</div>
|
|
57139
|
-
</div>
|
|
57140
|
-
|
|
57141
|
-
<!-- Condensed Header (scrolled state) -->
|
|
57142
|
-
<div
|
|
57143
|
-
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57144
|
-
[class.max-h-0]="!headerScrollService.isScrolled()"
|
|
57145
|
-
[class.opacity-0]="!headerScrollService.isScrolled()"
|
|
57146
|
-
[class.max-h-20]="headerScrollService.isScrolled()"
|
|
57147
|
-
[class.opacity-100]="headerScrollService.isScrolled()">
|
|
57148
|
-
<div
|
|
57149
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
57150
|
-
[class.pointer-events-none]="!headerScrollService.isScrolled()"
|
|
57151
|
-
[class.pointer-events-auto]="headerScrollService.isScrolled()">
|
|
57152
|
-
<div class="flex items-center justify-between">
|
|
57153
|
-
<div class="flex-1 min-w-0 mr-4">
|
|
57154
|
-
<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'">
|
|
57155
|
-
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
57156
|
-
</h1>
|
|
57157
|
-
</div>
|
|
57158
|
-
<div class="flex items-center gap-4">
|
|
57159
|
-
@if (!isSimplifiedView()) {
|
|
57160
|
-
<div class="flex items-center gap-2 text-sm flex-shrink-0">
|
|
57161
|
-
<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()">
|
|
57162
|
-
{{ currentSectionTitle() }}
|
|
57163
|
-
</span>
|
|
57164
|
-
@if (currentSubsectionTitle()) {
|
|
57165
|
-
<span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">›</span>
|
|
57166
|
-
<span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">
|
|
57167
|
-
{{ currentSubsectionTitle() }}
|
|
57168
|
-
</span>
|
|
57169
|
-
}
|
|
57170
|
-
</div>
|
|
57171
|
-
}
|
|
57172
|
-
<symphiq-search-button
|
|
57173
|
-
[isLightMode]="isLightMode()"
|
|
57174
|
-
[minimized]="true"
|
|
57175
|
-
(searchClick)="openSearch()"
|
|
57176
|
-
/>
|
|
57177
|
-
<button
|
|
57178
|
-
type="button"
|
|
57179
|
-
(click)="openViewModeSwitcher()"
|
|
57180
|
-
[ngClass]="getViewModeButtonClasses()"
|
|
57181
|
-
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">
|
|
57182
|
-
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
57183
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
57184
|
-
<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>
|
|
57185
|
-
</svg>
|
|
57186
|
-
</button>
|
|
57187
|
-
</div>
|
|
57188
|
-
</div>
|
|
57189
|
-
</div>
|
|
57190
|
-
</div>
|
|
57191
|
-
</header>
|
|
57192
|
-
|
|
57193
|
-
<main class="relative">
|
|
57194
|
-
@if (
|
|
57195
|
-
<!-- Journey Progress Banner
|
|
57196
|
-
@if (!isOnboarded()) {
|
|
57197
|
-
<symphiq-journey-progress-indicator
|
|
57198
|
-
[viewMode]="viewMode()"
|
|
57199
|
-
[currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
|
|
57200
|
-
[showNextStepAction]="
|
|
57201
|
-
[forDemo]="forDemo()"
|
|
57202
|
-
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
57203
|
-
(stepClick)="stepClick.emit($event)"
|
|
57204
|
-
(nextStepClick)="nextStepClick.emit()"
|
|
57205
|
-
/>
|
|
57206
|
-
}
|
|
57207
|
-
|
|
57208
|
-
|
|
57209
|
-
|
|
57210
|
-
|
|
57211
|
-
|
|
57212
|
-
|
|
57213
|
-
|
|
57214
|
-
|
|
57215
|
-
|
|
57216
|
-
|
|
57217
|
-
|
|
57218
|
-
<symphiq-
|
|
57219
|
-
[
|
|
57220
|
-
[
|
|
57221
|
-
|
|
57222
|
-
|
|
57223
|
-
|
|
57224
|
-
|
|
57225
|
-
|
|
57226
|
-
|
|
57227
|
-
|
|
57228
|
-
|
|
57229
|
-
|
|
57230
|
-
|
|
57231
|
-
|
|
57232
|
-
|
|
57233
|
-
|
|
57234
|
-
|
|
57235
|
-
|
|
57236
|
-
|
|
57237
|
-
|
|
57238
|
-
|
|
57239
|
-
|
|
57240
|
-
|
|
57241
|
-
|
|
57242
|
-
|
|
57243
|
-
|
|
57244
|
-
</div>
|
|
57245
|
-
|
|
57246
|
-
|
|
57247
|
-
|
|
57248
|
-
|
|
57249
|
-
|
|
57250
|
-
|
|
57251
|
-
|
|
57252
|
-
|
|
57253
|
-
|
|
57254
|
-
|
|
57255
|
-
|
|
57256
|
-
|
|
57257
|
-
|
|
57258
|
-
|
|
57259
|
-
|
|
57260
|
-
|
|
57261
|
-
|
|
57262
|
-
|
|
57263
|
-
|
|
57264
|
-
|
|
57265
|
-
|
|
57266
|
-
|
|
57267
|
-
|
|
57268
|
-
|
|
57269
|
-
|
|
57270
|
-
|
|
57271
|
-
|
|
57272
|
-
|
|
57273
|
-
|
|
57274
|
-
|
|
57275
|
-
|
|
57276
|
-
|
|
57277
|
-
|
|
57278
|
-
|
|
57279
|
-
|
|
57280
|
-
|
|
57281
|
-
|
|
57282
|
-
|
|
57283
|
-
|
|
57284
|
-
|
|
57285
|
-
|
|
57286
|
-
|
|
57287
|
-
|
|
57288
|
-
|
|
57289
|
-
|
|
57290
|
-
|
|
57291
|
-
|
|
57292
|
-
|
|
57293
|
-
|
|
57294
|
-
|
|
57295
|
-
|
|
57296
|
-
|
|
57297
|
-
|
|
57298
|
-
|
|
57299
|
-
|
|
57300
|
-
|
|
57301
|
-
|
|
57302
|
-
|
|
57303
|
-
|
|
57304
|
-
|
|
57305
|
-
|
|
57306
|
-
|
|
57352
|
+
args: [{ selector: 'symphiq-business-analysis-dashboard', standalone: true, imports: [CommonModule, ProfileSectionComponent, SectionNavigationComponent, FloatingTocComponent, FloatingBackButtonComponent, TooltipContainerComponent, SectionDividerComponent, BusinessAnalysisModalComponent, SearchButtonComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, WelcomeBannerComponent, RecommendationsTiledGridComponent, CollapsibleSectionGroupComponent, ContentGenerationProgressComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
57353
|
+
<div [ngClass]="getContainerClasses()">
|
|
57354
|
+
<!-- Scroll Progress Bar (fixed at top) -->
|
|
57355
|
+
<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'">
|
|
57356
|
+
<div
|
|
57357
|
+
[style.width.%]="scrollProgress()"
|
|
57358
|
+
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
57359
|
+
class="h-full transition-all duration-200 ease-out">
|
|
57360
|
+
</div>
|
|
57361
|
+
</div>
|
|
57362
|
+
|
|
57363
|
+
<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>
|
|
57364
|
+
|
|
57365
|
+
<div class="relative z-[51]">
|
|
57366
|
+
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
57367
|
+
<!-- Expanded Header (default state) -->
|
|
57368
|
+
<div
|
|
57369
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57370
|
+
[class.max-h-0]="headerScrollService.isScrolled()"
|
|
57371
|
+
[class.opacity-0]="headerScrollService.isScrolled()"
|
|
57372
|
+
[class.max-h-96]="!headerScrollService.isScrolled()"
|
|
57373
|
+
[class.opacity-100]="!headerScrollService.isScrolled()">
|
|
57374
|
+
<div
|
|
57375
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
57376
|
+
[class.pointer-events-none]="headerScrollService.isScrolled()"
|
|
57377
|
+
[class.pointer-events-auto]="!headerScrollService.isScrolled()">
|
|
57378
|
+
<div class="flex items-center justify-between">
|
|
57379
|
+
<div>
|
|
57380
|
+
<h1 [ngClass]="getMainTitleClasses()">
|
|
57381
|
+
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
57382
|
+
</h1>
|
|
57383
|
+
<p [ngClass]="getSubtitleClasses()">
|
|
57384
|
+
Business Profile & Analysis
|
|
57385
|
+
</p>
|
|
57386
|
+
</div>
|
|
57387
|
+
<div class="flex items-center gap-2">
|
|
57388
|
+
<symphiq-search-button
|
|
57389
|
+
[isLightMode]="isLightMode()"
|
|
57390
|
+
(searchClick)="openSearch()"
|
|
57391
|
+
/>
|
|
57392
|
+
<button
|
|
57393
|
+
type="button"
|
|
57394
|
+
(click)="openViewModeSwitcher()"
|
|
57395
|
+
[ngClass]="getViewModeButtonClasses()"
|
|
57396
|
+
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">
|
|
57397
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
57398
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
57399
|
+
<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>
|
|
57400
|
+
</svg>
|
|
57401
|
+
<span>{{ displayModeLabel() }}</span>
|
|
57402
|
+
</button>
|
|
57403
|
+
</div>
|
|
57404
|
+
</div>
|
|
57405
|
+
</div>
|
|
57406
|
+
</div>
|
|
57407
|
+
|
|
57408
|
+
<!-- Condensed Header (scrolled state) -->
|
|
57409
|
+
<div
|
|
57410
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57411
|
+
[class.max-h-0]="!headerScrollService.isScrolled()"
|
|
57412
|
+
[class.opacity-0]="!headerScrollService.isScrolled()"
|
|
57413
|
+
[class.max-h-20]="headerScrollService.isScrolled()"
|
|
57414
|
+
[class.opacity-100]="headerScrollService.isScrolled()">
|
|
57415
|
+
<div
|
|
57416
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
57417
|
+
[class.pointer-events-none]="!headerScrollService.isScrolled()"
|
|
57418
|
+
[class.pointer-events-auto]="headerScrollService.isScrolled()">
|
|
57419
|
+
<div class="flex items-center justify-between">
|
|
57420
|
+
<div class="flex-1 min-w-0 mr-4">
|
|
57421
|
+
<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'">
|
|
57422
|
+
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
57423
|
+
</h1>
|
|
57424
|
+
</div>
|
|
57425
|
+
<div class="flex items-center gap-4">
|
|
57426
|
+
@if (!isSimplifiedView()) {
|
|
57427
|
+
<div class="flex items-center gap-2 text-sm flex-shrink-0">
|
|
57428
|
+
<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()">
|
|
57429
|
+
{{ currentSectionTitle() }}
|
|
57430
|
+
</span>
|
|
57431
|
+
@if (currentSubsectionTitle()) {
|
|
57432
|
+
<span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">›</span>
|
|
57433
|
+
<span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">
|
|
57434
|
+
{{ currentSubsectionTitle() }}
|
|
57435
|
+
</span>
|
|
57436
|
+
}
|
|
57437
|
+
</div>
|
|
57438
|
+
}
|
|
57439
|
+
<symphiq-search-button
|
|
57440
|
+
[isLightMode]="isLightMode()"
|
|
57441
|
+
[minimized]="true"
|
|
57442
|
+
(searchClick)="openSearch()"
|
|
57443
|
+
/>
|
|
57444
|
+
<button
|
|
57445
|
+
type="button"
|
|
57446
|
+
(click)="openViewModeSwitcher()"
|
|
57447
|
+
[ngClass]="getViewModeButtonClasses()"
|
|
57448
|
+
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">
|
|
57449
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
57450
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
57451
|
+
<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>
|
|
57452
|
+
</svg>
|
|
57453
|
+
</button>
|
|
57454
|
+
</div>
|
|
57455
|
+
</div>
|
|
57456
|
+
</div>
|
|
57457
|
+
</div>
|
|
57458
|
+
</header>
|
|
57459
|
+
|
|
57460
|
+
<main class="relative">
|
|
57461
|
+
@if (isContentGenerating()) {
|
|
57462
|
+
<!-- Journey Progress Banner (always show when not onboarded) -->
|
|
57463
|
+
@if (!isOnboarded()) {
|
|
57464
|
+
<symphiq-journey-progress-indicator
|
|
57465
|
+
[viewMode]="viewMode()"
|
|
57466
|
+
[currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
|
|
57467
|
+
[showNextStepAction]="false"
|
|
57468
|
+
[forDemo]="forDemo()"
|
|
57469
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
57470
|
+
(stepClick)="stepClick.emit($event)"
|
|
57471
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
57472
|
+
/>
|
|
57473
|
+
}
|
|
57474
|
+
|
|
57475
|
+
<!-- Content Generation Progress Component -->
|
|
57476
|
+
<symphiq-content-generation-progress
|
|
57477
|
+
[viewMode]="viewMode()"
|
|
57478
|
+
[title]="'We are generating a new Business Analysis for ' + (currentProfile()?.profileStructured?.businessName || 'your business') + '.'"
|
|
57479
|
+
[subtitle]="'It will appear here when ready. You can check back later as this will take a few minutes to complete.'"
|
|
57480
|
+
/>
|
|
57481
|
+
} @else {
|
|
57482
|
+
@if (isSimplifiedView()) {
|
|
57483
|
+
<!-- Journey Progress Banner - Full Width Sticky (only show when not onboarded) -->
|
|
57484
|
+
@if (!isOnboarded()) {
|
|
57485
|
+
<symphiq-journey-progress-indicator
|
|
57486
|
+
[viewMode]="viewMode()"
|
|
57487
|
+
[currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
|
|
57488
|
+
[showNextStepAction]="showNextStepAction()"
|
|
57489
|
+
[forDemo]="forDemo()"
|
|
57490
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
57491
|
+
(stepClick)="stepClick.emit($event)"
|
|
57492
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
57493
|
+
/>
|
|
57494
|
+
}
|
|
57495
|
+
|
|
57496
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
|
57497
|
+
<div class="mb-8">
|
|
57498
|
+
<symphiq-welcome-banner
|
|
57499
|
+
[viewMode]="viewMode()"
|
|
57500
|
+
[businessName]="currentProfile()?.profileStructured?.businessName || 'your business'"
|
|
57501
|
+
[isOnboarded]="isOnboarded()"
|
|
57502
|
+
/>
|
|
57503
|
+
</div>
|
|
57504
|
+
|
|
57505
|
+
<div class="mb-8">
|
|
57506
|
+
<symphiq-recommendations-tiled-grid
|
|
57507
|
+
[recommendations]="recommendationItems()"
|
|
57508
|
+
[viewMode]="viewMode()"
|
|
57509
|
+
(viewMoreClick)="openRecommendationDetailsModal($event)"
|
|
57510
|
+
/>
|
|
57511
|
+
</div>
|
|
57512
|
+
|
|
57513
|
+
<div>
|
|
57514
|
+
<symphiq-collapsible-section-group
|
|
57515
|
+
[sections]="nonRecommendationSections()"
|
|
57516
|
+
[viewMode]="viewMode()"
|
|
57517
|
+
/>
|
|
57518
|
+
</div>
|
|
57519
|
+
</div>
|
|
57520
|
+
} @else {
|
|
57521
|
+
@for (section of sections(); track trackBySectionId($index, section); let idx = $index; let last = $last) {
|
|
57522
|
+
<symphiq-profile-section
|
|
57523
|
+
[section]="section"
|
|
57524
|
+
[viewMode]="viewMode()"
|
|
57525
|
+
[forceExpanded]="!isCompactView()"
|
|
57526
|
+
/>
|
|
57527
|
+
@if (!last) {
|
|
57528
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
57529
|
+
<symphiq-section-divider
|
|
57530
|
+
[viewMode]="viewMode()"
|
|
57531
|
+
[subsections]="sections()[idx + 1].subsections || []" />
|
|
57532
|
+
</div>
|
|
57533
|
+
}
|
|
57534
|
+
}
|
|
57535
|
+
}
|
|
57536
|
+
}
|
|
57537
|
+
</main>
|
|
57538
|
+
|
|
57539
|
+
@if (!isSimplifiedView()) {
|
|
57540
|
+
<symphiq-section-navigation
|
|
57541
|
+
[sections]="sections()"
|
|
57542
|
+
[viewMode]="viewMode()"
|
|
57543
|
+
[embedded]="embedded()"
|
|
57544
|
+
[scrollElement]="scrollElement() ?? undefined"
|
|
57545
|
+
/>
|
|
57546
|
+
}
|
|
57547
|
+
|
|
57548
|
+
@if (!isSimplifiedView()) {
|
|
57549
|
+
<symphiq-floating-toc
|
|
57550
|
+
[sections]="sections()"
|
|
57551
|
+
[viewMode]="viewMode()"
|
|
57552
|
+
[embedded]="embedded()"
|
|
57553
|
+
[scrollElement]="scrollElement() ?? undefined"
|
|
57554
|
+
/>
|
|
57555
|
+
}
|
|
57556
|
+
|
|
57557
|
+
<symphiq-floating-back-button
|
|
57558
|
+
[viewMode]="viewMode()"
|
|
57559
|
+
[embedded]="embedded()"
|
|
57560
|
+
/>
|
|
57561
|
+
</div>
|
|
57562
|
+
|
|
57563
|
+
@if (isLoading()) {
|
|
57564
|
+
<div [ngClass]="getLoadingOverlayClasses()">
|
|
57565
|
+
<div [ngClass]="getSpinnerClasses()"></div>
|
|
57566
|
+
</div>
|
|
57567
|
+
}
|
|
57568
|
+
|
|
57569
|
+
<symphiq-tooltip-container />
|
|
57570
|
+
<symphiq-business-analysis-modal
|
|
57571
|
+
[isLightMode]="isLightMode()"
|
|
57572
|
+
(viewInContextRequested)="handleViewInContext($event)" />
|
|
57573
|
+
|
|
57574
|
+
<symphiq-search-modal
|
|
57575
|
+
[isLightMode]="isLightMode()"
|
|
57576
|
+
[isOpen]="searchService.isSearchOpen()"
|
|
57577
|
+
[searchQuery]="searchService.getSearchQuery()"
|
|
57578
|
+
[results]="searchService.searchResults()"
|
|
57579
|
+
[hasResults]="searchService.hasResults()"
|
|
57580
|
+
[selectedIndex]="selectedSearchIndex()"
|
|
57581
|
+
[placeholder]="'Search sections, items, and analysis...'"
|
|
57582
|
+
(searchChange)="onSearchChange($event)"
|
|
57583
|
+
(resultSelected)="onSearchResultSelected($event)"
|
|
57584
|
+
(close)="closeSearch()"
|
|
57585
|
+
/>
|
|
57586
|
+
|
|
57587
|
+
<symphiq-view-mode-switcher-modal
|
|
57588
|
+
[isOpen]="isViewModeSwitcherOpen()"
|
|
57589
|
+
[currentMode]="displayMode()"
|
|
57590
|
+
[viewMode]="viewMode()"
|
|
57591
|
+
[isLoading]="isViewModeSwitching()"
|
|
57592
|
+
(close)="closeViewModeSwitcher()"
|
|
57593
|
+
(modeSelected)="handleDisplayModeChange($event)"
|
|
57594
|
+
/>
|
|
57595
|
+
</div>
|
|
57307
57596
|
`, 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"] }]
|
|
57308
57597
|
}], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], profile: [{ type: i0.Input, args: [{ isSignal: true, alias: "profile", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], onScroll: [{
|
|
57309
57598
|
type: HostListener,
|
|
@@ -57312,7 +57601,7 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
57312
57601
|
type: HostListener,
|
|
57313
57602
|
args: ['document:keydown', ['$event']]
|
|
57314
57603
|
}] }); })();
|
|
57315
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber:
|
|
57604
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 327 }); })();
|
|
57316
57605
|
|
|
57317
57606
|
function DashboardHeaderComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
57318
57607
|
i0.ɵɵelement(0, "div", 6);
|
|
@@ -103072,5 +103361,5 @@ const PROFILE_ANALYSIS_METRIC_SCREEN_PAGE_VIEWS = ({
|
|
|
103072
103361
|
* Generated bundle index. Do not edit.
|
|
103073
103362
|
*/
|
|
103074
103363
|
|
|
103075
|
-
export { AreaChartComponent, BUSINESS_PROFILE, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfidenceLevelCardComponent, CrossDashboardRelationshipsService, FUNNEL_ANALYSIS, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FocusAreaExecutiveSummaryComponent, 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 };
|
|
103364
|
+
export { AreaChartComponent, BUSINESS_PROFILE, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfidenceLevelCardComponent, ContentGenerationProgressComponent, CrossDashboardRelationshipsService, FUNNEL_ANALYSIS, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FocusAreaExecutiveSummaryComponent, 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 };
|
|
103076
103365
|
//# sourceMappingURL=symphiq-components.mjs.map
|