@eric-emg/symphiq-components 1.2.151 → 1.2.152
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 +2539 -1125
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +157 -46
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/styles.css +59 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ViewModeEnum, MetricStatusEnum, TrendDirectionEnum, CompetitiveScoreEnum, ChartTypeEnum, IconSourceEnum, ProfileAnalysisRecommendationPriorityEnum, ProfileItemTypeEnum, PriceVsCompetitorsEnum, DifferentiationStrengthEnum, ThreatLevelEnum, normalizeToV3, MetricEnum,
|
|
1
|
+
import { ViewModeEnum, MetricStatusEnum, TrendDirectionEnum, CompetitiveScoreEnum, ChartTypeEnum, IconSourceEnum, ProfileAnalysisRecommendationPriorityEnum, ProfileItemTypeEnum, PriceVsCompetitorsEnum, DifferentiationStrengthEnum, ThreatLevelEnum, normalizeToV3, MetricEnum, FocusAreaDetailStatusEnum, FocusAreaDomainEnumUtil, FocusAreaDomainEnum, AiDynamicContentStatusEnum, FocusAreaHealthEnum, ProfileAnalysisPriorityEnum, CapabilityStateEnum, QuadrantEnum, AdvantageEnum, OverallGradeEnum, OperationalMaturityEnum, ProfileAnalysisEffortLevelEnum, ProfileAnalysisImpactLevelEnum, ProfileAnalysisTypeEnum, LineChartUseCaseEnum, BarChartUseCaseEnum } from '@jebgem/model';
|
|
2
2
|
export * from '@jebgem/model';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Injectable, signal, computed, input, ChangeDetectionStrategy, Component, output, inject, ElementRef, Renderer2, effect, Directive, HostListener, untracked, ViewChild, PLATFORM_ID, Inject, Input } from '@angular/core';
|
|
@@ -3092,7 +3092,7 @@ class CompetitiveScoreService {
|
|
|
3092
3092
|
}]
|
|
3093
3093
|
}], null, null); })();
|
|
3094
3094
|
|
|
3095
|
-
const _forTrack0$
|
|
3095
|
+
const _forTrack0$N = ($index, $item) => $item.category;
|
|
3096
3096
|
function CompetitivePositioningSummaryComponent_Conditional_1_For_47_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
3097
3097
|
i0.ɵɵelementStart(0, "div", 15);
|
|
3098
3098
|
i0.ɵɵelement(1, "div", 37);
|
|
@@ -3251,7 +3251,7 @@ function CompetitivePositioningSummaryComponent_Conditional_1_Template(rf, ctx)
|
|
|
3251
3251
|
i0.ɵɵelementEnd()();
|
|
3252
3252
|
i0.ɵɵnamespaceHTML();
|
|
3253
3253
|
i0.ɵɵelementStart(43, "div", 24)(44, "div", 25)(45, "div", 26);
|
|
3254
|
-
i0.ɵɵrepeaterCreate(46, CompetitivePositioningSummaryComponent_Conditional_1_For_47_Template, 15, 12, "div", 27, _forTrack0$
|
|
3254
|
+
i0.ɵɵrepeaterCreate(46, CompetitivePositioningSummaryComponent_Conditional_1_For_47_Template, 15, 12, "div", 27, _forTrack0$N);
|
|
3255
3255
|
i0.ɵɵelementEnd()()()();
|
|
3256
3256
|
i0.ɵɵelementStart(48, "div", 28)(49, "button", 29);
|
|
3257
3257
|
i0.ɵɵlistener("click", function CompetitivePositioningSummaryComponent_Conditional_1_Template_button_click_49_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.scrollToCompetitive.emit()); });
|
|
@@ -3460,7 +3460,7 @@ function CompetitivePositioningSummaryComponent_Conditional_2_Template(rf, ctx)
|
|
|
3460
3460
|
i0.ɵɵelementStart(32, "div", 50)(33, "h4", 51);
|
|
3461
3461
|
i0.ɵɵtext(34, "By Funnel Stage");
|
|
3462
3462
|
i0.ɵɵelementEnd();
|
|
3463
|
-
i0.ɵɵrepeaterCreate(35, CompetitivePositioningSummaryComponent_Conditional_2_For_36_Template, 12, 11, "div", 52, _forTrack0$
|
|
3463
|
+
i0.ɵɵrepeaterCreate(35, CompetitivePositioningSummaryComponent_Conditional_2_For_36_Template, 12, 11, "div", 52, _forTrack0$N);
|
|
3464
3464
|
i0.ɵɵelementEnd();
|
|
3465
3465
|
i0.ɵɵelementStart(37, "div", 28)(38, "button", 53);
|
|
3466
3466
|
i0.ɵɵlistener("click", function CompetitivePositioningSummaryComponent_Conditional_2_Template_button_click_38_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.scrollToCompetitive.emit()); });
|
|
@@ -8137,7 +8137,7 @@ class MetricCardComponent {
|
|
|
8137
8137
|
const _c0$$ = () => [1, 2, 3];
|
|
8138
8138
|
const _c1$A = (a0, a1, a2) => [a0, a1, a2];
|
|
8139
8139
|
const _c2$p = (a0, a1) => [a0, a1];
|
|
8140
|
-
const _forTrack0$
|
|
8140
|
+
const _forTrack0$M = ($index, $item) => $item.metric;
|
|
8141
8141
|
const _forTrack1$6 = ($index, $item) => $item.dimensionValue;
|
|
8142
8142
|
function BreakdownSectionComponent_Conditional_0_For_7_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
8143
8143
|
i0.ɵɵelementStart(0, "div", 7);
|
|
@@ -8460,7 +8460,7 @@ function BreakdownSectionComponent_Conditional_1_Template(rf, ctx) { if (rf & 1)
|
|
|
8460
8460
|
i0.ɵɵelementEnd()();
|
|
8461
8461
|
i0.ɵɵconditionalCreate(6, BreakdownSectionComponent_Conditional_1_Conditional_6_Template, 3, 0, "div", 11);
|
|
8462
8462
|
i0.ɵɵelementStart(7, "div", 12);
|
|
8463
|
-
i0.ɵɵrepeaterCreate(8, BreakdownSectionComponent_Conditional_1_For_9_Template, 28, 18, "div", 13, _forTrack0$
|
|
8463
|
+
i0.ɵɵrepeaterCreate(8, BreakdownSectionComponent_Conditional_1_For_9_Template, 28, 18, "div", 13, _forTrack0$M);
|
|
8464
8464
|
i0.ɵɵelementEnd()();
|
|
8465
8465
|
} if (rf & 2) {
|
|
8466
8466
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -11499,7 +11499,7 @@ class ChartCardComponent {
|
|
|
11499
11499
|
}], null, { chart: [{ type: i0.Input, args: [{ isSignal: true, alias: "chart", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], chartClick: [{ type: i0.Output, args: ["chartClick"] }] }); }); })();
|
|
11500
11500
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChartCardComponent, { className: "ChartCardComponent", filePath: "lib/components/shared/chart-card.component.ts", lineNumber: 101 }); })();
|
|
11501
11501
|
|
|
11502
|
-
const _forTrack0$
|
|
11502
|
+
const _forTrack0$L = ($index, $item) => $item.id;
|
|
11503
11503
|
function FunnelStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
11504
11504
|
i0.ɵɵelementStart(0, "div", 1);
|
|
11505
11505
|
i0.ɵɵnamespaceSVG();
|
|
@@ -11613,7 +11613,7 @@ function FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template(r
|
|
|
11613
11613
|
} }
|
|
11614
11614
|
function FunnelStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
11615
11615
|
i0.ɵɵelementStart(0, "div", 2);
|
|
11616
|
-
i0.ɵɵrepeaterCreate(1, FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template, 30, 22, "button", 7, _forTrack0$
|
|
11616
|
+
i0.ɵɵrepeaterCreate(1, FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template, 30, 22, "button", 7, _forTrack0$L);
|
|
11617
11617
|
i0.ɵɵelementEnd();
|
|
11618
11618
|
} if (rf & 2) {
|
|
11619
11619
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -11823,7 +11823,7 @@ class FunnelStrengthsListModalContentComponent {
|
|
|
11823
11823
|
}], null, { strengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "strengths", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: true }] }] }); })();
|
|
11824
11824
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelStrengthsListModalContentComponent, { className: "FunnelStrengthsListModalContentComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-strengths-list-modal-content.component.ts", lineNumber: 93 }); })();
|
|
11825
11825
|
|
|
11826
|
-
const _forTrack0$
|
|
11826
|
+
const _forTrack0$K = ($index, $item) => $item.severity;
|
|
11827
11827
|
const _forTrack1$5 = ($index, $item) => $item.id;
|
|
11828
11828
|
function FunnelWeaknessesListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
11829
11829
|
i0.ɵɵelementStart(0, "div", 1);
|
|
@@ -12002,7 +12002,7 @@ function FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template(
|
|
|
12002
12002
|
} }
|
|
12003
12003
|
function FunnelWeaknessesListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
12004
12004
|
i0.ɵɵelementStart(0, "div", 2);
|
|
12005
|
-
i0.ɵɵrepeaterCreate(1, FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template, 9, 7, "div", null, _forTrack0$
|
|
12005
|
+
i0.ɵɵrepeaterCreate(1, FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template, 9, 7, "div", null, _forTrack0$K);
|
|
12006
12006
|
i0.ɵɵelementEnd();
|
|
12007
12007
|
} if (rf & 2) {
|
|
12008
12008
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -13785,7 +13785,7 @@ class ProfileItemLookupService {
|
|
|
13785
13785
|
}], null, null); })();
|
|
13786
13786
|
|
|
13787
13787
|
const _c0$Y = a0 => ({ name: "chevron-right", source: a0 });
|
|
13788
|
-
const _forTrack0$
|
|
13788
|
+
const _forTrack0$J = ($index, $item) => $item.id;
|
|
13789
13789
|
function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
13790
13790
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
13791
13791
|
i0.ɵɵelementStart(0, "button", 2);
|
|
@@ -13806,7 +13806,7 @@ function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (r
|
|
|
13806
13806
|
} }
|
|
13807
13807
|
function RelatedAreaChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
13808
13808
|
i0.ɵɵelementStart(0, "div", 0);
|
|
13809
|
-
i0.ɵɵrepeaterCreate(1, RelatedAreaChipsComponent_Conditional_0_For_2_Template, 4, 5, "button", 1, _forTrack0$
|
|
13809
|
+
i0.ɵɵrepeaterCreate(1, RelatedAreaChipsComponent_Conditional_0_For_2_Template, 4, 5, "button", 1, _forTrack0$J);
|
|
13810
13810
|
i0.ɵɵelementEnd();
|
|
13811
13811
|
} if (rf & 2) {
|
|
13812
13812
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -14046,7 +14046,7 @@ class CompetitorChipListComponent {
|
|
|
14046
14046
|
}], null, { relatedCompetitorIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "relatedCompetitorIds", required: false }] }], competitors: [{ type: i0.Input, args: [{ isSignal: true, alias: "competitors", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }], inModalContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "inModalContext", required: false }] }] }); })();
|
|
14047
14047
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorChipListComponent, { className: "CompetitorChipListComponent", filePath: "lib/components/business-analysis-dashboard/shared/competitor-chip-list.component.ts", lineNumber: 37 }); })();
|
|
14048
14048
|
|
|
14049
|
-
const _forTrack0$
|
|
14049
|
+
const _forTrack0$I = ($index, $item) => $item.id;
|
|
14050
14050
|
function CompetitorContextSectionComponent_Conditional_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
14051
14051
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
14052
14052
|
i0.ɵɵelementStart(0, "button", 8);
|
|
@@ -14129,7 +14129,7 @@ function CompetitorContextSectionComponent_Conditional_0_Template(rf, ctx) { if
|
|
|
14129
14129
|
i0.ɵɵconditionalCreate(8, CompetitorContextSectionComponent_Conditional_0_Conditional_8_Template, 5, 4, "button", 4);
|
|
14130
14130
|
i0.ɵɵelementEnd();
|
|
14131
14131
|
i0.ɵɵelementStart(9, "div", 5)(10, "div", 6);
|
|
14132
|
-
i0.ɵɵrepeaterCreate(11, CompetitorContextSectionComponent_Conditional_0_For_12_Template, 10, 6, "button", 7, _forTrack0$
|
|
14132
|
+
i0.ɵɵrepeaterCreate(11, CompetitorContextSectionComponent_Conditional_0_For_12_Template, 10, 6, "button", 7, _forTrack0$I);
|
|
14133
14133
|
i0.ɵɵelementEnd()()();
|
|
14134
14134
|
} if (rf & 2) {
|
|
14135
14135
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -14320,7 +14320,7 @@ class CompetitorContextSectionComponent {
|
|
|
14320
14320
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorContextSectionComponent, { className: "CompetitorContextSectionComponent", filePath: "lib/components/business-analysis-dashboard/cards/competitor-context-section.component.ts", lineNumber: 86 }); })();
|
|
14321
14321
|
|
|
14322
14322
|
const _c0$W = a0 => ({ name: "chevron-right", source: a0 });
|
|
14323
|
-
const _forTrack0$
|
|
14323
|
+
const _forTrack0$H = ($index, $item) => $item.id;
|
|
14324
14324
|
function RelatedRecommendationChipsComponent_Conditional_0_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
14325
14325
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
14326
14326
|
i0.ɵɵelementStart(0, "button", 4);
|
|
@@ -14363,7 +14363,7 @@ function RelatedRecommendationChipsComponent_Conditional_0_Conditional_4_Templat
|
|
|
14363
14363
|
} }
|
|
14364
14364
|
function RelatedRecommendationChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
14365
14365
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
14366
|
-
i0.ɵɵrepeaterCreate(2, RelatedRecommendationChipsComponent_Conditional_0_For_3_Template, 5, 6, "button", 2, _forTrack0$
|
|
14366
|
+
i0.ɵɵrepeaterCreate(2, RelatedRecommendationChipsComponent_Conditional_0_For_3_Template, 5, 6, "button", 2, _forTrack0$H);
|
|
14367
14367
|
i0.ɵɵelementEnd();
|
|
14368
14368
|
i0.ɵɵconditionalCreate(4, RelatedRecommendationChipsComponent_Conditional_0_Conditional_4_Template, 5, 4, "button", 3);
|
|
14369
14369
|
i0.ɵɵelementEnd();
|
|
@@ -14820,7 +14820,7 @@ class RelatedFunnelInsightsSectionComponent {
|
|
|
14820
14820
|
}], null, { insightCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "insightCount", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], insightsClicked: [{ type: i0.Output, args: ["insightsClicked"] }] }); })();
|
|
14821
14821
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RelatedFunnelInsightsSectionComponent, { className: "RelatedFunnelInsightsSectionComponent", filePath: "lib/components/business-analysis-dashboard/shared/related-funnel-insights-section.component.ts", lineNumber: 47 }); })();
|
|
14822
14822
|
|
|
14823
|
-
const _forTrack0$
|
|
14823
|
+
const _forTrack0$G = ($index, $item) => $item.order;
|
|
14824
14824
|
function RecommendationCardComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
14825
14825
|
i0.ɵɵelementStart(0, "div", 9);
|
|
14826
14826
|
i0.ɵɵelement(1, "symphiq-icon", 11);
|
|
@@ -15173,7 +15173,7 @@ function RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6
|
|
|
15173
15173
|
} }
|
|
15174
15174
|
function RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
15175
15175
|
i0.ɵɵelementStart(0, "div", 37);
|
|
15176
|
-
i0.ɵɵrepeaterCreate(1, RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_For_2_Template, 13, 9, "div", 41, _forTrack0$
|
|
15176
|
+
i0.ɵɵrepeaterCreate(1, RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_For_2_Template, 13, 9, "div", 41, _forTrack0$G);
|
|
15177
15177
|
i0.ɵɵelementEnd();
|
|
15178
15178
|
} if (rf & 2) {
|
|
15179
15179
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
@@ -16056,7 +16056,7 @@ const ModalComponent_Conditional_0_Conditional_19_Conditional_4_Defer_2_DepsFn =
|
|
|
16056
16056
|
const ModalComponent_Conditional_0_Conditional_19_Conditional_5_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return barChart_component; }).then(m => m.BarChartComponent)];
|
|
16057
16057
|
const ModalComponent_Conditional_0_Conditional_19_Conditional_6_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return pieChart_component; }).then(m => m.PieChartComponent)];
|
|
16058
16058
|
const ModalComponent_Conditional_0_Conditional_19_Conditional_7_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
|
|
16059
|
-
const _forTrack0$
|
|
16059
|
+
const _forTrack0$F = ($index, $item) => $item.id || $index;
|
|
16060
16060
|
function ModalComponent_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
16061
16061
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
16062
16062
|
i0.ɵɵelementStart(0, "button", 13);
|
|
@@ -16430,7 +16430,7 @@ function ModalComponent_Conditional_0_Conditional_22_For_3_Template(rf, ctx) { i
|
|
|
16430
16430
|
function ModalComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
16431
16431
|
i0.ɵɵelementStart(0, "div", 22);
|
|
16432
16432
|
i0.ɵɵconditionalCreate(1, ModalComponent_Conditional_0_Conditional_22_Conditional_1_Template, 2, 2, "p", 55);
|
|
16433
|
-
i0.ɵɵrepeaterCreate(2, ModalComponent_Conditional_0_Conditional_22_For_3_Template, 2, 5, "div", null, _forTrack0$
|
|
16433
|
+
i0.ɵɵrepeaterCreate(2, ModalComponent_Conditional_0_Conditional_22_For_3_Template, 2, 5, "div", null, _forTrack0$F);
|
|
16434
16434
|
i0.ɵɵelementEnd();
|
|
16435
16435
|
} if (rf & 2) {
|
|
16436
16436
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -20667,7 +20667,7 @@ class NarrativeTooltipComponent {
|
|
|
20667
20667
|
}], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }] }); })();
|
|
20668
20668
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NarrativeTooltipComponent, { className: "NarrativeTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/narrative-tooltip.component.ts", lineNumber: 27 }); })();
|
|
20669
20669
|
|
|
20670
|
-
const _forTrack0$
|
|
20670
|
+
const _forTrack0$E = ($index, $item) => $item.name;
|
|
20671
20671
|
function CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
20672
20672
|
i0.ɵɵelementStart(0, "div", 7)(1, "div", 8)(2, "div", 9);
|
|
20673
20673
|
i0.ɵɵelement(3, "div", 10);
|
|
@@ -20711,7 +20711,7 @@ function CompetitiveStatusTooltipComponent_Conditional_6_Template(rf, ctx) { if
|
|
|
20711
20711
|
i0.ɵɵtext(3);
|
|
20712
20712
|
i0.ɵɵelementEnd();
|
|
20713
20713
|
i0.ɵɵelementStart(4, "div", 5);
|
|
20714
|
-
i0.ɵɵrepeaterCreate(5, CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template, 13, 12, "div", 6, _forTrack0$
|
|
20714
|
+
i0.ɵɵrepeaterCreate(5, CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template, 13, 12, "div", 6, _forTrack0$E);
|
|
20715
20715
|
i0.ɵɵelementEnd()();
|
|
20716
20716
|
} if (rf & 2) {
|
|
20717
20717
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -20958,7 +20958,7 @@ class CompetitiveStatusTooltipComponent {
|
|
|
20958
20958
|
}], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }] }); })();
|
|
20959
20959
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveStatusTooltipComponent, { className: "CompetitiveStatusTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/competitive-status-tooltip.component.ts", lineNumber: 60 }); })();
|
|
20960
20960
|
|
|
20961
|
-
const _forTrack0$
|
|
20961
|
+
const _forTrack0$D = ($index, $item) => $item.name;
|
|
20962
20962
|
function FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
20963
20963
|
i0.ɵɵelementStart(0, "div", 9)(1, "div", 10)(2, "span", 11);
|
|
20964
20964
|
i0.ɵɵtext(3);
|
|
@@ -20998,7 +20998,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_8_Template(rf, ctx)
|
|
|
20998
20998
|
i0.ɵɵtext(4);
|
|
20999
20999
|
i0.ɵɵelementEnd()();
|
|
21000
21000
|
i0.ɵɵelementStart(5, "div", 8);
|
|
21001
|
-
i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template, 11, 9, "div", 9, _forTrack0$
|
|
21001
|
+
i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template, 11, 9, "div", 9, _forTrack0$D);
|
|
21002
21002
|
i0.ɵɵelementEnd()();
|
|
21003
21003
|
} if (rf & 2) {
|
|
21004
21004
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -21048,7 +21048,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_9_Template(rf, ctx)
|
|
|
21048
21048
|
i0.ɵɵtext(4);
|
|
21049
21049
|
i0.ɵɵelementEnd()();
|
|
21050
21050
|
i0.ɵɵelementStart(5, "div", 8);
|
|
21051
|
-
i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_9_For_7_Template, 11, 9, "div", 9, _forTrack0$
|
|
21051
|
+
i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_9_For_7_Template, 11, 9, "div", 9, _forTrack0$D);
|
|
21052
21052
|
i0.ɵɵelementEnd()();
|
|
21053
21053
|
} if (rf & 2) {
|
|
21054
21054
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -21098,7 +21098,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_10_Template(rf, ctx)
|
|
|
21098
21098
|
i0.ɵɵtext(4);
|
|
21099
21099
|
i0.ɵɵelementEnd()();
|
|
21100
21100
|
i0.ɵɵelementStart(5, "div", 8);
|
|
21101
|
-
i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_10_For_7_Template, 11, 9, "div", 9, _forTrack0$
|
|
21101
|
+
i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_10_For_7_Template, 11, 9, "div", 9, _forTrack0$D);
|
|
21102
21102
|
i0.ɵɵelementEnd()();
|
|
21103
21103
|
} if (rf & 2) {
|
|
21104
21104
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -22287,7 +22287,7 @@ class MobileFABComponent {
|
|
|
22287
22287
|
}], null, { isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }], expandedChange: [{ type: i0.Output, args: ["expandedChange"] }], scrollToTop: [{ type: i0.Output, args: ["scrollToTop"] }], toggleView: [{ type: i0.Output, args: ["toggleView"] }] }); })();
|
|
22288
22288
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MobileFABComponent, { className: "MobileFABComponent", filePath: "lib/components/funnel-analysis-dashboard/mobile-fab.component.ts", lineNumber: 75 }); })();
|
|
22289
22289
|
|
|
22290
|
-
const _forTrack0$
|
|
22290
|
+
const _forTrack0$C = ($index, $item) => $item.id;
|
|
22291
22291
|
function MobileBottomNavComponent_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
22292
22292
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
22293
22293
|
i0.ɵɵelementStart(0, "button", 3);
|
|
@@ -22345,7 +22345,7 @@ class MobileBottomNavComponent {
|
|
|
22345
22345
|
static { this.ɵfac = function MobileBottomNavComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MobileBottomNavComponent)(); }; }
|
|
22346
22346
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MobileBottomNavComponent, selectors: [["symphiq-mobile-bottom-nav"]], inputs: { isLightMode: [1, "isLightMode"], sections: [1, "sections"], activeSection: [1, "activeSection"] }, outputs: { navigate: "navigate" }, decls: 4, vars: 1, consts: [[1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "lg:hidden", "border-t", "backdrop-blur-md", 3, "ngClass"], [1, "flex", "items-center", "justify-around", "px-2", "py-3"], [1, "flex", "flex-col", "items-center", "gap-1", "px-3", "py-2", "rounded-lg", "transition-all", "duration-200", "active:scale-95", "min-w-[64px]", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "gap-1", "px-3", "py-2", "rounded-lg", "transition-all", "duration-200", "active:scale-95", "min-w-[64px]", 3, "click", "ngClass"], [1, "w-6", "h-6", 3, "innerHTML"], [1, "text-xs", "font-medium"]], template: function MobileBottomNavComponent_Template(rf, ctx) { if (rf & 1) {
|
|
22347
22347
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
22348
|
-
i0.ɵɵrepeaterCreate(2, MobileBottomNavComponent_For_3_Template, 4, 3, "button", 2, _forTrack0$
|
|
22348
|
+
i0.ɵɵrepeaterCreate(2, MobileBottomNavComponent_For_3_Template, 4, 3, "button", 2, _forTrack0$C);
|
|
22349
22349
|
i0.ɵɵelementEnd()();
|
|
22350
22350
|
} if (rf & 2) {
|
|
22351
22351
|
i0.ɵɵproperty("ngClass", ctx.containerClass());
|
|
@@ -22550,7 +22550,7 @@ class SearchService {
|
|
|
22550
22550
|
}], null, null); })();
|
|
22551
22551
|
|
|
22552
22552
|
const _c0$U = ["searchInput"];
|
|
22553
|
-
const _forTrack0$
|
|
22553
|
+
const _forTrack0$B = ($index, $item) => $item.id;
|
|
22554
22554
|
function SearchBarComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
22555
22555
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
22556
22556
|
i0.ɵɵelementStart(0, "button", 18);
|
|
@@ -22643,7 +22643,7 @@ function SearchBarComponent_Conditional_0_Conditional_14_For_2_Template(rf, ctx)
|
|
|
22643
22643
|
} }
|
|
22644
22644
|
function SearchBarComponent_Conditional_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
22645
22645
|
i0.ɵɵelementStart(0, "div", 15);
|
|
22646
|
-
i0.ɵɵrepeaterCreate(1, SearchBarComponent_Conditional_0_Conditional_14_For_2_Template, 16, 12, "button", 19, _forTrack0$
|
|
22646
|
+
i0.ɵɵrepeaterCreate(1, SearchBarComponent_Conditional_0_Conditional_14_For_2_Template, 16, 12, "button", 19, _forTrack0$B);
|
|
22647
22647
|
i0.ɵɵelementEnd();
|
|
22648
22648
|
} if (rf & 2) {
|
|
22649
22649
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -23134,7 +23134,7 @@ class SearchHighlightDirective {
|
|
|
23134
23134
|
}]
|
|
23135
23135
|
}], () => [], { symphiqSearchHighlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "libSymphiqSearchHighlight", required: false }] }], highlightId: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlightId", required: false }] }] }); })();
|
|
23136
23136
|
|
|
23137
|
-
const _forTrack0$
|
|
23137
|
+
const _forTrack0$A = ($index, $item) => $item.value;
|
|
23138
23138
|
const _forTrack1$4 = ($index, $item) => $item.performanceItemId;
|
|
23139
23139
|
function CompetitiveScorecardComponent_For_12_Template(rf, ctx) { if (rf & 1) {
|
|
23140
23140
|
i0.ɵɵelementStart(0, "div", 7);
|
|
@@ -23509,7 +23509,7 @@ class CompetitiveScorecardComponent {
|
|
|
23509
23509
|
i0.ɵɵtext(9);
|
|
23510
23510
|
i0.ɵɵelementEnd()()();
|
|
23511
23511
|
i0.ɵɵelementStart(10, "div", 6);
|
|
23512
|
-
i0.ɵɵrepeaterCreate(11, CompetitiveScorecardComponent_For_12_Template, 4, 7, "div", 7, _forTrack0$
|
|
23512
|
+
i0.ɵɵrepeaterCreate(11, CompetitiveScorecardComponent_For_12_Template, 4, 7, "div", 7, _forTrack0$A);
|
|
23513
23513
|
i0.ɵɵelementEnd();
|
|
23514
23514
|
i0.ɵɵelementStart(13, "div", 8)(14, "table", 9)(15, "thead")(16, "tr", 10)(17, "th", 11);
|
|
23515
23515
|
i0.ɵɵtext(18, "Metric");
|
|
@@ -24144,7 +24144,7 @@ class SectionDividerComponent {
|
|
|
24144
24144
|
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], animationDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDelay", required: false }] }], sectionIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "sectionIcon", required: false }] }], subsections: [{ type: i0.Input, args: [{ isSignal: true, alias: "subsections", required: false }] }] }); })();
|
|
24145
24145
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SectionDividerComponent, { className: "SectionDividerComponent", filePath: "lib/components/shared/section-divider.component.ts", lineNumber: 36 }); })();
|
|
24146
24146
|
|
|
24147
|
-
const _forTrack0$
|
|
24147
|
+
const _forTrack0$z = ($index, $item) => $item.id;
|
|
24148
24148
|
function FloatingTocComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
24149
24149
|
i0.ɵɵnamespaceSVG();
|
|
24150
24150
|
i0.ɵɵelement(0, "path", 8);
|
|
@@ -24196,7 +24196,7 @@ function FloatingTocComponent_For_19_Conditional_7_For_2_Template(rf, ctx) { if
|
|
|
24196
24196
|
} }
|
|
24197
24197
|
function FloatingTocComponent_For_19_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
24198
24198
|
i0.ɵɵelementStart(0, "div", 17);
|
|
24199
|
-
i0.ɵɵrepeaterCreate(1, FloatingTocComponent_For_19_Conditional_7_For_2_Template, 4, 4, "button", 19, _forTrack0$
|
|
24199
|
+
i0.ɵɵrepeaterCreate(1, FloatingTocComponent_For_19_Conditional_7_For_2_Template, 4, 4, "button", 19, _forTrack0$z);
|
|
24200
24200
|
i0.ɵɵelementEnd();
|
|
24201
24201
|
} if (rf & 2) {
|
|
24202
24202
|
const section_r2 = i0.ɵɵnextContext().$implicit;
|
|
@@ -24592,7 +24592,7 @@ class FloatingTocComponent {
|
|
|
24592
24592
|
i0.ɵɵelementEnd()()();
|
|
24593
24593
|
i0.ɵɵnamespaceHTML();
|
|
24594
24594
|
i0.ɵɵelementStart(17, "nav", 9);
|
|
24595
|
-
i0.ɵɵrepeaterCreate(18, FloatingTocComponent_For_19_Template, 8, 6, "div", 10, _forTrack0$
|
|
24595
|
+
i0.ɵɵrepeaterCreate(18, FloatingTocComponent_For_19_Template, 8, 6, "div", 10, _forTrack0$z);
|
|
24596
24596
|
i0.ɵɵelementEnd();
|
|
24597
24597
|
i0.ɵɵelementStart(20, "div", 11)(21, "button", 7);
|
|
24598
24598
|
i0.ɵɵlistener("click", function FloatingTocComponent_Template_button_click_21_listener() { return ctx.scrollToTop(); });
|
|
@@ -24746,7 +24746,7 @@ class FloatingTocComponent {
|
|
|
24746
24746
|
}], null, { sections: [{ type: i0.Input, args: [{ isSignal: true, alias: "sections", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], containerElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "containerElement", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }] }); })();
|
|
24747
24747
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FloatingTocComponent, { className: "FloatingTocComponent", filePath: "lib/components/business-analysis-dashboard/floating-toc.component.ts", lineNumber: 125 }); })();
|
|
24748
24748
|
|
|
24749
|
-
const _forTrack0$
|
|
24749
|
+
const _forTrack0$y = ($index, $item) => $item.id;
|
|
24750
24750
|
function JourneyProgressIndicatorComponent_For_5_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
24751
24751
|
i0.ɵɵnamespaceSVG();
|
|
24752
24752
|
i0.ɵɵelementStart(0, "svg", 22);
|
|
@@ -24982,7 +24982,7 @@ function JourneyProgressIndicatorComponent_Conditional_23_Template(rf, ctx) { if
|
|
|
24982
24982
|
i0.ɵɵtext(2, "Journey Progress");
|
|
24983
24983
|
i0.ɵɵelementEnd();
|
|
24984
24984
|
i0.ɵɵelementStart(3, "div", 44);
|
|
24985
|
-
i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Template, 14, 8, "div", 45, _forTrack0$
|
|
24985
|
+
i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Template, 14, 8, "div", 45, _forTrack0$y);
|
|
24986
24986
|
i0.ɵɵelementEnd()();
|
|
24987
24987
|
} if (rf & 2) {
|
|
24988
24988
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -25203,9 +25203,7 @@ class JourneyProgressIndicatorComponent {
|
|
|
25203
25203
|
}
|
|
25204
25204
|
}
|
|
25205
25205
|
handleStepClick(step, idx) {
|
|
25206
|
-
console.log('Step clicked:', { step, idx, status: step.status });
|
|
25207
25206
|
if (step.status === 'completed' || step.status === 'accessible') {
|
|
25208
|
-
console.log('Emitting stepClick:', idx + 1);
|
|
25209
25207
|
this.stepClick.emit(idx + 1);
|
|
25210
25208
|
}
|
|
25211
25209
|
}
|
|
@@ -25433,7 +25431,7 @@ class JourneyProgressIndicatorComponent {
|
|
|
25433
25431
|
static { this.ɵfac = function JourneyProgressIndicatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JourneyProgressIndicatorComponent)(); }; }
|
|
25434
25432
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JourneyProgressIndicatorComponent, selectors: [["symphiq-journey-progress-indicator"]], inputs: { viewMode: [1, "viewMode"], currentStepId: [1, "currentStepId"], showNextStepAction: [1, "showNextStepAction"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { nextStepClick: "nextStepClick", stepClick: "stepClick" }, decls: 25, vars: 12, consts: [[1, "sticky", "top-[60px]", "z-40", "border-b", "pt-8", "pb-6", "px-6", "transition-all", "duration-200", "overflow-visible", 3, "ngClass"], [1, "max-w-7xl", "mx-auto", "overflow-visible"], [1, "hidden", "lg:flex", "items-start", "justify-between", "overflow-visible"], [1, "flex-1", "flex", "items-start", "justify-start", "overflow-visible"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "disabled", "ngClass", "cursor-pointer", "cursor-not-allowed", "opacity-50", "hover:scale-105"], [1, "lg:hidden"], [1, "flex", "items-center", "justify-between", "gap-4"], [1, "flex-1", "flex", "items-center", "gap-3"], [1, "w-10", "h-10", "min-w-[2.5rem]", "min-h-[2.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5"], [1, "w-3", "h-3", "min-w-[0.75rem]", "min-h-[0.75rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "text-sm", "font-bold", 3, "ngClass"], [1, "flex-1", "text-left"], [1, "flex", "items-center", "gap-1.5", "relative", 3, "mouseenter", "mouseleave", "click"], [1, "text-xs", "cursor-pointer", 3, "ngClass"], [1, "p-0.5", "rounded-full", "cursor-pointer", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["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, "absolute", "top-full", "left-0", "mt-2", "w-80", "max-w-[calc(100vw-2rem)]", "p-4", "rounded-lg", "shadow-xl", "z-50", 3, "ngClass"], ["type", "button", 1, "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "disabled", "ngClass", "cursor-pointer", "cursor-not-allowed", "opacity-50", "hover:scale-105"], [1, "flex", "flex-col", "items-center", "cursor-pointer", "relative", "step-column", "overflow-visible", "flex-shrink-0", 3, "mouseenter", "mouseleave"], [1, "w-8", "h-8", "min-w-[2rem]", "min-h-[2rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", "step-circle", "relative", "z-10", "mb-1.5", 3, "click", "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-4", "h-4"], [1, "w-2.5", "h-2.5", "min-w-[0.625rem]", "min-h-[0.625rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", 3, "ngClass"], [1, "text-xs", "font-bold", 3, "ngClass"], [1, "text-[10px]", "text-center", "leading-tight", "whitespace-nowrap", "max-w-[64px]", "overflow-hidden", "text-ellipsis", 3, "click", "ngClass"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass", "expanded-card-right", "expanded-card-left", "top", "left", "right"], [1, "flex-1", "h-0.5", "transition-all", "duration-200", "mt-[16px]", 3, "ngClass"], ["fill-rule", "evenodd", "d", "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", "clip-rule", "evenodd"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass"], [1, "flex", "items-start", "px-4", "py-3", "expanded-content"], [1, "flex", "items-start", "gap-2", "w-full"], [1, "text-xs", "font-bold", "flex-shrink-0", "mt-0.5", 3, "ngClass"], [1, "flex", "flex-col", "gap-1", "flex-1"], [1, "text-sm", "font-bold", "leading-tight", 3, "ngClass"], [1, "text-xs", "leading-relaxed", "description-fade", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "animate-spin"], ["cx", "12", "cy", "12", "r", "10", "stroke", "currentColor", "stroke-width", "4", 1, "opacity-25"], ["fill", "currentColor", "d", "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z", 1, "opacity-75"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "text-sm", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2"], [1, "w-6", "h-6", "min-w-[1.5rem]", "min-h-[1.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-3", "h-3"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-1.5", "h-1.5", "min-w-[0.375rem]", "min-h-[0.375rem]", "rounded-full", 3, "ngClass"], [1, "text-[10px]", "font-bold", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-2"], [1, "text-xs", "font-medium", 3, "ngClass"], [1, "text-[10px]", "mt-0.5", 3, "ngClass"], ["type", "button", 1, "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5", "animate-spin"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"]], template: function JourneyProgressIndicatorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
25435
25433
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
25436
|
-
i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_For_5_Template, 10, 12, null, null, _forTrack0$
|
|
25434
|
+
i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_For_5_Template, 10, 12, null, null, _forTrack0$y);
|
|
25437
25435
|
i0.ɵɵelementEnd();
|
|
25438
25436
|
i0.ɵɵconditionalCreate(6, JourneyProgressIndicatorComponent_Conditional_6_Template, 3, 11, "button", 4);
|
|
25439
25437
|
i0.ɵɵelementEnd();
|
|
@@ -25485,228 +25483,228 @@ class JourneyProgressIndicatorComponent {
|
|
|
25485
25483
|
}
|
|
25486
25484
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JourneyProgressIndicatorComponent, [{
|
|
25487
25485
|
type: Component,
|
|
25488
|
-
args: [{ selector: 'symphiq-journey-progress-indicator', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
25489
|
-
<!-- Sticky Banner Container with Minimal Padding for Glow Effects -->
|
|
25490
|
-
<div [ngClass]="containerClasses()" class="sticky top-[60px] z-40 border-b pt-8 pb-6 px-6 transition-all duration-200 overflow-visible">
|
|
25491
|
-
<div class="max-w-7xl mx-auto overflow-visible">
|
|
25492
|
-
<!-- Desktop/Tablet Horizontal Layout (lg and up) -->
|
|
25493
|
-
<div class="hidden lg:flex items-start justify-between overflow-visible">
|
|
25494
|
-
<!-- Steps Container -->
|
|
25495
|
-
<div class="flex-1 flex items-start justify-start overflow-visible">
|
|
25496
|
-
@for (step of steps(); track step.id; let idx = $index; let isLast = $last) {
|
|
25497
|
-
<!-- Step Column (Vertical Layout: Dot above, Label below) -->
|
|
25498
|
-
<div
|
|
25499
|
-
class="flex flex-col items-center cursor-pointer relative step-column overflow-visible flex-shrink-0"
|
|
25500
|
-
[style.width]="'64px'"
|
|
25501
|
-
(mouseenter)="setHoveredStep(idx)"
|
|
25502
|
-
(mouseleave)="clearHoveredStep()">
|
|
25503
|
-
|
|
25504
|
-
<!-- Icon Circle -->
|
|
25505
|
-
<div
|
|
25506
|
-
[ngClass]="getStepIconContainerClasses(step)"
|
|
25507
|
-
class="w-8 h-8 min-w-[2rem] min-h-[2rem] rounded-full flex items-center justify-center flex-shrink-0 step-circle relative z-10 mb-1.5"
|
|
25508
|
-
(click)="handleStepClick(step, idx)"
|
|
25509
|
-
[class.cursor-pointer]="step.status === 'completed' || step.status === 'accessible'">
|
|
25510
|
-
@if (step.status === 'completed') {
|
|
25511
|
-
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
|
|
25512
|
-
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
25513
|
-
</svg>
|
|
25514
|
-
} @else if (step.status === 'current') {
|
|
25515
|
-
<div class="w-2.5 h-2.5 min-w-[0.625rem] min-h-[0.625rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
|
|
25516
|
-
} @else if (step.status === 'accessible') {
|
|
25517
|
-
<div class="w-2 h-2 min-w-[0.5rem] min-h-[0.5rem] rounded-full" [ngClass]="getAccessibleDotClasses()"></div>
|
|
25518
|
-
} @else {
|
|
25519
|
-
<span [ngClass]="getStepNumberClasses(step)" class="text-xs font-bold">
|
|
25520
|
-
{{ idx + 1 }}
|
|
25521
|
-
</span>
|
|
25522
|
-
}
|
|
25523
|
-
</div>
|
|
25524
|
-
|
|
25525
|
-
<!-- Abbreviated Title (Always Visible) -->
|
|
25526
|
-
<span
|
|
25527
|
-
[ngClass]="getAbbreviatedTitleClasses(step)"
|
|
25528
|
-
class="text-[10px] text-center leading-tight whitespace-nowrap max-w-[64px] overflow-hidden text-ellipsis"
|
|
25529
|
-
(click)="handleStepClick(step, idx)"
|
|
25530
|
-
[class.cursor-pointer]="step.status === 'completed' || step.status === 'accessible'">
|
|
25531
|
-
{{ getAbbreviatedTitle(step.title) }}
|
|
25532
|
-
</span>
|
|
25533
|
-
|
|
25534
|
-
<!-- Absolute Positioned Tooltip -->
|
|
25535
|
-
@if (hoveredStepIndex() === idx) {
|
|
25536
|
-
<div
|
|
25537
|
-
[ngClass]="getExpandedCardClasses(idx)"
|
|
25538
|
-
[class.expanded-card-right]="isExpandRight(idx)"
|
|
25539
|
-
[class.expanded-card-left]="isExpandLeft(idx)"
|
|
25540
|
-
class="absolute rounded-lg shadow-2xl z-50 pointer-events-none"
|
|
25541
|
-
[style.top]="'-29px'"
|
|
25542
|
-
[style.left]="isExpandRight(idx) ? 'calc(100% + 6px)' : 'auto'"
|
|
25543
|
-
[style.right]="isExpandLeft(idx) ? 'calc(100% + 6px)' : 'auto'">
|
|
25544
|
-
<div class="flex items-start px-4 py-3 expanded-content">
|
|
25545
|
-
<!-- Step Number and Title with Description -->
|
|
25546
|
-
<div class="flex items-start gap-2 w-full">
|
|
25547
|
-
<span [ngClass]="tooltipStepNumberClasses()" class="text-xs font-bold flex-shrink-0 mt-0.5">{{ idx + 1 }}.</span>
|
|
25548
|
-
<div class="flex flex-col gap-1 flex-1">
|
|
25549
|
-
<span [ngClass]="tooltipTitleClasses()" class="text-sm font-bold leading-tight">{{ step.title }}</span>
|
|
25550
|
-
<!-- Description (Delayed Fade In) -->
|
|
25551
|
-
@if (shouldShowDetailedTooltip()) {
|
|
25552
|
-
<p [ngClass]="tooltipDescriptionClasses()" class="text-xs leading-relaxed description-fade">
|
|
25553
|
-
{{ step.description }}
|
|
25554
|
-
</p>
|
|
25555
|
-
}
|
|
25556
|
-
</div>
|
|
25557
|
-
</div>
|
|
25558
|
-
</div>
|
|
25559
|
-
</div>
|
|
25560
|
-
}
|
|
25561
|
-
</div>
|
|
25562
|
-
|
|
25563
|
-
<!-- Connector Line (Horizontal, stretches to fill available space) -->
|
|
25564
|
-
@if (!isLast) {
|
|
25565
|
-
<div [ngClass]="getConnectorClasses(step)" class="flex-1 h-0.5 transition-all duration-200 mt-[16px]"></div>
|
|
25566
|
-
}
|
|
25567
|
-
}
|
|
25568
|
-
</div>
|
|
25569
|
-
|
|
25570
|
-
<!-- Next Step Button -->
|
|
25571
|
-
@if (showNextStepAction() && getNextStep()) {
|
|
25572
|
-
<button
|
|
25573
|
-
type="button"
|
|
25574
|
-
(click)="handleNextStepClick()"
|
|
25575
|
-
[disabled]="isLoading()"
|
|
25576
|
-
[ngClass]="nextStepButtonClasses()"
|
|
25577
|
-
class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 flex-shrink-0 flex items-center gap-2 whitespace-nowrap ml-4 mt-0"
|
|
25578
|
-
[class.cursor-pointer]="!isLoading()"
|
|
25579
|
-
[class.cursor-not-allowed]="isLoading()"
|
|
25580
|
-
[class.opacity-50]="isLoading()"
|
|
25581
|
-
[class.hover:scale-105]="!isLoading()">
|
|
25582
|
-
@if (isLoading()) {
|
|
25583
|
-
<svg class="w-4 h-4 animate-spin" fill="none" viewBox="0 0 24 24">
|
|
25584
|
-
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
|
25585
|
-
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
|
25586
|
-
</svg>
|
|
25587
|
-
Loading...
|
|
25588
|
-
} @else {
|
|
25589
|
-
{{ currentStepId() === JourneyStepIdEnum.WELCOME ? 'Get Started' : 'Continue' }}
|
|
25590
|
-
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
25591
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
|
|
25592
|
-
</svg>
|
|
25593
|
-
}
|
|
25594
|
-
</button>
|
|
25595
|
-
}
|
|
25596
|
-
</div>
|
|
25597
|
-
|
|
25598
|
-
<!-- Mobile Navigation (below lg) -->
|
|
25599
|
-
<div class="lg:hidden">
|
|
25600
|
-
<div class="flex items-center justify-between gap-4">
|
|
25601
|
-
<!-- Current Step Display -->
|
|
25602
|
-
<div class="flex-1 flex items-center gap-3">
|
|
25603
|
-
<!-- Step Icon -->
|
|
25604
|
-
<div [ngClass]="getStepIconContainerClasses(getCurrentStep())" class="w-10 h-10 min-w-[2.5rem] min-h-[2.5rem] rounded-full flex items-center justify-center flex-shrink-0">
|
|
25605
|
-
@if (getCurrentStep().status === 'completed') {
|
|
25606
|
-
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
|
25607
|
-
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
25608
|
-
</svg>
|
|
25609
|
-
} @else if (getCurrentStep().status === 'current') {
|
|
25610
|
-
<div class="w-3 h-3 min-w-[0.75rem] min-h-[0.75rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
|
|
25611
|
-
} @else {
|
|
25612
|
-
<span [ngClass]="getStepNumberClasses(getCurrentStep())" class="text-sm font-bold">
|
|
25613
|
-
{{ getCurrentStepIndex() + 1 }}
|
|
25614
|
-
</span>
|
|
25615
|
-
}
|
|
25616
|
-
</div>
|
|
25617
|
-
|
|
25618
|
-
<!-- Step Info -->
|
|
25619
|
-
<div class="flex-1 text-left">
|
|
25620
|
-
<h3 [ngClass]="getStepTitleClasses(getCurrentStep())" class="text-sm font-bold">
|
|
25621
|
-
{{ getCurrentStep().title }}
|
|
25622
|
-
</h3>
|
|
25623
|
-
<!-- Step Counter with Tooltip Trigger -->
|
|
25624
|
-
<div
|
|
25625
|
-
class="flex items-center gap-1.5 relative"
|
|
25626
|
-
(mouseenter)="showMobileTooltip.set(true)"
|
|
25627
|
-
(mouseleave)="showMobileTooltip.set(false)"
|
|
25628
|
-
(click)="toggleMobileTooltip()">
|
|
25629
|
-
<span [ngClass]="stepCounterClasses()" class="text-xs cursor-pointer">
|
|
25630
|
-
Step {{ getCurrentStepIndex() + 1 }} of {{ steps().length }}
|
|
25631
|
-
</span>
|
|
25632
|
-
<div [ngClass]="tooltipTriggerClasses()" class="p-0.5 rounded-full cursor-pointer">
|
|
25633
|
-
<svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
25634
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
25635
|
-
</svg>
|
|
25636
|
-
</div>
|
|
25637
|
-
|
|
25638
|
-
<!-- Mobile Tooltip with All Steps -->
|
|
25639
|
-
@if (showMobileTooltip()) {
|
|
25640
|
-
<div [ngClass]="mobileTooltipClasses()" class="absolute top-full left-0 mt-2 w-80 max-w-[calc(100vw-2rem)] p-4 rounded-lg shadow-xl z-50">
|
|
25641
|
-
<h4 [ngClass]="tooltipTitleClasses()" class="text-sm font-bold mb-3">Journey Progress</h4>
|
|
25642
|
-
<div class="space-y-2">
|
|
25643
|
-
@for (step of steps(); track step.id; let idx = $index) {
|
|
25644
|
-
<div class="flex items-start gap-2">
|
|
25645
|
-
<!-- Step Icon -->
|
|
25646
|
-
<div [ngClass]="getStepIconContainerClasses(step)" class="w-6 h-6 min-w-[1.5rem] min-h-[1.5rem] rounded-full flex items-center justify-center flex-shrink-0">
|
|
25647
|
-
@if (step.status === 'completed') {
|
|
25648
|
-
<svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20">
|
|
25649
|
-
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
25650
|
-
</svg>
|
|
25651
|
-
} @else if (step.status === 'current') {
|
|
25652
|
-
<div class="w-2 h-2 min-w-[0.5rem] min-h-[0.5rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
|
|
25653
|
-
} @else if (step.status === 'accessible') {
|
|
25654
|
-
<div class="w-1.5 h-1.5 min-w-[0.375rem] min-h-[0.375rem] rounded-full" [ngClass]="getAccessibleDotClasses()"></div>
|
|
25655
|
-
} @else {
|
|
25656
|
-
<span [ngClass]="getStepNumberClasses(step)" class="text-[10px] font-bold">
|
|
25657
|
-
{{ idx + 1 }}
|
|
25658
|
-
</span>
|
|
25659
|
-
}
|
|
25660
|
-
</div>
|
|
25661
|
-
<!-- Step Info -->
|
|
25662
|
-
<div class="flex-1 min-w-0">
|
|
25663
|
-
<div class="flex items-center gap-2">
|
|
25664
|
-
<span [ngClass]="tooltipStepNumberClasses()" class="text-xs font-bold">{{ idx + 1 }}.</span>
|
|
25665
|
-
<span [ngClass]="getStepTitleClasses(step)" class="text-xs font-medium">{{ step.title }}</span>
|
|
25666
|
-
</div>
|
|
25667
|
-
<p [ngClass]="tooltipDescriptionClasses()" class="text-[10px] mt-0.5">
|
|
25668
|
-
{{ step.description }}
|
|
25669
|
-
</p>
|
|
25670
|
-
</div>
|
|
25671
|
-
</div>
|
|
25672
|
-
}
|
|
25673
|
-
</div>
|
|
25674
|
-
</div>
|
|
25675
|
-
}
|
|
25676
|
-
</div>
|
|
25677
|
-
</div>
|
|
25678
|
-
</div>
|
|
25679
|
-
|
|
25680
|
-
<!-- Get Started Button -->
|
|
25681
|
-
@if (showNextStepAction() && getNextStep() && getCurrentStep().status === 'current') {
|
|
25682
|
-
<button
|
|
25683
|
-
type="button"
|
|
25684
|
-
(click)="handleNextStepClick()"
|
|
25685
|
-
[disabled]="isLoading()"
|
|
25686
|
-
[ngClass]="nextStepButtonClasses()"
|
|
25687
|
-
class="px-3 py-1.5 rounded-lg font-medium text-xs transition-all duration-200 flex-shrink-0 flex items-center gap-1.5 whitespace-nowrap"
|
|
25688
|
-
[class.cursor-pointer]="!isLoading()"
|
|
25689
|
-
[class.cursor-not-allowed]="isLoading()"
|
|
25690
|
-
[class.opacity-50]="isLoading()"
|
|
25691
|
-
[class.hover:scale-105]="!isLoading()">
|
|
25692
|
-
@if (isLoading()) {
|
|
25693
|
-
<svg class="w-3.5 h-3.5 animate-spin" fill="none" viewBox="0 0 24 24">
|
|
25694
|
-
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
|
25695
|
-
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
|
25696
|
-
</svg>
|
|
25697
|
-
Loading...
|
|
25698
|
-
} @else {
|
|
25699
|
-
{{ currentStepId() === JourneyStepIdEnum.WELCOME ? 'Get Started' : 'Continue' }}
|
|
25700
|
-
<svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
25701
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
|
|
25702
|
-
</svg>
|
|
25703
|
-
}
|
|
25704
|
-
</button>
|
|
25705
|
-
}
|
|
25706
|
-
</div>
|
|
25707
|
-
</div>
|
|
25708
|
-
</div>
|
|
25709
|
-
</div>
|
|
25486
|
+
args: [{ selector: 'symphiq-journey-progress-indicator', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
25487
|
+
<!-- Sticky Banner Container with Minimal Padding for Glow Effects -->
|
|
25488
|
+
<div [ngClass]="containerClasses()" class="sticky top-[60px] z-40 border-b pt-8 pb-6 px-6 transition-all duration-200 overflow-visible">
|
|
25489
|
+
<div class="max-w-7xl mx-auto overflow-visible">
|
|
25490
|
+
<!-- Desktop/Tablet Horizontal Layout (lg and up) -->
|
|
25491
|
+
<div class="hidden lg:flex items-start justify-between overflow-visible">
|
|
25492
|
+
<!-- Steps Container -->
|
|
25493
|
+
<div class="flex-1 flex items-start justify-start overflow-visible">
|
|
25494
|
+
@for (step of steps(); track step.id; let idx = $index; let isLast = $last) {
|
|
25495
|
+
<!-- Step Column (Vertical Layout: Dot above, Label below) -->
|
|
25496
|
+
<div
|
|
25497
|
+
class="flex flex-col items-center cursor-pointer relative step-column overflow-visible flex-shrink-0"
|
|
25498
|
+
[style.width]="'64px'"
|
|
25499
|
+
(mouseenter)="setHoveredStep(idx)"
|
|
25500
|
+
(mouseleave)="clearHoveredStep()">
|
|
25501
|
+
|
|
25502
|
+
<!-- Icon Circle -->
|
|
25503
|
+
<div
|
|
25504
|
+
[ngClass]="getStepIconContainerClasses(step)"
|
|
25505
|
+
class="w-8 h-8 min-w-[2rem] min-h-[2rem] rounded-full flex items-center justify-center flex-shrink-0 step-circle relative z-10 mb-1.5"
|
|
25506
|
+
(click)="handleStepClick(step, idx)"
|
|
25507
|
+
[class.cursor-pointer]="step.status === 'completed' || step.status === 'accessible'">
|
|
25508
|
+
@if (step.status === 'completed') {
|
|
25509
|
+
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
|
|
25510
|
+
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
25511
|
+
</svg>
|
|
25512
|
+
} @else if (step.status === 'current') {
|
|
25513
|
+
<div class="w-2.5 h-2.5 min-w-[0.625rem] min-h-[0.625rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
|
|
25514
|
+
} @else if (step.status === 'accessible') {
|
|
25515
|
+
<div class="w-2 h-2 min-w-[0.5rem] min-h-[0.5rem] rounded-full" [ngClass]="getAccessibleDotClasses()"></div>
|
|
25516
|
+
} @else {
|
|
25517
|
+
<span [ngClass]="getStepNumberClasses(step)" class="text-xs font-bold">
|
|
25518
|
+
{{ idx + 1 }}
|
|
25519
|
+
</span>
|
|
25520
|
+
}
|
|
25521
|
+
</div>
|
|
25522
|
+
|
|
25523
|
+
<!-- Abbreviated Title (Always Visible) -->
|
|
25524
|
+
<span
|
|
25525
|
+
[ngClass]="getAbbreviatedTitleClasses(step)"
|
|
25526
|
+
class="text-[10px] text-center leading-tight whitespace-nowrap max-w-[64px] overflow-hidden text-ellipsis"
|
|
25527
|
+
(click)="handleStepClick(step, idx)"
|
|
25528
|
+
[class.cursor-pointer]="step.status === 'completed' || step.status === 'accessible'">
|
|
25529
|
+
{{ getAbbreviatedTitle(step.title) }}
|
|
25530
|
+
</span>
|
|
25531
|
+
|
|
25532
|
+
<!-- Absolute Positioned Tooltip -->
|
|
25533
|
+
@if (hoveredStepIndex() === idx) {
|
|
25534
|
+
<div
|
|
25535
|
+
[ngClass]="getExpandedCardClasses(idx)"
|
|
25536
|
+
[class.expanded-card-right]="isExpandRight(idx)"
|
|
25537
|
+
[class.expanded-card-left]="isExpandLeft(idx)"
|
|
25538
|
+
class="absolute rounded-lg shadow-2xl z-50 pointer-events-none"
|
|
25539
|
+
[style.top]="'-29px'"
|
|
25540
|
+
[style.left]="isExpandRight(idx) ? 'calc(100% + 6px)' : 'auto'"
|
|
25541
|
+
[style.right]="isExpandLeft(idx) ? 'calc(100% + 6px)' : 'auto'">
|
|
25542
|
+
<div class="flex items-start px-4 py-3 expanded-content">
|
|
25543
|
+
<!-- Step Number and Title with Description -->
|
|
25544
|
+
<div class="flex items-start gap-2 w-full">
|
|
25545
|
+
<span [ngClass]="tooltipStepNumberClasses()" class="text-xs font-bold flex-shrink-0 mt-0.5">{{ idx + 1 }}.</span>
|
|
25546
|
+
<div class="flex flex-col gap-1 flex-1">
|
|
25547
|
+
<span [ngClass]="tooltipTitleClasses()" class="text-sm font-bold leading-tight">{{ step.title }}</span>
|
|
25548
|
+
<!-- Description (Delayed Fade In) -->
|
|
25549
|
+
@if (shouldShowDetailedTooltip()) {
|
|
25550
|
+
<p [ngClass]="tooltipDescriptionClasses()" class="text-xs leading-relaxed description-fade">
|
|
25551
|
+
{{ step.description }}
|
|
25552
|
+
</p>
|
|
25553
|
+
}
|
|
25554
|
+
</div>
|
|
25555
|
+
</div>
|
|
25556
|
+
</div>
|
|
25557
|
+
</div>
|
|
25558
|
+
}
|
|
25559
|
+
</div>
|
|
25560
|
+
|
|
25561
|
+
<!-- Connector Line (Horizontal, stretches to fill available space) -->
|
|
25562
|
+
@if (!isLast) {
|
|
25563
|
+
<div [ngClass]="getConnectorClasses(step)" class="flex-1 h-0.5 transition-all duration-200 mt-[16px]"></div>
|
|
25564
|
+
}
|
|
25565
|
+
}
|
|
25566
|
+
</div>
|
|
25567
|
+
|
|
25568
|
+
<!-- Next Step Button -->
|
|
25569
|
+
@if (showNextStepAction() && getNextStep()) {
|
|
25570
|
+
<button
|
|
25571
|
+
type="button"
|
|
25572
|
+
(click)="handleNextStepClick()"
|
|
25573
|
+
[disabled]="isLoading()"
|
|
25574
|
+
[ngClass]="nextStepButtonClasses()"
|
|
25575
|
+
class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 flex-shrink-0 flex items-center gap-2 whitespace-nowrap ml-4 mt-0"
|
|
25576
|
+
[class.cursor-pointer]="!isLoading()"
|
|
25577
|
+
[class.cursor-not-allowed]="isLoading()"
|
|
25578
|
+
[class.opacity-50]="isLoading()"
|
|
25579
|
+
[class.hover:scale-105]="!isLoading()">
|
|
25580
|
+
@if (isLoading()) {
|
|
25581
|
+
<svg class="w-4 h-4 animate-spin" fill="none" viewBox="0 0 24 24">
|
|
25582
|
+
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
|
25583
|
+
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
|
25584
|
+
</svg>
|
|
25585
|
+
Loading...
|
|
25586
|
+
} @else {
|
|
25587
|
+
{{ currentStepId() === JourneyStepIdEnum.WELCOME ? 'Get Started' : 'Continue' }}
|
|
25588
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
25589
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
|
|
25590
|
+
</svg>
|
|
25591
|
+
}
|
|
25592
|
+
</button>
|
|
25593
|
+
}
|
|
25594
|
+
</div>
|
|
25595
|
+
|
|
25596
|
+
<!-- Mobile Navigation (below lg) -->
|
|
25597
|
+
<div class="lg:hidden">
|
|
25598
|
+
<div class="flex items-center justify-between gap-4">
|
|
25599
|
+
<!-- Current Step Display -->
|
|
25600
|
+
<div class="flex-1 flex items-center gap-3">
|
|
25601
|
+
<!-- Step Icon -->
|
|
25602
|
+
<div [ngClass]="getStepIconContainerClasses(getCurrentStep())" class="w-10 h-10 min-w-[2.5rem] min-h-[2.5rem] rounded-full flex items-center justify-center flex-shrink-0">
|
|
25603
|
+
@if (getCurrentStep().status === 'completed') {
|
|
25604
|
+
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
|
25605
|
+
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
25606
|
+
</svg>
|
|
25607
|
+
} @else if (getCurrentStep().status === 'current') {
|
|
25608
|
+
<div class="w-3 h-3 min-w-[0.75rem] min-h-[0.75rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
|
|
25609
|
+
} @else {
|
|
25610
|
+
<span [ngClass]="getStepNumberClasses(getCurrentStep())" class="text-sm font-bold">
|
|
25611
|
+
{{ getCurrentStepIndex() + 1 }}
|
|
25612
|
+
</span>
|
|
25613
|
+
}
|
|
25614
|
+
</div>
|
|
25615
|
+
|
|
25616
|
+
<!-- Step Info -->
|
|
25617
|
+
<div class="flex-1 text-left">
|
|
25618
|
+
<h3 [ngClass]="getStepTitleClasses(getCurrentStep())" class="text-sm font-bold">
|
|
25619
|
+
{{ getCurrentStep().title }}
|
|
25620
|
+
</h3>
|
|
25621
|
+
<!-- Step Counter with Tooltip Trigger -->
|
|
25622
|
+
<div
|
|
25623
|
+
class="flex items-center gap-1.5 relative"
|
|
25624
|
+
(mouseenter)="showMobileTooltip.set(true)"
|
|
25625
|
+
(mouseleave)="showMobileTooltip.set(false)"
|
|
25626
|
+
(click)="toggleMobileTooltip()">
|
|
25627
|
+
<span [ngClass]="stepCounterClasses()" class="text-xs cursor-pointer">
|
|
25628
|
+
Step {{ getCurrentStepIndex() + 1 }} of {{ steps().length }}
|
|
25629
|
+
</span>
|
|
25630
|
+
<div [ngClass]="tooltipTriggerClasses()" class="p-0.5 rounded-full cursor-pointer">
|
|
25631
|
+
<svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
25632
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
25633
|
+
</svg>
|
|
25634
|
+
</div>
|
|
25635
|
+
|
|
25636
|
+
<!-- Mobile Tooltip with All Steps -->
|
|
25637
|
+
@if (showMobileTooltip()) {
|
|
25638
|
+
<div [ngClass]="mobileTooltipClasses()" class="absolute top-full left-0 mt-2 w-80 max-w-[calc(100vw-2rem)] p-4 rounded-lg shadow-xl z-50">
|
|
25639
|
+
<h4 [ngClass]="tooltipTitleClasses()" class="text-sm font-bold mb-3">Journey Progress</h4>
|
|
25640
|
+
<div class="space-y-2">
|
|
25641
|
+
@for (step of steps(); track step.id; let idx = $index) {
|
|
25642
|
+
<div class="flex items-start gap-2">
|
|
25643
|
+
<!-- Step Icon -->
|
|
25644
|
+
<div [ngClass]="getStepIconContainerClasses(step)" class="w-6 h-6 min-w-[1.5rem] min-h-[1.5rem] rounded-full flex items-center justify-center flex-shrink-0">
|
|
25645
|
+
@if (step.status === 'completed') {
|
|
25646
|
+
<svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20">
|
|
25647
|
+
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
25648
|
+
</svg>
|
|
25649
|
+
} @else if (step.status === 'current') {
|
|
25650
|
+
<div class="w-2 h-2 min-w-[0.5rem] min-h-[0.5rem] rounded-full animate-pulse" [ngClass]="getCurrentDotClasses()"></div>
|
|
25651
|
+
} @else if (step.status === 'accessible') {
|
|
25652
|
+
<div class="w-1.5 h-1.5 min-w-[0.375rem] min-h-[0.375rem] rounded-full" [ngClass]="getAccessibleDotClasses()"></div>
|
|
25653
|
+
} @else {
|
|
25654
|
+
<span [ngClass]="getStepNumberClasses(step)" class="text-[10px] font-bold">
|
|
25655
|
+
{{ idx + 1 }}
|
|
25656
|
+
</span>
|
|
25657
|
+
}
|
|
25658
|
+
</div>
|
|
25659
|
+
<!-- Step Info -->
|
|
25660
|
+
<div class="flex-1 min-w-0">
|
|
25661
|
+
<div class="flex items-center gap-2">
|
|
25662
|
+
<span [ngClass]="tooltipStepNumberClasses()" class="text-xs font-bold">{{ idx + 1 }}.</span>
|
|
25663
|
+
<span [ngClass]="getStepTitleClasses(step)" class="text-xs font-medium">{{ step.title }}</span>
|
|
25664
|
+
</div>
|
|
25665
|
+
<p [ngClass]="tooltipDescriptionClasses()" class="text-[10px] mt-0.5">
|
|
25666
|
+
{{ step.description }}
|
|
25667
|
+
</p>
|
|
25668
|
+
</div>
|
|
25669
|
+
</div>
|
|
25670
|
+
}
|
|
25671
|
+
</div>
|
|
25672
|
+
</div>
|
|
25673
|
+
}
|
|
25674
|
+
</div>
|
|
25675
|
+
</div>
|
|
25676
|
+
</div>
|
|
25677
|
+
|
|
25678
|
+
<!-- Get Started Button -->
|
|
25679
|
+
@if (showNextStepAction() && getNextStep() && getCurrentStep().status === 'current') {
|
|
25680
|
+
<button
|
|
25681
|
+
type="button"
|
|
25682
|
+
(click)="handleNextStepClick()"
|
|
25683
|
+
[disabled]="isLoading()"
|
|
25684
|
+
[ngClass]="nextStepButtonClasses()"
|
|
25685
|
+
class="px-3 py-1.5 rounded-lg font-medium text-xs transition-all duration-200 flex-shrink-0 flex items-center gap-1.5 whitespace-nowrap"
|
|
25686
|
+
[class.cursor-pointer]="!isLoading()"
|
|
25687
|
+
[class.cursor-not-allowed]="isLoading()"
|
|
25688
|
+
[class.opacity-50]="isLoading()"
|
|
25689
|
+
[class.hover:scale-105]="!isLoading()">
|
|
25690
|
+
@if (isLoading()) {
|
|
25691
|
+
<svg class="w-3.5 h-3.5 animate-spin" fill="none" viewBox="0 0 24 24">
|
|
25692
|
+
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
|
25693
|
+
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
|
25694
|
+
</svg>
|
|
25695
|
+
Loading...
|
|
25696
|
+
} @else {
|
|
25697
|
+
{{ currentStepId() === JourneyStepIdEnum.WELCOME ? 'Get Started' : 'Continue' }}
|
|
25698
|
+
<svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
25699
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
|
|
25700
|
+
</svg>
|
|
25701
|
+
}
|
|
25702
|
+
</button>
|
|
25703
|
+
}
|
|
25704
|
+
</div>
|
|
25705
|
+
</div>
|
|
25706
|
+
</div>
|
|
25707
|
+
</div>
|
|
25710
25708
|
`, styles: [".scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.step-glow-current{box-shadow:0 0 0 3px #3b82f64d;animation:pulseGlow 2s ease-in-out infinite}.step-glow-current-dark{box-shadow:0 0 0 3px #60a5fa4d;animation:pulseGlow 2s ease-in-out infinite}.step-glow-completed{box-shadow:0 0 0 2px #10b98133}.step-glow-completed-dark{box-shadow:0 0 0 2px #34d39933}.step-glow-accessible{box-shadow:0 0 0 2px #3b82f61f}.step-glow-accessible-dark{box-shadow:0 0 0 2px #60a5fa26}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 3px #3b82f64d}50%{box-shadow:0 0 0 6px #3b82f61a}}.step-column{transition:all .2s cubic-bezier(.4,0,.2,1)}.step-circle{transition:all .15s cubic-bezier(.4,0,.2,1)}.step-column:hover .step-circle{transform:scale(1.05)}.expanded-card-right{animation:expandCardRight .2s cubic-bezier(.4,0,.2,1) forwards;transform-origin:left center}.expanded-card-left{animation:expandCardLeft .2s cubic-bezier(.4,0,.2,1) forwards;transform-origin:right center}@keyframes expandCardRight{0%{opacity:0;width:0;min-height:90px}to{opacity:1;width:300px;min-height:90px}}@keyframes expandCardLeft{0%{opacity:0;width:0;min-height:90px}to{opacity:1;width:300px;min-height:90px}}.description-fade{animation:fadeIn .15s ease-out forwards;opacity:0}@keyframes fadeIn{to{opacity:1}}.expanded-content{animation:contentFadeIn .15s ease-out .1s forwards;opacity:0}@keyframes contentFadeIn{to{opacity:1}}\n"] }]
|
|
25711
25709
|
}], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], currentStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentStepId", required: false }] }], showNextStepAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "showNextStepAction", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }] }); })();
|
|
25712
25710
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(JourneyProgressIndicatorComponent, { className: "JourneyProgressIndicatorComponent", filePath: "lib/components/business-analysis-dashboard/journey-progress-indicator.component.ts", lineNumber: 371 }); })();
|
|
@@ -27586,7 +27584,7 @@ class ViewModeSwitcherModalComponent {
|
|
|
27586
27584
|
const _c0$S = a0 => ({ name: "check-badge", source: a0 });
|
|
27587
27585
|
const _c1$y = a0 => ({ name: "check-circle", source: a0 });
|
|
27588
27586
|
const _c2$o = a0 => ({ name: "chevron-right", source: a0 });
|
|
27589
|
-
const _forTrack0$
|
|
27587
|
+
const _forTrack0$x = ($index, $item) => $item.area;
|
|
27590
27588
|
function KeyStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
27591
27589
|
i0.ɵɵelementStart(0, "div", 1);
|
|
27592
27590
|
i0.ɵɵelement(1, "symphiq-icon", 3);
|
|
@@ -27655,7 +27653,7 @@ function KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template(rf,
|
|
|
27655
27653
|
} }
|
|
27656
27654
|
function KeyStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
27657
27655
|
i0.ɵɵelementStart(0, "div", 2);
|
|
27658
|
-
i0.ɵɵrepeaterCreate(1, KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$
|
|
27656
|
+
i0.ɵɵrepeaterCreate(1, KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$x);
|
|
27659
27657
|
i0.ɵɵelementEnd();
|
|
27660
27658
|
} if (rf & 2) {
|
|
27661
27659
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -27819,7 +27817,7 @@ const _c0$R = a0 => ({ name: "shield-check", source: a0 });
|
|
|
27819
27817
|
const _c1$x = a0 => ({ name: "exclamation-triangle", source: a0 });
|
|
27820
27818
|
const _c2$n = a0 => ({ name: "document-text", source: a0 });
|
|
27821
27819
|
const _c3$h = a0 => ({ name: "chevron-right", source: a0 });
|
|
27822
|
-
const _forTrack0$
|
|
27820
|
+
const _forTrack0$w = ($index, $item) => $item.area;
|
|
27823
27821
|
function CriticalGapsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
27824
27822
|
i0.ɵɵelementStart(0, "div", 1);
|
|
27825
27823
|
i0.ɵɵelement(1, "symphiq-icon", 3);
|
|
@@ -27904,7 +27902,7 @@ function CriticalGapsListModalContentComponent_Conditional_2_For_2_Template(rf,
|
|
|
27904
27902
|
} }
|
|
27905
27903
|
function CriticalGapsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
27906
27904
|
i0.ɵɵelementStart(0, "div", 2);
|
|
27907
|
-
i0.ɵɵrepeaterCreate(1, CriticalGapsListModalContentComponent_Conditional_2_For_2_Template, 23, 25, "button", 6, _forTrack0$
|
|
27905
|
+
i0.ɵɵrepeaterCreate(1, CriticalGapsListModalContentComponent_Conditional_2_For_2_Template, 23, 25, "button", 6, _forTrack0$w);
|
|
27908
27906
|
i0.ɵɵelementEnd();
|
|
27909
27907
|
} if (rf & 2) {
|
|
27910
27908
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -28133,7 +28131,7 @@ class CriticalGapsListModalContentComponent {
|
|
|
28133
28131
|
|
|
28134
28132
|
const _c0$Q = a0 => ({ name: "check-circle", source: a0 });
|
|
28135
28133
|
const _c1$w = a0 => ({ name: "chat-bubble-left-right", source: a0 });
|
|
28136
|
-
const _forTrack0$
|
|
28134
|
+
const _forTrack0$v = ($index, $item) => $item.questionId;
|
|
28137
28135
|
function KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
28138
28136
|
i0.ɵɵelementStart(0, "div", 19)(1, "span", 20);
|
|
28139
28137
|
i0.ɵɵtext(2);
|
|
@@ -28180,7 +28178,7 @@ function KeyStrengthDetailModalContentComponent_Conditional_13_Template(rf, ctx)
|
|
|
28180
28178
|
i0.ɵɵtext(3, " Supporting Evidence ");
|
|
28181
28179
|
i0.ɵɵelementEnd();
|
|
28182
28180
|
i0.ɵɵelementStart(4, "div", 12);
|
|
28183
|
-
i0.ɵɵrepeaterCreate(5, KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Template, 9, 10, "div", 13, _forTrack0$
|
|
28181
|
+
i0.ɵɵrepeaterCreate(5, KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Template, 9, 10, "div", 13, _forTrack0$v);
|
|
28184
28182
|
i0.ɵɵelementEnd()();
|
|
28185
28183
|
} if (rf & 2) {
|
|
28186
28184
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -28375,7 +28373,7 @@ class KeyStrengthDetailModalContentComponent {
|
|
|
28375
28373
|
const _c0$P = a0 => ({ name: "exclamation-triangle", source: a0 });
|
|
28376
28374
|
const _c1$v = a0 => ({ name: "document-text", source: a0 });
|
|
28377
28375
|
const _c2$m = a0 => ({ name: "chat-bubble-left-right", source: a0 });
|
|
28378
|
-
const _forTrack0$
|
|
28376
|
+
const _forTrack0$u = ($index, $item) => $item.questionId;
|
|
28379
28377
|
function CriticalGapDetailModalContentComponent_Conditional_20_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
28380
28378
|
i0.ɵɵelementStart(0, "div", 23)(1, "p", 25);
|
|
28381
28379
|
i0.ɵɵtext(2, " Gap Identified: ");
|
|
@@ -28443,7 +28441,7 @@ function CriticalGapDetailModalContentComponent_Conditional_20_Template(rf, ctx)
|
|
|
28443
28441
|
i0.ɵɵtext(3, " Supporting Evidence ");
|
|
28444
28442
|
i0.ɵɵelementEnd();
|
|
28445
28443
|
i0.ɵɵelementStart(4, "div", 17);
|
|
28446
|
-
i0.ɵɵrepeaterCreate(5, CriticalGapDetailModalContentComponent_Conditional_20_For_6_Template, 10, 11, "div", 18, _forTrack0$
|
|
28444
|
+
i0.ɵɵrepeaterCreate(5, CriticalGapDetailModalContentComponent_Conditional_20_For_6_Template, 10, 11, "div", 18, _forTrack0$u);
|
|
28447
28445
|
i0.ɵɵelementEnd()();
|
|
28448
28446
|
} if (rf & 2) {
|
|
28449
28447
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -30239,7 +30237,7 @@ const _c0$O = a0 => ({ name: "check-badge", source: a0 });
|
|
|
30239
30237
|
const _c1$u = a0 => ({ name: "check-circle", source: a0 });
|
|
30240
30238
|
const _c2$l = a0 => ({ name: "chevron-right", source: a0 });
|
|
30241
30239
|
const _c3$g = a0 => ({ name: "chart-bar", source: a0 });
|
|
30242
|
-
const _forTrack0$
|
|
30240
|
+
const _forTrack0$t = ($index, $item) => $item.capability;
|
|
30243
30241
|
function FocusAreaStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
30244
30242
|
i0.ɵɵelementStart(0, "div", 1);
|
|
30245
30243
|
i0.ɵɵelement(1, "symphiq-icon", 3);
|
|
@@ -30354,7 +30352,7 @@ function FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Templat
|
|
|
30354
30352
|
} }
|
|
30355
30353
|
function FocusAreaStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
30356
30354
|
i0.ɵɵelementStart(0, "div", 2);
|
|
30357
|
-
i0.ɵɵrepeaterCreate(1, FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Template, 16, 18, "button", 6, _forTrack0$
|
|
30355
|
+
i0.ɵɵrepeaterCreate(1, FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Template, 16, 18, "button", 6, _forTrack0$t);
|
|
30358
30356
|
i0.ɵɵelementEnd();
|
|
30359
30357
|
} if (rf & 2) {
|
|
30360
30358
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -30561,7 +30559,7 @@ class FocusAreaStrengthsListModalContentComponent {
|
|
|
30561
30559
|
const _c0$N = a0 => ({ name: "exclamation-triangle", source: a0 });
|
|
30562
30560
|
const _c1$t = a0 => ({ name: "exclamation-circle", source: a0 });
|
|
30563
30561
|
const _c2$k = a0 => ({ name: "chevron-right", source: a0 });
|
|
30564
|
-
function _forTrack0$
|
|
30562
|
+
function _forTrack0$s($index, $item) { return this.getGapTitle($item); }
|
|
30565
30563
|
function FocusAreaGapsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
30566
30564
|
i0.ɵɵelementStart(0, "div", 1);
|
|
30567
30565
|
i0.ɵɵelement(1, "symphiq-icon", 3);
|
|
@@ -30678,7 +30676,7 @@ function FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template(rf,
|
|
|
30678
30676
|
} }
|
|
30679
30677
|
function FocusAreaGapsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
30680
30678
|
i0.ɵɵelementStart(0, "div", 2);
|
|
30681
|
-
i0.ɵɵrepeaterCreate(1, FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$
|
|
30679
|
+
i0.ɵɵrepeaterCreate(1, FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$s, true);
|
|
30682
30680
|
i0.ɵɵelementEnd();
|
|
30683
30681
|
} if (rf & 2) {
|
|
30684
30682
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -30955,7 +30953,7 @@ class FocusAreaGapsListModalContentComponent {
|
|
|
30955
30953
|
const _c0$M = a0 => ({ name: "light-bulb", source: a0 });
|
|
30956
30954
|
const _c1$s = a0 => ({ name: "chevron-right", source: a0 });
|
|
30957
30955
|
const _c2$j = a0 => ({ name: "chart-bar", source: a0 });
|
|
30958
|
-
const _forTrack0$
|
|
30956
|
+
const _forTrack0$r = ($index, $item) => $item.opportunity;
|
|
30959
30957
|
function FocusAreaOpportunitiesListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
30960
30958
|
i0.ɵɵelementStart(0, "div", 1);
|
|
30961
30959
|
i0.ɵɵelement(1, "symphiq-icon", 3);
|
|
@@ -31046,7 +31044,7 @@ function FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Tem
|
|
|
31046
31044
|
} }
|
|
31047
31045
|
function FocusAreaOpportunitiesListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
31048
31046
|
i0.ɵɵelementStart(0, "div", 2);
|
|
31049
|
-
i0.ɵɵrepeaterCreate(1, FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Template, 11, 11, "button", 6, _forTrack0$
|
|
31047
|
+
i0.ɵɵrepeaterCreate(1, FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Template, 11, 11, "button", 6, _forTrack0$r);
|
|
31050
31048
|
i0.ɵɵelementEnd();
|
|
31051
31049
|
} if (rf & 2) {
|
|
31052
31050
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -31223,7 +31221,7 @@ class FocusAreaOpportunitiesListModalContentComponent {
|
|
|
31223
31221
|
|
|
31224
31222
|
const _c0$L = a0 => ({ name: "chevron-right", source: a0 });
|
|
31225
31223
|
const _c1$r = a0 => ({ name: "chat-bubble-left-right", source: a0 });
|
|
31226
|
-
const _forTrack0$
|
|
31224
|
+
const _forTrack0$q = ($index, $item) => $item.performanceItemId;
|
|
31227
31225
|
function FocusAreaStrengthDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
31228
31226
|
i0.ɵɵelementStart(0, "div")(1, "p", 2);
|
|
31229
31227
|
i0.ɵɵtext(2);
|
|
@@ -31293,7 +31291,7 @@ function FocusAreaStrengthDetailModalContentComponent_Conditional_4_Template(rf,
|
|
|
31293
31291
|
i0.ɵɵtext(2);
|
|
31294
31292
|
i0.ɵɵelementEnd();
|
|
31295
31293
|
i0.ɵɵelementStart(3, "div", 9);
|
|
31296
|
-
i0.ɵɵrepeaterCreate(4, FocusAreaStrengthDetailModalContentComponent_Conditional_4_For_5_Template, 4, 5, "button", 10, _forTrack0$
|
|
31294
|
+
i0.ɵɵrepeaterCreate(4, FocusAreaStrengthDetailModalContentComponent_Conditional_4_For_5_Template, 4, 5, "button", 10, _forTrack0$q);
|
|
31297
31295
|
i0.ɵɵelementEnd()();
|
|
31298
31296
|
} if (rf & 2) {
|
|
31299
31297
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -31944,7 +31942,7 @@ class FocusAreaGapDetailModalContentComponent {
|
|
|
31944
31942
|
|
|
31945
31943
|
const _c0$J = a0 => ({ name: "chevron-right", source: a0 });
|
|
31946
31944
|
const _c1$q = () => [];
|
|
31947
|
-
const _forTrack0$
|
|
31945
|
+
const _forTrack0$p = ($index, $item) => $item.performanceItemId;
|
|
31948
31946
|
function FocusAreaOpportunityDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
31949
31947
|
i0.ɵɵelementStart(0, "div")(1, "p", 2);
|
|
31950
31948
|
i0.ɵɵtext(2);
|
|
@@ -31996,7 +31994,7 @@ function FocusAreaOpportunityDetailModalContentComponent_Conditional_3_Template(
|
|
|
31996
31994
|
i0.ɵɵtext(2);
|
|
31997
31995
|
i0.ɵɵelementEnd();
|
|
31998
31996
|
i0.ɵɵelementStart(3, "div", 6);
|
|
31999
|
-
i0.ɵɵrepeaterCreate(4, FocusAreaOpportunityDetailModalContentComponent_Conditional_3_For_5_Template, 4, 5, "button", 7, _forTrack0$
|
|
31997
|
+
i0.ɵɵrepeaterCreate(4, FocusAreaOpportunityDetailModalContentComponent_Conditional_3_For_5_Template, 4, 5, "button", 7, _forTrack0$p);
|
|
32000
31998
|
i0.ɵɵelementEnd()();
|
|
32001
31999
|
} if (rf & 2) {
|
|
32002
32000
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -37139,7 +37137,7 @@ const _c4$7 = a0 => ({ name: "academic-cap", source: a0 });
|
|
|
37139
37137
|
const _c5$5 = a0 => ({ name: "information-circle", source: a0 });
|
|
37140
37138
|
const _c6$2 = a0 => ({ name: "signal", source: a0 });
|
|
37141
37139
|
const _c7$1 = a0 => ({ name: "wrench-screwdriver", source: a0 });
|
|
37142
|
-
const _forTrack0$
|
|
37140
|
+
const _forTrack0$o = ($index, $item) => $item.name;
|
|
37143
37141
|
function ProductCategoryCardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
37144
37142
|
i0.ɵɵelementStart(0, "p", 8);
|
|
37145
37143
|
i0.ɵɵtext(1);
|
|
@@ -37270,7 +37268,7 @@ function ProductCategoryCardComponent_Conditional_16_Template(rf, ctx) { if (rf
|
|
|
37270
37268
|
i0.ɵɵelementStart(6, "symphiq-visualization-container", 21);
|
|
37271
37269
|
i0.ɵɵlistener("visualizationClick", function ProductCategoryCardComponent_Conditional_16_Template_symphiq_visualization_container_visualizationClick_6_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.openHorizontalBarModal($event)); });
|
|
37272
37270
|
i0.ɵɵelementStart(7, "div", 22);
|
|
37273
|
-
i0.ɵɵrepeaterCreate(8, ProductCategoryCardComponent_Conditional_16_For_9_Template, 2, 5, "div", 23, _forTrack0$
|
|
37271
|
+
i0.ɵɵrepeaterCreate(8, ProductCategoryCardComponent_Conditional_16_For_9_Template, 2, 5, "div", 23, _forTrack0$o);
|
|
37274
37272
|
i0.ɵɵelementEnd()()()();
|
|
37275
37273
|
} if (rf & 2) {
|
|
37276
37274
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -42260,7 +42258,7 @@ const ProfileAnalysisModalComponent_Conditional_0_Conditional_31_Conditional_5_D
|
|
|
42260
42258
|
const ProfileAnalysisModalComponent_Conditional_0_Conditional_31_Conditional_6_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
|
|
42261
42259
|
const _c3$8 = a0 => ({ name: "arrow-left", source: a0 });
|
|
42262
42260
|
const _c4$5 = a0 => ({ name: "chevron-right", source: a0 });
|
|
42263
|
-
const _forTrack0$
|
|
42261
|
+
const _forTrack0$n = ($index, $item) => $item.performanceItemId || $index;
|
|
42264
42262
|
const _forTrack1$3 = ($index, $item) => $item.id || $index;
|
|
42265
42263
|
function ProfileAnalysisModalComponent_Conditional_0_Conditional_10_For_5_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
42266
42264
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
@@ -42471,7 +42469,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Templa
|
|
|
42471
42469
|
function ProfileAnalysisModalComponent_Conditional_0_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
42472
42470
|
i0.ɵɵelementStart(0, "div", 20);
|
|
42473
42471
|
i0.ɵɵconditionalCreate(1, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_Conditional_1_Template, 2, 2, "p", 52);
|
|
42474
|
-
i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Template, 13, 10, "div", 53, _forTrack0$
|
|
42472
|
+
i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Template, 13, 10, "div", 53, _forTrack0$n);
|
|
42475
42473
|
i0.ɵɵelementEnd();
|
|
42476
42474
|
} if (rf & 2) {
|
|
42477
42475
|
const data_r11 = ctx;
|
|
@@ -42551,7 +42549,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Templa
|
|
|
42551
42549
|
function ProfileAnalysisModalComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
42552
42550
|
i0.ɵɵelementStart(0, "div", 20);
|
|
42553
42551
|
i0.ɵɵconditionalCreate(1, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_Conditional_1_Template, 2, 2, "p", 52);
|
|
42554
|
-
i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Template, 13, 10, "div", 53, _forTrack0$
|
|
42552
|
+
i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Template, 13, 10, "div", 53, _forTrack0$n);
|
|
42555
42553
|
i0.ɵɵelementEnd();
|
|
42556
42554
|
} if (rf & 2) {
|
|
42557
42555
|
const data_r14 = ctx;
|
|
@@ -42670,7 +42668,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
|
|
|
42670
42668
|
i0.ɵɵelementStart(0, "div", 69)(1, "h3", 70);
|
|
42671
42669
|
i0.ɵɵtext(2, " Directly Affected Metric ");
|
|
42672
42670
|
i0.ɵɵelementEnd();
|
|
42673
|
-
i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_0_For_4_Template, 1, 1, null, null, _forTrack0$
|
|
42671
|
+
i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_0_For_4_Template, 1, 1, null, null, _forTrack0$n);
|
|
42674
42672
|
i0.ɵɵelementEnd();
|
|
42675
42673
|
} if (rf & 2) {
|
|
42676
42674
|
const data_r32 = i0.ɵɵnextContext(2);
|
|
@@ -42704,7 +42702,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
|
|
|
42704
42702
|
i0.ɵɵelementStart(0, "div", 69)(1, "h3", 70);
|
|
42705
42703
|
i0.ɵɵtext(2, " Indirectly Affected Metrics ");
|
|
42706
42704
|
i0.ɵɵelementEnd();
|
|
42707
|
-
i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_1_For_4_Template, 1, 1, null, null, _forTrack0$
|
|
42705
|
+
i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_1_For_4_Template, 1, 1, null, null, _forTrack0$n);
|
|
42708
42706
|
i0.ɵɵelementEnd();
|
|
42709
42707
|
} if (rf & 2) {
|
|
42710
42708
|
const data_r32 = i0.ɵɵnextContext(2);
|
|
@@ -42736,7 +42734,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
|
|
|
42736
42734
|
i0.ɵɵproperty("metric", metric_r38)("isLightMode", ctx_r1.isLightMode())("animationKey", $index_r39);
|
|
42737
42735
|
} }
|
|
42738
42736
|
function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
42739
|
-
i0.ɵɵrepeaterCreate(0, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_For_1_Template, 2, 3, "div", null, _forTrack0$
|
|
42737
|
+
i0.ɵɵrepeaterCreate(0, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_For_1_Template, 2, 3, "div", null, _forTrack0$n);
|
|
42740
42738
|
} if (rf & 2) {
|
|
42741
42739
|
const data_r32 = i0.ɵɵnextContext();
|
|
42742
42740
|
i0.ɵɵrepeater(data_r32.metrics);
|
|
@@ -45436,7 +45434,7 @@ const _c0$t = a0 => ({ name: "list-bullet", source: a0 });
|
|
|
45436
45434
|
const _c1$d = a0 => ({ name: "arrow-right", source: a0 });
|
|
45437
45435
|
const _c2$9 = a0 => ({ name: "check-circle", source: a0 });
|
|
45438
45436
|
const _c3$6 = a0 => ({ name: "exclamation-circle", source: a0 });
|
|
45439
|
-
const _forTrack0$
|
|
45437
|
+
const _forTrack0$m = ($index, $item) => $item.order;
|
|
45440
45438
|
function RecommendationActionStepsModalComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
45441
45439
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 5);
|
|
45442
45440
|
i0.ɵɵelement(2, "symphiq-icon", 6);
|
|
@@ -45590,7 +45588,7 @@ class RecommendationActionStepsModalComponent {
|
|
|
45590
45588
|
i0.ɵɵelementStart(0, "div", 0);
|
|
45591
45589
|
i0.ɵɵconditionalCreate(1, RecommendationActionStepsModalComponent_Conditional_1_Template, 8, 7, "div", 1);
|
|
45592
45590
|
i0.ɵɵelementStart(2, "div", 2);
|
|
45593
|
-
i0.ɵɵrepeaterCreate(3, RecommendationActionStepsModalComponent_For_4_Template, 13, 11, "div", 3, _forTrack0$
|
|
45591
|
+
i0.ɵɵrepeaterCreate(3, RecommendationActionStepsModalComponent_For_4_Template, 13, 11, "div", 3, _forTrack0$m);
|
|
45594
45592
|
i0.ɵɵelementEnd();
|
|
45595
45593
|
i0.ɵɵconditionalCreate(5, RecommendationActionStepsModalComponent_Conditional_5_Template, 4, 5, "div", 4);
|
|
45596
45594
|
i0.ɵɵelementEnd();
|
|
@@ -46386,7 +46384,7 @@ const _c2$8 = () => [1, 2, 3, 4, 5, 6];
|
|
|
46386
46384
|
const _c3$5 = () => [1, 2, 3];
|
|
46387
46385
|
const _c4$3 = () => [1, 2, 3, 4];
|
|
46388
46386
|
const _c5$2 = () => [1, 2];
|
|
46389
|
-
const _forTrack0$
|
|
46387
|
+
const _forTrack0$l = ($index, $item) => $item.value;
|
|
46390
46388
|
function SymphiqFunnelAnalysisDashboardComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
46391
46389
|
i0.ɵɵelement(0, "div", 11);
|
|
46392
46390
|
} }
|
|
@@ -46425,7 +46423,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template(rf, ctx
|
|
|
46425
46423
|
i0.ɵɵlistener("click", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_div_click_3_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); })("mousedown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_div_mousedown_3_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); })("pointerdown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_div_pointerdown_3_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
46426
46424
|
i0.ɵɵelementStart(4, "select", 48);
|
|
46427
46425
|
i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_select_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.changeSectionFilter($event)); });
|
|
46428
|
-
i0.ɵɵrepeaterCreate(5, SymphiqFunnelAnalysisDashboardComponent_Conditional_25_For_6_Template, 2, 2, "option", 49, _forTrack0$
|
|
46426
|
+
i0.ɵɵrepeaterCreate(5, SymphiqFunnelAnalysisDashboardComponent_Conditional_25_For_6_Template, 2, 2, "option", 49, _forTrack0$l);
|
|
46429
46427
|
i0.ɵɵelementEnd()()();
|
|
46430
46428
|
} if (rf & 2) {
|
|
46431
46429
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -46505,7 +46503,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template(rf, ctx
|
|
|
46505
46503
|
i0.ɵɵlistener("click", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); })("mousedown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); })("pointerdown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_div_pointerdown_0_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
46506
46504
|
i0.ɵɵelementStart(1, "select", 54);
|
|
46507
46505
|
i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_select_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.changeSectionFilter($event)); });
|
|
46508
|
-
i0.ɵɵrepeaterCreate(2, SymphiqFunnelAnalysisDashboardComponent_Conditional_46_For_3_Template, 2, 2, "option", 49, _forTrack0$
|
|
46506
|
+
i0.ɵɵrepeaterCreate(2, SymphiqFunnelAnalysisDashboardComponent_Conditional_46_For_3_Template, 2, 2, "option", 49, _forTrack0$l);
|
|
46509
46507
|
i0.ɵɵelementEnd()();
|
|
46510
46508
|
} if (rf & 2) {
|
|
46511
46509
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -47251,7 +47249,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Te
|
|
|
47251
47249
|
i0.ɵɵconditionalCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Conditional_14_Template, 2, 0, "div", 122);
|
|
47252
47250
|
i0.ɵɵelementStart(15, "select", 123);
|
|
47253
47251
|
i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Template_select_ngModelChange_15_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeCategoryFilter($event)); });
|
|
47254
|
-
i0.ɵɵrepeaterCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_17_Template, 2, 1, null, null, _forTrack0$
|
|
47252
|
+
i0.ɵɵrepeaterCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_17_Template, 2, 1, null, null, _forTrack0$l);
|
|
47255
47253
|
i0.ɵɵelementEnd();
|
|
47256
47254
|
i0.ɵɵelementStart(18, "button", 124);
|
|
47257
47255
|
i0.ɵɵlistener("click", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.toggleSortOrder()); });
|
|
@@ -47265,7 +47263,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Te
|
|
|
47265
47263
|
i0.ɵɵtext(23, "Sort");
|
|
47266
47264
|
i0.ɵɵelementEnd()()()();
|
|
47267
47265
|
i0.ɵɵelementStart(24, "div", 127)(25, "div", 128);
|
|
47268
|
-
i0.ɵɵrepeaterCreate(26, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_27_Template, 1, 1, null, null, _forTrack0$
|
|
47266
|
+
i0.ɵɵrepeaterCreate(26, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_27_Template, 1, 1, null, null, _forTrack0$l);
|
|
47269
47267
|
i0.ɵɵelementEnd()()();
|
|
47270
47268
|
i0.ɵɵconditionalCreate(28, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Conditional_28_Template, 3, 1, "div", 129)(29, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Conditional_29_Template, 4, 5, "div", 130);
|
|
47271
47269
|
i0.ɵɵelementEnd()();
|
|
@@ -47442,7 +47440,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Te
|
|
|
47442
47440
|
i0.ɵɵconditionalCreate(12, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Conditional_12_Template, 2, 0, "div", 122);
|
|
47443
47441
|
i0.ɵɵelementStart(13, "select", 164);
|
|
47444
47442
|
i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Template_select_ngModelChange_13_listener($event) { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeBreakdownFilter($event)); });
|
|
47445
|
-
i0.ɵɵrepeaterCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_For_15_Template, 2, 1, null, null, _forTrack0$
|
|
47443
|
+
i0.ɵɵrepeaterCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_For_15_Template, 2, 1, null, null, _forTrack0$l);
|
|
47446
47444
|
i0.ɵɵelementEnd()()();
|
|
47447
47445
|
i0.ɵɵconditionalCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Conditional_16_Template, 3, 1, "div", 95)(17, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Conditional_17_Template, 4, 5, "div", 165);
|
|
47448
47446
|
i0.ɵɵelementEnd()();
|
|
@@ -47553,7 +47551,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Te
|
|
|
47553
47551
|
i0.ɵɵconditionalCreate(13, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Conditional_13_Template, 2, 0, "div", 122);
|
|
47554
47552
|
i0.ɵɵelementStart(14, "select", 123);
|
|
47555
47553
|
i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Template_select_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeCompetitiveFilter($event)); });
|
|
47556
|
-
i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_For_16_Template, 2, 1, null, null, _forTrack0$
|
|
47554
|
+
i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_For_16_Template, 2, 1, null, null, _forTrack0$l);
|
|
47557
47555
|
i0.ɵɵelementEnd()()();
|
|
47558
47556
|
i0.ɵɵconditionalCreate(17, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Conditional_17_Template, 6, 5, "div", 95)(18, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Conditional_18_Template, 1, 6, "symphiq-competitive-intelligence-view", 92);
|
|
47559
47557
|
i0.ɵɵelementEnd()();
|
|
@@ -50119,7 +50117,7 @@ function getTrendClasses(trendPercent, viewMode) {
|
|
|
50119
50117
|
}
|
|
50120
50118
|
}
|
|
50121
50119
|
|
|
50122
|
-
const _forTrack0$
|
|
50120
|
+
const _forTrack0$k = ($index, $item) => $item.performanceItemId;
|
|
50123
50121
|
function SymphiqFunnelAnalysisPreviewComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
50124
50122
|
i0.ɵɵelementStart(0, "div", 17)(1, "p", 18);
|
|
50125
50123
|
i0.ɵɵtext(2);
|
|
@@ -50738,7 +50736,7 @@ class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
50738
50736
|
i0.ɵɵconditionalCreate(12, SymphiqFunnelAnalysisPreviewComponent_Conditional_12_Template, 3, 7, "div", 9);
|
|
50739
50737
|
i0.ɵɵconditionalCreate(13, SymphiqFunnelAnalysisPreviewComponent_Conditional_13_Template, 18, 23, "div", 10);
|
|
50740
50738
|
i0.ɵɵelementStart(14, "div", 11);
|
|
50741
|
-
i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisPreviewComponent_For_16_Template, 10, 17, "div", 12, _forTrack0$
|
|
50739
|
+
i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisPreviewComponent_For_16_Template, 10, 17, "div", 12, _forTrack0$k);
|
|
50742
50740
|
i0.ɵɵelementEnd();
|
|
50743
50741
|
i0.ɵɵconditionalCreate(17, SymphiqFunnelAnalysisPreviewComponent_Conditional_17_Template, 9, 11, "div", 9);
|
|
50744
50742
|
i0.ɵɵconditionalCreate(18, SymphiqFunnelAnalysisPreviewComponent_Conditional_18_Template, 14, 19, "div", 9);
|
|
@@ -50981,7 +50979,7 @@ class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
50981
50979
|
}], () => [], { analysisInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelAnalysis", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], onViewAnalysis: [{ type: i0.Output, args: ["onViewAnalysis"] }] }); })();
|
|
50982
50980
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqFunnelAnalysisPreviewComponent, { className: "SymphiqFunnelAnalysisPreviewComponent", filePath: "lib/components/funnel-analysis-preview/symphiq-funnel-analysis-preview.component.ts", lineNumber: 228 }); })();
|
|
50983
50981
|
|
|
50984
|
-
const _forTrack0$
|
|
50982
|
+
const _forTrack0$j = ($index, $item) => $item.id;
|
|
50985
50983
|
function SymphiqWelcomeDashboardComponent_For_65_Template(rf, ctx) { if (rf & 1) {
|
|
50986
50984
|
i0.ɵɵelementStart(0, "div", 31)(1, "div", 36)(2, "div", 37)(3, "span", 38);
|
|
50987
50985
|
i0.ɵɵtext(4);
|
|
@@ -51276,7 +51274,7 @@ class SymphiqWelcomeDashboardComponent {
|
|
|
51276
51274
|
i0.ɵɵtext(62, " Your Onboarding Journey ");
|
|
51277
51275
|
i0.ɵɵelementEnd();
|
|
51278
51276
|
i0.ɵɵelementStart(63, "div", 30);
|
|
51279
|
-
i0.ɵɵrepeaterCreate(64, SymphiqWelcomeDashboardComponent_For_65_Template, 9, 3, "div", 31, _forTrack0$
|
|
51277
|
+
i0.ɵɵrepeaterCreate(64, SymphiqWelcomeDashboardComponent_For_65_Template, 9, 3, "div", 31, _forTrack0$j);
|
|
51280
51278
|
i0.ɵɵelementEnd()()();
|
|
51281
51279
|
i0.ɵɵelementStart(66, "div", 32);
|
|
51282
51280
|
i0.ɵɵnamespaceSVG();
|
|
@@ -51517,212 +51515,981 @@ class SymphiqWelcomeDashboardComponent {
|
|
|
51517
51515
|
}] }); })();
|
|
51518
51516
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqWelcomeDashboardComponent, { className: "SymphiqWelcomeDashboardComponent", filePath: "lib/components/welcome-dashboard/symphiq-welcome-dashboard.component.ts", lineNumber: 201 }); })();
|
|
51519
51517
|
|
|
51520
|
-
|
|
51521
|
-
|
|
51522
|
-
i0.ɵɵtext(
|
|
51523
|
-
|
|
51524
|
-
function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
51525
|
-
i0.ɵɵtext(0);
|
|
51518
|
+
function FocusAreaQuestionComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
51519
|
+
i0.ɵɵelementStart(0, "span", 6);
|
|
51520
|
+
i0.ɵɵtext(1, " Not answered yet ");
|
|
51521
|
+
i0.ɵɵelementEnd();
|
|
51526
51522
|
} if (rf & 2) {
|
|
51527
|
-
const
|
|
51528
|
-
i0.ɵɵ
|
|
51523
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
51524
|
+
i0.ɵɵproperty("ngClass", ctx_r0.notAnsweredBadgeClasses());
|
|
51529
51525
|
} }
|
|
51530
|
-
function
|
|
51531
|
-
|
|
51532
|
-
|
|
51533
|
-
|
|
51534
|
-
i0.ɵɵ
|
|
51535
|
-
|
|
51536
|
-
|
|
51537
|
-
i0.ɵɵ
|
|
51538
|
-
|
|
51539
|
-
|
|
51540
|
-
i0.ɵɵ
|
|
51541
|
-
i0.ɵɵ
|
|
51542
|
-
i0.ɵɵelement(10, "path", 21);
|
|
51543
|
-
i0.ɵɵelementEnd();
|
|
51544
|
-
i0.ɵɵtext(11, " Edit ");
|
|
51545
|
-
i0.ɵɵelementEnd()();
|
|
51546
|
-
i0.ɵɵnamespaceHTML();
|
|
51547
|
-
i0.ɵɵelementStart(12, "div", 22)(13, "div")(14, "label", 23);
|
|
51548
|
-
i0.ɵɵtext(15, " Shop Name ");
|
|
51549
|
-
i0.ɵɵelementEnd();
|
|
51550
|
-
i0.ɵɵelementStart(16, "p", 24);
|
|
51551
|
-
i0.ɵɵtext(17);
|
|
51552
|
-
i0.ɵɵelementEnd()();
|
|
51553
|
-
i0.ɵɵelementStart(18, "div")(19, "label", 23);
|
|
51554
|
-
i0.ɵɵtext(20, " Shop URL ");
|
|
51555
|
-
i0.ɵɵelementEnd();
|
|
51556
|
-
i0.ɵɵelementStart(21, "a", 25);
|
|
51557
|
-
i0.ɵɵtext(22);
|
|
51558
|
-
i0.ɵɵelementEnd()();
|
|
51559
|
-
i0.ɵɵelementStart(23, "div")(24, "label", 23);
|
|
51560
|
-
i0.ɵɵtext(25, " Shop Platform ");
|
|
51561
|
-
i0.ɵɵelementEnd();
|
|
51562
|
-
i0.ɵɵelementStart(26, "p", 24);
|
|
51563
|
-
i0.ɵɵconditionalCreate(27, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_27_Template, 1, 0)(28, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_28_Template, 1, 1);
|
|
51564
|
-
i0.ɵɵelementEnd()();
|
|
51565
|
-
i0.ɵɵelementStart(29, "div")(30, "label", 23);
|
|
51566
|
-
i0.ɵɵtext(31, " Company Name ");
|
|
51526
|
+
function FocusAreaQuestionComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
51527
|
+
i0.ɵɵelement(0, "div", 12);
|
|
51528
|
+
} }
|
|
51529
|
+
function FocusAreaQuestionComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
51530
|
+
i0.ɵɵelement(0, "div", 12);
|
|
51531
|
+
} }
|
|
51532
|
+
function FocusAreaQuestionComponent_Conditional_34_Template(rf, ctx) { if (rf & 1) {
|
|
51533
|
+
i0.ɵɵelement(0, "div", 12);
|
|
51534
|
+
} }
|
|
51535
|
+
function FocusAreaQuestionComponent_Conditional_47_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
51536
|
+
i0.ɵɵelementStart(0, "span", 25);
|
|
51537
|
+
i0.ɵɵtext(1);
|
|
51567
51538
|
i0.ɵɵelementEnd();
|
|
51568
|
-
i0.ɵɵelementStart(32, "p", 24);
|
|
51569
|
-
i0.ɵɵtext(33);
|
|
51570
|
-
i0.ɵɵelementEnd()()()()();
|
|
51571
51539
|
} if (rf & 2) {
|
|
51572
|
-
const
|
|
51573
|
-
i0.ɵɵ
|
|
51574
|
-
i0.ɵɵ
|
|
51575
|
-
i0.ɵɵproperty("ngClass", ctx_r1.contentClasses());
|
|
51576
|
-
i0.ɵɵadvance(3);
|
|
51577
|
-
i0.ɵɵproperty("ngClass", ctx_r1.sectionTitleClasses());
|
|
51578
|
-
i0.ɵɵadvance(2);
|
|
51579
|
-
i0.ɵɵproperty("ngClass", ctx_r1.sectionDescriptionClasses());
|
|
51580
|
-
i0.ɵɵadvance(2);
|
|
51581
|
-
i0.ɵɵproperty("ngClass", ctx_r1.editButtonClasses());
|
|
51582
|
-
i0.ɵɵadvance(6);
|
|
51583
|
-
i0.ɵɵproperty("ngClass", ctx_r1.viewLabelClasses());
|
|
51584
|
-
i0.ɵɵadvance(2);
|
|
51585
|
-
i0.ɵɵproperty("ngClass", ctx_r1.viewValueClasses());
|
|
51586
|
-
i0.ɵɵadvance();
|
|
51587
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.accountData().shopName, " ");
|
|
51588
|
-
i0.ɵɵadvance(2);
|
|
51589
|
-
i0.ɵɵproperty("ngClass", ctx_r1.viewLabelClasses());
|
|
51590
|
-
i0.ɵɵadvance(2);
|
|
51591
|
-
i0.ɵɵproperty("href", ctx_r1.accountData().shopUrl, i0.ɵɵsanitizeUrl)("ngClass", ctx_r1.viewLinkClasses());
|
|
51592
|
-
i0.ɵɵadvance();
|
|
51593
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.accountData().shopUrl, " ");
|
|
51594
|
-
i0.ɵɵadvance(2);
|
|
51595
|
-
i0.ɵɵproperty("ngClass", ctx_r1.viewLabelClasses());
|
|
51596
|
-
i0.ɵɵadvance(2);
|
|
51597
|
-
i0.ɵɵproperty("ngClass", ctx_r1.viewValueClasses());
|
|
51598
|
-
i0.ɵɵadvance();
|
|
51599
|
-
i0.ɵɵconditional(ctx_r1.accountData().shopPlatform === ctx_r1.ShopPlatformEnum.SHOPIFY ? 27 : 28);
|
|
51600
|
-
i0.ɵɵadvance(3);
|
|
51601
|
-
i0.ɵɵproperty("ngClass", ctx_r1.viewLabelClasses());
|
|
51602
|
-
i0.ɵɵadvance(2);
|
|
51603
|
-
i0.ɵɵproperty("ngClass", ctx_r1.viewValueClasses());
|
|
51540
|
+
const tool_r2 = ctx.$implicit;
|
|
51541
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
51542
|
+
i0.ɵɵproperty("ngClass", ctx_r0.toolChipClasses());
|
|
51604
51543
|
i0.ɵɵadvance();
|
|
51605
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
51544
|
+
i0.ɵɵtextInterpolate1(" ", tool_r2, " ");
|
|
51606
51545
|
} }
|
|
51607
|
-
function
|
|
51608
|
-
i0.ɵɵelementStart(0, "
|
|
51609
|
-
i0.ɵɵ
|
|
51546
|
+
function FocusAreaQuestionComponent_Conditional_47_Template(rf, ctx) { if (rf & 1) {
|
|
51547
|
+
i0.ɵɵelementStart(0, "div", 21);
|
|
51548
|
+
i0.ɵɵrepeaterCreate(1, FocusAreaQuestionComponent_Conditional_47_For_2_Template, 2, 2, "span", 25, i0.ɵɵrepeaterTrackByIdentity);
|
|
51610
51549
|
i0.ɵɵelementEnd();
|
|
51611
51550
|
} if (rf & 2) {
|
|
51612
|
-
const
|
|
51613
|
-
i0.ɵɵ
|
|
51551
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
51552
|
+
i0.ɵɵadvance();
|
|
51553
|
+
i0.ɵɵrepeater(ctx_r0.selectedTools());
|
|
51614
51554
|
} }
|
|
51615
|
-
function
|
|
51616
|
-
i0.ɵɵelementStart(0, "
|
|
51617
|
-
i0.ɵɵtext(1, "
|
|
51555
|
+
function FocusAreaQuestionComponent_Conditional_48_Template(rf, ctx) { if (rf & 1) {
|
|
51556
|
+
i0.ɵɵelementStart(0, "span", 22);
|
|
51557
|
+
i0.ɵɵtext(1, " None specified - Click to select ");
|
|
51618
51558
|
i0.ɵɵelementEnd();
|
|
51619
51559
|
} if (rf & 2) {
|
|
51620
|
-
const
|
|
51621
|
-
i0.ɵɵproperty("ngClass",
|
|
51622
|
-
} }
|
|
51623
|
-
function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_36_Template(rf, ctx) { if (rf & 1) {
|
|
51624
|
-
i0.ɵɵelement(0, "div", 41);
|
|
51625
|
-
} }
|
|
51626
|
-
function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_44_Template(rf, ctx) { if (rf & 1) {
|
|
51627
|
-
i0.ɵɵelement(0, "div", 41);
|
|
51560
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
51561
|
+
i0.ɵɵproperty("ngClass", ctx_r0.placeholderClasses());
|
|
51628
51562
|
} }
|
|
51629
|
-
|
|
51630
|
-
|
|
51631
|
-
|
|
51563
|
+
class FocusAreaQuestionComponent {
|
|
51564
|
+
constructor() {
|
|
51565
|
+
this.focusAreaDomain = input.required(...(ngDevMode ? [{ debugName: "focusAreaDomain" }] : []));
|
|
51566
|
+
this.selectedStatus = input(null, ...(ngDevMode ? [{ debugName: "selectedStatus" }] : []));
|
|
51567
|
+
this.selectedTools = input(null, ...(ngDevMode ? [{ debugName: "selectedTools" }] : []));
|
|
51568
|
+
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
51569
|
+
this.title = input.required(...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
51570
|
+
this.description = input.required(...(ngDevMode ? [{ debugName: "description" }] : []));
|
|
51571
|
+
this.isAnswered = computed(() => this.selectedStatus() !== null, ...(ngDevMode ? [{ debugName: "isAnswered" }] : []));
|
|
51572
|
+
this.statusChange = output();
|
|
51573
|
+
this.toolsClick = output();
|
|
51574
|
+
this.FocusAreaDetailStatusEnum = FocusAreaDetailStatusEnum;
|
|
51575
|
+
}
|
|
51576
|
+
isLightMode() {
|
|
51577
|
+
return this.viewMode() === ViewModeEnum.LIGHT;
|
|
51578
|
+
}
|
|
51579
|
+
onStatusChange(status) {
|
|
51580
|
+
this.statusChange.emit(status);
|
|
51581
|
+
}
|
|
51582
|
+
onToolsClick() {
|
|
51583
|
+
this.toolsClick.emit();
|
|
51584
|
+
}
|
|
51585
|
+
containerClasses() {
|
|
51586
|
+
return this.isLightMode()
|
|
51587
|
+
? 'bg-white border-slate-200'
|
|
51588
|
+
: 'bg-slate-800 border-slate-700';
|
|
51589
|
+
}
|
|
51590
|
+
contentClasses() {
|
|
51591
|
+
return this.isLightMode()
|
|
51592
|
+
? 'bg-gradient-to-br from-white to-slate-50'
|
|
51593
|
+
: 'bg-gradient-to-br from-slate-800 to-slate-900';
|
|
51594
|
+
}
|
|
51595
|
+
titleClasses() {
|
|
51596
|
+
return this.isLightMode()
|
|
51597
|
+
? 'text-slate-900'
|
|
51598
|
+
: 'text-white';
|
|
51599
|
+
}
|
|
51600
|
+
descriptionClasses() {
|
|
51601
|
+
return this.isLightMode()
|
|
51602
|
+
? 'text-slate-600'
|
|
51603
|
+
: 'text-slate-400';
|
|
51604
|
+
}
|
|
51605
|
+
notAnsweredBadgeClasses() {
|
|
51606
|
+
return this.isLightMode()
|
|
51607
|
+
? 'bg-orange-100 text-orange-700 border border-orange-200'
|
|
51608
|
+
: 'bg-orange-900/30 text-orange-400 border border-orange-700';
|
|
51609
|
+
}
|
|
51610
|
+
radioOptionClasses(status) {
|
|
51611
|
+
const isSelected = this.selectedStatus() === status;
|
|
51612
|
+
const base = 'transition-all duration-200';
|
|
51613
|
+
if (status === FocusAreaDetailStatusEnum.ENGAGED) {
|
|
51614
|
+
return this.isLightMode()
|
|
51615
|
+
? isSelected ? `${base} opacity-100` : `${base} opacity-100 hover:opacity-100`
|
|
51616
|
+
: isSelected ? `${base} opacity-100` : `${base} opacity-100 hover:opacity-100`;
|
|
51617
|
+
}
|
|
51618
|
+
if (status === FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO) {
|
|
51619
|
+
return this.isLightMode()
|
|
51620
|
+
? isSelected ? `${base} opacity-100` : `${base} opacity-100 hover:opacity-100`
|
|
51621
|
+
: isSelected ? `${base} opacity-100` : `${base} opacity-100 hover:opacity-100`;
|
|
51622
|
+
}
|
|
51623
|
+
return this.isLightMode()
|
|
51624
|
+
? isSelected ? `${base} opacity-100` : `${base} opacity-100 hover:opacity-100`
|
|
51625
|
+
: isSelected ? `${base} opacity-100` : `${base} opacity-100 hover:opacity-100`;
|
|
51626
|
+
}
|
|
51627
|
+
radioIndicatorClasses(status) {
|
|
51628
|
+
const isSelected = this.selectedStatus() === status;
|
|
51629
|
+
if (status === FocusAreaDetailStatusEnum.ENGAGED) {
|
|
51630
|
+
return this.isLightMode()
|
|
51631
|
+
? isSelected ? 'border-emerald-500 text-emerald-600' : 'border-slate-300 text-slate-300'
|
|
51632
|
+
: isSelected ? 'border-emerald-400 text-emerald-400' : 'border-slate-600 text-slate-600';
|
|
51633
|
+
}
|
|
51634
|
+
if (status === FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO) {
|
|
51635
|
+
return this.isLightMode()
|
|
51636
|
+
? isSelected ? 'border-blue-500 text-blue-600' : 'border-slate-300 text-slate-300'
|
|
51637
|
+
: isSelected ? 'border-blue-400 text-blue-400' : 'border-slate-600 text-slate-600';
|
|
51638
|
+
}
|
|
51639
|
+
return this.isLightMode()
|
|
51640
|
+
? isSelected ? 'border-rose-500 text-rose-600' : 'border-slate-300 text-slate-300'
|
|
51641
|
+
: isSelected ? 'border-rose-400 text-rose-400' : 'border-slate-600 text-slate-600';
|
|
51642
|
+
}
|
|
51643
|
+
radioLabelClasses(status) {
|
|
51644
|
+
const isSelected = this.selectedStatus() === status;
|
|
51645
|
+
if (status === FocusAreaDetailStatusEnum.ENGAGED) {
|
|
51646
|
+
return this.isLightMode()
|
|
51647
|
+
? isSelected ? 'text-emerald-700' : 'text-slate-900'
|
|
51648
|
+
: isSelected ? 'text-emerald-300' : 'text-white';
|
|
51649
|
+
}
|
|
51650
|
+
if (status === FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO) {
|
|
51651
|
+
return this.isLightMode()
|
|
51652
|
+
? isSelected ? 'text-blue-700' : 'text-slate-900'
|
|
51653
|
+
: isSelected ? 'text-blue-300' : 'text-white';
|
|
51654
|
+
}
|
|
51655
|
+
return this.isLightMode()
|
|
51656
|
+
? isSelected ? 'text-rose-700' : 'text-slate-900'
|
|
51657
|
+
: isSelected ? 'text-rose-300' : 'text-white';
|
|
51658
|
+
}
|
|
51659
|
+
radioDescriptionClasses() {
|
|
51660
|
+
return this.isLightMode()
|
|
51661
|
+
? 'text-slate-600'
|
|
51662
|
+
: 'text-slate-400';
|
|
51663
|
+
}
|
|
51664
|
+
toolsLabelClasses() {
|
|
51665
|
+
return this.isLightMode()
|
|
51666
|
+
? 'text-slate-700'
|
|
51667
|
+
: 'text-slate-300';
|
|
51668
|
+
}
|
|
51669
|
+
toolsButtonClasses() {
|
|
51670
|
+
return this.isLightMode()
|
|
51671
|
+
? 'bg-white border-slate-300 hover:border-blue-400 hover:bg-blue-50 text-slate-900'
|
|
51672
|
+
: 'bg-slate-700 border-slate-600 hover:border-blue-400 hover:bg-slate-600 text-white';
|
|
51673
|
+
}
|
|
51674
|
+
toolChipClasses() {
|
|
51675
|
+
return this.isLightMode()
|
|
51676
|
+
? 'bg-blue-100 text-blue-700 border border-blue-200'
|
|
51677
|
+
: 'bg-blue-900/30 text-blue-300 border border-blue-700';
|
|
51678
|
+
}
|
|
51679
|
+
placeholderClasses() {
|
|
51680
|
+
return this.isLightMode()
|
|
51681
|
+
? 'text-slate-500'
|
|
51682
|
+
: 'text-slate-400';
|
|
51683
|
+
}
|
|
51684
|
+
editIconClasses() {
|
|
51685
|
+
return this.isLightMode()
|
|
51686
|
+
? 'text-slate-400'
|
|
51687
|
+
: 'text-slate-500';
|
|
51688
|
+
}
|
|
51689
|
+
static { this.ɵfac = function FocusAreaQuestionComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FocusAreaQuestionComponent)(); }; }
|
|
51690
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FocusAreaQuestionComponent, selectors: [["symphiq-focus-area-question"]], inputs: { focusAreaDomain: [1, "focusAreaDomain"], selectedStatus: [1, "selectedStatus"], selectedTools: [1, "selectedTools"], viewMode: [1, "viewMode"], title: [1, "title"], description: [1, "description"] }, outputs: { statusChange: "statusChange", toolsClick: "toolsClick" }, decls: 51, vars: 31, consts: [[1, "rounded-xl", "border-2", "overflow-hidden", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-4"], [1, "flex-1"], [1, "text-lg", "font-bold", "mb-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "ml-3", "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", "whitespace-nowrap", "flex-shrink-0", 3, "ngClass"], [1, "space-y-3", "mt-5"], [1, "cursor-pointer", "block", 3, "ngClass"], ["type", "radio", 1, "sr-only", 3, "change", "checked"], [1, "flex", "items-center", "gap-3", "p-4", "rounded-lg", "border-2", "transition-all", "duration-200"], [1, "w-5", "h-5", "rounded-full", "border-2", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-current"], [1, "font-semibold", "text-sm", 3, "ngClass"], [1, "text-xs", "mt-0.5", 3, "ngClass"], [1, "grid", "transition-all", "duration-300", "ease-in-out"], [1, "overflow-hidden"], [1, "mt-4"], [1, "block", "text-sm", "font-semibold", "mb-2", 3, "ngClass"], ["type", "button", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "hover:scale-[1.01]", "flex", "items-center", "justify-between", "cursor-pointer", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-2", "flex-1", "min-w-0"], [1, "flex", "flex-wrap", "gap-1.5"], [1, "text-sm", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0", "ml-2", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"], [1, "px-2", "py-1", "rounded", "text-xs", "font-medium", 3, "ngClass"]], template: function FocusAreaQuestionComponent_Template(rf, ctx) { if (rf & 1) {
|
|
51691
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "h3", 4);
|
|
51692
|
+
i0.ɵɵtext(5);
|
|
51693
|
+
i0.ɵɵelementEnd();
|
|
51694
|
+
i0.ɵɵelementStart(6, "p", 5);
|
|
51695
|
+
i0.ɵɵtext(7);
|
|
51696
|
+
i0.ɵɵelementEnd()();
|
|
51697
|
+
i0.ɵɵconditionalCreate(8, FocusAreaQuestionComponent_Conditional_8_Template, 2, 1, "span", 6);
|
|
51698
|
+
i0.ɵɵelementEnd();
|
|
51699
|
+
i0.ɵɵelementStart(9, "div", 7)(10, "label", 8)(11, "input", 9);
|
|
51700
|
+
i0.ɵɵlistener("change", function FocusAreaQuestionComponent_Template_input_change_11_listener() { return ctx.onStatusChange(ctx.FocusAreaDetailStatusEnum.ENGAGED); });
|
|
51701
|
+
i0.ɵɵelementEnd();
|
|
51702
|
+
i0.ɵɵelementStart(12, "div", 10)(13, "div", 11);
|
|
51703
|
+
i0.ɵɵconditionalCreate(14, FocusAreaQuestionComponent_Conditional_14_Template, 1, 0, "div", 12);
|
|
51704
|
+
i0.ɵɵelementEnd();
|
|
51705
|
+
i0.ɵɵelementStart(15, "div", 3)(16, "div", 13);
|
|
51706
|
+
i0.ɵɵtext(17, " Engaged ");
|
|
51707
|
+
i0.ɵɵelementEnd();
|
|
51708
|
+
i0.ɵɵelementStart(18, "div", 14);
|
|
51709
|
+
i0.ɵɵtext(19, " We are currently engaged in this area ");
|
|
51710
|
+
i0.ɵɵelementEnd()()()();
|
|
51711
|
+
i0.ɵɵelementStart(20, "label", 8)(21, "input", 9);
|
|
51712
|
+
i0.ɵɵlistener("change", function FocusAreaQuestionComponent_Template_input_change_21_listener() { return ctx.onStatusChange(ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO); });
|
|
51713
|
+
i0.ɵɵelementEnd();
|
|
51714
|
+
i0.ɵɵelementStart(22, "div", 10)(23, "div", 11);
|
|
51715
|
+
i0.ɵɵconditionalCreate(24, FocusAreaQuestionComponent_Conditional_24_Template, 1, 0, "div", 12);
|
|
51716
|
+
i0.ɵɵelementEnd();
|
|
51717
|
+
i0.ɵɵelementStart(25, "div", 3)(26, "div", 13);
|
|
51718
|
+
i0.ɵɵtext(27, " Interested ");
|
|
51719
|
+
i0.ɵɵelementEnd();
|
|
51720
|
+
i0.ɵɵelementStart(28, "div", 14);
|
|
51721
|
+
i0.ɵɵtext(29, " We are interested in this area but not engaged with it yet ");
|
|
51722
|
+
i0.ɵɵelementEnd()()()();
|
|
51723
|
+
i0.ɵɵelementStart(30, "label", 8)(31, "input", 9);
|
|
51724
|
+
i0.ɵɵlistener("change", function FocusAreaQuestionComponent_Template_input_change_31_listener() { return ctx.onStatusChange(ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST); });
|
|
51725
|
+
i0.ɵɵelementEnd();
|
|
51726
|
+
i0.ɵɵelementStart(32, "div", 10)(33, "div", 11);
|
|
51727
|
+
i0.ɵɵconditionalCreate(34, FocusAreaQuestionComponent_Conditional_34_Template, 1, 0, "div", 12);
|
|
51728
|
+
i0.ɵɵelementEnd();
|
|
51729
|
+
i0.ɵɵelementStart(35, "div", 3)(36, "div", 13);
|
|
51730
|
+
i0.ɵɵtext(37, " Not interested ");
|
|
51731
|
+
i0.ɵɵelementEnd();
|
|
51732
|
+
i0.ɵɵelementStart(38, "div", 14);
|
|
51733
|
+
i0.ɵɵtext(39, " We have no interest in this area ");
|
|
51734
|
+
i0.ɵɵelementEnd()()()()();
|
|
51735
|
+
i0.ɵɵelementStart(40, "div", 15)(41, "div", 16)(42, "div", 17)(43, "label", 18);
|
|
51736
|
+
i0.ɵɵtext(44, " Marketing automation tools used ");
|
|
51737
|
+
i0.ɵɵelementEnd();
|
|
51738
|
+
i0.ɵɵelementStart(45, "button", 19);
|
|
51739
|
+
i0.ɵɵlistener("click", function FocusAreaQuestionComponent_Template_button_click_45_listener() { return ctx.onToolsClick(); });
|
|
51740
|
+
i0.ɵɵelementStart(46, "div", 20);
|
|
51741
|
+
i0.ɵɵconditionalCreate(47, FocusAreaQuestionComponent_Conditional_47_Template, 3, 0, "div", 21)(48, FocusAreaQuestionComponent_Conditional_48_Template, 2, 1, "span", 22);
|
|
51742
|
+
i0.ɵɵelementEnd();
|
|
51743
|
+
i0.ɵɵnamespaceSVG();
|
|
51744
|
+
i0.ɵɵelementStart(49, "svg", 23);
|
|
51745
|
+
i0.ɵɵelement(50, "path", 24);
|
|
51746
|
+
i0.ɵɵelementEnd()()()()()()();
|
|
51747
|
+
} if (rf & 2) {
|
|
51748
|
+
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
51749
|
+
i0.ɵɵadvance();
|
|
51750
|
+
i0.ɵɵproperty("ngClass", ctx.contentClasses());
|
|
51751
|
+
i0.ɵɵadvance(3);
|
|
51752
|
+
i0.ɵɵproperty("ngClass", ctx.titleClasses());
|
|
51753
|
+
i0.ɵɵadvance();
|
|
51754
|
+
i0.ɵɵtextInterpolate1(" ", ctx.title(), " ");
|
|
51755
|
+
i0.ɵɵadvance();
|
|
51756
|
+
i0.ɵɵproperty("ngClass", ctx.descriptionClasses());
|
|
51757
|
+
i0.ɵɵadvance();
|
|
51758
|
+
i0.ɵɵtextInterpolate1(" ", ctx.description(), " ");
|
|
51759
|
+
i0.ɵɵadvance();
|
|
51760
|
+
i0.ɵɵconditional(!ctx.isAnswered() ? 8 : -1);
|
|
51761
|
+
i0.ɵɵadvance(2);
|
|
51762
|
+
i0.ɵɵproperty("ngClass", ctx.radioOptionClasses(ctx.FocusAreaDetailStatusEnum.ENGAGED));
|
|
51763
|
+
i0.ɵɵadvance();
|
|
51764
|
+
i0.ɵɵproperty("checked", ctx.selectedStatus() === ctx.FocusAreaDetailStatusEnum.ENGAGED);
|
|
51765
|
+
i0.ɵɵadvance(2);
|
|
51766
|
+
i0.ɵɵproperty("ngClass", ctx.radioIndicatorClasses(ctx.FocusAreaDetailStatusEnum.ENGAGED));
|
|
51767
|
+
i0.ɵɵadvance();
|
|
51768
|
+
i0.ɵɵconditional(ctx.selectedStatus() === ctx.FocusAreaDetailStatusEnum.ENGAGED ? 14 : -1);
|
|
51769
|
+
i0.ɵɵadvance(2);
|
|
51770
|
+
i0.ɵɵproperty("ngClass", ctx.radioLabelClasses(ctx.FocusAreaDetailStatusEnum.ENGAGED));
|
|
51771
|
+
i0.ɵɵadvance(2);
|
|
51772
|
+
i0.ɵɵproperty("ngClass", ctx.radioDescriptionClasses());
|
|
51773
|
+
i0.ɵɵadvance(2);
|
|
51774
|
+
i0.ɵɵproperty("ngClass", ctx.radioOptionClasses(ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO));
|
|
51775
|
+
i0.ɵɵadvance();
|
|
51776
|
+
i0.ɵɵproperty("checked", ctx.selectedStatus() === ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO);
|
|
51777
|
+
i0.ɵɵadvance(2);
|
|
51778
|
+
i0.ɵɵproperty("ngClass", ctx.radioIndicatorClasses(ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO));
|
|
51779
|
+
i0.ɵɵadvance();
|
|
51780
|
+
i0.ɵɵconditional(ctx.selectedStatus() === ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO ? 24 : -1);
|
|
51781
|
+
i0.ɵɵadvance(2);
|
|
51782
|
+
i0.ɵɵproperty("ngClass", ctx.radioLabelClasses(ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO));
|
|
51783
|
+
i0.ɵɵadvance(2);
|
|
51784
|
+
i0.ɵɵproperty("ngClass", ctx.radioDescriptionClasses());
|
|
51785
|
+
i0.ɵɵadvance(2);
|
|
51786
|
+
i0.ɵɵproperty("ngClass", ctx.radioOptionClasses(ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST));
|
|
51787
|
+
i0.ɵɵadvance();
|
|
51788
|
+
i0.ɵɵproperty("checked", ctx.selectedStatus() === ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST);
|
|
51789
|
+
i0.ɵɵadvance(2);
|
|
51790
|
+
i0.ɵɵproperty("ngClass", ctx.radioIndicatorClasses(ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST));
|
|
51791
|
+
i0.ɵɵadvance();
|
|
51792
|
+
i0.ɵɵconditional(ctx.selectedStatus() === ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST ? 34 : -1);
|
|
51793
|
+
i0.ɵɵadvance(2);
|
|
51794
|
+
i0.ɵɵproperty("ngClass", ctx.radioLabelClasses(ctx.FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST));
|
|
51795
|
+
i0.ɵɵadvance(2);
|
|
51796
|
+
i0.ɵɵproperty("ngClass", ctx.radioDescriptionClasses());
|
|
51797
|
+
i0.ɵɵadvance(2);
|
|
51798
|
+
i0.ɵɵstyleProp("grid-template-rows", ctx.selectedStatus() === ctx.FocusAreaDetailStatusEnum.ENGAGED ? "1fr" : "0fr");
|
|
51799
|
+
i0.ɵɵadvance(3);
|
|
51800
|
+
i0.ɵɵproperty("ngClass", ctx.toolsLabelClasses());
|
|
51801
|
+
i0.ɵɵadvance(2);
|
|
51802
|
+
i0.ɵɵproperty("ngClass", ctx.toolsButtonClasses());
|
|
51803
|
+
i0.ɵɵadvance(2);
|
|
51804
|
+
i0.ɵɵconditional(ctx.selectedTools() && ctx.selectedTools().length > 0 ? 47 : 48);
|
|
51805
|
+
i0.ɵɵadvance(2);
|
|
51806
|
+
i0.ɵɵproperty("ngClass", ctx.editIconClasses());
|
|
51807
|
+
} }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
|
|
51808
|
+
}
|
|
51809
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FocusAreaQuestionComponent, [{
|
|
51810
|
+
type: Component,
|
|
51811
|
+
args: [{ selector: 'symphiq-focus-area-question', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
51812
|
+
<div [ngClass]="containerClasses()" class="rounded-xl border-2 overflow-hidden">
|
|
51813
|
+
<div [ngClass]="contentClasses()" class="p-6">
|
|
51814
|
+
<div class="flex items-start justify-between mb-4">
|
|
51815
|
+
<div class="flex-1">
|
|
51816
|
+
<h3 [ngClass]="titleClasses()" class="text-lg font-bold mb-2">
|
|
51817
|
+
{{ title() }}
|
|
51818
|
+
</h3>
|
|
51819
|
+
<p [ngClass]="descriptionClasses()" class="text-sm leading-relaxed">
|
|
51820
|
+
{{ description() }}
|
|
51821
|
+
</p>
|
|
51822
|
+
</div>
|
|
51823
|
+
@if (!isAnswered()) {
|
|
51824
|
+
<span [ngClass]="notAnsweredBadgeClasses()" class="ml-3 px-3 py-1 rounded-full text-xs font-semibold whitespace-nowrap flex-shrink-0">
|
|
51825
|
+
Not answered yet
|
|
51826
|
+
</span>
|
|
51827
|
+
}
|
|
51828
|
+
</div>
|
|
51829
|
+
|
|
51830
|
+
<div class="space-y-3 mt-5">
|
|
51831
|
+
<label
|
|
51832
|
+
[ngClass]="radioOptionClasses(FocusAreaDetailStatusEnum.ENGAGED)"
|
|
51833
|
+
class="cursor-pointer block">
|
|
51834
|
+
<input
|
|
51835
|
+
type="radio"
|
|
51836
|
+
[checked]="selectedStatus() === FocusAreaDetailStatusEnum.ENGAGED"
|
|
51837
|
+
(change)="onStatusChange(FocusAreaDetailStatusEnum.ENGAGED)"
|
|
51838
|
+
class="sr-only"
|
|
51839
|
+
/>
|
|
51840
|
+
<div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
|
|
51841
|
+
<div [ngClass]="radioIndicatorClasses(FocusAreaDetailStatusEnum.ENGAGED)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
|
|
51842
|
+
@if (selectedStatus() === FocusAreaDetailStatusEnum.ENGAGED) {
|
|
51843
|
+
<div class="w-3 h-3 rounded-full bg-current"></div>
|
|
51844
|
+
}
|
|
51845
|
+
</div>
|
|
51846
|
+
<div class="flex-1">
|
|
51847
|
+
<div [ngClass]="radioLabelClasses(FocusAreaDetailStatusEnum.ENGAGED)" class="font-semibold text-sm">
|
|
51848
|
+
Engaged
|
|
51849
|
+
</div>
|
|
51850
|
+
<div [ngClass]="radioDescriptionClasses()" class="text-xs mt-0.5">
|
|
51851
|
+
We are currently engaged in this area
|
|
51852
|
+
</div>
|
|
51853
|
+
</div>
|
|
51854
|
+
</div>
|
|
51855
|
+
</label>
|
|
51856
|
+
|
|
51857
|
+
<label
|
|
51858
|
+
[ngClass]="radioOptionClasses(FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO)"
|
|
51859
|
+
class="cursor-pointer block">
|
|
51860
|
+
<input
|
|
51861
|
+
type="radio"
|
|
51862
|
+
[checked]="selectedStatus() === FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO"
|
|
51863
|
+
(change)="onStatusChange(FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO)"
|
|
51864
|
+
class="sr-only"
|
|
51865
|
+
/>
|
|
51866
|
+
<div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
|
|
51867
|
+
<div [ngClass]="radioIndicatorClasses(FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
|
|
51868
|
+
@if (selectedStatus() === FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO) {
|
|
51869
|
+
<div class="w-3 h-3 rounded-full bg-current"></div>
|
|
51870
|
+
}
|
|
51871
|
+
</div>
|
|
51872
|
+
<div class="flex-1">
|
|
51873
|
+
<div [ngClass]="radioLabelClasses(FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO)" class="font-semibold text-sm">
|
|
51874
|
+
Interested
|
|
51875
|
+
</div>
|
|
51876
|
+
<div [ngClass]="radioDescriptionClasses()" class="text-xs mt-0.5">
|
|
51877
|
+
We are interested in this area but not engaged with it yet
|
|
51878
|
+
</div>
|
|
51879
|
+
</div>
|
|
51880
|
+
</div>
|
|
51881
|
+
</label>
|
|
51882
|
+
|
|
51883
|
+
<label
|
|
51884
|
+
[ngClass]="radioOptionClasses(FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST)"
|
|
51885
|
+
class="cursor-pointer block">
|
|
51886
|
+
<input
|
|
51887
|
+
type="radio"
|
|
51888
|
+
[checked]="selectedStatus() === FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST"
|
|
51889
|
+
(change)="onStatusChange(FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST)"
|
|
51890
|
+
class="sr-only"
|
|
51891
|
+
/>
|
|
51892
|
+
<div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
|
|
51893
|
+
<div [ngClass]="radioIndicatorClasses(FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
|
|
51894
|
+
@if (selectedStatus() === FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST) {
|
|
51895
|
+
<div class="w-3 h-3 rounded-full bg-current"></div>
|
|
51896
|
+
}
|
|
51897
|
+
</div>
|
|
51898
|
+
<div class="flex-1">
|
|
51899
|
+
<div [ngClass]="radioLabelClasses(FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST)" class="font-semibold text-sm">
|
|
51900
|
+
Not interested
|
|
51901
|
+
</div>
|
|
51902
|
+
<div [ngClass]="radioDescriptionClasses()" class="text-xs mt-0.5">
|
|
51903
|
+
We have no interest in this area
|
|
51904
|
+
</div>
|
|
51905
|
+
</div>
|
|
51906
|
+
</div>
|
|
51907
|
+
</label>
|
|
51908
|
+
</div>
|
|
51909
|
+
|
|
51910
|
+
<!-- Tools Field with Grid Animation -->
|
|
51911
|
+
<div
|
|
51912
|
+
class="grid transition-all duration-300 ease-in-out"
|
|
51913
|
+
[style.grid-template-rows]="selectedStatus() === FocusAreaDetailStatusEnum.ENGAGED ? '1fr' : '0fr'">
|
|
51914
|
+
<div class="overflow-hidden">
|
|
51915
|
+
<div class="mt-4">
|
|
51916
|
+
<label [ngClass]="toolsLabelClasses()" class="block text-sm font-semibold mb-2">
|
|
51917
|
+
Marketing automation tools used
|
|
51918
|
+
</label>
|
|
51919
|
+
<button
|
|
51920
|
+
type="button"
|
|
51921
|
+
(click)="onToolsClick()"
|
|
51922
|
+
[ngClass]="toolsButtonClasses()"
|
|
51923
|
+
class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 hover:scale-[1.01] flex items-center justify-between cursor-pointer">
|
|
51924
|
+
<div class="flex items-center gap-2 flex-1 min-w-0">
|
|
51925
|
+
@if (selectedTools() && selectedTools()!.length > 0) {
|
|
51926
|
+
<div class="flex flex-wrap gap-1.5">
|
|
51927
|
+
@for (tool of selectedTools(); track tool) {
|
|
51928
|
+
<span [ngClass]="toolChipClasses()" class="px-2 py-1 rounded text-xs font-medium">
|
|
51929
|
+
{{ tool }}
|
|
51930
|
+
</span>
|
|
51931
|
+
}
|
|
51932
|
+
</div>
|
|
51933
|
+
} @else {
|
|
51934
|
+
<span [ngClass]="placeholderClasses()" class="text-sm">
|
|
51935
|
+
None specified - Click to select
|
|
51936
|
+
</span>
|
|
51937
|
+
}
|
|
51938
|
+
</div>
|
|
51939
|
+
<svg [ngClass]="editIconClasses()" class="w-4 h-4 flex-shrink-0 ml-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
51940
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"/>
|
|
51941
|
+
</svg>
|
|
51942
|
+
</button>
|
|
51943
|
+
</div>
|
|
51944
|
+
</div>
|
|
51945
|
+
</div>
|
|
51946
|
+
</div>
|
|
51947
|
+
</div>
|
|
51948
|
+
` }]
|
|
51949
|
+
}], null, { focusAreaDomain: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaDomain", required: true }] }], selectedStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedStatus", required: false }] }], selectedTools: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedTools", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: true }] }], statusChange: [{ type: i0.Output, args: ["statusChange"] }], toolsClick: [{ type: i0.Output, args: ["toolsClick"] }] }); })();
|
|
51950
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaQuestionComponent, { className: "FocusAreaQuestionComponent", filePath: "lib/components/create-account-dashboard/focus-area-question.component.ts", lineNumber: 156 }); })();
|
|
51951
|
+
|
|
51952
|
+
function FocusAreaToolsModalComponent_Conditional_0_Conditional_10_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
51953
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
51954
|
+
i0.ɵɵelementStart(0, "label", 17)(1, "input", 18);
|
|
51955
|
+
i0.ɵɵlistener("change", function FocusAreaToolsModalComponent_Conditional_0_Conditional_10_For_5_Template_input_change_1_listener($event) { const tool_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onToolToggle(tool_r4, $event)); });
|
|
51632
51956
|
i0.ɵɵelementEnd();
|
|
51633
|
-
|
|
51634
|
-
|
|
51635
|
-
i0.ɵɵproperty("ngClass", ctx_r1.errorClasses());
|
|
51636
|
-
} }
|
|
51637
|
-
function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Template(rf, ctx) { if (rf & 1) {
|
|
51638
|
-
i0.ɵɵelementStart(0, "div")(1, "label", 28);
|
|
51639
|
-
i0.ɵɵtext(2, " Platform Name ");
|
|
51640
|
-
i0.ɵɵelementStart(3, "span", 29);
|
|
51641
|
-
i0.ɵɵtext(4, "*");
|
|
51957
|
+
i0.ɵɵelementStart(2, "span", 19);
|
|
51958
|
+
i0.ɵɵtext(3);
|
|
51642
51959
|
i0.ɵɵelementEnd()();
|
|
51643
|
-
i0.ɵɵelement(5, "input", 49);
|
|
51644
|
-
i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Conditional_6_Template, 2, 1, "p", 31);
|
|
51645
|
-
i0.ɵɵelementEnd();
|
|
51646
51960
|
} if (rf & 2) {
|
|
51647
|
-
const
|
|
51961
|
+
const tool_r4 = ctx.$implicit;
|
|
51962
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
51648
51963
|
i0.ɵɵadvance();
|
|
51649
|
-
i0.ɵɵproperty("ngClass", ctx_r1.
|
|
51650
|
-
i0.ɵɵadvance(4);
|
|
51651
|
-
i0.ɵɵproperty("ngClass", ctx_r1.inputClasses("otherPlatformName"));
|
|
51964
|
+
i0.ɵɵproperty("checked", ctx_r1.isToolSelected(tool_r4))("ngClass", ctx_r1.checkboxClasses());
|
|
51652
51965
|
i0.ɵɵadvance();
|
|
51653
|
-
i0.ɵɵ
|
|
51966
|
+
i0.ɵɵproperty("ngClass", ctx_r1.checkboxLabelClasses());
|
|
51967
|
+
i0.ɵɵadvance();
|
|
51968
|
+
i0.ɵɵtextInterpolate1(" ", tool_r4, " ");
|
|
51654
51969
|
} }
|
|
51655
|
-
function
|
|
51656
|
-
i0.ɵɵelementStart(0, "
|
|
51657
|
-
i0.ɵɵtext(
|
|
51970
|
+
function FocusAreaToolsModalComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
51971
|
+
i0.ɵɵelementStart(0, "div", 10)(1, "label", 15);
|
|
51972
|
+
i0.ɵɵtext(2, " Select tools from the list: ");
|
|
51658
51973
|
i0.ɵɵelementEnd();
|
|
51974
|
+
i0.ɵɵelementStart(3, "div", 16);
|
|
51975
|
+
i0.ɵɵrepeaterCreate(4, FocusAreaToolsModalComponent_Conditional_0_Conditional_10_For_5_Template, 4, 4, "label", 17, i0.ɵɵrepeaterTrackByIdentity);
|
|
51976
|
+
i0.ɵɵelementEnd()();
|
|
51659
51977
|
} if (rf & 2) {
|
|
51660
51978
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
51661
|
-
i0.ɵɵ
|
|
51979
|
+
i0.ɵɵadvance();
|
|
51980
|
+
i0.ɵɵproperty("ngClass", ctx_r1.labelClasses());
|
|
51981
|
+
i0.ɵɵadvance(3);
|
|
51982
|
+
i0.ɵɵrepeater(ctx_r1.predefinedTools());
|
|
51662
51983
|
} }
|
|
51663
|
-
function
|
|
51664
|
-
const
|
|
51665
|
-
i0.ɵɵelementStart(0, "div",
|
|
51666
|
-
i0.ɵɵ
|
|
51667
|
-
i0.ɵɵ
|
|
51668
|
-
i0.ɵɵelementStart(
|
|
51669
|
-
i0.ɵɵ
|
|
51670
|
-
i0.ɵɵ
|
|
51671
|
-
i0.ɵɵ
|
|
51672
|
-
i0.ɵɵtext(10, " Shop Name ");
|
|
51673
|
-
i0.ɵɵelementStart(11, "span", 29);
|
|
51674
|
-
i0.ɵɵtext(12, "*");
|
|
51675
|
-
i0.ɵɵelementEnd()();
|
|
51676
|
-
i0.ɵɵelement(13, "input", 30, 0);
|
|
51677
|
-
i0.ɵɵconditionalCreate(15, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_15_Template, 2, 1, "p", 31);
|
|
51678
|
-
i0.ɵɵelementEnd();
|
|
51679
|
-
i0.ɵɵelementStart(16, "div")(17, "label", 28);
|
|
51680
|
-
i0.ɵɵtext(18, " Shop URL ");
|
|
51681
|
-
i0.ɵɵelementStart(19, "span", 29);
|
|
51682
|
-
i0.ɵɵtext(20, "*");
|
|
51683
|
-
i0.ɵɵelementEnd()();
|
|
51684
|
-
i0.ɵɵelementStart(21, "div", 32)(22, "span", 33);
|
|
51685
|
-
i0.ɵɵtext(23, " https:// ");
|
|
51686
|
-
i0.ɵɵelementEnd();
|
|
51687
|
-
i0.ɵɵelement(24, "input", 34);
|
|
51984
|
+
function FocusAreaToolsModalComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
51985
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
51986
|
+
i0.ɵɵelementStart(0, "div", 1);
|
|
51987
|
+
i0.ɵɵlistener("click", function FocusAreaToolsModalComponent_Conditional_0_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onBackdropClick()); });
|
|
51988
|
+
i0.ɵɵelement(1, "div", 2);
|
|
51989
|
+
i0.ɵɵelementStart(2, "div", 3);
|
|
51990
|
+
i0.ɵɵlistener("click", function FocusAreaToolsModalComponent_Conditional_0_Template_div_click_2_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
51991
|
+
i0.ɵɵelementStart(3, "div", 4)(4, "h3", 5);
|
|
51992
|
+
i0.ɵɵtext(5);
|
|
51688
51993
|
i0.ɵɵelementEnd();
|
|
51689
|
-
i0.ɵɵ
|
|
51994
|
+
i0.ɵɵelementStart(6, "button", 6);
|
|
51995
|
+
i0.ɵɵlistener("click", function FocusAreaToolsModalComponent_Conditional_0_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onClose()); });
|
|
51996
|
+
i0.ɵɵnamespaceSVG();
|
|
51997
|
+
i0.ɵɵelementStart(7, "svg", 7);
|
|
51998
|
+
i0.ɵɵelement(8, "path", 8);
|
|
51999
|
+
i0.ɵɵelementEnd()()();
|
|
52000
|
+
i0.ɵɵnamespaceHTML();
|
|
52001
|
+
i0.ɵɵelementStart(9, "div", 9);
|
|
52002
|
+
i0.ɵɵconditionalCreate(10, FocusAreaToolsModalComponent_Conditional_0_Conditional_10_Template, 6, 1, "div", 10);
|
|
52003
|
+
i0.ɵɵelementStart(11, "div")(12, "label", 11);
|
|
52004
|
+
i0.ɵɵtext(13, " Other tools, separated by commas or returns: ");
|
|
51690
52005
|
i0.ɵɵelementEnd();
|
|
51691
|
-
i0.ɵɵelementStart(
|
|
51692
|
-
i0.ɵɵ
|
|
51693
|
-
i0.ɵɵ
|
|
51694
|
-
i0.ɵɵ
|
|
51695
|
-
i0.ɵɵ
|
|
51696
|
-
i0.ɵɵ
|
|
51697
|
-
i0.ɵɵelement(33, "input", 38);
|
|
51698
|
-
i0.ɵɵelementStart(34, "div", 39)(35, "div", 40);
|
|
51699
|
-
i0.ɵɵconditionalCreate(36, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_36_Template, 1, 0, "div", 41);
|
|
52006
|
+
i0.ɵɵelementStart(14, "textarea", 12);
|
|
52007
|
+
i0.ɵɵtwoWayListener("ngModelChange", function FocusAreaToolsModalComponent_Conditional_0_Template_textarea_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.otherToolsText, $event) || (ctx_r1.otherToolsText = $event); return i0.ɵɵresetView($event); });
|
|
52008
|
+
i0.ɵɵelementEnd()()();
|
|
52009
|
+
i0.ɵɵelementStart(15, "div", 13)(16, "button", 14);
|
|
52010
|
+
i0.ɵɵlistener("click", function FocusAreaToolsModalComponent_Conditional_0_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onClose()); });
|
|
52011
|
+
i0.ɵɵtext(17, " Cancel ");
|
|
51700
52012
|
i0.ɵɵelementEnd();
|
|
51701
|
-
i0.ɵɵelementStart(
|
|
51702
|
-
i0.ɵɵ
|
|
52013
|
+
i0.ɵɵelementStart(18, "button", 14);
|
|
52014
|
+
i0.ɵɵlistener("click", function FocusAreaToolsModalComponent_Conditional_0_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSave()); });
|
|
52015
|
+
i0.ɵɵtext(19, " Save ");
|
|
51703
52016
|
i0.ɵɵelementEnd()()()();
|
|
51704
|
-
|
|
51705
|
-
i0.ɵɵ
|
|
51706
|
-
i0.ɵɵ
|
|
51707
|
-
i0.ɵɵ
|
|
52017
|
+
} if (rf & 2) {
|
|
52018
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
52019
|
+
i0.ɵɵadvance();
|
|
52020
|
+
i0.ɵɵproperty("ngClass", ctx_r1.backdropClasses());
|
|
52021
|
+
i0.ɵɵadvance();
|
|
52022
|
+
i0.ɵɵproperty("ngClass", ctx_r1.containerClasses());
|
|
52023
|
+
i0.ɵɵadvance();
|
|
52024
|
+
i0.ɵɵproperty("ngClass", ctx_r1.headerClasses());
|
|
52025
|
+
i0.ɵɵadvance();
|
|
52026
|
+
i0.ɵɵproperty("ngClass", ctx_r1.titleClasses());
|
|
52027
|
+
i0.ɵɵadvance();
|
|
52028
|
+
i0.ɵɵtextInterpolate1(" Tools used for ", ctx_r1.focusAreaTitle(), " ");
|
|
52029
|
+
i0.ɵɵadvance();
|
|
52030
|
+
i0.ɵɵproperty("ngClass", ctx_r1.closeButtonClasses());
|
|
52031
|
+
i0.ɵɵadvance(4);
|
|
52032
|
+
i0.ɵɵconditional(ctx_r1.predefinedTools().length > 0 ? 10 : -1);
|
|
52033
|
+
i0.ɵɵadvance(2);
|
|
52034
|
+
i0.ɵɵproperty("ngClass", ctx_r1.labelClasses());
|
|
52035
|
+
i0.ɵɵadvance(2);
|
|
52036
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.otherToolsText);
|
|
52037
|
+
i0.ɵɵproperty("ngClass", ctx_r1.textareaClasses());
|
|
52038
|
+
i0.ɵɵadvance();
|
|
52039
|
+
i0.ɵɵproperty("ngClass", ctx_r1.footerClasses());
|
|
52040
|
+
i0.ɵɵadvance();
|
|
52041
|
+
i0.ɵɵproperty("ngClass", ctx_r1.cancelButtonClasses());
|
|
52042
|
+
i0.ɵɵadvance(2);
|
|
52043
|
+
i0.ɵɵproperty("ngClass", ctx_r1.saveButtonClasses());
|
|
52044
|
+
} }
|
|
52045
|
+
class FocusAreaToolsModalComponent {
|
|
52046
|
+
constructor() {
|
|
52047
|
+
this.isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
|
|
52048
|
+
this.focusAreaDomain = input.required(...(ngDevMode ? [{ debugName: "focusAreaDomain" }] : []));
|
|
52049
|
+
this.focusAreaTitle = input.required(...(ngDevMode ? [{ debugName: "focusAreaTitle" }] : []));
|
|
52050
|
+
this.selectedTools = input([], ...(ngDevMode ? [{ debugName: "selectedTools" }] : []));
|
|
52051
|
+
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
52052
|
+
this.close = output();
|
|
52053
|
+
this.save = output();
|
|
52054
|
+
this.selectedPredefinedTools = signal(new Set(), ...(ngDevMode ? [{ debugName: "selectedPredefinedTools" }] : []));
|
|
52055
|
+
this.otherToolsText = signal('', ...(ngDevMode ? [{ debugName: "otherToolsText" }] : []));
|
|
52056
|
+
this.predefinedTools = signal([], ...(ngDevMode ? [{ debugName: "predefinedTools" }] : []));
|
|
52057
|
+
effect(() => {
|
|
52058
|
+
const domain = this.focusAreaDomain();
|
|
52059
|
+
const tools = FocusAreaDomainEnumUtil.topTools(domain);
|
|
52060
|
+
this.predefinedTools.set(tools);
|
|
52061
|
+
});
|
|
52062
|
+
effect(() => {
|
|
52063
|
+
const tools = this.selectedTools();
|
|
52064
|
+
const predefined = this.predefinedTools();
|
|
52065
|
+
const selectedSet = new Set();
|
|
52066
|
+
const otherTools = [];
|
|
52067
|
+
tools.forEach(tool => {
|
|
52068
|
+
if (predefined.includes(tool)) {
|
|
52069
|
+
selectedSet.add(tool);
|
|
52070
|
+
}
|
|
52071
|
+
else {
|
|
52072
|
+
otherTools.push(tool);
|
|
52073
|
+
}
|
|
52074
|
+
});
|
|
52075
|
+
this.selectedPredefinedTools.set(selectedSet);
|
|
52076
|
+
this.otherToolsText.set(otherTools.join(', '));
|
|
52077
|
+
});
|
|
52078
|
+
}
|
|
52079
|
+
onEscapeKey() {
|
|
52080
|
+
if (this.isOpen()) {
|
|
52081
|
+
this.onClose();
|
|
52082
|
+
}
|
|
52083
|
+
}
|
|
52084
|
+
isLightMode() {
|
|
52085
|
+
return this.viewMode() === ViewModeEnum.LIGHT;
|
|
52086
|
+
}
|
|
52087
|
+
isToolSelected(tool) {
|
|
52088
|
+
return this.selectedPredefinedTools().has(tool);
|
|
52089
|
+
}
|
|
52090
|
+
onToolToggle(tool, event) {
|
|
52091
|
+
const checkbox = event.target;
|
|
52092
|
+
const newSet = new Set(this.selectedPredefinedTools());
|
|
52093
|
+
if (checkbox.checked) {
|
|
52094
|
+
newSet.add(tool);
|
|
52095
|
+
}
|
|
52096
|
+
else {
|
|
52097
|
+
newSet.delete(tool);
|
|
52098
|
+
}
|
|
52099
|
+
this.selectedPredefinedTools.set(newSet);
|
|
52100
|
+
}
|
|
52101
|
+
onBackdropClick() {
|
|
52102
|
+
this.onClose();
|
|
52103
|
+
}
|
|
52104
|
+
onClose() {
|
|
52105
|
+
this.close.emit();
|
|
52106
|
+
}
|
|
52107
|
+
onSave() {
|
|
52108
|
+
const predefined = Array.from(this.selectedPredefinedTools());
|
|
52109
|
+
const otherText = this.otherToolsText();
|
|
52110
|
+
const otherTools = otherText
|
|
52111
|
+
.split(/[,\n\r]+/)
|
|
52112
|
+
.map(t => t.trim())
|
|
52113
|
+
.filter(t => t.length > 0);
|
|
52114
|
+
const allTools = [...predefined, ...otherTools];
|
|
52115
|
+
this.save.emit(allTools);
|
|
52116
|
+
}
|
|
52117
|
+
backdropClasses() {
|
|
52118
|
+
return this.isLightMode()
|
|
52119
|
+
? 'bg-black/15'
|
|
52120
|
+
: 'bg-black/40';
|
|
52121
|
+
}
|
|
52122
|
+
containerClasses() {
|
|
52123
|
+
return this.isLightMode()
|
|
52124
|
+
? 'bg-white border border-slate-200'
|
|
52125
|
+
: 'bg-slate-800 border border-slate-700';
|
|
52126
|
+
}
|
|
52127
|
+
headerClasses() {
|
|
52128
|
+
return this.isLightMode()
|
|
52129
|
+
? 'bg-gradient-to-r from-white to-slate-50 border-slate-200'
|
|
52130
|
+
: 'bg-gradient-to-r from-slate-800 to-slate-900 border-slate-700';
|
|
52131
|
+
}
|
|
52132
|
+
titleClasses() {
|
|
52133
|
+
return this.isLightMode()
|
|
52134
|
+
? 'text-slate-900'
|
|
52135
|
+
: 'text-white';
|
|
52136
|
+
}
|
|
52137
|
+
closeButtonClasses() {
|
|
52138
|
+
return this.isLightMode()
|
|
52139
|
+
? 'text-slate-500 hover:bg-slate-100 hover:text-slate-700'
|
|
52140
|
+
: 'text-slate-400 hover:bg-slate-700 hover:text-slate-200';
|
|
52141
|
+
}
|
|
52142
|
+
labelClasses() {
|
|
52143
|
+
return this.isLightMode()
|
|
52144
|
+
? 'text-slate-700'
|
|
52145
|
+
: 'text-slate-300';
|
|
52146
|
+
}
|
|
52147
|
+
checkboxClasses() {
|
|
52148
|
+
return this.isLightMode()
|
|
52149
|
+
? 'text-blue-600 border-slate-300 focus:ring-blue-500'
|
|
52150
|
+
: 'text-blue-400 border-slate-600 focus:ring-blue-400 bg-slate-700';
|
|
52151
|
+
}
|
|
52152
|
+
checkboxLabelClasses() {
|
|
52153
|
+
return this.isLightMode()
|
|
52154
|
+
? 'text-slate-700'
|
|
52155
|
+
: 'text-slate-300';
|
|
52156
|
+
}
|
|
52157
|
+
textareaClasses() {
|
|
52158
|
+
return this.isLightMode()
|
|
52159
|
+
? 'bg-white text-slate-900 placeholder-slate-400 border-slate-300 focus:border-blue-500 focus:ring-blue-500'
|
|
52160
|
+
: 'bg-slate-700 text-white placeholder-slate-500 border-slate-600 focus:border-blue-400 focus:ring-blue-400';
|
|
52161
|
+
}
|
|
52162
|
+
footerClasses() {
|
|
52163
|
+
return this.isLightMode()
|
|
52164
|
+
? 'bg-gradient-to-r from-slate-50 to-white border-slate-200'
|
|
52165
|
+
: 'bg-gradient-to-r from-slate-900 to-slate-800 border-slate-700';
|
|
52166
|
+
}
|
|
52167
|
+
cancelButtonClasses() {
|
|
52168
|
+
return this.isLightMode()
|
|
52169
|
+
? 'bg-slate-200 text-slate-700 hover:bg-slate-300'
|
|
52170
|
+
: 'bg-slate-700 text-slate-300 hover:bg-slate-600';
|
|
52171
|
+
}
|
|
52172
|
+
saveButtonClasses() {
|
|
52173
|
+
return this.isLightMode()
|
|
52174
|
+
? 'bg-gradient-to-r from-blue-600 to-cyan-600 hover:from-blue-700 hover:to-cyan-700 text-white'
|
|
52175
|
+
: 'bg-gradient-to-r from-blue-500 to-cyan-500 hover:from-blue-600 hover:to-cyan-600 text-white';
|
|
52176
|
+
}
|
|
52177
|
+
static { this.ɵfac = function FocusAreaToolsModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FocusAreaToolsModalComponent)(); }; }
|
|
52178
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FocusAreaToolsModalComponent, selectors: [["symphiq-focus-area-tools-modal"]], hostBindings: function FocusAreaToolsModalComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
52179
|
+
i0.ɵɵlistener("keydown.escape", function FocusAreaToolsModalComponent_keydown_escape_HostBindingHandler() { return ctx.onEscapeKey(); }, i0.ɵɵresolveDocument);
|
|
52180
|
+
} }, inputs: { isOpen: [1, "isOpen"], focusAreaDomain: [1, "focusAreaDomain"], focusAreaTitle: [1, "focusAreaTitle"], selectedTools: [1, "selectedTools"], viewMode: [1, "viewMode"] }, outputs: { close: "close", save: "save" }, decls: 1, vars: 1, consts: [[1, "fixed", "inset-0", "z-[10002]", "flex", "items-center", "justify-center", "px-4"], [1, "fixed", "inset-0", "z-[10002]", "flex", "items-center", "justify-center", "px-4", 3, "click"], [1, "absolute", "inset-0", "backdrop-blur-sm", "animate-fade-in", "z-[10002]", 3, "ngClass"], [1, "relative", "w-full", "max-w-2xl", "rounded-2xl", "shadow-2xl", "animate-scale-in", "z-[10003]", "max-h-[90vh]", "flex", "flex-col", 3, "click", "ngClass"], [1, "px-6", "py-4", "border-b", "flex", "items-center", "justify-between", 3, "ngClass"], [1, "text-xl", "font-bold", 3, "ngClass"], ["type", "button", 1, "w-8", "h-8", "rounded-lg", "flex", "items-center", "justify-center", "transition-colors", "cursor-pointer", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], [1, "flex-1", "overflow-y-auto", "p-6"], [1, "mb-6"], [1, "block", "text-sm", "font-semibold", "mb-2", 3, "ngClass"], ["rows", "4", "placeholder", "Enter other tools (e.g., Custom Tool, Another Tool)", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngModelChange", "ngModel", "ngClass"], [1, "px-6", "py-4", "border-t", "flex", "items-center", "justify-end", "gap-3", 3, "ngClass"], ["type", "button", 1, "px-6", "py-2.5", "rounded-lg", "font-semibold", "text-sm", "transition-all", "duration-200", "cursor-pointer", "hover:scale-105", 3, "click", "ngClass"], [1, "block", "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "gap-3"], [1, "flex", "items-center", "gap-2", "cursor-pointer"], ["type", "checkbox", 1, "w-4", "h-4", "rounded", "border-2", "transition-all", "duration-200", 3, "change", "checked", "ngClass"], [1, "text-sm", 3, "ngClass"]], template: function FocusAreaToolsModalComponent_Template(rf, ctx) { if (rf & 1) {
|
|
52181
|
+
i0.ɵɵconditionalCreate(0, FocusAreaToolsModalComponent_Conditional_0_Template, 20, 13, "div", 0);
|
|
52182
|
+
} if (rf & 2) {
|
|
52183
|
+
i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
|
|
52184
|
+
} }, dependencies: [CommonModule, i1$1.NgClass, FormsModule, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.NgModel], styles: ["@keyframes _ngcontent-%COMP%_fade-in{0%{opacity:0}to{opacity:1}}@keyframes _ngcontent-%COMP%_scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fade-in .2s ease-out}.animate-scale-in[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_scale-in .2s ease-out}"], changeDetection: 0 }); }
|
|
52185
|
+
}
|
|
52186
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FocusAreaToolsModalComponent, [{
|
|
52187
|
+
type: Component,
|
|
52188
|
+
args: [{ selector: 'symphiq-focus-area-tools-modal', standalone: true, imports: [CommonModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
52189
|
+
@if (isOpen()) {
|
|
52190
|
+
<div
|
|
52191
|
+
class="fixed inset-0 z-[10002] flex items-center justify-center px-4"
|
|
52192
|
+
(click)="onBackdropClick()">
|
|
52193
|
+
<div
|
|
52194
|
+
[ngClass]="backdropClasses()"
|
|
52195
|
+
class="absolute inset-0 backdrop-blur-sm animate-fade-in z-[10002]"></div>
|
|
52196
|
+
|
|
52197
|
+
<div
|
|
52198
|
+
[ngClass]="containerClasses()"
|
|
52199
|
+
class="relative w-full max-w-2xl rounded-2xl shadow-2xl animate-scale-in z-[10003] max-h-[90vh] flex flex-col"
|
|
52200
|
+
(click)="$event.stopPropagation()">
|
|
52201
|
+
|
|
52202
|
+
<!-- Header -->
|
|
52203
|
+
<div [ngClass]="headerClasses()" class="px-6 py-4 border-b flex items-center justify-between">
|
|
52204
|
+
<h3 [ngClass]="titleClasses()" class="text-xl font-bold">
|
|
52205
|
+
Tools used for {{ focusAreaTitle() }}
|
|
52206
|
+
</h3>
|
|
52207
|
+
<button
|
|
52208
|
+
type="button"
|
|
52209
|
+
(click)="onClose()"
|
|
52210
|
+
[ngClass]="closeButtonClasses()"
|
|
52211
|
+
class="w-8 h-8 rounded-lg flex items-center justify-center transition-colors cursor-pointer">
|
|
52212
|
+
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
52213
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/>
|
|
52214
|
+
</svg>
|
|
52215
|
+
</button>
|
|
52216
|
+
</div>
|
|
52217
|
+
|
|
52218
|
+
<!-- Content -->
|
|
52219
|
+
<div class="flex-1 overflow-y-auto p-6">
|
|
52220
|
+
<!-- Predefined Tools -->
|
|
52221
|
+
@if (predefinedTools().length > 0) {
|
|
52222
|
+
<div class="mb-6">
|
|
52223
|
+
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-3">
|
|
52224
|
+
Select tools from the list:
|
|
52225
|
+
</label>
|
|
52226
|
+
<div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
|
|
52227
|
+
@for (tool of predefinedTools(); track tool) {
|
|
52228
|
+
<label class="flex items-center gap-2 cursor-pointer">
|
|
52229
|
+
<input
|
|
52230
|
+
type="checkbox"
|
|
52231
|
+
[checked]="isToolSelected(tool)"
|
|
52232
|
+
(change)="onToolToggle(tool, $event)"
|
|
52233
|
+
[ngClass]="checkboxClasses()"
|
|
52234
|
+
class="w-4 h-4 rounded border-2 transition-all duration-200"
|
|
52235
|
+
/>
|
|
52236
|
+
<span [ngClass]="checkboxLabelClasses()" class="text-sm">
|
|
52237
|
+
{{ tool }}
|
|
52238
|
+
</span>
|
|
52239
|
+
</label>
|
|
52240
|
+
}
|
|
52241
|
+
</div>
|
|
52242
|
+
</div>
|
|
52243
|
+
}
|
|
52244
|
+
|
|
52245
|
+
<!-- Other Tools -->
|
|
52246
|
+
<div>
|
|
52247
|
+
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
|
|
52248
|
+
Other tools, separated by commas or returns:
|
|
52249
|
+
</label>
|
|
52250
|
+
<textarea
|
|
52251
|
+
[(ngModel)]="otherToolsText"
|
|
52252
|
+
[ngClass]="textareaClasses()"
|
|
52253
|
+
class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
|
|
52254
|
+
rows="4"
|
|
52255
|
+
placeholder="Enter other tools (e.g., Custom Tool, Another Tool)"></textarea>
|
|
52256
|
+
</div>
|
|
52257
|
+
</div>
|
|
52258
|
+
|
|
52259
|
+
<!-- Footer -->
|
|
52260
|
+
<div [ngClass]="footerClasses()" class="px-6 py-4 border-t flex items-center justify-end gap-3">
|
|
52261
|
+
<button
|
|
52262
|
+
type="button"
|
|
52263
|
+
(click)="onClose()"
|
|
52264
|
+
[ngClass]="cancelButtonClasses()"
|
|
52265
|
+
class="px-6 py-2.5 rounded-lg font-semibold text-sm transition-all duration-200 cursor-pointer hover:scale-105">
|
|
52266
|
+
Cancel
|
|
52267
|
+
</button>
|
|
52268
|
+
<button
|
|
52269
|
+
type="button"
|
|
52270
|
+
(click)="onSave()"
|
|
52271
|
+
[ngClass]="saveButtonClasses()"
|
|
52272
|
+
class="px-6 py-2.5 rounded-lg font-semibold text-sm transition-all duration-200 cursor-pointer hover:scale-105">
|
|
52273
|
+
Save
|
|
52274
|
+
</button>
|
|
52275
|
+
</div>
|
|
52276
|
+
</div>
|
|
52277
|
+
</div>
|
|
52278
|
+
}
|
|
52279
|
+
`, styles: ["@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in .2s ease-out}.animate-scale-in{animation:scale-in .2s ease-out}\n"] }]
|
|
52280
|
+
}], () => [], { isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }], focusAreaDomain: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaDomain", required: true }] }], focusAreaTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaTitle", required: true }] }], selectedTools: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedTools", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], save: [{ type: i0.Output, args: ["save"] }], onEscapeKey: [{
|
|
52281
|
+
type: HostListener,
|
|
52282
|
+
args: ['document:keydown.escape']
|
|
52283
|
+
}] }); })();
|
|
52284
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaToolsModalComponent, { className: "FocusAreaToolsModalComponent", filePath: "lib/components/create-account-dashboard/focus-area-tools-modal.component.ts", lineNumber: 143 }); })();
|
|
52285
|
+
|
|
52286
|
+
const _c0$q = ["shopNameInput"];
|
|
52287
|
+
const _forTrack0$i = ($index, $item) => $item.focusAreaDomain;
|
|
52288
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
52289
|
+
i0.ɵɵtext(0, " Shopify ");
|
|
52290
|
+
} }
|
|
52291
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
52292
|
+
i0.ɵɵtext(0);
|
|
52293
|
+
} if (rf & 2) {
|
|
52294
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
52295
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.accountData().otherPlatformName || "Other", " ");
|
|
52296
|
+
} }
|
|
52297
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
52298
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
52299
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "div", 18)(2, "div", 19)(3, "div")(4, "h2", 20);
|
|
52300
|
+
i0.ɵɵtext(5, " Shop Details ");
|
|
52301
|
+
i0.ɵɵelementEnd();
|
|
52302
|
+
i0.ɵɵelementStart(6, "p", 1);
|
|
52303
|
+
i0.ɵɵtext(7, " Your shop information ");
|
|
52304
|
+
i0.ɵɵelementEnd()();
|
|
52305
|
+
i0.ɵɵelementStart(8, "button", 21);
|
|
52306
|
+
i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_23_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.enableEditMode()); });
|
|
52307
|
+
i0.ɵɵnamespaceSVG();
|
|
52308
|
+
i0.ɵɵelementStart(9, "svg", 22);
|
|
52309
|
+
i0.ɵɵelement(10, "path", 23);
|
|
52310
|
+
i0.ɵɵelementEnd();
|
|
52311
|
+
i0.ɵɵtext(11, " Edit ");
|
|
52312
|
+
i0.ɵɵelementEnd()();
|
|
52313
|
+
i0.ɵɵnamespaceHTML();
|
|
52314
|
+
i0.ɵɵelementStart(12, "div", 24)(13, "div")(14, "label", 25);
|
|
52315
|
+
i0.ɵɵtext(15, " Shop Name ");
|
|
51708
52316
|
i0.ɵɵelementEnd();
|
|
51709
|
-
i0.ɵɵelementStart(
|
|
52317
|
+
i0.ɵɵelementStart(16, "p", 26);
|
|
52318
|
+
i0.ɵɵtext(17);
|
|
52319
|
+
i0.ɵɵelementEnd()();
|
|
52320
|
+
i0.ɵɵelementStart(18, "div")(19, "label", 25);
|
|
52321
|
+
i0.ɵɵtext(20, " Shop URL ");
|
|
52322
|
+
i0.ɵɵelementEnd();
|
|
52323
|
+
i0.ɵɵelementStart(21, "a", 27);
|
|
52324
|
+
i0.ɵɵtext(22);
|
|
52325
|
+
i0.ɵɵelementEnd()();
|
|
52326
|
+
i0.ɵɵelementStart(23, "div")(24, "label", 25);
|
|
52327
|
+
i0.ɵɵtext(25, " Shop Platform ");
|
|
52328
|
+
i0.ɵɵelementEnd();
|
|
52329
|
+
i0.ɵɵelementStart(26, "p", 26);
|
|
52330
|
+
i0.ɵɵconditionalCreate(27, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_27_Template, 1, 0)(28, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_28_Template, 1, 1);
|
|
52331
|
+
i0.ɵɵelementEnd()();
|
|
52332
|
+
i0.ɵɵelementStart(29, "div")(30, "label", 25);
|
|
52333
|
+
i0.ɵɵtext(31, " Company Name ");
|
|
52334
|
+
i0.ɵɵelementEnd();
|
|
52335
|
+
i0.ɵɵelementStart(32, "p", 26);
|
|
52336
|
+
i0.ɵɵtext(33);
|
|
52337
|
+
i0.ɵɵelementEnd()()()()();
|
|
52338
|
+
} if (rf & 2) {
|
|
52339
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
52340
|
+
i0.ɵɵproperty("ngClass", ctx_r1.containerClasses());
|
|
52341
|
+
i0.ɵɵadvance();
|
|
52342
|
+
i0.ɵɵproperty("ngClass", ctx_r1.contentClasses());
|
|
52343
|
+
i0.ɵɵadvance(3);
|
|
52344
|
+
i0.ɵɵproperty("ngClass", ctx_r1.sectionTitleClasses());
|
|
52345
|
+
i0.ɵɵadvance(2);
|
|
52346
|
+
i0.ɵɵproperty("ngClass", ctx_r1.sectionDescriptionClasses());
|
|
52347
|
+
i0.ɵɵadvance(2);
|
|
52348
|
+
i0.ɵɵproperty("ngClass", ctx_r1.editButtonClasses());
|
|
52349
|
+
i0.ɵɵadvance(6);
|
|
52350
|
+
i0.ɵɵproperty("ngClass", ctx_r1.viewLabelClasses());
|
|
52351
|
+
i0.ɵɵadvance(2);
|
|
52352
|
+
i0.ɵɵproperty("ngClass", ctx_r1.viewValueClasses());
|
|
52353
|
+
i0.ɵɵadvance();
|
|
52354
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.accountData().shopName, " ");
|
|
52355
|
+
i0.ɵɵadvance(2);
|
|
52356
|
+
i0.ɵɵproperty("ngClass", ctx_r1.viewLabelClasses());
|
|
52357
|
+
i0.ɵɵadvance(2);
|
|
52358
|
+
i0.ɵɵproperty("href", ctx_r1.accountData().shopUrl, i0.ɵɵsanitizeUrl)("ngClass", ctx_r1.viewLinkClasses());
|
|
52359
|
+
i0.ɵɵadvance();
|
|
52360
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.accountData().shopUrl, " ");
|
|
52361
|
+
i0.ɵɵadvance(2);
|
|
52362
|
+
i0.ɵɵproperty("ngClass", ctx_r1.viewLabelClasses());
|
|
52363
|
+
i0.ɵɵadvance(2);
|
|
52364
|
+
i0.ɵɵproperty("ngClass", ctx_r1.viewValueClasses());
|
|
52365
|
+
i0.ɵɵadvance();
|
|
52366
|
+
i0.ɵɵconditional(ctx_r1.accountData().shopPlatform === ctx_r1.ShopPlatformEnum.SHOPIFY ? 27 : 28);
|
|
52367
|
+
i0.ɵɵadvance(3);
|
|
52368
|
+
i0.ɵɵproperty("ngClass", ctx_r1.viewLabelClasses());
|
|
52369
|
+
i0.ɵɵadvance(2);
|
|
52370
|
+
i0.ɵɵproperty("ngClass", ctx_r1.viewValueClasses());
|
|
52371
|
+
i0.ɵɵadvance();
|
|
52372
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.accountData().companyName, " ");
|
|
52373
|
+
} }
|
|
52374
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
52375
|
+
i0.ɵɵelementStart(0, "p", 33);
|
|
52376
|
+
i0.ɵɵtext(1, " Shop name is required ");
|
|
52377
|
+
i0.ɵɵelementEnd();
|
|
52378
|
+
} if (rf & 2) {
|
|
52379
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
52380
|
+
i0.ɵɵproperty("ngClass", ctx_r1.errorClasses());
|
|
52381
|
+
} }
|
|
52382
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
52383
|
+
i0.ɵɵelementStart(0, "p", 33);
|
|
52384
|
+
i0.ɵɵtext(1, " Shop URL is required ");
|
|
52385
|
+
i0.ɵɵelementEnd();
|
|
52386
|
+
} if (rf & 2) {
|
|
52387
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
52388
|
+
i0.ɵɵproperty("ngClass", ctx_r1.errorClasses());
|
|
52389
|
+
} }
|
|
52390
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_36_Template(rf, ctx) { if (rf & 1) {
|
|
52391
|
+
i0.ɵɵelement(0, "div", 43);
|
|
52392
|
+
} }
|
|
52393
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_44_Template(rf, ctx) { if (rf & 1) {
|
|
52394
|
+
i0.ɵɵelement(0, "div", 43);
|
|
52395
|
+
} }
|
|
52396
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
52397
|
+
i0.ɵɵelementStart(0, "p", 33);
|
|
52398
|
+
i0.ɵɵtext(1, " Platform name is required ");
|
|
52399
|
+
i0.ɵɵelementEnd();
|
|
52400
|
+
} if (rf & 2) {
|
|
52401
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
52402
|
+
i0.ɵɵproperty("ngClass", ctx_r1.errorClasses());
|
|
52403
|
+
} }
|
|
52404
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Template(rf, ctx) { if (rf & 1) {
|
|
52405
|
+
i0.ɵɵelementStart(0, "div")(1, "label", 30);
|
|
52406
|
+
i0.ɵɵtext(2, " Platform Name ");
|
|
52407
|
+
i0.ɵɵelementStart(3, "span", 31);
|
|
52408
|
+
i0.ɵɵtext(4, "*");
|
|
52409
|
+
i0.ɵɵelementEnd()();
|
|
52410
|
+
i0.ɵɵelement(5, "input", 51);
|
|
52411
|
+
i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Conditional_6_Template, 2, 1, "p", 33);
|
|
52412
|
+
i0.ɵɵelementEnd();
|
|
52413
|
+
} if (rf & 2) {
|
|
52414
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
52415
|
+
i0.ɵɵadvance();
|
|
52416
|
+
i0.ɵɵproperty("ngClass", ctx_r1.labelClasses());
|
|
52417
|
+
i0.ɵɵadvance(4);
|
|
52418
|
+
i0.ɵɵproperty("ngClass", ctx_r1.inputClasses("otherPlatformName"));
|
|
52419
|
+
i0.ɵɵadvance();
|
|
52420
|
+
i0.ɵɵconditional(ctx_r1.isFieldInvalid("otherPlatformName") ? 6 : -1);
|
|
52421
|
+
} }
|
|
52422
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_60_Template(rf, ctx) { if (rf & 1) {
|
|
52423
|
+
i0.ɵɵelementStart(0, "p", 33);
|
|
52424
|
+
i0.ɵɵtext(1, " Company name is required ");
|
|
52425
|
+
i0.ɵɵelementEnd();
|
|
52426
|
+
} if (rf & 2) {
|
|
52427
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
52428
|
+
i0.ɵɵproperty("ngClass", ctx_r1.errorClasses());
|
|
52429
|
+
} }
|
|
52430
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
52431
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
52432
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "div", 18)(2, "div", 28)(3, "h2", 20);
|
|
52433
|
+
i0.ɵɵtext(4, " Shop Details ");
|
|
52434
|
+
i0.ɵɵelementEnd();
|
|
52435
|
+
i0.ɵɵelementStart(5, "p", 1);
|
|
52436
|
+
i0.ɵɵtext(6, " Enter your shop details to get started with Symphiq ");
|
|
52437
|
+
i0.ɵɵelementEnd()();
|
|
52438
|
+
i0.ɵɵelementStart(7, "form", 29)(8, "div")(9, "label", 30);
|
|
52439
|
+
i0.ɵɵtext(10, " Shop Name ");
|
|
52440
|
+
i0.ɵɵelementStart(11, "span", 31);
|
|
52441
|
+
i0.ɵɵtext(12, "*");
|
|
52442
|
+
i0.ɵɵelementEnd()();
|
|
52443
|
+
i0.ɵɵelement(13, "input", 32, 0);
|
|
52444
|
+
i0.ɵɵconditionalCreate(15, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_15_Template, 2, 1, "p", 33);
|
|
52445
|
+
i0.ɵɵelementEnd();
|
|
52446
|
+
i0.ɵɵelementStart(16, "div")(17, "label", 30);
|
|
52447
|
+
i0.ɵɵtext(18, " Shop URL ");
|
|
52448
|
+
i0.ɵɵelementStart(19, "span", 31);
|
|
52449
|
+
i0.ɵɵtext(20, "*");
|
|
52450
|
+
i0.ɵɵelementEnd()();
|
|
52451
|
+
i0.ɵɵelementStart(21, "div", 34)(22, "span", 35);
|
|
52452
|
+
i0.ɵɵtext(23, " https:// ");
|
|
52453
|
+
i0.ɵɵelementEnd();
|
|
52454
|
+
i0.ɵɵelement(24, "input", 36);
|
|
52455
|
+
i0.ɵɵelementEnd();
|
|
52456
|
+
i0.ɵɵconditionalCreate(25, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_25_Template, 2, 1, "p", 33);
|
|
52457
|
+
i0.ɵɵelementEnd();
|
|
52458
|
+
i0.ɵɵelementStart(26, "div")(27, "label", 37);
|
|
52459
|
+
i0.ɵɵtext(28, " Shop Platform ");
|
|
52460
|
+
i0.ɵɵelementStart(29, "span", 31);
|
|
52461
|
+
i0.ɵɵtext(30, "*");
|
|
52462
|
+
i0.ɵɵelementEnd()();
|
|
52463
|
+
i0.ɵɵelementStart(31, "div", 38)(32, "label", 39);
|
|
52464
|
+
i0.ɵɵelement(33, "input", 40);
|
|
52465
|
+
i0.ɵɵelementStart(34, "div", 41)(35, "div", 42);
|
|
52466
|
+
i0.ɵɵconditionalCreate(36, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_36_Template, 1, 0, "div", 43);
|
|
52467
|
+
i0.ɵɵelementEnd();
|
|
52468
|
+
i0.ɵɵelementStart(37, "div", 44)(38, "div", 45);
|
|
52469
|
+
i0.ɵɵtext(39, " Shopify ");
|
|
52470
|
+
i0.ɵɵelementEnd()()()();
|
|
52471
|
+
i0.ɵɵelementStart(40, "label", 39);
|
|
52472
|
+
i0.ɵɵelement(41, "input", 40);
|
|
52473
|
+
i0.ɵɵelementStart(42, "div", 41)(43, "div", 42);
|
|
52474
|
+
i0.ɵɵconditionalCreate(44, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_44_Template, 1, 0, "div", 43);
|
|
52475
|
+
i0.ɵɵelementEnd();
|
|
52476
|
+
i0.ɵɵelementStart(45, "div", 44)(46, "div", 45);
|
|
51710
52477
|
i0.ɵɵtext(47, " Other ");
|
|
51711
52478
|
i0.ɵɵelementEnd()()()()()();
|
|
51712
52479
|
i0.ɵɵconditionalCreate(48, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_48_Template, 7, 3, "div");
|
|
51713
|
-
i0.ɵɵelementStart(49, "div")(50, "label",
|
|
52480
|
+
i0.ɵɵelementStart(49, "div")(50, "label", 30);
|
|
51714
52481
|
i0.ɵɵtext(51, " Company Name ");
|
|
51715
|
-
i0.ɵɵelementStart(52, "span",
|
|
52482
|
+
i0.ɵɵelementStart(52, "span", 31);
|
|
51716
52483
|
i0.ɵɵtext(53, "*");
|
|
51717
52484
|
i0.ɵɵelementEnd()();
|
|
51718
|
-
i0.ɵɵelement(54, "input",
|
|
51719
|
-
i0.ɵɵelementStart(55, "div",
|
|
52485
|
+
i0.ɵɵelement(54, "input", 46);
|
|
52486
|
+
i0.ɵɵelementStart(55, "div", 47)(56, "label", 48)(57, "input", 49);
|
|
51720
52487
|
i0.ɵɵlistener("change", function SymphiqCreateAccountDashboardComponent_Conditional_24_Template_input_change_57_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleSameAsShopName()); });
|
|
51721
52488
|
i0.ɵɵelementEnd();
|
|
51722
|
-
i0.ɵɵelementStart(58, "span",
|
|
52489
|
+
i0.ɵɵelementStart(58, "span", 50);
|
|
51723
52490
|
i0.ɵɵtext(59, " Same as Shop Name ");
|
|
51724
52491
|
i0.ɵɵelementEnd()()();
|
|
51725
|
-
i0.ɵɵconditionalCreate(60, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_60_Template, 2, 1, "p",
|
|
52492
|
+
i0.ɵɵconditionalCreate(60, SymphiqCreateAccountDashboardComponent_Conditional_24_Conditional_60_Template, 2, 1, "p", 33);
|
|
51726
52493
|
i0.ɵɵelementEnd()()()();
|
|
51727
52494
|
} if (rf & 2) {
|
|
51728
52495
|
let tmp_18_0;
|
|
@@ -51788,67 +52555,299 @@ function SymphiqCreateAccountDashboardComponent_Conditional_24_Template(rf, ctx)
|
|
|
51788
52555
|
i0.ɵɵadvance(2);
|
|
51789
52556
|
i0.ɵɵconditional(ctx_r1.isFieldInvalid("companyName") ? 60 : -1);
|
|
51790
52557
|
} }
|
|
51791
|
-
function
|
|
51792
|
-
|
|
51793
|
-
i0.ɵɵ
|
|
51794
|
-
i0.ɵɵ
|
|
52558
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Conditional_6_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
52559
|
+
i0.ɵɵelementStart(0, "span", 62);
|
|
52560
|
+
i0.ɵɵtext(1);
|
|
52561
|
+
i0.ɵɵelementEnd();
|
|
52562
|
+
} if (rf & 2) {
|
|
52563
|
+
const tool_r5 = ctx.$implicit;
|
|
52564
|
+
const ctx_r1 = i0.ɵɵnextContext(5);
|
|
52565
|
+
i0.ɵɵproperty("ngClass", ctx_r1.toolChipViewClasses());
|
|
52566
|
+
i0.ɵɵadvance();
|
|
52567
|
+
i0.ɵɵtextInterpolate1(" ", tool_r5, " ");
|
|
52568
|
+
} }
|
|
52569
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
52570
|
+
i0.ɵɵelementStart(0, "div", 59)(1, "span", 60);
|
|
52571
|
+
i0.ɵɵtext(2, "Tools:");
|
|
52572
|
+
i0.ɵɵelementEnd();
|
|
52573
|
+
i0.ɵɵelementStart(3, "div", 61);
|
|
52574
|
+
i0.ɵɵrepeaterCreate(4, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Conditional_6_For_5_Template, 2, 2, "span", 62, i0.ɵɵrepeaterTrackByIdentity);
|
|
52575
|
+
i0.ɵɵelementEnd()();
|
|
52576
|
+
} if (rf & 2) {
|
|
52577
|
+
const focusArea_r6 = i0.ɵɵnextContext().$implicit;
|
|
52578
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
52579
|
+
i0.ɵɵadvance();
|
|
52580
|
+
i0.ɵɵproperty("ngClass", ctx_r1.toolsLabelViewClasses());
|
|
52581
|
+
i0.ɵɵadvance(3);
|
|
52582
|
+
i0.ɵɵrepeater(focusArea_r6.tools);
|
|
52583
|
+
} }
|
|
52584
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
52585
|
+
i0.ɵɵelementStart(0, "div", 55)(1, "div", 56)(2, "h4", 57);
|
|
52586
|
+
i0.ɵɵtext(3);
|
|
52587
|
+
i0.ɵɵelementEnd();
|
|
52588
|
+
i0.ɵɵelementStart(4, "span", 58);
|
|
52589
|
+
i0.ɵɵtext(5, " Engaged ");
|
|
52590
|
+
i0.ɵɵelementEnd()();
|
|
52591
|
+
i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Conditional_6_Template, 6, 1, "div", 59);
|
|
52592
|
+
i0.ɵɵelementEnd();
|
|
52593
|
+
} if (rf & 2) {
|
|
52594
|
+
const focusArea_r6 = ctx.$implicit;
|
|
52595
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
52596
|
+
i0.ɵɵproperty("ngClass", ctx_r1.focusAreaViewCardClasses("engaged"));
|
|
52597
|
+
i0.ɵɵadvance(2);
|
|
52598
|
+
i0.ɵɵproperty("ngClass", ctx_r1.focusAreaViewTitleClasses());
|
|
52599
|
+
i0.ɵɵadvance();
|
|
52600
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getFocusAreaTitle(focusArea_r6.focusAreaDomain), " ");
|
|
52601
|
+
i0.ɵɵadvance();
|
|
52602
|
+
i0.ɵɵproperty("ngClass", ctx_r1.statusBadgeClasses("engaged"));
|
|
52603
|
+
i0.ɵɵadvance(2);
|
|
52604
|
+
i0.ɵɵconditional(focusArea_r6.tools && focusArea_r6.tools.length > 0 ? 6 : -1);
|
|
52605
|
+
} }
|
|
52606
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
52607
|
+
i0.ɵɵelementStart(0, "div", 28)(1, "h3", 52);
|
|
52608
|
+
i0.ɵɵelement(2, "span", 53);
|
|
52609
|
+
i0.ɵɵtext(3);
|
|
52610
|
+
i0.ɵɵelementEnd();
|
|
52611
|
+
i0.ɵɵelementStart(4, "div", 54);
|
|
52612
|
+
i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Template, 7, 5, "div", 55, _forTrack0$i);
|
|
52613
|
+
i0.ɵɵelementEnd()();
|
|
52614
|
+
} if (rf & 2) {
|
|
52615
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
52616
|
+
i0.ɵɵadvance();
|
|
52617
|
+
i0.ɵɵproperty("ngClass", ctx_r1.groupTitleClasses("engaged"));
|
|
52618
|
+
i0.ɵɵadvance(2);
|
|
52619
|
+
i0.ɵɵtextInterpolate1(" Engaged In (", ctx_r1.engagedFocusAreas().length, ") ");
|
|
52620
|
+
i0.ɵɵadvance(2);
|
|
52621
|
+
i0.ɵɵrepeater(ctx_r1.engagedFocusAreas());
|
|
52622
|
+
} }
|
|
52623
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
52624
|
+
i0.ɵɵelementStart(0, "div", 65)(1, "h4", 57);
|
|
52625
|
+
i0.ɵɵtext(2);
|
|
52626
|
+
i0.ɵɵelementEnd()();
|
|
52627
|
+
} if (rf & 2) {
|
|
52628
|
+
const focusArea_r7 = ctx.$implicit;
|
|
52629
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
52630
|
+
i0.ɵɵproperty("ngClass", ctx_r1.focusAreaViewCardClasses("interested"));
|
|
52631
|
+
i0.ɵɵadvance();
|
|
52632
|
+
i0.ɵɵproperty("ngClass", ctx_r1.focusAreaViewTitleClasses());
|
|
52633
|
+
i0.ɵɵadvance();
|
|
52634
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getFocusAreaTitle(focusArea_r7.focusAreaDomain), " ");
|
|
52635
|
+
} }
|
|
52636
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
52637
|
+
i0.ɵɵelementStart(0, "div", 28)(1, "h3", 52);
|
|
52638
|
+
i0.ɵɵelement(2, "span", 63);
|
|
52639
|
+
i0.ɵɵtext(3);
|
|
52640
|
+
i0.ɵɵelementEnd();
|
|
52641
|
+
i0.ɵɵelementStart(4, "div", 64);
|
|
52642
|
+
i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_For_6_Template, 3, 3, "div", 65, _forTrack0$i);
|
|
52643
|
+
i0.ɵɵelementEnd()();
|
|
52644
|
+
} if (rf & 2) {
|
|
52645
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
52646
|
+
i0.ɵɵadvance();
|
|
52647
|
+
i0.ɵɵproperty("ngClass", ctx_r1.groupTitleClasses("interested"));
|
|
52648
|
+
i0.ɵɵadvance(2);
|
|
52649
|
+
i0.ɵɵtextInterpolate1(" Interested In (", ctx_r1.interestedFocusAreas().length, ") ");
|
|
52650
|
+
i0.ɵɵadvance(2);
|
|
52651
|
+
i0.ɵɵrepeater(ctx_r1.interestedFocusAreas());
|
|
52652
|
+
} }
|
|
52653
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
52654
|
+
i0.ɵɵelementStart(0, "div", 68)(1, "span", 60);
|
|
52655
|
+
i0.ɵɵtext(2);
|
|
52656
|
+
i0.ɵɵelementEnd()();
|
|
52657
|
+
} if (rf & 2) {
|
|
52658
|
+
const focusArea_r8 = ctx.$implicit;
|
|
52659
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
52660
|
+
i0.ɵɵproperty("ngClass", ctx_r1.focusAreaViewCardClasses("not-interested"));
|
|
52661
|
+
i0.ɵɵadvance();
|
|
52662
|
+
i0.ɵɵproperty("ngClass", ctx_r1.focusAreaViewTitleSmallClasses());
|
|
52663
|
+
i0.ɵɵadvance();
|
|
52664
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getFocusAreaTitle(focusArea_r8.focusAreaDomain), " ");
|
|
52665
|
+
} }
|
|
52666
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
52667
|
+
i0.ɵɵelementStart(0, "div")(1, "h3", 52);
|
|
52668
|
+
i0.ɵɵelement(2, "span", 66);
|
|
52669
|
+
i0.ɵɵtext(3);
|
|
52670
|
+
i0.ɵɵelementEnd();
|
|
52671
|
+
i0.ɵɵelementStart(4, "div", 67);
|
|
52672
|
+
i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_For_6_Template, 3, 3, "div", 68, _forTrack0$i);
|
|
52673
|
+
i0.ɵɵelementEnd()();
|
|
52674
|
+
} if (rf & 2) {
|
|
52675
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
52676
|
+
i0.ɵɵadvance();
|
|
52677
|
+
i0.ɵɵproperty("ngClass", ctx_r1.groupTitleClasses("not-interested"));
|
|
52678
|
+
i0.ɵɵadvance(2);
|
|
52679
|
+
i0.ɵɵtextInterpolate1(" Not Interested (", ctx_r1.notInterestedFocusAreas().length, ") ");
|
|
52680
|
+
i0.ɵɵadvance(2);
|
|
52681
|
+
i0.ɵɵrepeater(ctx_r1.notInterestedFocusAreas());
|
|
52682
|
+
} }
|
|
52683
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
52684
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
52685
|
+
i0.ɵɵelementStart(0, "div", 15)(1, "div", 18)(2, "div", 19)(3, "div")(4, "h2", 20);
|
|
52686
|
+
i0.ɵɵtext(5, " Focus Areas ");
|
|
52687
|
+
i0.ɵɵelementEnd();
|
|
52688
|
+
i0.ɵɵelementStart(6, "p", 1);
|
|
52689
|
+
i0.ɵɵtext(7, " Your marketing and operational focus areas ");
|
|
52690
|
+
i0.ɵɵelementEnd()();
|
|
52691
|
+
i0.ɵɵelementStart(8, "button", 21);
|
|
52692
|
+
i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_25_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.enableFocusAreasEditMode()); });
|
|
52693
|
+
i0.ɵɵnamespaceSVG();
|
|
52694
|
+
i0.ɵɵelementStart(9, "svg", 22);
|
|
52695
|
+
i0.ɵɵelement(10, "path", 23);
|
|
52696
|
+
i0.ɵɵelementEnd();
|
|
52697
|
+
i0.ɵɵtext(11, " Edit ");
|
|
52698
|
+
i0.ɵɵelementEnd()();
|
|
52699
|
+
i0.ɵɵconditionalCreate(12, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_Template, 7, 2, "div", 28);
|
|
52700
|
+
i0.ɵɵconditionalCreate(13, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_Template, 7, 2, "div", 28);
|
|
52701
|
+
i0.ɵɵconditionalCreate(14, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_Template, 7, 2, "div");
|
|
52702
|
+
i0.ɵɵelementEnd()();
|
|
52703
|
+
} if (rf & 2) {
|
|
52704
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
52705
|
+
i0.ɵɵproperty("ngClass", ctx_r1.containerClasses());
|
|
52706
|
+
i0.ɵɵadvance();
|
|
52707
|
+
i0.ɵɵproperty("ngClass", ctx_r1.contentClasses());
|
|
52708
|
+
i0.ɵɵadvance(3);
|
|
52709
|
+
i0.ɵɵproperty("ngClass", ctx_r1.sectionTitleClasses());
|
|
52710
|
+
i0.ɵɵadvance(2);
|
|
52711
|
+
i0.ɵɵproperty("ngClass", ctx_r1.sectionDescriptionClasses());
|
|
52712
|
+
i0.ɵɵadvance(2);
|
|
52713
|
+
i0.ɵɵproperty("ngClass", ctx_r1.editButtonClasses());
|
|
52714
|
+
i0.ɵɵadvance(4);
|
|
52715
|
+
i0.ɵɵconditional(ctx_r1.engagedFocusAreas().length > 0 ? 12 : -1);
|
|
52716
|
+
i0.ɵɵadvance();
|
|
52717
|
+
i0.ɵɵconditional(ctx_r1.interestedFocusAreas().length > 0 ? 13 : -1);
|
|
52718
|
+
i0.ɵɵadvance();
|
|
52719
|
+
i0.ɵɵconditional(ctx_r1.notInterestedFocusAreas().length > 0 ? 14 : -1);
|
|
52720
|
+
} }
|
|
52721
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
52722
|
+
i0.ɵɵelement(0, "div", 72);
|
|
52723
|
+
} if (rf & 2) {
|
|
52724
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
52725
|
+
i0.ɵɵproperty("ngClass", ctx_r1.dividerClasses());
|
|
52726
|
+
} }
|
|
52727
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Template(rf, ctx) { if (rf & 1) {
|
|
52728
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
52729
|
+
i0.ɵɵelementStart(0, "symphiq-focus-area-question", 71);
|
|
52730
|
+
i0.ɵɵlistener("statusChange", function SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Template_symphiq_focus_area_question_statusChange_0_listener($event) { const domain_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFocusAreaStatusChange(domain_r10, $event)); })("toolsClick", function SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Template_symphiq_focus_area_question_toolsClick_0_listener() { const domain_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFocusAreaToolsClick(domain_r10)); });
|
|
52731
|
+
i0.ɵɵelementEnd();
|
|
52732
|
+
i0.ɵɵconditionalCreate(1, SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Conditional_1_Template, 1, 1, "div", 72);
|
|
52733
|
+
} if (rf & 2) {
|
|
52734
|
+
const domain_r10 = ctx.$implicit;
|
|
52735
|
+
const ɵ$index_340_r11 = ctx.$index;
|
|
52736
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
52737
|
+
i0.ɵɵproperty("focusAreaDomain", domain_r10)("selectedStatus", ctx_r1.getFocusAreaStatus(domain_r10))("selectedTools", ctx_r1.getFocusAreaTools(domain_r10))("viewMode", ctx_r1.viewMode())("title", ctx_r1.getFocusAreaTitle(domain_r10))("description", ctx_r1.getFocusAreaDescription(domain_r10));
|
|
52738
|
+
i0.ɵɵadvance();
|
|
52739
|
+
i0.ɵɵconditional(ɵ$index_340_r11 < ctx_r1.allFocusAreaDomains().length - 1 ? 1 : -1);
|
|
52740
|
+
} }
|
|
52741
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
52742
|
+
i0.ɵɵelementStart(0, "div", 15)(1, "div", 18)(2, "div", 28)(3, "div", 69)(4, "div")(5, "h2", 20);
|
|
52743
|
+
i0.ɵɵtext(6, " Focus Areas ");
|
|
52744
|
+
i0.ɵɵelementEnd();
|
|
52745
|
+
i0.ɵɵelementStart(7, "p", 1);
|
|
52746
|
+
i0.ɵɵtext(8, " Tell us about your marketing and operational focus areas ");
|
|
52747
|
+
i0.ɵɵelementEnd()();
|
|
52748
|
+
i0.ɵɵelementStart(9, "div", 70);
|
|
52749
|
+
i0.ɵɵtext(10);
|
|
52750
|
+
i0.ɵɵelementEnd()()();
|
|
52751
|
+
i0.ɵɵelementStart(11, "div", 24);
|
|
52752
|
+
i0.ɵɵrepeaterCreate(12, SymphiqCreateAccountDashboardComponent_Conditional_26_For_13_Template, 2, 7, null, null, i0.ɵɵrepeaterTrackByIdentity);
|
|
52753
|
+
i0.ɵɵelementEnd()()();
|
|
52754
|
+
} if (rf & 2) {
|
|
52755
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
52756
|
+
i0.ɵɵproperty("ngClass", ctx_r1.containerClasses());
|
|
52757
|
+
i0.ɵɵadvance();
|
|
52758
|
+
i0.ɵɵproperty("ngClass", ctx_r1.contentClasses());
|
|
52759
|
+
i0.ɵɵadvance(4);
|
|
52760
|
+
i0.ɵɵproperty("ngClass", ctx_r1.sectionTitleClasses());
|
|
52761
|
+
i0.ɵɵadvance(2);
|
|
52762
|
+
i0.ɵɵproperty("ngClass", ctx_r1.sectionDescriptionClasses());
|
|
52763
|
+
i0.ɵɵadvance(2);
|
|
52764
|
+
i0.ɵɵproperty("ngClass", ctx_r1.progressBadgeClasses());
|
|
52765
|
+
i0.ɵɵadvance();
|
|
52766
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r1.focusAreasAnswered(), " of ", ctx_r1.totalFocusAreas(), " answered ");
|
|
52767
|
+
i0.ɵɵadvance(2);
|
|
52768
|
+
i0.ɵɵrepeater(ctx_r1.allFocusAreaDomains());
|
|
52769
|
+
} }
|
|
52770
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
52771
|
+
i0.ɵɵelementStart(0, "div", 74);
|
|
52772
|
+
i0.ɵɵtext(1);
|
|
52773
|
+
i0.ɵɵelementEnd();
|
|
52774
|
+
} if (rf & 2) {
|
|
52775
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
52776
|
+
i0.ɵɵproperty("ngClass", ctx_r1.validationMessageClasses());
|
|
52777
|
+
i0.ɵɵadvance();
|
|
52778
|
+
i0.ɵɵtextInterpolate3(" Please answer all ", ctx_r1.totalFocusAreas(), " focus area questions before creating your account. ", ctx_r1.focusAreasAnswered(), " of ", ctx_r1.totalFocusAreas(), " completed. ");
|
|
52779
|
+
} }
|
|
52780
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
52781
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
52782
|
+
i0.ɵɵelementStart(0, "button", 78);
|
|
52783
|
+
i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.focusAreasEditMode() ? ctx_r1.cancelFocusAreasEditMode() : ctx_r1.cancelEditMode()); });
|
|
51795
52784
|
i0.ɵɵtext(1, " Cancel ");
|
|
51796
52785
|
i0.ɵɵelementEnd();
|
|
51797
52786
|
} if (rf & 2) {
|
|
51798
52787
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
51799
52788
|
i0.ɵɵproperty("ngClass", ctx_r1.cancelButtonClasses());
|
|
51800
52789
|
} }
|
|
51801
|
-
function
|
|
52790
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
52791
|
+
i0.ɵɵtext(0, " Saving Focus Areas... ");
|
|
52792
|
+
} }
|
|
52793
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
51802
52794
|
i0.ɵɵtext(0, " Updating Account... ");
|
|
51803
52795
|
} }
|
|
51804
|
-
function
|
|
52796
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
51805
52797
|
i0.ɵɵtext(0, " Creating Account... ");
|
|
51806
52798
|
} }
|
|
51807
|
-
function
|
|
52799
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
51808
52800
|
i0.ɵɵnamespaceSVG();
|
|
51809
|
-
i0.ɵɵelementStart(0, "svg",
|
|
51810
|
-
i0.ɵɵelement(1, "circle",
|
|
52801
|
+
i0.ɵɵelementStart(0, "svg", 79);
|
|
52802
|
+
i0.ɵɵelement(1, "circle", 80)(2, "path", 81);
|
|
51811
52803
|
i0.ɵɵelementEnd();
|
|
51812
|
-
i0.ɵɵconditionalCreate(3,
|
|
52804
|
+
i0.ɵɵconditionalCreate(3, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Conditional_3_Template, 1, 0)(4, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Conditional_4_Template, 1, 0)(5, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Conditional_5_Template, 1, 0);
|
|
51813
52805
|
} if (rf & 2) {
|
|
51814
52806
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
51815
52807
|
i0.ɵɵadvance(3);
|
|
51816
|
-
i0.ɵɵconditional(ctx_r1.accountData() && ctx_r1.editMode() ?
|
|
52808
|
+
i0.ɵɵconditional(ctx_r1.focusAreasEditMode() ? 3 : ctx_r1.accountData() && ctx_r1.editMode() ? 4 : 5);
|
|
51817
52809
|
} }
|
|
51818
|
-
function
|
|
51819
|
-
i0.ɵɵtext(0, "
|
|
52810
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_7_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
52811
|
+
i0.ɵɵtext(0, " Save Focus Areas ");
|
|
51820
52812
|
} }
|
|
51821
|
-
function
|
|
52813
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_7_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
52814
|
+
i0.ɵɵtext(0, " Save Changes ");
|
|
52815
|
+
} }
|
|
52816
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_7_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
51822
52817
|
i0.ɵɵtext(0, " Create Account ");
|
|
51823
52818
|
} }
|
|
51824
|
-
function
|
|
51825
|
-
i0.ɵɵconditionalCreate(0,
|
|
52819
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
52820
|
+
i0.ɵɵconditionalCreate(0, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_7_Conditional_0_Template, 1, 0)(1, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_7_Conditional_1_Template, 1, 0)(2, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_7_Conditional_2_Template, 1, 0);
|
|
51826
52821
|
i0.ɵɵnamespaceSVG();
|
|
51827
|
-
i0.ɵɵelementStart(
|
|
51828
|
-
i0.ɵɵelement(
|
|
52822
|
+
i0.ɵɵelementStart(3, "svg", 82);
|
|
52823
|
+
i0.ɵɵelement(4, "path", 83);
|
|
51829
52824
|
i0.ɵɵelementEnd();
|
|
51830
52825
|
} if (rf & 2) {
|
|
51831
52826
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
51832
|
-
i0.ɵɵconditional(ctx_r1.accountData() && ctx_r1.editMode() ?
|
|
52827
|
+
i0.ɵɵconditional(ctx_r1.focusAreasEditMode() ? 0 : ctx_r1.accountData() && ctx_r1.editMode() ? 1 : 2);
|
|
51833
52828
|
} }
|
|
51834
|
-
function
|
|
51835
|
-
const
|
|
51836
|
-
i0.ɵɵelementStart(0, "div",
|
|
51837
|
-
i0.ɵɵconditionalCreate(
|
|
51838
|
-
i0.ɵɵelementStart(
|
|
51839
|
-
i0.ɵɵ
|
|
51840
|
-
i0.ɵɵ
|
|
52829
|
+
function SymphiqCreateAccountDashboardComponent_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
52830
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
52831
|
+
i0.ɵɵelementStart(0, "div", 17)(1, "div", 73);
|
|
52832
|
+
i0.ɵɵconditionalCreate(2, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_2_Template, 2, 4, "div", 74);
|
|
52833
|
+
i0.ɵɵelementStart(3, "div", 75);
|
|
52834
|
+
i0.ɵɵconditionalCreate(4, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_4_Template, 2, 1, "button", 76);
|
|
52835
|
+
i0.ɵɵelementStart(5, "button", 77);
|
|
52836
|
+
i0.ɵɵlistener("click", function SymphiqCreateAccountDashboardComponent_Conditional_28_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.focusAreasEditMode() ? ctx_r1.handleSaveFocusAreas() : ctx_r1.handleContinue()); });
|
|
52837
|
+
i0.ɵɵconditionalCreate(6, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_6_Template, 6, 1)(7, SymphiqCreateAccountDashboardComponent_Conditional_28_Conditional_7_Template, 5, 1);
|
|
51841
52838
|
i0.ɵɵelementEnd()()()();
|
|
51842
52839
|
} if (rf & 2) {
|
|
51843
52840
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
51844
52841
|
i0.ɵɵproperty("ngClass", ctx_r1.stickyButtonContainerClasses());
|
|
51845
|
-
i0.ɵɵadvance(
|
|
51846
|
-
i0.ɵɵconditional(ctx_r1.
|
|
52842
|
+
i0.ɵɵadvance(2);
|
|
52843
|
+
i0.ɵɵconditional(!ctx_r1.allFocusAreasAnswered() && !ctx_r1.accountData() ? 2 : -1);
|
|
52844
|
+
i0.ɵɵadvance(2);
|
|
52845
|
+
i0.ɵɵconditional(ctx_r1.accountData() && ctx_r1.editMode() || ctx_r1.accountData() && ctx_r1.focusAreasEditMode() ? 4 : -1);
|
|
51847
52846
|
i0.ɵɵadvance();
|
|
51848
52847
|
i0.ɵɵclassProp("cursor-pointer", ctx_r1.isButtonEnabled())("cursor-not-allowed", !ctx_r1.isButtonEnabled())("opacity-50", !ctx_r1.isButtonEnabled())("hover:scale-105", ctx_r1.isButtonEnabled());
|
|
51849
52848
|
i0.ɵɵproperty("disabled", !ctx_r1.isButtonEnabled())("ngClass", ctx_r1.continueButtonClasses());
|
|
51850
52849
|
i0.ɵɵadvance();
|
|
51851
|
-
i0.ɵɵconditional(ctx_r1.isLoading() ?
|
|
52850
|
+
i0.ɵɵconditional(ctx_r1.isLoading() ? 6 : 7);
|
|
51852
52851
|
} }
|
|
51853
52852
|
var ShopPlatformEnum;
|
|
51854
52853
|
(function (ShopPlatformEnum) {
|
|
@@ -51913,6 +52912,57 @@ class SymphiqCreateAccountDashboardComponent {
|
|
|
51913
52912
|
this.originalFormValue = null;
|
|
51914
52913
|
this.ShopPlatformEnum = ShopPlatformEnum;
|
|
51915
52914
|
this.JourneyStepIdEnum = JourneyStepIdEnum;
|
|
52915
|
+
this.FocusAreaDomainEnum = FocusAreaDomainEnum;
|
|
52916
|
+
this.FocusAreaDetailStatusEnum = FocusAreaDetailStatusEnum;
|
|
52917
|
+
this.focusAreasEditMode = signal(false, ...(ngDevMode ? [{ debugName: "focusAreasEditMode" }] : []));
|
|
52918
|
+
this.toolsModalOpen = signal(false, ...(ngDevMode ? [{ debugName: "toolsModalOpen" }] : []));
|
|
52919
|
+
this.currentEditingFocusArea = signal(null, ...(ngDevMode ? [{ debugName: "currentEditingFocusArea" }] : []));
|
|
52920
|
+
this.focusAreasMap = signal(new Map(), ...(ngDevMode ? [{ debugName: "focusAreasMap" }] : []));
|
|
52921
|
+
this.originalFocusAreasMap = null;
|
|
52922
|
+
this.allFocusAreaDomains = signal(FocusAreaDomainEnumUtil.sorted(), ...(ngDevMode ? [{ debugName: "allFocusAreaDomains" }] : []));
|
|
52923
|
+
this.totalFocusAreas = computed(() => this.allFocusAreaDomains().length, ...(ngDevMode ? [{ debugName: "totalFocusAreas" }] : []));
|
|
52924
|
+
this.focusAreasAnswered = computed(() => {
|
|
52925
|
+
const map = this.focusAreasMap();
|
|
52926
|
+
let count = 0;
|
|
52927
|
+
for (const [_, value] of map) {
|
|
52928
|
+
if (value.status !== null) {
|
|
52929
|
+
count++;
|
|
52930
|
+
}
|
|
52931
|
+
}
|
|
52932
|
+
return count;
|
|
52933
|
+
}, ...(ngDevMode ? [{ debugName: "focusAreasAnswered" }] : []));
|
|
52934
|
+
this.allFocusAreasAnswered = computed(() => {
|
|
52935
|
+
return this.focusAreasAnswered() === this.totalFocusAreas();
|
|
52936
|
+
}, ...(ngDevMode ? [{ debugName: "allFocusAreasAnswered" }] : []));
|
|
52937
|
+
this.currentEditingFocusAreaTitle = computed(() => {
|
|
52938
|
+
const domain = this.currentEditingFocusArea();
|
|
52939
|
+
return domain ? FocusAreaDomainEnumUtil.title(domain) : '';
|
|
52940
|
+
}, ...(ngDevMode ? [{ debugName: "currentEditingFocusAreaTitle" }] : []));
|
|
52941
|
+
this.currentEditingTools = computed(() => {
|
|
52942
|
+
const domain = this.currentEditingFocusArea();
|
|
52943
|
+
if (!domain)
|
|
52944
|
+
return [];
|
|
52945
|
+
const data = this.focusAreasMap().get(domain);
|
|
52946
|
+
return data?.tools || [];
|
|
52947
|
+
}, ...(ngDevMode ? [{ debugName: "currentEditingTools" }] : []));
|
|
52948
|
+
this.engagedFocusAreas = computed(() => {
|
|
52949
|
+
const data = this.accountData();
|
|
52950
|
+
if (!data?.focusAreaDetails)
|
|
52951
|
+
return [];
|
|
52952
|
+
return data.focusAreaDetails.filter(fa => fa.status === FocusAreaDetailStatusEnum.ENGAGED);
|
|
52953
|
+
}, ...(ngDevMode ? [{ debugName: "engagedFocusAreas" }] : []));
|
|
52954
|
+
this.interestedFocusAreas = computed(() => {
|
|
52955
|
+
const data = this.accountData();
|
|
52956
|
+
if (!data?.focusAreaDetails)
|
|
52957
|
+
return [];
|
|
52958
|
+
return data.focusAreaDetails.filter(fa => fa.status === FocusAreaDetailStatusEnum.NOT_ENGAGED_BUT_WANT_TO);
|
|
52959
|
+
}, ...(ngDevMode ? [{ debugName: "interestedFocusAreas" }] : []));
|
|
52960
|
+
this.notInterestedFocusAreas = computed(() => {
|
|
52961
|
+
const data = this.accountData();
|
|
52962
|
+
if (!data?.focusAreaDetails)
|
|
52963
|
+
return [];
|
|
52964
|
+
return data.focusAreaDetails.filter(fa => fa.status === FocusAreaDetailStatusEnum.NOT_ENGAGED_AND_NO_INTEREST);
|
|
52965
|
+
}, ...(ngDevMode ? [{ debugName: "notInterestedFocusAreas" }] : []));
|
|
51916
52966
|
this.accountForm = this.fb.group({
|
|
51917
52967
|
shopName: ['', Validators.required],
|
|
51918
52968
|
shopUrl: ['', Validators.required],
|
|
@@ -51920,13 +52970,17 @@ class SymphiqCreateAccountDashboardComponent {
|
|
|
51920
52970
|
otherPlatformName: [''],
|
|
51921
52971
|
companyName: ['', Validators.required]
|
|
51922
52972
|
});
|
|
52973
|
+
this.initializeFocusAreasMap();
|
|
51923
52974
|
effect(() => {
|
|
51924
52975
|
const data = this.accountData();
|
|
51925
|
-
if (data && !this.editMode()) {
|
|
52976
|
+
if (data && !this.editMode() && !this.focusAreasEditMode()) {
|
|
51926
52977
|
this.accountForm.patchValue(data);
|
|
51927
52978
|
if (data.shopName === data.companyName) {
|
|
51928
52979
|
this.sameAsShopName.set(true);
|
|
51929
52980
|
}
|
|
52981
|
+
if (data.focusAreaDetails) {
|
|
52982
|
+
this.loadFocusAreasFromData(data.focusAreaDetails);
|
|
52983
|
+
}
|
|
51930
52984
|
}
|
|
51931
52985
|
});
|
|
51932
52986
|
this.accountForm.get('shopPlatform')?.valueChanges.subscribe(value => {
|
|
@@ -52006,21 +53060,123 @@ class SymphiqCreateAccountDashboardComponent {
|
|
|
52006
53060
|
isButtonEnabled() {
|
|
52007
53061
|
if (this.isLoading())
|
|
52008
53062
|
return false;
|
|
53063
|
+
if (this.focusAreasEditMode()) {
|
|
53064
|
+
return this.allFocusAreasAnswered();
|
|
53065
|
+
}
|
|
52009
53066
|
if (!this.isFormValid())
|
|
52010
53067
|
return false;
|
|
53068
|
+
if (!this.accountData()) {
|
|
53069
|
+
return this.allFocusAreasAnswered();
|
|
53070
|
+
}
|
|
52011
53071
|
if (this.accountData() && this.editMode()) {
|
|
52012
53072
|
return this.formChanged();
|
|
52013
53073
|
}
|
|
52014
53074
|
return true;
|
|
52015
53075
|
}
|
|
52016
53076
|
handleContinue() {
|
|
52017
|
-
if (this.accountForm.valid && !this.isLoading()) {
|
|
53077
|
+
if (this.accountForm.valid && this.allFocusAreasAnswered() && !this.isLoading()) {
|
|
52018
53078
|
this.isLoading.set(true);
|
|
52019
|
-
const formData =
|
|
53079
|
+
const formData = {
|
|
53080
|
+
...this.accountForm.value,
|
|
53081
|
+
focusAreaDetails: this.getFocusAreaDetailsFromMap()
|
|
53082
|
+
};
|
|
52020
53083
|
this.onCreateAccount.emit(formData);
|
|
52021
53084
|
this.editMode.set(false);
|
|
52022
53085
|
}
|
|
52023
53086
|
}
|
|
53087
|
+
handleSaveFocusAreas() {
|
|
53088
|
+
if (this.allFocusAreasAnswered() && !this.isLoading()) {
|
|
53089
|
+
this.isLoading.set(true);
|
|
53090
|
+
const formData = {
|
|
53091
|
+
...this.accountData(),
|
|
53092
|
+
focusAreaDetails: this.getFocusAreaDetailsFromMap()
|
|
53093
|
+
};
|
|
53094
|
+
this.onCreateAccount.emit(formData);
|
|
53095
|
+
this.focusAreasEditMode.set(false);
|
|
53096
|
+
}
|
|
53097
|
+
}
|
|
53098
|
+
initializeFocusAreasMap() {
|
|
53099
|
+
const map = new Map();
|
|
53100
|
+
this.allFocusAreaDomains().forEach(domain => {
|
|
53101
|
+
map.set(domain, { status: null, tools: [] });
|
|
53102
|
+
});
|
|
53103
|
+
this.focusAreasMap.set(map);
|
|
53104
|
+
}
|
|
53105
|
+
loadFocusAreasFromData(focusAreaDetails) {
|
|
53106
|
+
const map = new Map();
|
|
53107
|
+
this.allFocusAreaDomains().forEach(domain => {
|
|
53108
|
+
const detail = focusAreaDetails.find(fa => fa.focusAreaDomain === domain);
|
|
53109
|
+
if (detail) {
|
|
53110
|
+
map.set(domain, {
|
|
53111
|
+
status: detail.status || null,
|
|
53112
|
+
tools: detail.tools || []
|
|
53113
|
+
});
|
|
53114
|
+
}
|
|
53115
|
+
else {
|
|
53116
|
+
map.set(domain, { status: null, tools: [] });
|
|
53117
|
+
}
|
|
53118
|
+
});
|
|
53119
|
+
this.focusAreasMap.set(map);
|
|
53120
|
+
}
|
|
53121
|
+
getFocusAreaDetailsFromMap() {
|
|
53122
|
+
const details = [];
|
|
53123
|
+
this.focusAreasMap().forEach((value, domain) => {
|
|
53124
|
+
if (value.status !== null) {
|
|
53125
|
+
details.push({
|
|
53126
|
+
focusAreaDomain: domain,
|
|
53127
|
+
status: value.status,
|
|
53128
|
+
tools: value.tools
|
|
53129
|
+
});
|
|
53130
|
+
}
|
|
53131
|
+
});
|
|
53132
|
+
return details;
|
|
53133
|
+
}
|
|
53134
|
+
getFocusAreaStatus(domain) {
|
|
53135
|
+
return this.focusAreasMap().get(domain)?.status || null;
|
|
53136
|
+
}
|
|
53137
|
+
getFocusAreaTools(domain) {
|
|
53138
|
+
return this.focusAreasMap().get(domain)?.tools || [];
|
|
53139
|
+
}
|
|
53140
|
+
getFocusAreaTitle(domain) {
|
|
53141
|
+
return FocusAreaDomainEnumUtil.title(domain);
|
|
53142
|
+
}
|
|
53143
|
+
getFocusAreaDescription(domain) {
|
|
53144
|
+
return FocusAreaDomainEnumUtil.subtitle(domain);
|
|
53145
|
+
}
|
|
53146
|
+
onFocusAreaStatusChange(domain, status) {
|
|
53147
|
+
const map = new Map(this.focusAreasMap());
|
|
53148
|
+
const current = map.get(domain) || { status: null, tools: [] };
|
|
53149
|
+
map.set(domain, { ...current, status });
|
|
53150
|
+
this.focusAreasMap.set(map);
|
|
53151
|
+
}
|
|
53152
|
+
onFocusAreaToolsClick(domain) {
|
|
53153
|
+
this.currentEditingFocusArea.set(domain);
|
|
53154
|
+
this.toolsModalOpen.set(true);
|
|
53155
|
+
}
|
|
53156
|
+
onToolsModalClose() {
|
|
53157
|
+
this.toolsModalOpen.set(false);
|
|
53158
|
+
this.currentEditingFocusArea.set(null);
|
|
53159
|
+
}
|
|
53160
|
+
onToolsModalSave(tools) {
|
|
53161
|
+
const domain = this.currentEditingFocusArea();
|
|
53162
|
+
if (domain) {
|
|
53163
|
+
const map = new Map(this.focusAreasMap());
|
|
53164
|
+
const current = map.get(domain) || { status: null, tools: [] };
|
|
53165
|
+
map.set(domain, { ...current, tools });
|
|
53166
|
+
this.focusAreasMap.set(map);
|
|
53167
|
+
}
|
|
53168
|
+
this.onToolsModalClose();
|
|
53169
|
+
}
|
|
53170
|
+
enableFocusAreasEditMode() {
|
|
53171
|
+
this.originalFocusAreasMap = new Map(this.focusAreasMap());
|
|
53172
|
+
this.focusAreasEditMode.set(true);
|
|
53173
|
+
}
|
|
53174
|
+
cancelFocusAreasEditMode() {
|
|
53175
|
+
if (this.originalFocusAreasMap) {
|
|
53176
|
+
this.focusAreasMap.set(new Map(this.originalFocusAreasMap));
|
|
53177
|
+
}
|
|
53178
|
+
this.focusAreasEditMode.set(false);
|
|
53179
|
+
}
|
|
52024
53180
|
isLightMode() {
|
|
52025
53181
|
return this.viewMode() === ViewModeEnum.LIGHT;
|
|
52026
53182
|
}
|
|
@@ -52176,6 +53332,91 @@ class SymphiqCreateAccountDashboardComponent {
|
|
|
52176
53332
|
? 'bg-gradient-to-r from-blue-600 to-cyan-600 hover:from-blue-700 hover:to-cyan-700 text-white'
|
|
52177
53333
|
: 'bg-gradient-to-r from-blue-500 to-cyan-500 hover:from-blue-600 hover:to-cyan-600 text-white';
|
|
52178
53334
|
}
|
|
53335
|
+
progressBadgeClasses() {
|
|
53336
|
+
const allAnswered = this.allFocusAreasAnswered();
|
|
53337
|
+
return this.isLightMode()
|
|
53338
|
+
? allAnswered
|
|
53339
|
+
? 'bg-emerald-100 text-emerald-700 border border-emerald-200'
|
|
53340
|
+
: 'bg-blue-100 text-blue-700 border border-blue-200'
|
|
53341
|
+
: allAnswered
|
|
53342
|
+
? 'bg-emerald-900/30 text-emerald-400 border border-emerald-700'
|
|
53343
|
+
: 'bg-blue-900/30 text-blue-400 border border-blue-700';
|
|
53344
|
+
}
|
|
53345
|
+
dividerClasses() {
|
|
53346
|
+
return this.isLightMode()
|
|
53347
|
+
? 'border-t border-slate-200'
|
|
53348
|
+
: 'border-t border-slate-700';
|
|
53349
|
+
}
|
|
53350
|
+
groupTitleClasses(type) {
|
|
53351
|
+
if (type === 'engaged') {
|
|
53352
|
+
return this.isLightMode()
|
|
53353
|
+
? 'text-emerald-700'
|
|
53354
|
+
: 'text-emerald-400';
|
|
53355
|
+
}
|
|
53356
|
+
if (type === 'interested') {
|
|
53357
|
+
return this.isLightMode()
|
|
53358
|
+
? 'text-blue-700'
|
|
53359
|
+
: 'text-blue-400';
|
|
53360
|
+
}
|
|
53361
|
+
return this.isLightMode()
|
|
53362
|
+
? 'text-slate-600'
|
|
53363
|
+
: 'text-slate-400';
|
|
53364
|
+
}
|
|
53365
|
+
focusAreaViewCardClasses(type) {
|
|
53366
|
+
if (type === 'engaged') {
|
|
53367
|
+
return this.isLightMode()
|
|
53368
|
+
? 'bg-emerald-50 border-emerald-500'
|
|
53369
|
+
: 'bg-emerald-900/10 border-emerald-600';
|
|
53370
|
+
}
|
|
53371
|
+
if (type === 'interested') {
|
|
53372
|
+
return this.isLightMode()
|
|
53373
|
+
? 'bg-blue-50 border-blue-500'
|
|
53374
|
+
: 'bg-blue-900/10 border-blue-600';
|
|
53375
|
+
}
|
|
53376
|
+
return this.isLightMode()
|
|
53377
|
+
? 'bg-slate-100'
|
|
53378
|
+
: 'bg-slate-700/50';
|
|
53379
|
+
}
|
|
53380
|
+
focusAreaViewTitleClasses() {
|
|
53381
|
+
return this.isLightMode()
|
|
53382
|
+
? 'text-slate-900'
|
|
53383
|
+
: 'text-white';
|
|
53384
|
+
}
|
|
53385
|
+
focusAreaViewTitleSmallClasses() {
|
|
53386
|
+
return this.isLightMode()
|
|
53387
|
+
? 'text-slate-600'
|
|
53388
|
+
: 'text-slate-400';
|
|
53389
|
+
}
|
|
53390
|
+
statusBadgeClasses(type) {
|
|
53391
|
+
if (type === 'engaged') {
|
|
53392
|
+
return this.isLightMode()
|
|
53393
|
+
? 'bg-emerald-100 text-emerald-700'
|
|
53394
|
+
: 'bg-emerald-900/30 text-emerald-300';
|
|
53395
|
+
}
|
|
53396
|
+
if (type === 'interested') {
|
|
53397
|
+
return this.isLightMode()
|
|
53398
|
+
? 'bg-blue-100 text-blue-700'
|
|
53399
|
+
: 'bg-blue-900/30 text-blue-300';
|
|
53400
|
+
}
|
|
53401
|
+
return this.isLightMode()
|
|
53402
|
+
? 'bg-slate-200 text-slate-700'
|
|
53403
|
+
: 'bg-slate-700 text-slate-300';
|
|
53404
|
+
}
|
|
53405
|
+
toolsLabelViewClasses() {
|
|
53406
|
+
return this.isLightMode()
|
|
53407
|
+
? 'text-slate-600'
|
|
53408
|
+
: 'text-slate-400';
|
|
53409
|
+
}
|
|
53410
|
+
toolChipViewClasses() {
|
|
53411
|
+
return this.isLightMode()
|
|
53412
|
+
? 'bg-white text-emerald-700 border border-emerald-200'
|
|
53413
|
+
: 'bg-slate-800 text-emerald-300 border border-emerald-700';
|
|
53414
|
+
}
|
|
53415
|
+
validationMessageClasses() {
|
|
53416
|
+
return this.isLightMode()
|
|
53417
|
+
? 'bg-orange-50 text-orange-700 border border-orange-200'
|
|
53418
|
+
: 'bg-orange-900/30 text-orange-400 border border-orange-700';
|
|
53419
|
+
}
|
|
52179
53420
|
static { this.ɵfac = function SymphiqCreateAccountDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqCreateAccountDashboardComponent)(); }; }
|
|
52180
53421
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqCreateAccountDashboardComponent, selectors: [["symphiq-create-account-dashboard"]], viewQuery: function SymphiqCreateAccountDashboardComponent_Query(rf, ctx) { if (rf & 1) {
|
|
52181
53422
|
i0.ɵɵviewQuery(_c0$q, 5);
|
|
@@ -52184,7 +53425,7 @@ class SymphiqCreateAccountDashboardComponent {
|
|
|
52184
53425
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.shopNameInput = _t.first);
|
|
52185
53426
|
} }, hostBindings: function SymphiqCreateAccountDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
52186
53427
|
i0.ɵɵlistener("scroll", function SymphiqCreateAccountDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); }, i0.ɵɵresolveWindow);
|
|
52187
|
-
} }, inputs: { embedded: [1, "embedded"], parentHeaderOffset: [1, "parentHeaderOffset"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], accountData: [1, "accountData"], forDemo: [1, "forDemo"], showNextStepAction: [1, "showNextStepAction"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { onCreateAccount: "onCreateAccount", stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls:
|
|
53428
|
+
} }, inputs: { embedded: [1, "embedded"], parentHeaderOffset: [1, "parentHeaderOffset"], viewMode: [1, "viewMode"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], accountData: [1, "accountData"], forDemo: [1, "forDemo"], showNextStepAction: [1, "showNextStepAction"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { onCreateAccount: "onCreateAccount", stepClick: "stepClick", nextStepClick: "nextStepClick" }, decls: 29, vars: 51, consts: [["shopNameInput", ""], [3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "pb-32"], [1, "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, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [3, "close", "save", "isOpen", "focusAreaDomain", "focusAreaTitle", "selectedTools", "viewMode"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-sm", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "hover:scale-105", "flex", "items-center", "gap-2", "cursor-pointer", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"], [1, "space-y-4"], [1, "block", "text-sm", "font-medium", "mb-1", 3, "ngClass"], [1, "text-base", 3, "ngClass"], ["target", "_blank", "rel", "noopener noreferrer", 1, "text-base", "hover:underline", 3, "href", "ngClass"], [1, "mb-6"], [1, "space-y-6", 3, "formGroup"], [1, "block", "text-sm", "font-semibold", "mb-2", 3, "ngClass"], [1, "text-red-500"], ["type", "text", "formControlName", "shopName", "placeholder", "Enter your shop name", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "mt-1", "text-sm", 3, "ngClass"], [1, "flex", "items-center"], [1, "px-4", "py-3", "rounded-l-lg", "border-2", "border-r-0", "text-sm", "font-medium", 3, "ngClass"], ["type", "text", "formControlName", "shopUrl", "placeholder", "yourshop.com", 1, "flex-1", "px-4", "py-3", "rounded-r-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "block", "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "gap-4"], [1, "cursor-pointer", 3, "ngClass"], ["type", "radio", "formControlName", "shopPlatform", 1, "sr-only", 3, "value"], [1, "flex", "items-center", "gap-3", "p-4", "rounded-lg", "border-2", "transition-all", "duration-200"], [1, "w-5", "h-5", "rounded-full", "border-2", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-current"], [1, "flex-1"], [1, "font-semibold", 3, "ngClass"], ["type", "text", "formControlName", "companyName", "placeholder", "Enter company name", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass", "readonly"], [1, "mt-2"], [1, "flex", "items-center", "gap-2", "cursor-pointer"], ["type", "checkbox", 1, "w-4", "h-4", "rounded", "border-2", "transition-all", "duration-200", 3, "change", "checked", "ngClass"], [1, "text-sm", 3, "ngClass"], ["type", "text", "formControlName", "otherPlatformName", "placeholder", "Enter platform name (e.g., WooCommerce, Magento)", 1, "w-full", "px-4", "py-3", "rounded-lg", "border-2", "transition-all", "duration-200", "focus:outline-none", "focus:ring-2", 3, "ngClass"], [1, "text-base", "font-bold", "mb-3", "flex", "items-center", "gap-2", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "bg-emerald-500"], [1, "space-y-3"], [1, "p-4", "rounded-lg", "border-l-4", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-2"], [1, "font-semibold", "text-sm", 3, "ngClass"], [1, "px-2", "py-0.5", "rounded", "text-xs", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mt-2"], [1, "text-xs", "font-medium", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-1.5"], [1, "px-2", "py-0.5", "rounded", "text-xs", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "bg-blue-500"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "gap-3"], [1, "p-3", "rounded-lg", "border-l-4", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "bg-slate-400"], [1, "grid", "grid-cols-2", "sm:grid-cols-3", "gap-2"], [1, "p-2", "rounded", "text-center", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [3, "statusChange", "toolsClick", "focusAreaDomain", "selectedStatus", "selectedTools", "viewMode", "title", "description"], [1, "my-4", 3, "ngClass"], [1, "max-w-3xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "mb-3", "p-3", "rounded-lg", "text-sm", 3, "ngClass"], [1, "flex", "items-center", "gap-3"], ["type", "button", 1, "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-2", "cursor-pointer", "hover:scale-105", 3, "ngClass"], ["type", "button", 1, "flex-1", "px-6", "py-4", "rounded-xl", "font-bold", "text-lg", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-3", "shadow-lg", 3, "click", "disabled", "ngClass"], ["type", "button", 1, "px-6", "py-4", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "flex", "items-center", "justify-center", "gap-2", "cursor-pointer", "hover:scale-105", 3, "click", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "animate-spin"], ["cx", "12", "cy", "12", "r", "10", "stroke", "currentColor", "stroke-width", "4", 1, "opacity-25"], ["fill", "currentColor", "d", "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z", 1, "opacity-75"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqCreateAccountDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
52188
53429
|
i0.ɵɵelementStart(0, "div", 1)(1, "div");
|
|
52189
53430
|
i0.ɵɵelement(2, "div", 2);
|
|
52190
53431
|
i0.ɵɵelementEnd();
|
|
@@ -52204,8 +53445,13 @@ class SymphiqCreateAccountDashboardComponent {
|
|
|
52204
53445
|
i0.ɵɵelementStart(21, "main", 12)(22, "div", 13);
|
|
52205
53446
|
i0.ɵɵconditionalCreate(23, SymphiqCreateAccountDashboardComponent_Conditional_23_Template, 34, 18, "div", 14);
|
|
52206
53447
|
i0.ɵɵconditionalCreate(24, SymphiqCreateAccountDashboardComponent_Conditional_24_Template, 61, 35, "div", 14);
|
|
53448
|
+
i0.ɵɵconditionalCreate(25, SymphiqCreateAccountDashboardComponent_Conditional_25_Template, 15, 8, "div", 15);
|
|
53449
|
+
i0.ɵɵconditionalCreate(26, SymphiqCreateAccountDashboardComponent_Conditional_26_Template, 14, 7, "div", 15);
|
|
52207
53450
|
i0.ɵɵelementEnd()();
|
|
52208
|
-
i0.ɵɵ
|
|
53451
|
+
i0.ɵɵelementStart(27, "symphiq-focus-area-tools-modal", 16);
|
|
53452
|
+
i0.ɵɵlistener("close", function SymphiqCreateAccountDashboardComponent_Template_symphiq_focus_area_tools_modal_close_27_listener() { return ctx.onToolsModalClose(); })("save", function SymphiqCreateAccountDashboardComponent_Template_symphiq_focus_area_tools_modal_save_27_listener($event) { return ctx.onToolsModalSave($event); });
|
|
53453
|
+
i0.ɵɵelementEnd();
|
|
53454
|
+
i0.ɵɵconditionalCreate(28, SymphiqCreateAccountDashboardComponent_Conditional_28_Template, 8, 14, "div", 17);
|
|
52209
53455
|
i0.ɵɵelementEnd()();
|
|
52210
53456
|
} if (rf & 2) {
|
|
52211
53457
|
i0.ɵɵproperty("ngClass", ctx.getContainerClasses());
|
|
@@ -52235,383 +53481,551 @@ class SymphiqCreateAccountDashboardComponent {
|
|
|
52235
53481
|
i0.ɵɵadvance(2);
|
|
52236
53482
|
i0.ɵɵproperty("viewMode", ctx.viewMode())("currentStepId", ctx.JourneyStepIdEnum.CREATE_ACCOUNT)("showNextStepAction", ctx.showNextStepAction())("forDemo", ctx.forDemo())("maxAccessibleStepId", ctx.maxAccessibleStepId());
|
|
52237
53483
|
i0.ɵɵadvance(3);
|
|
52238
|
-
i0.ɵɵconditional(ctx.accountData() && !ctx.editMode() ? 23 : -1);
|
|
53484
|
+
i0.ɵɵconditional(ctx.accountData() && !ctx.editMode() && !ctx.focusAreasEditMode() ? 23 : -1);
|
|
52239
53485
|
i0.ɵɵadvance();
|
|
52240
53486
|
i0.ɵɵconditional(!ctx.accountData() || ctx.editMode() ? 24 : -1);
|
|
52241
53487
|
i0.ɵɵadvance();
|
|
52242
|
-
i0.ɵɵconditional(
|
|
52243
|
-
|
|
53488
|
+
i0.ɵɵconditional(ctx.accountData() && ctx.accountData().focusAreaDetails && !ctx.focusAreasEditMode() ? 25 : -1);
|
|
53489
|
+
i0.ɵɵadvance();
|
|
53490
|
+
i0.ɵɵconditional(!ctx.accountData() || ctx.focusAreasEditMode() ? 26 : -1);
|
|
53491
|
+
i0.ɵɵadvance();
|
|
53492
|
+
i0.ɵɵproperty("isOpen", ctx.toolsModalOpen())("focusAreaDomain", ctx.currentEditingFocusArea())("focusAreaTitle", ctx.currentEditingFocusAreaTitle())("selectedTools", ctx.currentEditingTools())("viewMode", ctx.viewMode());
|
|
53493
|
+
i0.ɵɵadvance();
|
|
53494
|
+
i0.ɵɵconditional(!ctx.accountData() || ctx.editMode() || ctx.focusAreasEditMode() ? 28 : -1);
|
|
53495
|
+
} }, dependencies: [CommonModule, i1$1.NgClass, ReactiveFormsModule, i2$1.ɵNgNoValidate, i2$1.DefaultValueAccessor, i2$1.RadioControlValueAccessor, i2$1.NgControlStatus, i2$1.NgControlStatusGroup, i2$1.FormGroupDirective, i2$1.FormControlName, JourneyProgressIndicatorComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent], styles: ["[_nghost-%COMP%]{display:block}.animated-bubbles[_ngcontent-%COMP%]{overflow:hidden}.animated-bubbles[_ngcontent-%COMP%]:before, .animated-bubbles[_ngcontent-%COMP%]:after{content:\"\";position:absolute;border-radius:50%;animation:_ngcontent-%COMP%_float 20s infinite ease-in-out;opacity:.05}.animated-bubbles[_ngcontent-%COMP%]:before{width:600px;height:600px;background:radial-gradient(circle,#3b82f6 0%,transparent 70%);top:-300px;left:-300px;animation-delay:-5s}.animated-bubbles[_ngcontent-%COMP%]:after{width:800px;height:800px;background:radial-gradient(circle,#06b6d4 0%,transparent 70%);bottom:-400px;right:-400px;animation-delay:-10s}.animated-bubbles.light-mode[_ngcontent-%COMP%]:before, .animated-bubbles.light-mode[_ngcontent-%COMP%]:after{opacity:.03}@keyframes _ngcontent-%COMP%_float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}"], changeDetection: 0 }); }
|
|
52244
53496
|
}
|
|
52245
53497
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqCreateAccountDashboardComponent, [{
|
|
52246
53498
|
type: Component,
|
|
52247
|
-
args: [{ selector: 'symphiq-create-account-dashboard', standalone: true, imports: [CommonModule, ReactiveFormsModule, JourneyProgressIndicatorComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
52248
|
-
<div [ngClass]="getContainerClasses()">
|
|
52249
|
-
<!-- Scroll Progress Bar -->
|
|
52250
|
-
<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'">
|
|
52251
|
-
<div
|
|
52252
|
-
[style.width.%]="scrollProgress()"
|
|
52253
|
-
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400'"
|
|
52254
|
-
class="h-full transition-all duration-200 ease-out">
|
|
52255
|
-
</div>
|
|
52256
|
-
</div>
|
|
52257
|
-
|
|
52258
|
-
<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>
|
|
52259
|
-
|
|
52260
|
-
<div class="relative z-[51]">
|
|
52261
|
-
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
52262
|
-
<!-- Expanded Header -->
|
|
52263
|
-
<div
|
|
52264
|
-
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
52265
|
-
[class.max-h-0]="headerScrollService.isScrolled()"
|
|
52266
|
-
[class.opacity-0]="headerScrollService.isScrolled()"
|
|
52267
|
-
[class.max-h-96]="!headerScrollService.isScrolled()"
|
|
52268
|
-
[class.opacity-100]="!headerScrollService.isScrolled()">
|
|
52269
|
-
<div
|
|
52270
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
52271
|
-
[class.pointer-events-none]="headerScrollService.isScrolled()"
|
|
52272
|
-
[class.pointer-events-auto]="!headerScrollService.isScrolled()">
|
|
52273
|
-
<div class="flex items-center justify-between">
|
|
52274
|
-
<div>
|
|
52275
|
-
<h1 [ngClass]="getMainTitleClasses()">
|
|
52276
|
-
Create Account
|
|
52277
|
-
</h1>
|
|
52278
|
-
<p [ngClass]="getSubtitleClasses()">
|
|
52279
|
-
Tell us about your shop
|
|
52280
|
-
</p>
|
|
52281
|
-
</div>
|
|
52282
|
-
</div>
|
|
52283
|
-
</div>
|
|
52284
|
-
</div>
|
|
52285
|
-
|
|
52286
|
-
<!-- Condensed Header -->
|
|
52287
|
-
<div
|
|
52288
|
-
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
52289
|
-
[class.max-h-0]="!headerScrollService.isScrolled()"
|
|
52290
|
-
[class.opacity-0]="!headerScrollService.isScrolled()"
|
|
52291
|
-
[class.max-h-20]="headerScrollService.isScrolled()"
|
|
52292
|
-
[class.opacity-100]="headerScrollService.isScrolled()">
|
|
52293
|
-
<div
|
|
52294
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
52295
|
-
[class.pointer-events-none]="!headerScrollService.isScrolled()"
|
|
52296
|
-
[class.pointer-events-auto]="headerScrollService.isScrolled()">
|
|
52297
|
-
<div class="flex items-center justify-between">
|
|
52298
|
-
<div class="flex-1 min-w-0 mr-4">
|
|
52299
|
-
<h1 [ngClass]="isLightMode() ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-cyan-600 bg-clip-text text-transparent truncate' : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent truncate'">
|
|
52300
|
-
Create Account
|
|
52301
|
-
</h1>
|
|
52302
|
-
</div>
|
|
52303
|
-
</div>
|
|
52304
|
-
</div>
|
|
52305
|
-
</div>
|
|
52306
|
-
</header>
|
|
52307
|
-
|
|
52308
|
-
<!-- Journey Progress Indicator -->
|
|
52309
|
-
<symphiq-journey-progress-indicator
|
|
52310
|
-
[viewMode]="viewMode()"
|
|
52311
|
-
[currentStepId]="JourneyStepIdEnum.CREATE_ACCOUNT"
|
|
52312
|
-
[showNextStepAction]="showNextStepAction()"
|
|
52313
|
-
[forDemo]="forDemo()"
|
|
52314
|
-
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
52315
|
-
(stepClick)="stepClick.emit($event)"
|
|
52316
|
-
(nextStepClick)="nextStepClick.emit()"
|
|
52317
|
-
/>
|
|
52318
|
-
|
|
52319
|
-
<main class="relative pb-32">
|
|
52320
|
-
<div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
|
52321
|
-
<!-- View Mode: Display Account Data -->
|
|
52322
|
-
@if (accountData() && !editMode()) {
|
|
52323
|
-
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
52324
|
-
<div [ngClass]="contentClasses()" class="px-8 py-8">
|
|
52325
|
-
<div class="flex items-start justify-between mb-6">
|
|
52326
|
-
<div>
|
|
52327
|
-
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
|
|
52328
|
-
|
|
52329
|
-
</h2>
|
|
52330
|
-
<p [ngClass]="sectionDescriptionClasses()">
|
|
52331
|
-
Your shop information
|
|
52332
|
-
</p>
|
|
52333
|
-
</div>
|
|
52334
|
-
<button
|
|
52335
|
-
type="button"
|
|
52336
|
-
(click)="enableEditMode()"
|
|
52337
|
-
[ngClass]="editButtonClasses()"
|
|
52338
|
-
class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 hover:scale-105 flex items-center gap-2 cursor-pointer">
|
|
52339
|
-
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
52340
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"/>
|
|
52341
|
-
</svg>
|
|
52342
|
-
Edit
|
|
52343
|
-
</button>
|
|
52344
|
-
</div>
|
|
52345
|
-
|
|
52346
|
-
<div class="space-y-4">
|
|
52347
|
-
<div>
|
|
52348
|
-
<label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
|
|
52349
|
-
Shop Name
|
|
52350
|
-
</label>
|
|
52351
|
-
<p [ngClass]="viewValueClasses()" class="text-base">
|
|
52352
|
-
{{ accountData()!.shopName }}
|
|
52353
|
-
</p>
|
|
52354
|
-
</div>
|
|
52355
|
-
|
|
52356
|
-
<div>
|
|
52357
|
-
<label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
|
|
52358
|
-
Shop URL
|
|
52359
|
-
</label>
|
|
52360
|
-
<a [href]="accountData()!.shopUrl" target="_blank" rel="noopener noreferrer"
|
|
52361
|
-
[ngClass]="viewLinkClasses()"
|
|
52362
|
-
class="text-base hover:underline">
|
|
52363
|
-
{{ accountData()!.shopUrl }}
|
|
52364
|
-
</a>
|
|
52365
|
-
</div>
|
|
52366
|
-
|
|
52367
|
-
<div>
|
|
52368
|
-
<label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
|
|
52369
|
-
Shop Platform
|
|
52370
|
-
</label>
|
|
52371
|
-
<p [ngClass]="viewValueClasses()" class="text-base">
|
|
52372
|
-
@if (accountData()!.shopPlatform === ShopPlatformEnum.SHOPIFY) {
|
|
52373
|
-
Shopify
|
|
52374
|
-
} @else {
|
|
52375
|
-
{{ accountData()!.otherPlatformName || 'Other' }}
|
|
52376
|
-
}
|
|
52377
|
-
</p>
|
|
52378
|
-
</div>
|
|
52379
|
-
|
|
52380
|
-
<div>
|
|
52381
|
-
<label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
|
|
52382
|
-
Company Name
|
|
52383
|
-
</label>
|
|
52384
|
-
<p [ngClass]="viewValueClasses()" class="text-base">
|
|
52385
|
-
{{ accountData()!.companyName }}
|
|
52386
|
-
</p>
|
|
52387
|
-
</div>
|
|
52388
|
-
</div>
|
|
52389
|
-
</div>
|
|
52390
|
-
</div>
|
|
52391
|
-
}
|
|
52392
|
-
|
|
52393
|
-
<!-- Edit Mode: Form -->
|
|
52394
|
-
@if (!accountData() || editMode()) {
|
|
52395
|
-
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
52396
|
-
<div [ngClass]="contentClasses()" class="px-8 py-8">
|
|
52397
|
-
<div class="mb-6">
|
|
52398
|
-
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
|
|
52399
|
-
|
|
52400
|
-
</h2>
|
|
52401
|
-
<p [ngClass]="sectionDescriptionClasses()">
|
|
52402
|
-
Enter your shop details to get started with Symphiq
|
|
52403
|
-
</p>
|
|
52404
|
-
</div>
|
|
52405
|
-
|
|
52406
|
-
<form [formGroup]="accountForm" class="space-y-6">
|
|
52407
|
-
<!-- Shop Name -->
|
|
52408
|
-
<div>
|
|
52409
|
-
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
|
|
52410
|
-
Shop Name <span class="text-red-500">*</span>
|
|
52411
|
-
</label>
|
|
52412
|
-
<input
|
|
52413
|
-
#shopNameInput
|
|
52414
|
-
type="text"
|
|
52415
|
-
formControlName="shopName"
|
|
52416
|
-
[ngClass]="inputClasses('shopName')"
|
|
52417
|
-
class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
|
|
52418
|
-
placeholder="Enter your shop name"
|
|
52419
|
-
/>
|
|
52420
|
-
@if (isFieldInvalid('shopName')) {
|
|
52421
|
-
<p [ngClass]="errorClasses()" class="mt-1 text-sm">
|
|
52422
|
-
Shop name is required
|
|
52423
|
-
</p>
|
|
52424
|
-
}
|
|
52425
|
-
</div>
|
|
52426
|
-
|
|
52427
|
-
<!-- Shop URL -->
|
|
52428
|
-
<div>
|
|
52429
|
-
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
|
|
52430
|
-
Shop URL <span class="text-red-500">*</span>
|
|
52431
|
-
</label>
|
|
52432
|
-
<div class="flex items-center">
|
|
52433
|
-
<span [ngClass]="urlPrefixClasses()" class="px-4 py-3 rounded-l-lg border-2 border-r-0 text-sm font-medium">
|
|
52434
|
-
https://
|
|
52435
|
-
</span>
|
|
52436
|
-
<input
|
|
52437
|
-
type="text"
|
|
52438
|
-
formControlName="shopUrl"
|
|
52439
|
-
[ngClass]="urlInputClasses('shopUrl')"
|
|
52440
|
-
class="flex-1 px-4 py-3 rounded-r-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
|
|
52441
|
-
placeholder="yourshop.com"
|
|
52442
|
-
/>
|
|
52443
|
-
</div>
|
|
52444
|
-
@if (isFieldInvalid('shopUrl')) {
|
|
52445
|
-
<p [ngClass]="errorClasses()" class="mt-1 text-sm">
|
|
52446
|
-
Shop URL is required
|
|
52447
|
-
</p>
|
|
52448
|
-
}
|
|
52449
|
-
</div>
|
|
52450
|
-
|
|
52451
|
-
<!-- Shop Platform -->
|
|
52452
|
-
<div>
|
|
52453
|
-
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-3">
|
|
52454
|
-
Shop Platform <span class="text-red-500">*</span>
|
|
52455
|
-
</label>
|
|
52456
|
-
<div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
|
52457
|
-
<label [ngClass]="radioPlatformClasses(ShopPlatformEnum.SHOPIFY)" class="cursor-pointer">
|
|
52458
|
-
<input
|
|
52459
|
-
type="radio"
|
|
52460
|
-
formControlName="shopPlatform"
|
|
52461
|
-
[value]="ShopPlatformEnum.SHOPIFY"
|
|
52462
|
-
class="sr-only"
|
|
52463
|
-
/>
|
|
52464
|
-
<div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
|
|
52465
|
-
<div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.SHOPIFY)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
|
|
52466
|
-
@if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.SHOPIFY) {
|
|
52467
|
-
<div class="w-3 h-3 rounded-full bg-current"></div>
|
|
52468
|
-
}
|
|
52469
|
-
</div>
|
|
52470
|
-
<div class="flex-1">
|
|
52471
|
-
<div [ngClass]="radioLabelClasses()" class="font-semibold">
|
|
52472
|
-
Shopify
|
|
52473
|
-
</div>
|
|
52474
|
-
</div>
|
|
52475
|
-
</div>
|
|
52476
|
-
</label>
|
|
52477
|
-
|
|
52478
|
-
<label [ngClass]="radioPlatformClasses(ShopPlatformEnum.OTHER)" class="cursor-pointer">
|
|
52479
|
-
<input
|
|
52480
|
-
type="radio"
|
|
52481
|
-
formControlName="shopPlatform"
|
|
52482
|
-
[value]="ShopPlatformEnum.OTHER"
|
|
52483
|
-
class="sr-only"
|
|
52484
|
-
/>
|
|
52485
|
-
<div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
|
|
52486
|
-
<div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.OTHER)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
|
|
52487
|
-
@if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
|
|
52488
|
-
<div class="w-3 h-3 rounded-full bg-current"></div>
|
|
52489
|
-
}
|
|
52490
|
-
</div>
|
|
52491
|
-
<div class="flex-1">
|
|
52492
|
-
<div [ngClass]="radioLabelClasses()" class="font-semibold">
|
|
52493
|
-
Other
|
|
52494
|
-
</div>
|
|
52495
|
-
</div>
|
|
52496
|
-
</div>
|
|
52497
|
-
</label>
|
|
52498
|
-
</div>
|
|
52499
|
-
</div>
|
|
52500
|
-
|
|
52501
|
-
<!-- Other Platform Name (Conditional) -->
|
|
52502
|
-
@if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
|
|
52503
|
-
<div>
|
|
52504
|
-
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
|
|
52505
|
-
Platform Name <span class="text-red-500">*</span>
|
|
52506
|
-
</label>
|
|
52507
|
-
<input
|
|
52508
|
-
type="text"
|
|
52509
|
-
formControlName="otherPlatformName"
|
|
52510
|
-
[ngClass]="inputClasses('otherPlatformName')"
|
|
52511
|
-
class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
|
|
52512
|
-
placeholder="Enter platform name (e.g., WooCommerce, Magento)"
|
|
52513
|
-
/>
|
|
52514
|
-
@if (isFieldInvalid('otherPlatformName')) {
|
|
52515
|
-
<p [ngClass]="errorClasses()" class="mt-1 text-sm">
|
|
52516
|
-
Platform name is required
|
|
52517
|
-
</p>
|
|
52518
|
-
}
|
|
52519
|
-
</div>
|
|
52520
|
-
}
|
|
52521
|
-
|
|
52522
|
-
<!-- Company Name -->
|
|
52523
|
-
<div>
|
|
52524
|
-
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
|
|
52525
|
-
Company Name <span class="text-red-500">*</span>
|
|
52526
|
-
</label>
|
|
52527
|
-
<input
|
|
52528
|
-
type="text"
|
|
52529
|
-
formControlName="companyName"
|
|
52530
|
-
[ngClass]="inputClasses('companyName')"
|
|
52531
|
-
[readonly]="sameAsShopName()"
|
|
52532
|
-
class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
|
|
52533
|
-
[class.cursor-not-allowed]="sameAsShopName()"
|
|
52534
|
-
[class.opacity-60]="sameAsShopName()"
|
|
52535
|
-
placeholder="Enter company name"
|
|
52536
|
-
/>
|
|
52537
|
-
<div class="mt-2">
|
|
52538
|
-
<label class="flex items-center gap-2 cursor-pointer">
|
|
52539
|
-
<input
|
|
52540
|
-
type="checkbox"
|
|
52541
|
-
[checked]="sameAsShopName()"
|
|
52542
|
-
(change)="toggleSameAsShopName()"
|
|
52543
|
-
[ngClass]="checkboxClasses()"
|
|
52544
|
-
class="w-4 h-4 rounded border-2 transition-all duration-200"
|
|
52545
|
-
/>
|
|
52546
|
-
<span [ngClass]="checkboxLabelClasses()" class="text-sm">
|
|
52547
|
-
Same as Shop Name
|
|
52548
|
-
</span>
|
|
52549
|
-
</label>
|
|
52550
|
-
</div>
|
|
52551
|
-
@if (isFieldInvalid('companyName')) {
|
|
52552
|
-
<p [ngClass]="errorClasses()" class="mt-1 text-sm">
|
|
52553
|
-
Company name is required
|
|
52554
|
-
</p>
|
|
52555
|
-
}
|
|
52556
|
-
</div>
|
|
52557
|
-
</form>
|
|
52558
|
-
</div>
|
|
52559
|
-
</div>
|
|
52560
|
-
}
|
|
52561
|
-
|
|
52562
|
-
|
|
52563
|
-
|
|
52564
|
-
|
|
52565
|
-
|
|
52566
|
-
|
|
52567
|
-
|
|
52568
|
-
|
|
52569
|
-
|
|
52570
|
-
|
|
52571
|
-
|
|
52572
|
-
|
|
52573
|
-
|
|
52574
|
-
|
|
52575
|
-
|
|
52576
|
-
|
|
52577
|
-
|
|
52578
|
-
|
|
52579
|
-
|
|
52580
|
-
|
|
52581
|
-
|
|
52582
|
-
|
|
52583
|
-
|
|
52584
|
-
|
|
52585
|
-
|
|
52586
|
-
|
|
52587
|
-
|
|
52588
|
-
@if (
|
|
52589
|
-
<
|
|
52590
|
-
<
|
|
52591
|
-
|
|
52592
|
-
|
|
52593
|
-
|
|
52594
|
-
|
|
52595
|
-
|
|
52596
|
-
|
|
52597
|
-
|
|
52598
|
-
|
|
52599
|
-
|
|
52600
|
-
|
|
52601
|
-
|
|
52602
|
-
|
|
52603
|
-
|
|
52604
|
-
|
|
52605
|
-
|
|
52606
|
-
|
|
52607
|
-
|
|
52608
|
-
|
|
52609
|
-
|
|
52610
|
-
|
|
52611
|
-
|
|
52612
|
-
|
|
52613
|
-
|
|
52614
|
-
|
|
53499
|
+
args: [{ selector: 'symphiq-create-account-dashboard', standalone: true, imports: [CommonModule, ReactiveFormsModule, JourneyProgressIndicatorComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
53500
|
+
<div [ngClass]="getContainerClasses()">
|
|
53501
|
+
<!-- Scroll Progress Bar -->
|
|
53502
|
+
<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'">
|
|
53503
|
+
<div
|
|
53504
|
+
[style.width.%]="scrollProgress()"
|
|
53505
|
+
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400'"
|
|
53506
|
+
class="h-full transition-all duration-200 ease-out">
|
|
53507
|
+
</div>
|
|
53508
|
+
</div>
|
|
53509
|
+
|
|
53510
|
+
<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>
|
|
53511
|
+
|
|
53512
|
+
<div class="relative z-[51]">
|
|
53513
|
+
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
53514
|
+
<!-- Expanded Header -->
|
|
53515
|
+
<div
|
|
53516
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
53517
|
+
[class.max-h-0]="headerScrollService.isScrolled()"
|
|
53518
|
+
[class.opacity-0]="headerScrollService.isScrolled()"
|
|
53519
|
+
[class.max-h-96]="!headerScrollService.isScrolled()"
|
|
53520
|
+
[class.opacity-100]="!headerScrollService.isScrolled()">
|
|
53521
|
+
<div
|
|
53522
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
53523
|
+
[class.pointer-events-none]="headerScrollService.isScrolled()"
|
|
53524
|
+
[class.pointer-events-auto]="!headerScrollService.isScrolled()">
|
|
53525
|
+
<div class="flex items-center justify-between">
|
|
53526
|
+
<div>
|
|
53527
|
+
<h1 [ngClass]="getMainTitleClasses()">
|
|
53528
|
+
Create Account
|
|
53529
|
+
</h1>
|
|
53530
|
+
<p [ngClass]="getSubtitleClasses()">
|
|
53531
|
+
Tell us about your shop
|
|
53532
|
+
</p>
|
|
53533
|
+
</div>
|
|
53534
|
+
</div>
|
|
53535
|
+
</div>
|
|
53536
|
+
</div>
|
|
53537
|
+
|
|
53538
|
+
<!-- Condensed Header -->
|
|
53539
|
+
<div
|
|
53540
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
53541
|
+
[class.max-h-0]="!headerScrollService.isScrolled()"
|
|
53542
|
+
[class.opacity-0]="!headerScrollService.isScrolled()"
|
|
53543
|
+
[class.max-h-20]="headerScrollService.isScrolled()"
|
|
53544
|
+
[class.opacity-100]="headerScrollService.isScrolled()">
|
|
53545
|
+
<div
|
|
53546
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
53547
|
+
[class.pointer-events-none]="!headerScrollService.isScrolled()"
|
|
53548
|
+
[class.pointer-events-auto]="headerScrollService.isScrolled()">
|
|
53549
|
+
<div class="flex items-center justify-between">
|
|
53550
|
+
<div class="flex-1 min-w-0 mr-4">
|
|
53551
|
+
<h1 [ngClass]="isLightMode() ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-cyan-600 bg-clip-text text-transparent truncate' : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent truncate'">
|
|
53552
|
+
Create Account
|
|
53553
|
+
</h1>
|
|
53554
|
+
</div>
|
|
53555
|
+
</div>
|
|
53556
|
+
</div>
|
|
53557
|
+
</div>
|
|
53558
|
+
</header>
|
|
53559
|
+
|
|
53560
|
+
<!-- Journey Progress Indicator -->
|
|
53561
|
+
<symphiq-journey-progress-indicator
|
|
53562
|
+
[viewMode]="viewMode()"
|
|
53563
|
+
[currentStepId]="JourneyStepIdEnum.CREATE_ACCOUNT"
|
|
53564
|
+
[showNextStepAction]="showNextStepAction()"
|
|
53565
|
+
[forDemo]="forDemo()"
|
|
53566
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
53567
|
+
(stepClick)="stepClick.emit($event)"
|
|
53568
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
53569
|
+
/>
|
|
53570
|
+
|
|
53571
|
+
<main class="relative pb-32">
|
|
53572
|
+
<div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
|
53573
|
+
<!-- View Mode: Display Account Data -->
|
|
53574
|
+
@if (accountData() && !editMode() && !focusAreasEditMode()) {
|
|
53575
|
+
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
|
|
53576
|
+
<div [ngClass]="contentClasses()" class="px-8 py-8">
|
|
53577
|
+
<div class="flex items-start justify-between mb-6">
|
|
53578
|
+
<div>
|
|
53579
|
+
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
|
|
53580
|
+
Shop Details
|
|
53581
|
+
</h2>
|
|
53582
|
+
<p [ngClass]="sectionDescriptionClasses()">
|
|
53583
|
+
Your shop information
|
|
53584
|
+
</p>
|
|
53585
|
+
</div>
|
|
53586
|
+
<button
|
|
53587
|
+
type="button"
|
|
53588
|
+
(click)="enableEditMode()"
|
|
53589
|
+
[ngClass]="editButtonClasses()"
|
|
53590
|
+
class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 hover:scale-105 flex items-center gap-2 cursor-pointer">
|
|
53591
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
53592
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"/>
|
|
53593
|
+
</svg>
|
|
53594
|
+
Edit
|
|
53595
|
+
</button>
|
|
53596
|
+
</div>
|
|
53597
|
+
|
|
53598
|
+
<div class="space-y-4">
|
|
53599
|
+
<div>
|
|
53600
|
+
<label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
|
|
53601
|
+
Shop Name
|
|
53602
|
+
</label>
|
|
53603
|
+
<p [ngClass]="viewValueClasses()" class="text-base">
|
|
53604
|
+
{{ accountData()!.shopName }}
|
|
53605
|
+
</p>
|
|
53606
|
+
</div>
|
|
53607
|
+
|
|
53608
|
+
<div>
|
|
53609
|
+
<label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
|
|
53610
|
+
Shop URL
|
|
53611
|
+
</label>
|
|
53612
|
+
<a [href]="accountData()!.shopUrl" target="_blank" rel="noopener noreferrer"
|
|
53613
|
+
[ngClass]="viewLinkClasses()"
|
|
53614
|
+
class="text-base hover:underline">
|
|
53615
|
+
{{ accountData()!.shopUrl }}
|
|
53616
|
+
</a>
|
|
53617
|
+
</div>
|
|
53618
|
+
|
|
53619
|
+
<div>
|
|
53620
|
+
<label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
|
|
53621
|
+
Shop Platform
|
|
53622
|
+
</label>
|
|
53623
|
+
<p [ngClass]="viewValueClasses()" class="text-base">
|
|
53624
|
+
@if (accountData()!.shopPlatform === ShopPlatformEnum.SHOPIFY) {
|
|
53625
|
+
Shopify
|
|
53626
|
+
} @else {
|
|
53627
|
+
{{ accountData()!.otherPlatformName || 'Other' }}
|
|
53628
|
+
}
|
|
53629
|
+
</p>
|
|
53630
|
+
</div>
|
|
53631
|
+
|
|
53632
|
+
<div>
|
|
53633
|
+
<label [ngClass]="viewLabelClasses()" class="block text-sm font-medium mb-1">
|
|
53634
|
+
Company Name
|
|
53635
|
+
</label>
|
|
53636
|
+
<p [ngClass]="viewValueClasses()" class="text-base">
|
|
53637
|
+
{{ accountData()!.companyName }}
|
|
53638
|
+
</p>
|
|
53639
|
+
</div>
|
|
53640
|
+
</div>
|
|
53641
|
+
</div>
|
|
53642
|
+
</div>
|
|
53643
|
+
}
|
|
53644
|
+
|
|
53645
|
+
<!-- Edit Mode: Form -->
|
|
53646
|
+
@if (!accountData() || editMode()) {
|
|
53647
|
+
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden mb-8">
|
|
53648
|
+
<div [ngClass]="contentClasses()" class="px-8 py-8">
|
|
53649
|
+
<div class="mb-6">
|
|
53650
|
+
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
|
|
53651
|
+
Shop Details
|
|
53652
|
+
</h2>
|
|
53653
|
+
<p [ngClass]="sectionDescriptionClasses()">
|
|
53654
|
+
Enter your shop details to get started with Symphiq
|
|
53655
|
+
</p>
|
|
53656
|
+
</div>
|
|
53657
|
+
|
|
53658
|
+
<form [formGroup]="accountForm" class="space-y-6">
|
|
53659
|
+
<!-- Shop Name -->
|
|
53660
|
+
<div>
|
|
53661
|
+
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
|
|
53662
|
+
Shop Name <span class="text-red-500">*</span>
|
|
53663
|
+
</label>
|
|
53664
|
+
<input
|
|
53665
|
+
#shopNameInput
|
|
53666
|
+
type="text"
|
|
53667
|
+
formControlName="shopName"
|
|
53668
|
+
[ngClass]="inputClasses('shopName')"
|
|
53669
|
+
class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
|
|
53670
|
+
placeholder="Enter your shop name"
|
|
53671
|
+
/>
|
|
53672
|
+
@if (isFieldInvalid('shopName')) {
|
|
53673
|
+
<p [ngClass]="errorClasses()" class="mt-1 text-sm">
|
|
53674
|
+
Shop name is required
|
|
53675
|
+
</p>
|
|
53676
|
+
}
|
|
53677
|
+
</div>
|
|
53678
|
+
|
|
53679
|
+
<!-- Shop URL -->
|
|
53680
|
+
<div>
|
|
53681
|
+
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
|
|
53682
|
+
Shop URL <span class="text-red-500">*</span>
|
|
53683
|
+
</label>
|
|
53684
|
+
<div class="flex items-center">
|
|
53685
|
+
<span [ngClass]="urlPrefixClasses()" class="px-4 py-3 rounded-l-lg border-2 border-r-0 text-sm font-medium">
|
|
53686
|
+
https://
|
|
53687
|
+
</span>
|
|
53688
|
+
<input
|
|
53689
|
+
type="text"
|
|
53690
|
+
formControlName="shopUrl"
|
|
53691
|
+
[ngClass]="urlInputClasses('shopUrl')"
|
|
53692
|
+
class="flex-1 px-4 py-3 rounded-r-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
|
|
53693
|
+
placeholder="yourshop.com"
|
|
53694
|
+
/>
|
|
53695
|
+
</div>
|
|
53696
|
+
@if (isFieldInvalid('shopUrl')) {
|
|
53697
|
+
<p [ngClass]="errorClasses()" class="mt-1 text-sm">
|
|
53698
|
+
Shop URL is required
|
|
53699
|
+
</p>
|
|
53700
|
+
}
|
|
53701
|
+
</div>
|
|
53702
|
+
|
|
53703
|
+
<!-- Shop Platform -->
|
|
53704
|
+
<div>
|
|
53705
|
+
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-3">
|
|
53706
|
+
Shop Platform <span class="text-red-500">*</span>
|
|
53707
|
+
</label>
|
|
53708
|
+
<div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
|
53709
|
+
<label [ngClass]="radioPlatformClasses(ShopPlatformEnum.SHOPIFY)" class="cursor-pointer">
|
|
53710
|
+
<input
|
|
53711
|
+
type="radio"
|
|
53712
|
+
formControlName="shopPlatform"
|
|
53713
|
+
[value]="ShopPlatformEnum.SHOPIFY"
|
|
53714
|
+
class="sr-only"
|
|
53715
|
+
/>
|
|
53716
|
+
<div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
|
|
53717
|
+
<div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.SHOPIFY)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
|
|
53718
|
+
@if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.SHOPIFY) {
|
|
53719
|
+
<div class="w-3 h-3 rounded-full bg-current"></div>
|
|
53720
|
+
}
|
|
53721
|
+
</div>
|
|
53722
|
+
<div class="flex-1">
|
|
53723
|
+
<div [ngClass]="radioLabelClasses()" class="font-semibold">
|
|
53724
|
+
Shopify
|
|
53725
|
+
</div>
|
|
53726
|
+
</div>
|
|
53727
|
+
</div>
|
|
53728
|
+
</label>
|
|
53729
|
+
|
|
53730
|
+
<label [ngClass]="radioPlatformClasses(ShopPlatformEnum.OTHER)" class="cursor-pointer">
|
|
53731
|
+
<input
|
|
53732
|
+
type="radio"
|
|
53733
|
+
formControlName="shopPlatform"
|
|
53734
|
+
[value]="ShopPlatformEnum.OTHER"
|
|
53735
|
+
class="sr-only"
|
|
53736
|
+
/>
|
|
53737
|
+
<div class="flex items-center gap-3 p-4 rounded-lg border-2 transition-all duration-200">
|
|
53738
|
+
<div [ngClass]="radioIndicatorClasses(ShopPlatformEnum.OTHER)" class="w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0">
|
|
53739
|
+
@if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
|
|
53740
|
+
<div class="w-3 h-3 rounded-full bg-current"></div>
|
|
53741
|
+
}
|
|
53742
|
+
</div>
|
|
53743
|
+
<div class="flex-1">
|
|
53744
|
+
<div [ngClass]="radioLabelClasses()" class="font-semibold">
|
|
53745
|
+
Other
|
|
53746
|
+
</div>
|
|
53747
|
+
</div>
|
|
53748
|
+
</div>
|
|
53749
|
+
</label>
|
|
53750
|
+
</div>
|
|
53751
|
+
</div>
|
|
53752
|
+
|
|
53753
|
+
<!-- Other Platform Name (Conditional) -->
|
|
53754
|
+
@if (accountForm.get('shopPlatform')?.value === ShopPlatformEnum.OTHER) {
|
|
53755
|
+
<div>
|
|
53756
|
+
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
|
|
53757
|
+
Platform Name <span class="text-red-500">*</span>
|
|
53758
|
+
</label>
|
|
53759
|
+
<input
|
|
53760
|
+
type="text"
|
|
53761
|
+
formControlName="otherPlatformName"
|
|
53762
|
+
[ngClass]="inputClasses('otherPlatformName')"
|
|
53763
|
+
class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
|
|
53764
|
+
placeholder="Enter platform name (e.g., WooCommerce, Magento)"
|
|
53765
|
+
/>
|
|
53766
|
+
@if (isFieldInvalid('otherPlatformName')) {
|
|
53767
|
+
<p [ngClass]="errorClasses()" class="mt-1 text-sm">
|
|
53768
|
+
Platform name is required
|
|
53769
|
+
</p>
|
|
53770
|
+
}
|
|
53771
|
+
</div>
|
|
53772
|
+
}
|
|
53773
|
+
|
|
53774
|
+
<!-- Company Name -->
|
|
53775
|
+
<div>
|
|
53776
|
+
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
|
|
53777
|
+
Company Name <span class="text-red-500">*</span>
|
|
53778
|
+
</label>
|
|
53779
|
+
<input
|
|
53780
|
+
type="text"
|
|
53781
|
+
formControlName="companyName"
|
|
53782
|
+
[ngClass]="inputClasses('companyName')"
|
|
53783
|
+
[readonly]="sameAsShopName()"
|
|
53784
|
+
class="w-full px-4 py-3 rounded-lg border-2 transition-all duration-200 focus:outline-none focus:ring-2"
|
|
53785
|
+
[class.cursor-not-allowed]="sameAsShopName()"
|
|
53786
|
+
[class.opacity-60]="sameAsShopName()"
|
|
53787
|
+
placeholder="Enter company name"
|
|
53788
|
+
/>
|
|
53789
|
+
<div class="mt-2">
|
|
53790
|
+
<label class="flex items-center gap-2 cursor-pointer">
|
|
53791
|
+
<input
|
|
53792
|
+
type="checkbox"
|
|
53793
|
+
[checked]="sameAsShopName()"
|
|
53794
|
+
(change)="toggleSameAsShopName()"
|
|
53795
|
+
[ngClass]="checkboxClasses()"
|
|
53796
|
+
class="w-4 h-4 rounded border-2 transition-all duration-200"
|
|
53797
|
+
/>
|
|
53798
|
+
<span [ngClass]="checkboxLabelClasses()" class="text-sm">
|
|
53799
|
+
Same as Shop Name
|
|
53800
|
+
</span>
|
|
53801
|
+
</label>
|
|
53802
|
+
</div>
|
|
53803
|
+
@if (isFieldInvalid('companyName')) {
|
|
53804
|
+
<p [ngClass]="errorClasses()" class="mt-1 text-sm">
|
|
53805
|
+
Company name is required
|
|
53806
|
+
</p>
|
|
53807
|
+
}
|
|
53808
|
+
</div>
|
|
53809
|
+
</form>
|
|
53810
|
+
</div>
|
|
53811
|
+
</div>
|
|
53812
|
+
}
|
|
53813
|
+
|
|
53814
|
+
<!-- Focus Areas Card - View Mode -->
|
|
53815
|
+
@if (accountData() && accountData()!.focusAreaDetails && !focusAreasEditMode()) {
|
|
53816
|
+
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
53817
|
+
<div [ngClass]="contentClasses()" class="px-8 py-8">
|
|
53818
|
+
<div class="flex items-start justify-between mb-6">
|
|
53819
|
+
<div>
|
|
53820
|
+
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
|
|
53821
|
+
Focus Areas
|
|
53822
|
+
</h2>
|
|
53823
|
+
<p [ngClass]="sectionDescriptionClasses()">
|
|
53824
|
+
Your marketing and operational focus areas
|
|
53825
|
+
</p>
|
|
53826
|
+
</div>
|
|
53827
|
+
<button
|
|
53828
|
+
type="button"
|
|
53829
|
+
(click)="enableFocusAreasEditMode()"
|
|
53830
|
+
[ngClass]="editButtonClasses()"
|
|
53831
|
+
class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 hover:scale-105 flex items-center gap-2 cursor-pointer">
|
|
53832
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
53833
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"/>
|
|
53834
|
+
</svg>
|
|
53835
|
+
Edit
|
|
53836
|
+
</button>
|
|
53837
|
+
</div>
|
|
53838
|
+
|
|
53839
|
+
<!-- Grouped by Status -->
|
|
53840
|
+
@if (engagedFocusAreas().length > 0) {
|
|
53841
|
+
<div class="mb-6">
|
|
53842
|
+
<h3 [ngClass]="groupTitleClasses('engaged')" class="text-base font-bold mb-3 flex items-center gap-2">
|
|
53843
|
+
<span class="w-2 h-2 rounded-full bg-emerald-500"></span>
|
|
53844
|
+
Engaged In ({{ engagedFocusAreas().length }})
|
|
53845
|
+
</h3>
|
|
53846
|
+
<div class="space-y-3">
|
|
53847
|
+
@for (focusArea of engagedFocusAreas(); track focusArea.focusAreaDomain) {
|
|
53848
|
+
<div [ngClass]="focusAreaViewCardClasses('engaged')" class="p-4 rounded-lg border-l-4">
|
|
53849
|
+
<div class="flex items-start justify-between mb-2">
|
|
53850
|
+
<h4 [ngClass]="focusAreaViewTitleClasses()" class="font-semibold text-sm">
|
|
53851
|
+
{{ getFocusAreaTitle(focusArea.focusAreaDomain!) }}
|
|
53852
|
+
</h4>
|
|
53853
|
+
<span [ngClass]="statusBadgeClasses('engaged')" class="px-2 py-0.5 rounded text-xs font-semibold whitespace-nowrap">
|
|
53854
|
+
Engaged
|
|
53855
|
+
</span>
|
|
53856
|
+
</div>
|
|
53857
|
+
@if (focusArea.tools && focusArea.tools.length > 0) {
|
|
53858
|
+
<div class="flex items-center gap-2 mt-2">
|
|
53859
|
+
<span [ngClass]="toolsLabelViewClasses()" class="text-xs font-medium">Tools:</span>
|
|
53860
|
+
<div class="flex flex-wrap gap-1.5">
|
|
53861
|
+
@for (tool of focusArea.tools; track tool) {
|
|
53862
|
+
<span [ngClass]="toolChipViewClasses()" class="px-2 py-0.5 rounded text-xs">
|
|
53863
|
+
{{ tool }}
|
|
53864
|
+
</span>
|
|
53865
|
+
}
|
|
53866
|
+
</div>
|
|
53867
|
+
</div>
|
|
53868
|
+
}
|
|
53869
|
+
</div>
|
|
53870
|
+
}
|
|
53871
|
+
</div>
|
|
53872
|
+
</div>
|
|
53873
|
+
}
|
|
53874
|
+
|
|
53875
|
+
@if (interestedFocusAreas().length > 0) {
|
|
53876
|
+
<div class="mb-6">
|
|
53877
|
+
<h3 [ngClass]="groupTitleClasses('interested')" class="text-base font-bold mb-3 flex items-center gap-2">
|
|
53878
|
+
<span class="w-2 h-2 rounded-full bg-blue-500"></span>
|
|
53879
|
+
Interested In ({{ interestedFocusAreas().length }})
|
|
53880
|
+
</h3>
|
|
53881
|
+
<div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
|
|
53882
|
+
@for (focusArea of interestedFocusAreas(); track focusArea.focusAreaDomain) {
|
|
53883
|
+
<div [ngClass]="focusAreaViewCardClasses('interested')" class="p-3 rounded-lg border-l-4">
|
|
53884
|
+
<h4 [ngClass]="focusAreaViewTitleClasses()" class="font-semibold text-sm">
|
|
53885
|
+
{{ getFocusAreaTitle(focusArea.focusAreaDomain!) }}
|
|
53886
|
+
</h4>
|
|
53887
|
+
</div>
|
|
53888
|
+
}
|
|
53889
|
+
</div>
|
|
53890
|
+
</div>
|
|
53891
|
+
}
|
|
53892
|
+
|
|
53893
|
+
@if (notInterestedFocusAreas().length > 0) {
|
|
53894
|
+
<div>
|
|
53895
|
+
<h3 [ngClass]="groupTitleClasses('not-interested')" class="text-base font-bold mb-3 flex items-center gap-2">
|
|
53896
|
+
<span class="w-2 h-2 rounded-full bg-slate-400"></span>
|
|
53897
|
+
Not Interested ({{ notInterestedFocusAreas().length }})
|
|
53898
|
+
</h3>
|
|
53899
|
+
<div class="grid grid-cols-2 sm:grid-cols-3 gap-2">
|
|
53900
|
+
@for (focusArea of notInterestedFocusAreas(); track focusArea.focusAreaDomain) {
|
|
53901
|
+
<div [ngClass]="focusAreaViewCardClasses('not-interested')" class="p-2 rounded text-center">
|
|
53902
|
+
<span [ngClass]="focusAreaViewTitleSmallClasses()" class="text-xs font-medium">
|
|
53903
|
+
{{ getFocusAreaTitle(focusArea.focusAreaDomain!) }}
|
|
53904
|
+
</span>
|
|
53905
|
+
</div>
|
|
53906
|
+
}
|
|
53907
|
+
</div>
|
|
53908
|
+
</div>
|
|
53909
|
+
}
|
|
53910
|
+
</div>
|
|
53911
|
+
</div>
|
|
53912
|
+
}
|
|
53913
|
+
|
|
53914
|
+
<!-- Focus Areas Card - Edit Mode -->
|
|
53915
|
+
@if (!accountData() || focusAreasEditMode()) {
|
|
53916
|
+
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
53917
|
+
<div [ngClass]="contentClasses()" class="px-8 py-8">
|
|
53918
|
+
<div class="mb-6">
|
|
53919
|
+
<div class="flex items-start justify-between">
|
|
53920
|
+
<div>
|
|
53921
|
+
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
|
|
53922
|
+
Focus Areas
|
|
53923
|
+
</h2>
|
|
53924
|
+
<p [ngClass]="sectionDescriptionClasses()">
|
|
53925
|
+
Tell us about your marketing and operational focus areas
|
|
53926
|
+
</p>
|
|
53927
|
+
</div>
|
|
53928
|
+
<div [ngClass]="progressBadgeClasses()" class="px-4 py-2 rounded-lg text-sm font-semibold whitespace-nowrap">
|
|
53929
|
+
{{ focusAreasAnswered() }} of {{ totalFocusAreas() }} answered
|
|
53930
|
+
</div>
|
|
53931
|
+
</div>
|
|
53932
|
+
</div>
|
|
53933
|
+
|
|
53934
|
+
<div class="space-y-4">
|
|
53935
|
+
@for (domain of allFocusAreaDomains(); track domain; let i = $index) {
|
|
53936
|
+
<symphiq-focus-area-question
|
|
53937
|
+
[focusAreaDomain]="domain"
|
|
53938
|
+
[selectedStatus]="getFocusAreaStatus(domain)"
|
|
53939
|
+
[selectedTools]="getFocusAreaTools(domain)"
|
|
53940
|
+
[viewMode]="viewMode()"
|
|
53941
|
+
[title]="getFocusAreaTitle(domain)"
|
|
53942
|
+
[description]="getFocusAreaDescription(domain)"
|
|
53943
|
+
(statusChange)="onFocusAreaStatusChange(domain, $event)"
|
|
53944
|
+
(toolsClick)="onFocusAreaToolsClick(domain)"
|
|
53945
|
+
/>
|
|
53946
|
+
@if (i < allFocusAreaDomains().length - 1) {
|
|
53947
|
+
<div [ngClass]="dividerClasses()" class="my-4"></div>
|
|
53948
|
+
}
|
|
53949
|
+
}
|
|
53950
|
+
</div>
|
|
53951
|
+
</div>
|
|
53952
|
+
</div>
|
|
53953
|
+
}
|
|
53954
|
+
</div>
|
|
53955
|
+
</main>
|
|
53956
|
+
|
|
53957
|
+
<!-- Tools Selection Modal -->
|
|
53958
|
+
<symphiq-focus-area-tools-modal
|
|
53959
|
+
[isOpen]="toolsModalOpen()"
|
|
53960
|
+
[focusAreaDomain]="currentEditingFocusArea()!"
|
|
53961
|
+
[focusAreaTitle]="currentEditingFocusAreaTitle()"
|
|
53962
|
+
[selectedTools]="currentEditingTools()"
|
|
53963
|
+
[viewMode]="viewMode()"
|
|
53964
|
+
(close)="onToolsModalClose()"
|
|
53965
|
+
(save)="onToolsModalSave($event)"
|
|
53966
|
+
/>
|
|
53967
|
+
|
|
53968
|
+
<!-- Sticky Continue Button -->
|
|
53969
|
+
@if (!accountData() || editMode() || focusAreasEditMode()) {
|
|
53970
|
+
<div [ngClass]="stickyButtonContainerClasses()" class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-sm">
|
|
53971
|
+
<div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
|
|
53972
|
+
@if (!allFocusAreasAnswered() && !accountData()) {
|
|
53973
|
+
<div [ngClass]="validationMessageClasses()" class="mb-3 p-3 rounded-lg text-sm">
|
|
53974
|
+
Please answer all {{ totalFocusAreas() }} focus area questions before creating your account.
|
|
53975
|
+
{{ focusAreasAnswered() }} of {{ totalFocusAreas() }} completed.
|
|
53976
|
+
</div>
|
|
53977
|
+
}
|
|
53978
|
+
<div class="flex items-center gap-3">
|
|
53979
|
+
@if ((accountData() && editMode()) || (accountData() && focusAreasEditMode())) {
|
|
53980
|
+
<button
|
|
53981
|
+
type="button"
|
|
53982
|
+
(click)="focusAreasEditMode() ? cancelFocusAreasEditMode() : cancelEditMode()"
|
|
53983
|
+
[ngClass]="cancelButtonClasses()"
|
|
53984
|
+
class="px-6 py-4 rounded-xl font-bold text-base transition-all duration-200 flex items-center justify-center gap-2 cursor-pointer hover:scale-105">
|
|
53985
|
+
Cancel
|
|
53986
|
+
</button>
|
|
53987
|
+
}
|
|
53988
|
+
<button
|
|
53989
|
+
type="button"
|
|
53990
|
+
(click)="focusAreasEditMode() ? handleSaveFocusAreas() : handleContinue()"
|
|
53991
|
+
[disabled]="!isButtonEnabled()"
|
|
53992
|
+
[ngClass]="continueButtonClasses()"
|
|
53993
|
+
class="flex-1 px-6 py-4 rounded-xl font-bold text-lg transition-all duration-200 flex items-center justify-center gap-3 shadow-lg"
|
|
53994
|
+
[class.cursor-pointer]="isButtonEnabled()"
|
|
53995
|
+
[class.cursor-not-allowed]="!isButtonEnabled()"
|
|
53996
|
+
[class.opacity-50]="!isButtonEnabled()"
|
|
53997
|
+
[class.hover:scale-105]="isButtonEnabled()">
|
|
53998
|
+
@if (isLoading()) {
|
|
53999
|
+
<svg class="w-6 h-6 animate-spin" fill="none" viewBox="0 0 24 24">
|
|
54000
|
+
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
|
54001
|
+
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
|
54002
|
+
</svg>
|
|
54003
|
+
@if (focusAreasEditMode()) {
|
|
54004
|
+
Saving Focus Areas...
|
|
54005
|
+
} @else if (accountData() && editMode()) {
|
|
54006
|
+
Updating Account...
|
|
54007
|
+
} @else {
|
|
54008
|
+
Creating Account...
|
|
54009
|
+
}
|
|
54010
|
+
} @else {
|
|
54011
|
+
@if (focusAreasEditMode()) {
|
|
54012
|
+
Save Focus Areas
|
|
54013
|
+
} @else if (accountData() && editMode()) {
|
|
54014
|
+
Save Changes
|
|
54015
|
+
} @else {
|
|
54016
|
+
Create Account
|
|
54017
|
+
}
|
|
54018
|
+
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
54019
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"/>
|
|
54020
|
+
</svg>
|
|
54021
|
+
}
|
|
54022
|
+
</button>
|
|
54023
|
+
</div>
|
|
54024
|
+
</div>
|
|
54025
|
+
</div>
|
|
54026
|
+
}
|
|
54027
|
+
</div>
|
|
54028
|
+
</div>
|
|
52615
54029
|
`, styles: [":host{display:block}.animated-bubbles{overflow:hidden}.animated-bubbles:before,.animated-bubbles:after{content:\"\";position:absolute;border-radius:50%;animation:float 20s infinite ease-in-out;opacity:.05}.animated-bubbles:before{width:600px;height:600px;background:radial-gradient(circle,#3b82f6 0%,transparent 70%);top:-300px;left:-300px;animation-delay:-5s}.animated-bubbles:after{width:800px;height:800px;background:radial-gradient(circle,#06b6d4 0%,transparent 70%);bottom:-400px;right:-400px;animation-delay:-10s}.animated-bubbles.light-mode:before,.animated-bubbles.light-mode:after{opacity:.03}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}\n"] }]
|
|
52616
54030
|
}], () => [], { embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], accountData: [{ type: i0.Input, args: [{ isSignal: true, alias: "accountData", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], showNextStepAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "showNextStepAction", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], onCreateAccount: [{ type: i0.Output, args: ["onCreateAccount"] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], shopNameInput: [{
|
|
52617
54031
|
type: ViewChild,
|
|
@@ -52620,7 +54034,7 @@ class SymphiqCreateAccountDashboardComponent {
|
|
|
52620
54034
|
type: HostListener,
|
|
52621
54035
|
args: ['window:scroll', ['$event']]
|
|
52622
54036
|
}] }); })();
|
|
52623
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqCreateAccountDashboardComponent, { className: "SymphiqCreateAccountDashboardComponent", filePath: "lib/components/create-account-dashboard/symphiq-create-account-dashboard.component.ts", lineNumber:
|
|
54037
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqCreateAccountDashboardComponent, { className: "SymphiqCreateAccountDashboardComponent", filePath: "lib/components/create-account-dashboard/symphiq-create-account-dashboard.component.ts", lineNumber: 629 }); })();
|
|
52624
54038
|
|
|
52625
54039
|
class SymphiqConnectGaDashboardComponent {
|
|
52626
54040
|
constructor() {
|
|
@@ -57375,254 +58789,254 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
57375
58789
|
}
|
|
57376
58790
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqBusinessAnalysisDashboardComponent, [{
|
|
57377
58791
|
type: Component,
|
|
57378
|
-
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: `
|
|
57379
|
-
<div [ngClass]="getContainerClasses()">
|
|
57380
|
-
<!-- Scroll Progress Bar (fixed at top) -->
|
|
57381
|
-
<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'">
|
|
57382
|
-
<div
|
|
57383
|
-
[style.width.%]="scrollProgress()"
|
|
57384
|
-
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
57385
|
-
class="h-full transition-all duration-200 ease-out">
|
|
57386
|
-
</div>
|
|
57387
|
-
</div>
|
|
57388
|
-
|
|
57389
|
-
<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>
|
|
57390
|
-
|
|
57391
|
-
<div class="relative z-[51]">
|
|
57392
|
-
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
57393
|
-
<!-- Expanded Header (default state) -->
|
|
57394
|
-
<div
|
|
57395
|
-
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57396
|
-
[class.max-h-0]="headerScrollService.isScrolled()"
|
|
57397
|
-
[class.opacity-0]="headerScrollService.isScrolled()"
|
|
57398
|
-
[class.max-h-96]="!headerScrollService.isScrolled()"
|
|
57399
|
-
[class.opacity-100]="!headerScrollService.isScrolled()">
|
|
57400
|
-
<div
|
|
57401
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
57402
|
-
[class.pointer-events-none]="headerScrollService.isScrolled()"
|
|
57403
|
-
[class.pointer-events-auto]="!headerScrollService.isScrolled()">
|
|
57404
|
-
<div class="flex items-center justify-between">
|
|
57405
|
-
<div>
|
|
57406
|
-
<h1 [ngClass]="getMainTitleClasses()">
|
|
57407
|
-
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
57408
|
-
</h1>
|
|
57409
|
-
<p [ngClass]="getSubtitleClasses()">
|
|
57410
|
-
Business Profile & Analysis
|
|
57411
|
-
</p>
|
|
57412
|
-
</div>
|
|
57413
|
-
@if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
|
|
57414
|
-
<div class="flex items-center gap-2">
|
|
57415
|
-
<symphiq-search-button
|
|
57416
|
-
[isLightMode]="isLightMode()"
|
|
57417
|
-
(searchClick)="openSearch()"
|
|
57418
|
-
/>
|
|
57419
|
-
<button
|
|
57420
|
-
type="button"
|
|
57421
|
-
(click)="openViewModeSwitcher()"
|
|
57422
|
-
[ngClass]="getViewModeButtonClasses()"
|
|
57423
|
-
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">
|
|
57424
|
-
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
57425
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
57426
|
-
<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>
|
|
57427
|
-
</svg>
|
|
57428
|
-
<span>{{ displayModeLabel() }}</span>
|
|
57429
|
-
</button>
|
|
57430
|
-
</div>
|
|
57431
|
-
}
|
|
57432
|
-
</div>
|
|
57433
|
-
</div>
|
|
57434
|
-
</div>
|
|
57435
|
-
|
|
57436
|
-
<!-- Condensed Header (scrolled state) -->
|
|
57437
|
-
<div
|
|
57438
|
-
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57439
|
-
[class.max-h-0]="!headerScrollService.isScrolled()"
|
|
57440
|
-
[class.opacity-0]="!headerScrollService.isScrolled()"
|
|
57441
|
-
[class.max-h-20]="headerScrollService.isScrolled()"
|
|
57442
|
-
[class.opacity-100]="headerScrollService.isScrolled()">
|
|
57443
|
-
<div
|
|
57444
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
57445
|
-
[class.pointer-events-none]="!headerScrollService.isScrolled()"
|
|
57446
|
-
[class.pointer-events-auto]="headerScrollService.isScrolled()">
|
|
57447
|
-
<div class="flex items-center justify-between">
|
|
57448
|
-
<div class="flex-1 min-w-0 mr-4">
|
|
57449
|
-
<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'">
|
|
57450
|
-
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
57451
|
-
</h1>
|
|
57452
|
-
</div>
|
|
57453
|
-
<div class="flex items-center gap-4">
|
|
57454
|
-
@if (!isSimplifiedView()) {
|
|
57455
|
-
<div class="flex items-center gap-2 text-sm flex-shrink-0">
|
|
57456
|
-
<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()">
|
|
57457
|
-
{{ currentSectionTitle() }}
|
|
57458
|
-
</span>
|
|
57459
|
-
@if (currentSubsectionTitle()) {
|
|
57460
|
-
<span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">›</span>
|
|
57461
|
-
<span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">
|
|
57462
|
-
{{ currentSubsectionTitle() }}
|
|
57463
|
-
</span>
|
|
57464
|
-
}
|
|
57465
|
-
</div>
|
|
57466
|
-
}
|
|
57467
|
-
@if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
|
|
57468
|
-
<symphiq-search-button
|
|
57469
|
-
[isLightMode]="isLightMode()"
|
|
57470
|
-
[minimized]="true"
|
|
57471
|
-
(searchClick)="openSearch()"
|
|
57472
|
-
/>
|
|
57473
|
-
<button
|
|
57474
|
-
type="button"
|
|
57475
|
-
(click)="openViewModeSwitcher()"
|
|
57476
|
-
[ngClass]="getViewModeButtonClasses()"
|
|
57477
|
-
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">
|
|
57478
|
-
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
57479
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
57480
|
-
<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>
|
|
57481
|
-
</svg>
|
|
57482
|
-
</button>
|
|
57483
|
-
}
|
|
57484
|
-
</div>
|
|
57485
|
-
</div>
|
|
57486
|
-
</div>
|
|
57487
|
-
</div>
|
|
57488
|
-
</header>
|
|
57489
|
-
|
|
57490
|
-
<main class="relative">
|
|
57491
|
-
@if (isContentGenerating()) {
|
|
57492
|
-
<!-- Journey Progress Banner (always show when not onboarded) -->
|
|
57493
|
-
@if (!isOnboarded()) {
|
|
57494
|
-
<symphiq-journey-progress-indicator
|
|
57495
|
-
[viewMode]="viewMode()"
|
|
57496
|
-
[currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
|
|
57497
|
-
[showNextStepAction]="false"
|
|
57498
|
-
[forDemo]="forDemo()"
|
|
57499
|
-
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
57500
|
-
(stepClick)="stepClick.emit($event)"
|
|
57501
|
-
(nextStepClick)="nextStepClick.emit()"
|
|
57502
|
-
/>
|
|
57503
|
-
}
|
|
57504
|
-
|
|
57505
|
-
<!-- Content Generation Progress Component -->
|
|
57506
|
-
<symphiq-content-generation-progress
|
|
57507
|
-
[viewMode]="viewMode()"
|
|
57508
|
-
[title]="'We are generating a new Business Analysis for ' + (currentProfile()?.profileStructured?.businessName || 'your business') + '.'"
|
|
57509
|
-
[subtitle]="'It will appear here when ready. You can check back later as this will take a few minutes to complete.'"
|
|
57510
|
-
/>
|
|
57511
|
-
} @else {
|
|
57512
|
-
@if (isSimplifiedView()) {
|
|
57513
|
-
<!-- Journey Progress Banner - Full Width Sticky (only show when not onboarded) -->
|
|
57514
|
-
@if (!isOnboarded()) {
|
|
57515
|
-
<symphiq-journey-progress-indicator
|
|
57516
|
-
[viewMode]="viewMode()"
|
|
57517
|
-
[currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
|
|
57518
|
-
[showNextStepAction]="showNextStepAction()"
|
|
57519
|
-
[forDemo]="forDemo()"
|
|
57520
|
-
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
57521
|
-
(stepClick)="stepClick.emit($event)"
|
|
57522
|
-
(nextStepClick)="nextStepClick.emit()"
|
|
57523
|
-
/>
|
|
57524
|
-
}
|
|
57525
|
-
|
|
57526
|
-
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
|
57527
|
-
<div class="mb-8">
|
|
57528
|
-
<symphiq-welcome-banner
|
|
57529
|
-
[viewMode]="viewMode()"
|
|
57530
|
-
[businessName]="currentProfile()?.profileStructured?.businessName || 'your business'"
|
|
57531
|
-
[isOnboarded]="isOnboarded()"
|
|
57532
|
-
/>
|
|
57533
|
-
</div>
|
|
57534
|
-
|
|
57535
|
-
<div class="mb-8">
|
|
57536
|
-
<symphiq-recommendations-tiled-grid
|
|
57537
|
-
[recommendations]="recommendationItems()"
|
|
57538
|
-
[viewMode]="viewMode()"
|
|
57539
|
-
(viewMoreClick)="openRecommendationDetailsModal($event)"
|
|
57540
|
-
/>
|
|
57541
|
-
</div>
|
|
57542
|
-
|
|
57543
|
-
<div>
|
|
57544
|
-
<symphiq-collapsible-section-group
|
|
57545
|
-
[sections]="nonRecommendationSections()"
|
|
57546
|
-
[viewMode]="viewMode()"
|
|
57547
|
-
/>
|
|
57548
|
-
</div>
|
|
57549
|
-
</div>
|
|
57550
|
-
} @else {
|
|
57551
|
-
@for (section of sections(); track trackBySectionId($index, section); let idx = $index; let last = $last) {
|
|
57552
|
-
<symphiq-profile-section
|
|
57553
|
-
[section]="section"
|
|
57554
|
-
[viewMode]="viewMode()"
|
|
57555
|
-
[forceExpanded]="!isCompactView()"
|
|
57556
|
-
/>
|
|
57557
|
-
@if (!last) {
|
|
57558
|
-
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
57559
|
-
<symphiq-section-divider
|
|
57560
|
-
[viewMode]="viewMode()"
|
|
57561
|
-
[subsections]="sections()[idx + 1].subsections || []" />
|
|
57562
|
-
</div>
|
|
57563
|
-
}
|
|
57564
|
-
}
|
|
57565
|
-
}
|
|
57566
|
-
}
|
|
57567
|
-
</main>
|
|
57568
|
-
|
|
57569
|
-
@if (!isSimplifiedView()) {
|
|
57570
|
-
<symphiq-section-navigation
|
|
57571
|
-
[sections]="sections()"
|
|
57572
|
-
[viewMode]="viewMode()"
|
|
57573
|
-
[embedded]="embedded()"
|
|
57574
|
-
[scrollElement]="scrollElement() ?? undefined"
|
|
57575
|
-
/>
|
|
57576
|
-
}
|
|
57577
|
-
|
|
57578
|
-
@if (!isSimplifiedView()) {
|
|
57579
|
-
<symphiq-floating-toc
|
|
57580
|
-
[sections]="sections()"
|
|
57581
|
-
[viewMode]="viewMode()"
|
|
57582
|
-
[embedded]="embedded()"
|
|
57583
|
-
[scrollElement]="scrollElement() ?? undefined"
|
|
57584
|
-
/>
|
|
57585
|
-
}
|
|
57586
|
-
|
|
57587
|
-
<symphiq-floating-back-button
|
|
57588
|
-
[viewMode]="viewMode()"
|
|
57589
|
-
[embedded]="embedded()"
|
|
57590
|
-
/>
|
|
57591
|
-
</div>
|
|
57592
|
-
|
|
57593
|
-
@if (isLoading()) {
|
|
57594
|
-
<div [ngClass]="getLoadingOverlayClasses()">
|
|
57595
|
-
<div [ngClass]="getSpinnerClasses()"></div>
|
|
57596
|
-
</div>
|
|
57597
|
-
}
|
|
57598
|
-
|
|
57599
|
-
<symphiq-tooltip-container />
|
|
57600
|
-
<symphiq-business-analysis-modal
|
|
57601
|
-
[isLightMode]="isLightMode()"
|
|
57602
|
-
(viewInContextRequested)="handleViewInContext($event)" />
|
|
57603
|
-
|
|
57604
|
-
<symphiq-search-modal
|
|
57605
|
-
[isLightMode]="isLightMode()"
|
|
57606
|
-
[isOpen]="searchService.isSearchOpen()"
|
|
57607
|
-
[searchQuery]="searchService.getSearchQuery()"
|
|
57608
|
-
[results]="searchService.searchResults()"
|
|
57609
|
-
[hasResults]="searchService.hasResults()"
|
|
57610
|
-
[selectedIndex]="selectedSearchIndex()"
|
|
57611
|
-
[placeholder]="'Search sections, items, and analysis...'"
|
|
57612
|
-
(searchChange)="onSearchChange($event)"
|
|
57613
|
-
(resultSelected)="onSearchResultSelected($event)"
|
|
57614
|
-
(close)="closeSearch()"
|
|
57615
|
-
/>
|
|
57616
|
-
|
|
57617
|
-
<symphiq-view-mode-switcher-modal
|
|
57618
|
-
[isOpen]="isViewModeSwitcherOpen()"
|
|
57619
|
-
[currentMode]="displayMode()"
|
|
57620
|
-
[viewMode]="viewMode()"
|
|
57621
|
-
[isLoading]="isViewModeSwitching()"
|
|
57622
|
-
(close)="closeViewModeSwitcher()"
|
|
57623
|
-
(modeSelected)="handleDisplayModeChange($event)"
|
|
57624
|
-
/>
|
|
57625
|
-
</div>
|
|
58792
|
+
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: `
|
|
58793
|
+
<div [ngClass]="getContainerClasses()">
|
|
58794
|
+
<!-- Scroll Progress Bar (fixed at top) -->
|
|
58795
|
+
<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'">
|
|
58796
|
+
<div
|
|
58797
|
+
[style.width.%]="scrollProgress()"
|
|
58798
|
+
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
58799
|
+
class="h-full transition-all duration-200 ease-out">
|
|
58800
|
+
</div>
|
|
58801
|
+
</div>
|
|
58802
|
+
|
|
58803
|
+
<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>
|
|
58804
|
+
|
|
58805
|
+
<div class="relative z-[51]">
|
|
58806
|
+
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
58807
|
+
<!-- Expanded Header (default state) -->
|
|
58808
|
+
<div
|
|
58809
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
58810
|
+
[class.max-h-0]="headerScrollService.isScrolled()"
|
|
58811
|
+
[class.opacity-0]="headerScrollService.isScrolled()"
|
|
58812
|
+
[class.max-h-96]="!headerScrollService.isScrolled()"
|
|
58813
|
+
[class.opacity-100]="!headerScrollService.isScrolled()">
|
|
58814
|
+
<div
|
|
58815
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
58816
|
+
[class.pointer-events-none]="headerScrollService.isScrolled()"
|
|
58817
|
+
[class.pointer-events-auto]="!headerScrollService.isScrolled()">
|
|
58818
|
+
<div class="flex items-center justify-between">
|
|
58819
|
+
<div>
|
|
58820
|
+
<h1 [ngClass]="getMainTitleClasses()">
|
|
58821
|
+
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
58822
|
+
</h1>
|
|
58823
|
+
<p [ngClass]="getSubtitleClasses()">
|
|
58824
|
+
Business Profile & Analysis
|
|
58825
|
+
</p>
|
|
58826
|
+
</div>
|
|
58827
|
+
@if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
|
|
58828
|
+
<div class="flex items-center gap-2">
|
|
58829
|
+
<symphiq-search-button
|
|
58830
|
+
[isLightMode]="isLightMode()"
|
|
58831
|
+
(searchClick)="openSearch()"
|
|
58832
|
+
/>
|
|
58833
|
+
<button
|
|
58834
|
+
type="button"
|
|
58835
|
+
(click)="openViewModeSwitcher()"
|
|
58836
|
+
[ngClass]="getViewModeButtonClasses()"
|
|
58837
|
+
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">
|
|
58838
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
58839
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
58840
|
+
<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>
|
|
58841
|
+
</svg>
|
|
58842
|
+
<span>{{ displayModeLabel() }}</span>
|
|
58843
|
+
</button>
|
|
58844
|
+
</div>
|
|
58845
|
+
}
|
|
58846
|
+
</div>
|
|
58847
|
+
</div>
|
|
58848
|
+
</div>
|
|
58849
|
+
|
|
58850
|
+
<!-- Condensed Header (scrolled state) -->
|
|
58851
|
+
<div
|
|
58852
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
58853
|
+
[class.max-h-0]="!headerScrollService.isScrolled()"
|
|
58854
|
+
[class.opacity-0]="!headerScrollService.isScrolled()"
|
|
58855
|
+
[class.max-h-20]="headerScrollService.isScrolled()"
|
|
58856
|
+
[class.opacity-100]="headerScrollService.isScrolled()">
|
|
58857
|
+
<div
|
|
58858
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
58859
|
+
[class.pointer-events-none]="!headerScrollService.isScrolled()"
|
|
58860
|
+
[class.pointer-events-auto]="headerScrollService.isScrolled()">
|
|
58861
|
+
<div class="flex items-center justify-between">
|
|
58862
|
+
<div class="flex-1 min-w-0 mr-4">
|
|
58863
|
+
<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'">
|
|
58864
|
+
{{ currentProfile()?.profileStructured?.businessName || 'Business Analysis' }}
|
|
58865
|
+
</h1>
|
|
58866
|
+
</div>
|
|
58867
|
+
<div class="flex items-center gap-4">
|
|
58868
|
+
@if (!isSimplifiedView()) {
|
|
58869
|
+
<div class="flex items-center gap-2 text-sm flex-shrink-0">
|
|
58870
|
+
<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()">
|
|
58871
|
+
{{ currentSectionTitle() }}
|
|
58872
|
+
</span>
|
|
58873
|
+
@if (currentSubsectionTitle()) {
|
|
58874
|
+
<span [ngClass]="isLightMode() ? 'text-slate-400' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">›</span>
|
|
58875
|
+
<span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-500'" class="transition-opacity duration-300" [class.opacity-0]="subsectionTitleFading()" [class.opacity-100]="!subsectionTitleFading()">
|
|
58876
|
+
{{ currentSubsectionTitle() }}
|
|
58877
|
+
</span>
|
|
58878
|
+
}
|
|
58879
|
+
</div>
|
|
58880
|
+
}
|
|
58881
|
+
@if (profile()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED) {
|
|
58882
|
+
<symphiq-search-button
|
|
58883
|
+
[isLightMode]="isLightMode()"
|
|
58884
|
+
[minimized]="true"
|
|
58885
|
+
(searchClick)="openSearch()"
|
|
58886
|
+
/>
|
|
58887
|
+
<button
|
|
58888
|
+
type="button"
|
|
58889
|
+
(click)="openViewModeSwitcher()"
|
|
58890
|
+
[ngClass]="getViewModeButtonClasses()"
|
|
58891
|
+
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">
|
|
58892
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
58893
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
58894
|
+
<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>
|
|
58895
|
+
</svg>
|
|
58896
|
+
</button>
|
|
58897
|
+
}
|
|
58898
|
+
</div>
|
|
58899
|
+
</div>
|
|
58900
|
+
</div>
|
|
58901
|
+
</div>
|
|
58902
|
+
</header>
|
|
58903
|
+
|
|
58904
|
+
<main class="relative">
|
|
58905
|
+
@if (isContentGenerating()) {
|
|
58906
|
+
<!-- Journey Progress Banner (always show when not onboarded) -->
|
|
58907
|
+
@if (!isOnboarded()) {
|
|
58908
|
+
<symphiq-journey-progress-indicator
|
|
58909
|
+
[viewMode]="viewMode()"
|
|
58910
|
+
[currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
|
|
58911
|
+
[showNextStepAction]="false"
|
|
58912
|
+
[forDemo]="forDemo()"
|
|
58913
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
58914
|
+
(stepClick)="stepClick.emit($event)"
|
|
58915
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
58916
|
+
/>
|
|
58917
|
+
}
|
|
58918
|
+
|
|
58919
|
+
<!-- Content Generation Progress Component -->
|
|
58920
|
+
<symphiq-content-generation-progress
|
|
58921
|
+
[viewMode]="viewMode()"
|
|
58922
|
+
[title]="'We are generating a new Business Analysis for ' + (currentProfile()?.profileStructured?.businessName || 'your business') + '.'"
|
|
58923
|
+
[subtitle]="'It will appear here when ready. You can check back later as this will take a few minutes to complete.'"
|
|
58924
|
+
/>
|
|
58925
|
+
} @else {
|
|
58926
|
+
@if (isSimplifiedView()) {
|
|
58927
|
+
<!-- Journey Progress Banner - Full Width Sticky (only show when not onboarded) -->
|
|
58928
|
+
@if (!isOnboarded()) {
|
|
58929
|
+
<symphiq-journey-progress-indicator
|
|
58930
|
+
[viewMode]="viewMode()"
|
|
58931
|
+
[currentStepId]="JourneyStepIdEnum.BUSINESS_ANALYSIS"
|
|
58932
|
+
[showNextStepAction]="showNextStepAction()"
|
|
58933
|
+
[forDemo]="forDemo()"
|
|
58934
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
58935
|
+
(stepClick)="stepClick.emit($event)"
|
|
58936
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
58937
|
+
/>
|
|
58938
|
+
}
|
|
58939
|
+
|
|
58940
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
|
58941
|
+
<div class="mb-8">
|
|
58942
|
+
<symphiq-welcome-banner
|
|
58943
|
+
[viewMode]="viewMode()"
|
|
58944
|
+
[businessName]="currentProfile()?.profileStructured?.businessName || 'your business'"
|
|
58945
|
+
[isOnboarded]="isOnboarded()"
|
|
58946
|
+
/>
|
|
58947
|
+
</div>
|
|
58948
|
+
|
|
58949
|
+
<div class="mb-8">
|
|
58950
|
+
<symphiq-recommendations-tiled-grid
|
|
58951
|
+
[recommendations]="recommendationItems()"
|
|
58952
|
+
[viewMode]="viewMode()"
|
|
58953
|
+
(viewMoreClick)="openRecommendationDetailsModal($event)"
|
|
58954
|
+
/>
|
|
58955
|
+
</div>
|
|
58956
|
+
|
|
58957
|
+
<div>
|
|
58958
|
+
<symphiq-collapsible-section-group
|
|
58959
|
+
[sections]="nonRecommendationSections()"
|
|
58960
|
+
[viewMode]="viewMode()"
|
|
58961
|
+
/>
|
|
58962
|
+
</div>
|
|
58963
|
+
</div>
|
|
58964
|
+
} @else {
|
|
58965
|
+
@for (section of sections(); track trackBySectionId($index, section); let idx = $index; let last = $last) {
|
|
58966
|
+
<symphiq-profile-section
|
|
58967
|
+
[section]="section"
|
|
58968
|
+
[viewMode]="viewMode()"
|
|
58969
|
+
[forceExpanded]="!isCompactView()"
|
|
58970
|
+
/>
|
|
58971
|
+
@if (!last) {
|
|
58972
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
58973
|
+
<symphiq-section-divider
|
|
58974
|
+
[viewMode]="viewMode()"
|
|
58975
|
+
[subsections]="sections()[idx + 1].subsections || []" />
|
|
58976
|
+
</div>
|
|
58977
|
+
}
|
|
58978
|
+
}
|
|
58979
|
+
}
|
|
58980
|
+
}
|
|
58981
|
+
</main>
|
|
58982
|
+
|
|
58983
|
+
@if (!isSimplifiedView()) {
|
|
58984
|
+
<symphiq-section-navigation
|
|
58985
|
+
[sections]="sections()"
|
|
58986
|
+
[viewMode]="viewMode()"
|
|
58987
|
+
[embedded]="embedded()"
|
|
58988
|
+
[scrollElement]="scrollElement() ?? undefined"
|
|
58989
|
+
/>
|
|
58990
|
+
}
|
|
58991
|
+
|
|
58992
|
+
@if (!isSimplifiedView()) {
|
|
58993
|
+
<symphiq-floating-toc
|
|
58994
|
+
[sections]="sections()"
|
|
58995
|
+
[viewMode]="viewMode()"
|
|
58996
|
+
[embedded]="embedded()"
|
|
58997
|
+
[scrollElement]="scrollElement() ?? undefined"
|
|
58998
|
+
/>
|
|
58999
|
+
}
|
|
59000
|
+
|
|
59001
|
+
<symphiq-floating-back-button
|
|
59002
|
+
[viewMode]="viewMode()"
|
|
59003
|
+
[embedded]="embedded()"
|
|
59004
|
+
/>
|
|
59005
|
+
</div>
|
|
59006
|
+
|
|
59007
|
+
@if (isLoading()) {
|
|
59008
|
+
<div [ngClass]="getLoadingOverlayClasses()">
|
|
59009
|
+
<div [ngClass]="getSpinnerClasses()"></div>
|
|
59010
|
+
</div>
|
|
59011
|
+
}
|
|
59012
|
+
|
|
59013
|
+
<symphiq-tooltip-container />
|
|
59014
|
+
<symphiq-business-analysis-modal
|
|
59015
|
+
[isLightMode]="isLightMode()"
|
|
59016
|
+
(viewInContextRequested)="handleViewInContext($event)" />
|
|
59017
|
+
|
|
59018
|
+
<symphiq-search-modal
|
|
59019
|
+
[isLightMode]="isLightMode()"
|
|
59020
|
+
[isOpen]="searchService.isSearchOpen()"
|
|
59021
|
+
[searchQuery]="searchService.getSearchQuery()"
|
|
59022
|
+
[results]="searchService.searchResults()"
|
|
59023
|
+
[hasResults]="searchService.hasResults()"
|
|
59024
|
+
[selectedIndex]="selectedSearchIndex()"
|
|
59025
|
+
[placeholder]="'Search sections, items, and analysis...'"
|
|
59026
|
+
(searchChange)="onSearchChange($event)"
|
|
59027
|
+
(resultSelected)="onSearchResultSelected($event)"
|
|
59028
|
+
(close)="closeSearch()"
|
|
59029
|
+
/>
|
|
59030
|
+
|
|
59031
|
+
<symphiq-view-mode-switcher-modal
|
|
59032
|
+
[isOpen]="isViewModeSwitcherOpen()"
|
|
59033
|
+
[currentMode]="displayMode()"
|
|
59034
|
+
[viewMode]="viewMode()"
|
|
59035
|
+
[isLoading]="isViewModeSwitching()"
|
|
59036
|
+
(close)="closeViewModeSwitcher()"
|
|
59037
|
+
(modeSelected)="handleDisplayModeChange($event)"
|
|
59038
|
+
/>
|
|
59039
|
+
</div>
|
|
57626
59040
|
`, 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"] }]
|
|
57627
59041
|
}], () => [], { 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: [{
|
|
57628
59042
|
type: HostListener,
|
|
@@ -103391,5 +104805,5 @@ const PROFILE_ANALYSIS_METRIC_SCREEN_PAGE_VIEWS = ({
|
|
|
103391
104805
|
* Generated bundle index. Do not edit.
|
|
103392
104806
|
*/
|
|
103393
104807
|
|
|
103394
|
-
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 };
|
|
104808
|
+
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 };
|
|
103395
104809
|
//# sourceMappingURL=symphiq-components.mjs.map
|