@eric-emg/symphiq-components 1.2.200 → 1.2.202
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 +297 -237
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/package.json +1 -1
- package/styles.css +0 -3
|
@@ -55403,11 +55403,11 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55403
55403
|
function StickySubmitBarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
55404
55404
|
i0.ɵɵelementStart(0, "div", 4);
|
|
55405
55405
|
i0.ɵɵnamespaceSVG();
|
|
55406
|
-
i0.ɵɵelementStart(1, "svg",
|
|
55407
|
-
i0.ɵɵelement(2, "path",
|
|
55406
|
+
i0.ɵɵelementStart(1, "svg", 8);
|
|
55407
|
+
i0.ɵɵelement(2, "path", 9);
|
|
55408
55408
|
i0.ɵɵelementEnd();
|
|
55409
55409
|
i0.ɵɵnamespaceHTML();
|
|
55410
|
-
i0.ɵɵelementStart(3, "p",
|
|
55410
|
+
i0.ɵɵelementStart(3, "p", 10);
|
|
55411
55411
|
i0.ɵɵtext(4);
|
|
55412
55412
|
i0.ɵɵelementEnd()();
|
|
55413
55413
|
} if (rf & 2) {
|
|
@@ -55420,11 +55420,11 @@ function StickySubmitBarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1)
|
|
|
55420
55420
|
function StickySubmitBarComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
55421
55421
|
i0.ɵɵelementStart(0, "div", 4);
|
|
55422
55422
|
i0.ɵɵnamespaceSVG();
|
|
55423
|
-
i0.ɵɵelementStart(1, "svg",
|
|
55424
|
-
i0.ɵɵelement(2, "path",
|
|
55423
|
+
i0.ɵɵelementStart(1, "svg", 11);
|
|
55424
|
+
i0.ɵɵelement(2, "path", 12);
|
|
55425
55425
|
i0.ɵɵelementEnd();
|
|
55426
55426
|
i0.ɵɵnamespaceHTML();
|
|
55427
|
-
i0.ɵɵelementStart(3, "p",
|
|
55427
|
+
i0.ɵɵelementStart(3, "p", 10);
|
|
55428
55428
|
i0.ɵɵtext(4, " Ready to set your targets ");
|
|
55429
55429
|
i0.ɵɵelementEnd()();
|
|
55430
55430
|
} if (rf & 2) {
|
|
@@ -55433,22 +55433,32 @@ function StickySubmitBarComponent_Conditional_5_Template(rf, ctx) { if (rf & 1)
|
|
|
55433
55433
|
i0.ɵɵproperty("ngClass", ctx_r0.readyMessageClasses());
|
|
55434
55434
|
} }
|
|
55435
55435
|
function StickySubmitBarComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
55436
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
55437
|
+
i0.ɵɵelementStart(0, "button", 13);
|
|
55438
|
+
i0.ɵɵlistener("click", function StickySubmitBarComponent_Conditional_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.handleCancel()); });
|
|
55439
|
+
i0.ɵɵtext(1, " Cancel ");
|
|
55440
|
+
i0.ɵɵelementEnd();
|
|
55441
|
+
} if (rf & 2) {
|
|
55442
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
55443
|
+
i0.ɵɵproperty("ngClass", ctx_r0.cancelButtonClasses());
|
|
55444
|
+
} }
|
|
55445
|
+
function StickySubmitBarComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
55436
55446
|
i0.ɵɵnamespaceSVG();
|
|
55437
|
-
i0.ɵɵelementStart(0, "svg",
|
|
55438
|
-
i0.ɵɵelement(1, "circle",
|
|
55447
|
+
i0.ɵɵelementStart(0, "svg", 14);
|
|
55448
|
+
i0.ɵɵelement(1, "circle", 15)(2, "path", 16);
|
|
55439
55449
|
i0.ɵɵelementEnd();
|
|
55440
55450
|
i0.ɵɵnamespaceHTML();
|
|
55441
55451
|
i0.ɵɵelementStart(3, "span");
|
|
55442
55452
|
i0.ɵɵtext(4, "Setting Targets...");
|
|
55443
55453
|
i0.ɵɵelementEnd();
|
|
55444
55454
|
} }
|
|
55445
|
-
function
|
|
55455
|
+
function StickySubmitBarComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
55446
55456
|
i0.ɵɵelementStart(0, "span");
|
|
55447
55457
|
i0.ɵɵtext(1);
|
|
55448
55458
|
i0.ɵɵelementEnd();
|
|
55449
55459
|
i0.ɵɵnamespaceSVG();
|
|
55450
|
-
i0.ɵɵelementStart(2, "svg",
|
|
55451
|
-
i0.ɵɵelement(3, "path",
|
|
55460
|
+
i0.ɵɵelementStart(2, "svg", 17);
|
|
55461
|
+
i0.ɵɵelement(3, "path", 18);
|
|
55452
55462
|
i0.ɵɵelementEnd();
|
|
55453
55463
|
} if (rf & 2) {
|
|
55454
55464
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -55462,7 +55472,9 @@ class StickySubmitBarComponent {
|
|
|
55462
55472
|
this.isSubmitting = input(false, ...(ngDevMode ? [{ debugName: "isSubmitting" }] : []));
|
|
55463
55473
|
this.validationMessage = input('', ...(ngDevMode ? [{ debugName: "validationMessage" }] : []));
|
|
55464
55474
|
this.buttonText = input('Set Revenue Targets', ...(ngDevMode ? [{ debugName: "buttonText" }] : []));
|
|
55475
|
+
this.showCancelButton = input(false, ...(ngDevMode ? [{ debugName: "showCancelButton" }] : []));
|
|
55465
55476
|
this.submitClick = output();
|
|
55477
|
+
this.cancelClick = output();
|
|
55466
55478
|
}
|
|
55467
55479
|
containerClasses() {
|
|
55468
55480
|
return this.viewMode() === ViewModeEnum.DARK
|
|
@@ -55490,28 +55502,40 @@ class StickySubmitBarComponent {
|
|
|
55490
55502
|
? 'bg-gradient-to-r from-purple-600 to-indigo-600 text-white shadow-lg shadow-purple-500/30 hover:shadow-purple-500/50'
|
|
55491
55503
|
: 'bg-gradient-to-r from-purple-600 to-indigo-600 text-white shadow-lg shadow-purple-300/50 hover:shadow-purple-400/60';
|
|
55492
55504
|
}
|
|
55505
|
+
cancelButtonClasses() {
|
|
55506
|
+
return this.viewMode() === ViewModeEnum.DARK
|
|
55507
|
+
? 'bg-slate-700 text-slate-300 border-2 border-slate-600 hover:bg-slate-600'
|
|
55508
|
+
: 'bg-slate-100 text-slate-600 border-2 border-slate-300 hover:bg-slate-200';
|
|
55509
|
+
}
|
|
55493
55510
|
handleSubmit() {
|
|
55494
55511
|
if (this.isValid() && !this.isSubmitting()) {
|
|
55495
55512
|
this.submitClick.emit();
|
|
55496
55513
|
}
|
|
55497
55514
|
}
|
|
55515
|
+
handleCancel() {
|
|
55516
|
+
this.cancelClick.emit();
|
|
55517
|
+
}
|
|
55498
55518
|
static { this.ɵfac = function StickySubmitBarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || StickySubmitBarComponent)(); }; }
|
|
55499
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StickySubmitBarComponent, selectors: [["symphiq-sticky-submit-bar"]], inputs: { viewMode: [1, "viewMode"], isValid: [1, "isValid"], isSubmitting: [1, "isSubmitting"], validationMessage: [1, "validationMessage"], buttonText: [1, "buttonText"] }, outputs: { submitClick: "submitClick" }, decls:
|
|
55519
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StickySubmitBarComponent, selectors: [["symphiq-sticky-submit-bar"]], inputs: { viewMode: [1, "viewMode"], isValid: [1, "isValid"], isSubmitting: [1, "isSubmitting"], validationMessage: [1, "validationMessage"], buttonText: [1, "buttonText"], showCancelButton: [1, "showCancelButton"] }, outputs: { submitClick: "submitClick", cancelClick: "cancelClick" }, decls: 11, vars: 6, consts: [[1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-md", "slide-up", 3, "ngClass"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "justify-between", "gap-4"], [1, "flex-1"], [1, "flex", "items-center", "gap-2"], [1, "flex", "items-center", "gap-3"], [1, "px-6", "py-3", "rounded-xl", "font-semibold", "text-base", "transition-all", "duration-200", 3, "ngClass"], [1, "px-8", "py-3", "rounded-xl", "font-bold", "text-base", "transition-all", "duration-200", "flex", "items-center", "gap-2", "submit-button-enabled", 3, "click", "disabled", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "text-yellow-500"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"], [1, "text-sm", "font-medium", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "text-green-500"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "px-6", "py-3", "rounded-xl", "font-semibold", "text-base", "transition-all", "duration-200", 3, "click", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "animate-spin", "h-5", "w-5"], ["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-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function StickySubmitBarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
55500
55520
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
55501
55521
|
i0.ɵɵconditionalCreate(4, StickySubmitBarComponent_Conditional_4_Template, 5, 2, "div", 4)(5, StickySubmitBarComponent_Conditional_5_Template, 5, 1, "div", 4);
|
|
55502
55522
|
i0.ɵɵelementEnd();
|
|
55503
|
-
i0.ɵɵelementStart(6, "
|
|
55504
|
-
i0.ɵɵ
|
|
55505
|
-
i0.ɵɵ
|
|
55506
|
-
i0.ɵɵ
|
|
55523
|
+
i0.ɵɵelementStart(6, "div", 5);
|
|
55524
|
+
i0.ɵɵconditionalCreate(7, StickySubmitBarComponent_Conditional_7_Template, 2, 1, "button", 6);
|
|
55525
|
+
i0.ɵɵelementStart(8, "button", 7);
|
|
55526
|
+
i0.ɵɵlistener("click", function StickySubmitBarComponent_Template_button_click_8_listener() { return ctx.handleSubmit(); });
|
|
55527
|
+
i0.ɵɵconditionalCreate(9, StickySubmitBarComponent_Conditional_9_Template, 5, 0)(10, StickySubmitBarComponent_Conditional_10_Template, 4, 1);
|
|
55528
|
+
i0.ɵɵelementEnd()()()()();
|
|
55507
55529
|
} if (rf & 2) {
|
|
55508
55530
|
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
55509
55531
|
i0.ɵɵadvance(4);
|
|
55510
55532
|
i0.ɵɵconditional(!ctx.isValid() ? 4 : 5);
|
|
55511
|
-
i0.ɵɵadvance(
|
|
55533
|
+
i0.ɵɵadvance(3);
|
|
55534
|
+
i0.ɵɵconditional(ctx.showCancelButton() ? 7 : -1);
|
|
55535
|
+
i0.ɵɵadvance();
|
|
55512
55536
|
i0.ɵɵproperty("disabled", !ctx.isValid() || ctx.isSubmitting())("ngClass", ctx.buttonClasses());
|
|
55513
55537
|
i0.ɵɵadvance();
|
|
55514
|
-
i0.ɵɵconditional(ctx.isSubmitting() ?
|
|
55538
|
+
i0.ɵɵconditional(ctx.isSubmitting() ? 9 : 10);
|
|
55515
55539
|
} }, dependencies: [CommonModule, i1$1.NgClass], styles: [".slide-up[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slideUp .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes _ngcontent-%COMP%_slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.submit-button-enabled[_ngcontent-%COMP%]{transition:all .2s ease-in-out}.submit-button-enabled[_ngcontent-%COMP%]:hover{transform:scale(1.02)}.submit-button-enabled[_ngcontent-%COMP%]:active{transform:scale(.98)}"], changeDetection: 0 }); }
|
|
55516
55540
|
}
|
|
55517
55541
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StickySubmitBarComponent, [{
|
|
@@ -55544,30 +55568,40 @@ class StickySubmitBarComponent {
|
|
|
55544
55568
|
}
|
|
55545
55569
|
</div>
|
|
55546
55570
|
|
|
55547
|
-
<
|
|
55548
|
-
(
|
|
55549
|
-
|
|
55550
|
-
|
|
55551
|
-
|
|
55552
|
-
|
|
55553
|
-
|
|
55554
|
-
|
|
55555
|
-
<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>
|
|
55556
|
-
</svg>
|
|
55557
|
-
<span>Setting Targets...</span>
|
|
55558
|
-
} @else {
|
|
55559
|
-
<span>{{ buttonText() }}</span>
|
|
55560
|
-
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
55561
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
|
|
55562
|
-
</svg>
|
|
55571
|
+
<div class="flex items-center gap-3">
|
|
55572
|
+
@if (showCancelButton()) {
|
|
55573
|
+
<button
|
|
55574
|
+
(click)="handleCancel()"
|
|
55575
|
+
[ngClass]="cancelButtonClasses()"
|
|
55576
|
+
class="px-6 py-3 rounded-xl font-semibold text-base transition-all duration-200">
|
|
55577
|
+
Cancel
|
|
55578
|
+
</button>
|
|
55563
55579
|
}
|
|
55564
|
-
|
|
55580
|
+
<button
|
|
55581
|
+
(click)="handleSubmit()"
|
|
55582
|
+
[disabled]="!isValid() || isSubmitting()"
|
|
55583
|
+
[ngClass]="buttonClasses()"
|
|
55584
|
+
class="px-8 py-3 rounded-xl font-bold text-base transition-all duration-200 flex items-center gap-2 submit-button-enabled">
|
|
55585
|
+
@if (isSubmitting()) {
|
|
55586
|
+
<svg class="animate-spin h-5 w-5" fill="none" viewBox="0 0 24 24">
|
|
55587
|
+
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
|
55588
|
+
<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>
|
|
55589
|
+
</svg>
|
|
55590
|
+
<span>Setting Targets...</span>
|
|
55591
|
+
} @else {
|
|
55592
|
+
<span>{{ buttonText() }}</span>
|
|
55593
|
+
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
55594
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
|
|
55595
|
+
</svg>
|
|
55596
|
+
}
|
|
55597
|
+
</button>
|
|
55598
|
+
</div>
|
|
55565
55599
|
</div>
|
|
55566
55600
|
</div>
|
|
55567
55601
|
</div>
|
|
55568
55602
|
`, styles: [".slide-up{animation:slideUp .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.submit-button-enabled{transition:all .2s ease-in-out}.submit-button-enabled:hover{transform:scale(1.02)}.submit-button-enabled:active{transform:scale(.98)}\n"] }]
|
|
55569
|
-
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isValid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isValid", required: false }] }], isSubmitting: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSubmitting", required: false }] }], validationMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessage", required: false }] }], buttonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonText", required: false }] }], submitClick: [{ type: i0.Output, args: ["submitClick"] }] }); })();
|
|
55570
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StickySubmitBarComponent, { className: "StickySubmitBarComponent", filePath: "lib/components/revenue-calculator-dashboard/sticky-submit-bar.component.ts", lineNumber:
|
|
55603
|
+
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isValid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isValid", required: false }] }], isSubmitting: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSubmitting", required: false }] }], validationMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessage", required: false }] }], buttonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonText", required: false }] }], showCancelButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCancelButton", required: false }] }], submitClick: [{ type: i0.Output, args: ["submitClick"] }], cancelClick: [{ type: i0.Output, args: ["cancelClick"] }] }); })();
|
|
55604
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StickySubmitBarComponent, { className: "StickySubmitBarComponent", filePath: "lib/components/revenue-calculator-dashboard/sticky-submit-bar.component.ts", lineNumber: 99 }); })();
|
|
55571
55605
|
|
|
55572
55606
|
/**
|
|
55573
55607
|
* Chart Constants
|
|
@@ -56202,48 +56236,78 @@ function InitialTargetSettingComponent_Conditional_12_Template(rf, ctx) { if (rf
|
|
|
56202
56236
|
i0.ɵɵadvance();
|
|
56203
56237
|
i0.ɵɵtextInterpolate1(" Current Pace Projection: ", ctx_r0.formatCurrency(ctx_r0.currentPaceProjection()), " ");
|
|
56204
56238
|
} }
|
|
56205
|
-
function
|
|
56206
|
-
const
|
|
56207
|
-
i0.ɵɵelementStart(0, "div",
|
|
56239
|
+
function InitialTargetSettingComponent_Conditional_13_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
56240
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
56241
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "span", 19);
|
|
56208
56242
|
i0.ɵɵtext(2, " $ ");
|
|
56209
56243
|
i0.ɵɵelementEnd();
|
|
56210
|
-
i0.ɵɵelementStart(3, "input",
|
|
56211
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
56212
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
56244
|
+
i0.ɵɵelementStart(3, "input", 20, 0);
|
|
56245
|
+
i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_13_Conditional_5_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.absoluteInput, $event) || (ctx_r0.absoluteInput = $event); return i0.ɵɵresetView($event); });
|
|
56246
|
+
i0.ɵɵlistener("ngModelChange", function InitialTargetSettingComponent_Conditional_13_Conditional_5_Template_input_ngModelChange_3_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onAbsoluteInputChange()); });
|
|
56213
56247
|
i0.ɵɵelementEnd()();
|
|
56214
56248
|
} if (rf & 2) {
|
|
56215
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
56249
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56216
56250
|
i0.ɵɵadvance();
|
|
56217
56251
|
i0.ɵɵproperty("ngClass", ctx_r0.inputPrefixClasses());
|
|
56218
56252
|
i0.ɵɵadvance(2);
|
|
56219
56253
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.absoluteInput);
|
|
56220
56254
|
i0.ɵɵproperty("ngClass", ctx_r0.inputClasses());
|
|
56221
56255
|
} }
|
|
56222
|
-
function
|
|
56223
|
-
const
|
|
56224
|
-
i0.ɵɵelementStart(0, "div",
|
|
56225
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
56226
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
56256
|
+
function InitialTargetSettingComponent_Conditional_13_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
56257
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
56258
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "input", 21, 1);
|
|
56259
|
+
i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_13_Conditional_6_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.percentageInput, $event) || (ctx_r0.percentageInput = $event); return i0.ɵɵresetView($event); });
|
|
56260
|
+
i0.ɵɵlistener("ngModelChange", function InitialTargetSettingComponent_Conditional_13_Conditional_6_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onPercentageInputChange()); });
|
|
56227
56261
|
i0.ɵɵelementEnd();
|
|
56228
|
-
i0.ɵɵelementStart(3, "span",
|
|
56262
|
+
i0.ɵɵelementStart(3, "span", 22);
|
|
56229
56263
|
i0.ɵɵtext(4, " % ");
|
|
56230
56264
|
i0.ɵɵelementEnd()();
|
|
56231
56265
|
} if (rf & 2) {
|
|
56232
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
56266
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56233
56267
|
i0.ɵɵadvance();
|
|
56234
56268
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.percentageInput);
|
|
56235
56269
|
i0.ɵɵproperty("ngClass", ctx_r0.inputClasses());
|
|
56236
56270
|
i0.ɵɵadvance(2);
|
|
56237
56271
|
i0.ɵɵproperty("ngClass", ctx_r0.inputSuffixClasses());
|
|
56238
56272
|
} }
|
|
56239
|
-
function
|
|
56240
|
-
|
|
56273
|
+
function InitialTargetSettingComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
56274
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
56275
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "button", 17);
|
|
56276
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_13_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.setInputMode("absolute")); });
|
|
56277
|
+
i0.ɵɵtext(2, " Absolute Amount ");
|
|
56278
|
+
i0.ɵɵelementEnd();
|
|
56279
|
+
i0.ɵɵelementStart(3, "button", 17);
|
|
56280
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_13_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.setInputMode("percentage")); });
|
|
56281
|
+
i0.ɵɵtext(4, " % Increase ");
|
|
56282
|
+
i0.ɵɵelementEnd()();
|
|
56283
|
+
i0.ɵɵconditionalCreate(5, InitialTargetSettingComponent_Conditional_13_Conditional_5_Template, 5, 3, "div", 18)(6, InitialTargetSettingComponent_Conditional_13_Conditional_6_Template, 5, 3, "div", 18);
|
|
56284
|
+
} if (rf & 2) {
|
|
56285
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
56286
|
+
i0.ɵɵadvance();
|
|
56287
|
+
i0.ɵɵproperty("ngClass", ctx_r0.inputModeButtonClasses("absolute"));
|
|
56288
|
+
i0.ɵɵadvance(2);
|
|
56289
|
+
i0.ɵɵproperty("ngClass", ctx_r0.inputModeButtonClasses("percentage"));
|
|
56290
|
+
i0.ɵɵadvance(2);
|
|
56291
|
+
i0.ɵɵconditional(ctx_r0.inputMode() === "absolute" ? 5 : 6);
|
|
56292
|
+
} }
|
|
56293
|
+
function InitialTargetSettingComponent_Conditional_14_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
56294
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
56295
|
+
i0.ɵɵelementStart(0, "button", 30);
|
|
56296
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_14_Conditional_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.handleAdjustTarget()); });
|
|
56297
|
+
i0.ɵɵtext(1, " Adjust Revenue Target ");
|
|
56298
|
+
i0.ɵɵelementEnd();
|
|
56299
|
+
} if (rf & 2) {
|
|
56300
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56301
|
+
i0.ɵɵproperty("ngClass", ctx_r0.secondaryButtonClasses());
|
|
56302
|
+
} }
|
|
56303
|
+
function InitialTargetSettingComponent_Conditional_14_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
56304
|
+
i0.ɵɵelementStart(0, "div", 28)(1, "div")(2, "p", 25);
|
|
56241
56305
|
i0.ɵɵtext(3, " Gap to Close ");
|
|
56242
56306
|
i0.ɵɵelementEnd();
|
|
56243
56307
|
i0.ɵɵelementStart(4, "p", 29);
|
|
56244
56308
|
i0.ɵɵtext(5);
|
|
56245
56309
|
i0.ɵɵelementEnd()();
|
|
56246
|
-
i0.ɵɵelementStart(6, "div")(7, "p",
|
|
56310
|
+
i0.ɵɵelementStart(6, "div")(7, "p", 25);
|
|
56247
56311
|
i0.ɵɵtext(8, " Additional Growth Needed ");
|
|
56248
56312
|
i0.ɵɵelementEnd();
|
|
56249
56313
|
i0.ɵɵelementStart(9, "p", 29);
|
|
@@ -56265,38 +56329,42 @@ function InitialTargetSettingComponent_Conditional_20_Conditional_18_Template(rf
|
|
|
56265
56329
|
i0.ɵɵadvance();
|
|
56266
56330
|
i0.ɵɵtextInterpolate2(" ", ctx_r0.gapToClose().amount > 0 ? "+" : "", "", ctx_r0.formatPercentage(ctx_r0.gapToClose().percentage, 1), " ");
|
|
56267
56331
|
} }
|
|
56268
|
-
function
|
|
56269
|
-
i0.ɵɵelementStart(0, "div",
|
|
56270
|
-
i0.ɵɵtext(
|
|
56332
|
+
function InitialTargetSettingComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
56333
|
+
i0.ɵɵelementStart(0, "div", 10)(1, "div", 23)(2, "div", 24)(3, "div")(4, "p", 25);
|
|
56334
|
+
i0.ɵɵtext(5);
|
|
56271
56335
|
i0.ɵɵelementEnd();
|
|
56272
|
-
i0.ɵɵelementStart(
|
|
56273
|
-
i0.ɵɵtext(
|
|
56336
|
+
i0.ɵɵelementStart(6, "p", 26);
|
|
56337
|
+
i0.ɵɵtext(7);
|
|
56274
56338
|
i0.ɵɵelementEnd()();
|
|
56275
|
-
i0.ɵɵ
|
|
56276
|
-
i0.ɵɵtext(10, " Increase Amount ");
|
|
56339
|
+
i0.ɵɵconditionalCreate(8, InitialTargetSettingComponent_Conditional_14_Conditional_8_Template, 2, 1, "button", 27);
|
|
56277
56340
|
i0.ɵɵelementEnd();
|
|
56278
|
-
i0.ɵɵelementStart(11, "p",
|
|
56279
|
-
i0.ɵɵtext(12);
|
|
56341
|
+
i0.ɵɵelementStart(9, "div", 28)(10, "div")(11, "p", 25);
|
|
56342
|
+
i0.ɵɵtext(12, " Increase Amount ");
|
|
56343
|
+
i0.ɵɵelementEnd();
|
|
56344
|
+
i0.ɵɵelementStart(13, "p", 29);
|
|
56345
|
+
i0.ɵɵtext(14);
|
|
56280
56346
|
i0.ɵɵelementEnd()();
|
|
56281
|
-
i0.ɵɵelementStart(
|
|
56282
|
-
i0.ɵɵtext(
|
|
56347
|
+
i0.ɵɵelementStart(15, "div")(16, "p", 25);
|
|
56348
|
+
i0.ɵɵtext(17, " % Growth ");
|
|
56283
56349
|
i0.ɵɵelementEnd();
|
|
56284
|
-
i0.ɵɵelementStart(
|
|
56285
|
-
i0.ɵɵtext(
|
|
56350
|
+
i0.ɵɵelementStart(18, "p", 29);
|
|
56351
|
+
i0.ɵɵtext(19);
|
|
56286
56352
|
i0.ɵɵelementEnd()()();
|
|
56287
|
-
i0.ɵɵconditionalCreate(
|
|
56353
|
+
i0.ɵɵconditionalCreate(20, InitialTargetSettingComponent_Conditional_14_Conditional_20_Template, 11, 8, "div", 28);
|
|
56288
56354
|
i0.ɵɵelementEnd()();
|
|
56289
56355
|
} if (rf & 2) {
|
|
56290
56356
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
56291
56357
|
i0.ɵɵproperty("ngClass", ctx_r0.calculatedValuesCardClasses());
|
|
56292
|
-
i0.ɵɵadvance(
|
|
56358
|
+
i0.ɵɵadvance(4);
|
|
56293
56359
|
i0.ɵɵproperty("ngClass", ctx_r0.calculatedLabelClasses());
|
|
56294
56360
|
i0.ɵɵadvance();
|
|
56295
56361
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.currentYear(), " Revenue Target ");
|
|
56296
56362
|
i0.ɵɵadvance();
|
|
56297
56363
|
i0.ɵɵproperty("ngClass", ctx_r0.calculatedValueClasses());
|
|
56298
56364
|
i0.ɵɵadvance();
|
|
56299
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r0.formatCurrency(ctx_r0.
|
|
56365
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.formatCurrency(ctx_r0.displayedTargetRevenue()), " ");
|
|
56366
|
+
i0.ɵɵadvance();
|
|
56367
|
+
i0.ɵɵconditional(ctx_r0.calculationState() === "results" ? 8 : -1);
|
|
56300
56368
|
i0.ɵɵadvance();
|
|
56301
56369
|
i0.ɵɵproperty("ngClass", ctx_r0.calculatedDividerClasses());
|
|
56302
56370
|
i0.ɵɵadvance(2);
|
|
@@ -56312,16 +56380,16 @@ function InitialTargetSettingComponent_Conditional_20_Template(rf, ctx) { if (rf
|
|
|
56312
56380
|
i0.ɵɵadvance();
|
|
56313
56381
|
i0.ɵɵtextInterpolate1(" +", ctx_r0.formatPercentage(ctx_r0.percentageIncrease(), 1), " ");
|
|
56314
56382
|
i0.ɵɵadvance();
|
|
56315
|
-
i0.ɵɵconditional(ctx_r0.currentPaceProjection() > 0 && ctx_r0.gapToClose().amount !== 0 ?
|
|
56383
|
+
i0.ɵɵconditional(ctx_r0.currentPaceProjection() > 0 && ctx_r0.gapToClose().amount !== 0 ? 20 : -1);
|
|
56316
56384
|
} }
|
|
56317
|
-
function
|
|
56318
|
-
i0.ɵɵelement(0, "symphiq-area-chart",
|
|
56385
|
+
function InitialTargetSettingComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
56386
|
+
i0.ɵɵelement(0, "symphiq-area-chart", 13);
|
|
56319
56387
|
} if (rf & 2) {
|
|
56320
56388
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
56321
56389
|
i0.ɵɵproperty("chart", ctx_r0.revenueChartData())("showAxisLabels", true)("viewMode", ctx_r0.viewMode())("currencySymbol", "$")("height", "320px");
|
|
56322
56390
|
} }
|
|
56323
|
-
function
|
|
56324
|
-
i0.ɵɵelementStart(0, "div",
|
|
56391
|
+
function InitialTargetSettingComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
56392
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "p", 31);
|
|
56325
56393
|
i0.ɵɵtext(2, " No revenue data available ");
|
|
56326
56394
|
i0.ɵɵelementEnd()();
|
|
56327
56395
|
} if (rf & 2) {
|
|
@@ -56329,14 +56397,14 @@ function InitialTargetSettingComponent_Conditional_26_Template(rf, ctx) { if (rf
|
|
|
56329
56397
|
i0.ɵɵadvance();
|
|
56330
56398
|
i0.ɵɵproperty("ngClass", ctx_r0.noDataClasses());
|
|
56331
56399
|
} }
|
|
56332
|
-
function
|
|
56333
|
-
i0.ɵɵelementStart(0, "div", 3)(1, "div",
|
|
56400
|
+
function InitialTargetSettingComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
56401
|
+
i0.ɵɵelementStart(0, "div", 3)(1, "div", 32)(2, "h2", 33);
|
|
56334
56402
|
i0.ɵɵtext(3, " Contributing Metrics ");
|
|
56335
56403
|
i0.ɵɵelementEnd();
|
|
56336
|
-
i0.ɵɵelementStart(4, "p",
|
|
56404
|
+
i0.ɵɵelementStart(4, "p", 31);
|
|
56337
56405
|
i0.ɵɵtext(5);
|
|
56338
56406
|
i0.ɵɵelementEnd()();
|
|
56339
|
-
i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization",
|
|
56407
|
+
i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization", 34);
|
|
56340
56408
|
i0.ɵɵelementEnd();
|
|
56341
56409
|
} if (rf & 2) {
|
|
56342
56410
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -56350,28 +56418,6 @@ function InitialTargetSettingComponent_Conditional_27_Template(rf, ctx) { if (rf
|
|
|
56350
56418
|
i0.ɵɵadvance();
|
|
56351
56419
|
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("calculations", ctx_r0.displayedMetricCalculations())("pacingMetrics", ctx_r0.pacingMetrics());
|
|
56352
56420
|
} }
|
|
56353
|
-
function InitialTargetSettingComponent_Conditional_29_Template(rf, ctx) { if (rf & 1) {
|
|
56354
|
-
const _r4 = i0.ɵɵgetCurrentView();
|
|
56355
|
-
i0.ɵɵelementStart(0, "div", 19)(1, "div", 34)(2, "button", 35);
|
|
56356
|
-
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_29_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.handleAdjustTarget()); });
|
|
56357
|
-
i0.ɵɵtext(3, " Adjust Revenue Target ");
|
|
56358
|
-
i0.ɵɵelementEnd()()();
|
|
56359
|
-
} if (rf & 2) {
|
|
56360
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
56361
|
-
i0.ɵɵadvance(2);
|
|
56362
|
-
i0.ɵɵproperty("ngClass", ctx_r0.secondaryButtonClasses());
|
|
56363
|
-
} }
|
|
56364
|
-
function InitialTargetSettingComponent_Conditional_30_Template(rf, ctx) { if (rf & 1) {
|
|
56365
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
56366
|
-
i0.ɵɵelementStart(0, "div", 20)(1, "div", 34)(2, "button", 35);
|
|
56367
|
-
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_30_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.handleCancel()); });
|
|
56368
|
-
i0.ɵɵtext(3, " Cancel ");
|
|
56369
|
-
i0.ɵɵelementEnd()()();
|
|
56370
|
-
} if (rf & 2) {
|
|
56371
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
56372
|
-
i0.ɵɵadvance(2);
|
|
56373
|
-
i0.ɵɵproperty("ngClass", ctx_r0.cancelButtonClasses());
|
|
56374
|
-
} }
|
|
56375
56421
|
class InitialTargetSettingComponent {
|
|
56376
56422
|
constructor() {
|
|
56377
56423
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
@@ -56430,26 +56476,49 @@ class InitialTargetSettingComponent {
|
|
|
56430
56476
|
}, ...(ngDevMode ? [{ debugName: "percentageIncrease" }] : []));
|
|
56431
56477
|
this.displayedMetricCalculations = computed(() => {
|
|
56432
56478
|
const response = this.storedResponse();
|
|
56433
|
-
if (!response
|
|
56479
|
+
if (!response) {
|
|
56434
56480
|
return [];
|
|
56435
56481
|
}
|
|
56436
|
-
|
|
56437
|
-
|
|
56438
|
-
|
|
56439
|
-
|
|
56440
|
-
|
|
56441
|
-
|
|
56442
|
-
|
|
56443
|
-
|
|
56444
|
-
|
|
56445
|
-
|
|
56446
|
-
|
|
56447
|
-
|
|
56448
|
-
|
|
56449
|
-
|
|
56450
|
-
|
|
56451
|
-
|
|
56452
|
-
|
|
56482
|
+
const results = [];
|
|
56483
|
+
if (response.funnelMetricValues) {
|
|
56484
|
+
response.funnelMetricValues.forEach((metricValue) => {
|
|
56485
|
+
const metric = metricValue.metric;
|
|
56486
|
+
const funnelMetric = this.funnelMetrics().find(fm => fm.funnelMetric === metric && fm.funnelMetric === fm.relatedMetric);
|
|
56487
|
+
const currentValue = sumMetricFromUiData(this.mainUiData(), metric, 'priorYear');
|
|
56488
|
+
const { targetValue, percentageIncrease } = this.parseMetricValue(metricValue.value);
|
|
56489
|
+
results.push({
|
|
56490
|
+
metric,
|
|
56491
|
+
funnelMetric: metric,
|
|
56492
|
+
currentValue,
|
|
56493
|
+
targetValue,
|
|
56494
|
+
percentageIncrease,
|
|
56495
|
+
isFunnelStage: true,
|
|
56496
|
+
funnelInd: funnelMetric?.funnelInd,
|
|
56497
|
+
relatedInd: 0,
|
|
56498
|
+
description: funnelMetric?.funnelMetricDescription
|
|
56499
|
+
});
|
|
56500
|
+
});
|
|
56501
|
+
}
|
|
56502
|
+
if (response.relatedMetricTargets) {
|
|
56503
|
+
response.relatedMetricTargets.forEach((metricValue) => {
|
|
56504
|
+
const metric = metricValue.metric;
|
|
56505
|
+
const funnelMetric = this.funnelMetrics().find(fm => fm.relatedMetric === metric);
|
|
56506
|
+
const currentValue = sumMetricFromUiData(this.mainUiData(), metric, 'priorYear');
|
|
56507
|
+
const { targetValue, percentageIncrease } = this.parseMetricValue(metricValue.value);
|
|
56508
|
+
results.push({
|
|
56509
|
+
metric,
|
|
56510
|
+
funnelMetric: funnelMetric?.funnelMetric,
|
|
56511
|
+
currentValue,
|
|
56512
|
+
targetValue,
|
|
56513
|
+
percentageIncrease: percentageIncrease || response.equalRelatedMetricIncreasePercent || 0,
|
|
56514
|
+
isFunnelStage: false,
|
|
56515
|
+
funnelInd: funnelMetric?.funnelInd,
|
|
56516
|
+
relatedInd: funnelMetric?.relatedInd,
|
|
56517
|
+
description: funnelMetric?.relatedMetricDescription
|
|
56518
|
+
});
|
|
56519
|
+
});
|
|
56520
|
+
}
|
|
56521
|
+
return results;
|
|
56453
56522
|
}, ...(ngDevMode ? [{ debugName: "displayedMetricCalculations" }] : []));
|
|
56454
56523
|
this.displayedTargetRevenue = computed(() => {
|
|
56455
56524
|
const response = this.storedResponse();
|
|
@@ -56523,6 +56592,28 @@ class InitialTargetSettingComponent {
|
|
|
56523
56592
|
}
|
|
56524
56593
|
}, { allowSignalWrites: true });
|
|
56525
56594
|
}
|
|
56595
|
+
parseMetricValue(value) {
|
|
56596
|
+
if (!value)
|
|
56597
|
+
return { targetValue: 0, percentageIncrease: 0 };
|
|
56598
|
+
let targetValue = 0;
|
|
56599
|
+
let percentageIncrease = 0;
|
|
56600
|
+
const arrowMatch = value.match(/\([\d.,]+\s*->\s*([\d.,]+)\)/);
|
|
56601
|
+
if (arrowMatch) {
|
|
56602
|
+
targetValue = parseFloat(arrowMatch[1].replace(/,/g, ''));
|
|
56603
|
+
}
|
|
56604
|
+
const targetMatch = value.match(/target:\s*([\d.,]+)/);
|
|
56605
|
+
if (targetMatch) {
|
|
56606
|
+
targetValue = parseFloat(targetMatch[1].replace(/,/g, ''));
|
|
56607
|
+
}
|
|
56608
|
+
const percentMatch = value.match(/([-\d.]+)%\s*(increase|change|decrease)?/);
|
|
56609
|
+
if (percentMatch) {
|
|
56610
|
+
percentageIncrease = parseFloat(percentMatch[1]);
|
|
56611
|
+
}
|
|
56612
|
+
if (!arrowMatch && !targetMatch) {
|
|
56613
|
+
targetValue = parseFloat(value.replace(/,/g, '')) || 0;
|
|
56614
|
+
}
|
|
56615
|
+
return { targetValue, percentageIncrease };
|
|
56616
|
+
}
|
|
56526
56617
|
ngAfterViewInit() {
|
|
56527
56618
|
setTimeout(() => {
|
|
56528
56619
|
this.absoluteInputRef?.nativeElement?.focus();
|
|
@@ -56711,7 +56802,7 @@ class InitialTargetSettingComponent {
|
|
|
56711
56802
|
let _t;
|
|
56712
56803
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
|
|
56713
56804
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.percentageInputRef = _t.first);
|
|
56714
|
-
} }, inputs: { viewMode: [1, "viewMode"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], trendUiData: [1, "trendUiData"], shopId: [1, "shopId"], pacingMetrics: [1, "pacingMetrics"], dataResults: [1, "dataResults"], reverseCalculationResponse: [1, "reverseCalculationResponse"] }, outputs: { targetsCreated: "targetsCreated", calculateRevenueRequest: "calculateRevenueRequest" }, decls:
|
|
56805
|
+
} }, inputs: { viewMode: [1, "viewMode"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], trendUiData: [1, "trendUiData"], shopId: [1, "shopId"], pacingMetrics: [1, "pacingMetrics"], dataResults: [1, "dataResults"], reverseCalculationResponse: [1, "reverseCalculationResponse"] }, outputs: { targetsCreated: "targetsCreated", calculateRevenueRequest: "calculateRevenueRequest" }, decls: 23, vars: 20, consts: [["absoluteInputRef", ""], ["percentageInputRef", ""], [1, "space-y-8", "pb-32"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", 3, "ngClass"], [1, "text-2xl", "font-bold", "mb-6", 3, "ngClass"], [1, "grid", "lg:grid-cols-2", "gap-8"], [1, "space-y-6"], [1, "block", "text-sm", "font-semibold", "mb-2", 3, "ngClass"], [1, "space-y-1", "mb-4"], [1, "text-xs", 3, "ngClass"], [1, "p-6", "rounded-xl", "border-2", 3, "ngClass"], [1, "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "rounded-xl", "border", "p-4", 3, "ngClass"], [3, "chart", "showAxisLabels", "viewMode", "currencySymbol", "height"], [1, "h-64", "flex", "items-center", "justify-center"], [3, "submitClick", "cancelClick", "viewMode", "isValid", "isSubmitting", "validationMessage", "buttonText", "showCancelButton"], [1, "flex", "gap-2", "mb-4"], [1, "flex-1", "py-2", "px-4", "rounded-lg", "text-sm", "font-semibold", "transition-all", 3, "click", "ngClass"], [1, "relative"], [1, "absolute", "left-4", "top-1/2", "-translate-y-1/2", "text-xl", "font-bold", 3, "ngClass"], ["type", "number", "placeholder", "0", "min", "0", "step", "1000", 1, "w-full", "pl-10", "pr-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModelChange", "ngModel", "ngClass"], ["type", "number", "placeholder", "0", "min", "0", "max", "1000", "step", "0.1", 1, "w-full", "pr-10", "pl-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModelChange", "ngModel", "ngClass"], [1, "absolute", "right-4", "top-1/2", "-translate-y-1/2", "text-xl", "font-bold", 3, "ngClass"], [1, "space-y-4"], [1, "flex", "items-center", "justify-between"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "whitespace-nowrap", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-4", "pt-4", 3, "ngClass"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "whitespace-nowrap", 3, "click", "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [3, "viewMode", "calculations", "pacingMetrics"]], template: function InitialTargetSettingComponent_Template(rf, ctx) { if (rf & 1) {
|
|
56715
56806
|
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "h2", 4);
|
|
56716
56807
|
i0.ɵɵtext(3, " Calculate Your Revenue Target ");
|
|
56717
56808
|
i0.ɵɵelementEnd();
|
|
@@ -56723,31 +56814,20 @@ class InitialTargetSettingComponent {
|
|
|
56723
56814
|
i0.ɵɵelementEnd();
|
|
56724
56815
|
i0.ɵɵconditionalCreate(12, InitialTargetSettingComponent_Conditional_12_Template, 2, 2, "p", 9);
|
|
56725
56816
|
i0.ɵɵelementEnd();
|
|
56726
|
-
i0.ɵɵ
|
|
56727
|
-
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Template_button_click_14_listener() { return ctx.setInputMode("absolute"); });
|
|
56728
|
-
i0.ɵɵtext(15, " Absolute Amount ");
|
|
56817
|
+
i0.ɵɵconditionalCreate(13, InitialTargetSettingComponent_Conditional_13_Template, 7, 3);
|
|
56729
56818
|
i0.ɵɵelementEnd();
|
|
56730
|
-
i0.ɵɵ
|
|
56731
|
-
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Template_button_click_16_listener() { return ctx.setInputMode("percentage"); });
|
|
56732
|
-
i0.ɵɵtext(17, " % Increase ");
|
|
56733
|
-
i0.ɵɵelementEnd()();
|
|
56734
|
-
i0.ɵɵconditionalCreate(18, InitialTargetSettingComponent_Conditional_18_Template, 5, 3, "div", 12)(19, InitialTargetSettingComponent_Conditional_19_Template, 5, 3, "div", 12);
|
|
56819
|
+
i0.ɵɵconditionalCreate(14, InitialTargetSettingComponent_Conditional_14_Template, 21, 14, "div", 10);
|
|
56735
56820
|
i0.ɵɵelementEnd();
|
|
56736
|
-
i0.ɵɵ
|
|
56821
|
+
i0.ɵɵelementStart(15, "div")(16, "p", 11);
|
|
56822
|
+
i0.ɵɵtext(17, " Year-over-Year Revenue Trend ");
|
|
56737
56823
|
i0.ɵɵelementEnd();
|
|
56738
|
-
i0.ɵɵelementStart(
|
|
56739
|
-
i0.ɵɵ
|
|
56740
|
-
i0.ɵɵelementEnd();
|
|
56741
|
-
i0.ɵɵelementStart(24, "div", 15);
|
|
56742
|
-
i0.ɵɵconditionalCreate(25, InitialTargetSettingComponent_Conditional_25_Template, 1, 5, "symphiq-area-chart", 16)(26, InitialTargetSettingComponent_Conditional_26_Template, 3, 1, "div", 17);
|
|
56824
|
+
i0.ɵɵelementStart(18, "div", 12);
|
|
56825
|
+
i0.ɵɵconditionalCreate(19, InitialTargetSettingComponent_Conditional_19_Template, 1, 5, "symphiq-area-chart", 13)(20, InitialTargetSettingComponent_Conditional_20_Template, 3, 1, "div", 14);
|
|
56743
56826
|
i0.ɵɵelementEnd()()()();
|
|
56744
|
-
i0.ɵɵconditionalCreate(
|
|
56745
|
-
i0.ɵɵelementStart(
|
|
56746
|
-
i0.ɵɵlistener("submitClick", function
|
|
56747
|
-
i0.ɵɵelementEnd();
|
|
56748
|
-
i0.ɵɵconditionalCreate(29, InitialTargetSettingComponent_Conditional_29_Template, 4, 1, "div", 19);
|
|
56749
|
-
i0.ɵɵconditionalCreate(30, InitialTargetSettingComponent_Conditional_30_Template, 4, 1, "div", 20);
|
|
56750
|
-
i0.ɵɵelementEnd();
|
|
56827
|
+
i0.ɵɵconditionalCreate(21, InitialTargetSettingComponent_Conditional_21_Template, 7, 7, "div", 3);
|
|
56828
|
+
i0.ɵɵelementStart(22, "symphiq-sticky-submit-bar", 15);
|
|
56829
|
+
i0.ɵɵlistener("submitClick", function InitialTargetSettingComponent_Template_symphiq_sticky_submit_bar_submitClick_22_listener() { return ctx.handleSubmitClick(); })("cancelClick", function InitialTargetSettingComponent_Template_symphiq_sticky_submit_bar_cancelClick_22_listener() { return ctx.handleCancel(); });
|
|
56830
|
+
i0.ɵɵelementEnd()();
|
|
56751
56831
|
} if (rf & 2) {
|
|
56752
56832
|
i0.ɵɵadvance();
|
|
56753
56833
|
i0.ɵɵproperty("ngClass", ctx.sectionCardClasses());
|
|
@@ -56763,28 +56843,20 @@ class InitialTargetSettingComponent {
|
|
|
56763
56843
|
i0.ɵɵtextInterpolate2(" ", ctx.priorYear(), " Revenue: ", ctx.formatCurrency(ctx.priorYearRevenue()), " ");
|
|
56764
56844
|
i0.ɵɵadvance();
|
|
56765
56845
|
i0.ɵɵconditional(ctx.currentPaceProjection() > 0 ? 12 : -1);
|
|
56766
|
-
i0.ɵɵadvance(
|
|
56767
|
-
i0.ɵɵ
|
|
56768
|
-
i0.ɵɵadvance(
|
|
56769
|
-
i0.ɵɵ
|
|
56770
|
-
i0.ɵɵadvance(2);
|
|
56771
|
-
i0.ɵɵconditional(ctx.inputMode() === "absolute" ? 18 : 19);
|
|
56772
|
-
i0.ɵɵadvance(2);
|
|
56773
|
-
i0.ɵɵconditional(ctx.calculatedRevenue() > 0 ? 20 : -1);
|
|
56846
|
+
i0.ɵɵadvance();
|
|
56847
|
+
i0.ɵɵconditional(ctx.calculationState() !== "results" ? 13 : -1);
|
|
56848
|
+
i0.ɵɵadvance();
|
|
56849
|
+
i0.ɵɵconditional(ctx.calculatedRevenue() > 0 ? 14 : -1);
|
|
56774
56850
|
i0.ɵɵadvance(2);
|
|
56775
56851
|
i0.ɵɵproperty("ngClass", ctx.chartTitleClasses());
|
|
56776
56852
|
i0.ɵɵadvance(2);
|
|
56777
56853
|
i0.ɵɵproperty("ngClass", ctx.chartContainerClasses());
|
|
56778
56854
|
i0.ɵɵadvance();
|
|
56779
|
-
i0.ɵɵconditional(ctx.revenueChartData() ?
|
|
56855
|
+
i0.ɵɵconditional(ctx.revenueChartData() ? 19 : 20);
|
|
56780
56856
|
i0.ɵɵadvance(2);
|
|
56781
|
-
i0.ɵɵconditional(ctx.showMetricsVisualization() ?
|
|
56782
|
-
i0.ɵɵadvance();
|
|
56783
|
-
i0.ɵɵproperty("viewMode", ctx.viewMode())("isValid", ctx.isValid())("isSubmitting", ctx.isCalculating())("validationMessage", ctx.validationMessage())("buttonText", ctx.submitButtonText());
|
|
56784
|
-
i0.ɵɵadvance();
|
|
56785
|
-
i0.ɵɵconditional(ctx.calculationState() === "results" ? 29 : -1);
|
|
56857
|
+
i0.ɵɵconditional(ctx.showMetricsVisualization() ? 21 : -1);
|
|
56786
56858
|
i0.ɵɵadvance();
|
|
56787
|
-
i0.ɵɵ
|
|
56859
|
+
i0.ɵɵproperty("viewMode", ctx.viewMode())("isValid", ctx.isValid())("isSubmitting", ctx.isCalculating())("validationMessage", ctx.validationMessage())("buttonText", ctx.submitButtonText())("showCancelButton", ctx.calculationState() === "input" && ctx.hasStoredResponse());
|
|
56788
56860
|
} }, dependencies: [CommonModule, i1$1.NgClass, FormsModule, i2$1.DefaultValueAccessor, i2$1.NumberValueAccessor, i2$1.NgControlStatus, i2$1.MinValidator, i2$1.MaxValidator, i2$1.NgModel, FunnelMetricsVisualizationComponent,
|
|
56789
56861
|
StickySubmitBarComponent,
|
|
56790
56862
|
AreaChartComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
@@ -56826,67 +56898,79 @@ class InitialTargetSettingComponent {
|
|
|
56826
56898
|
}
|
|
56827
56899
|
</div>
|
|
56828
56900
|
|
|
56829
|
-
|
|
56830
|
-
<
|
|
56831
|
-
|
|
56832
|
-
|
|
56833
|
-
|
|
56834
|
-
|
|
56835
|
-
|
|
56836
|
-
|
|
56837
|
-
|
|
56838
|
-
|
|
56839
|
-
|
|
56840
|
-
|
|
56841
|
-
|
|
56842
|
-
|
|
56843
|
-
|
|
56844
|
-
@if (inputMode() === 'absolute') {
|
|
56845
|
-
<div class="relative">
|
|
56846
|
-
<span [ngClass]="inputPrefixClasses()" class="absolute left-4 top-1/2 -translate-y-1/2 text-xl font-bold">
|
|
56847
|
-
$
|
|
56848
|
-
</span>
|
|
56849
|
-
<input
|
|
56850
|
-
#absoluteInputRef
|
|
56851
|
-
type="number"
|
|
56852
|
-
[(ngModel)]="absoluteInput"
|
|
56853
|
-
(ngModelChange)="onAbsoluteInputChange()"
|
|
56854
|
-
[ngClass]="inputClasses()"
|
|
56855
|
-
class="w-full pl-10 pr-4 py-4 rounded-xl text-2xl font-bold border-2 transition-all"
|
|
56856
|
-
placeholder="0"
|
|
56857
|
-
min="0"
|
|
56858
|
-
step="1000">
|
|
56859
|
-
</div>
|
|
56860
|
-
} @else {
|
|
56861
|
-
<div class="relative">
|
|
56862
|
-
<input
|
|
56863
|
-
#percentageInputRef
|
|
56864
|
-
type="number"
|
|
56865
|
-
[(ngModel)]="percentageInput"
|
|
56866
|
-
(ngModelChange)="onPercentageInputChange()"
|
|
56867
|
-
[ngClass]="inputClasses()"
|
|
56868
|
-
class="w-full pr-10 pl-4 py-4 rounded-xl text-2xl font-bold border-2 transition-all"
|
|
56869
|
-
placeholder="0"
|
|
56870
|
-
min="0"
|
|
56871
|
-
max="1000"
|
|
56872
|
-
step="0.1">
|
|
56873
|
-
<span [ngClass]="inputSuffixClasses()" class="absolute right-4 top-1/2 -translate-y-1/2 text-xl font-bold">
|
|
56874
|
-
%
|
|
56875
|
-
</span>
|
|
56901
|
+
@if (calculationState() !== 'results') {
|
|
56902
|
+
<div class="flex gap-2 mb-4">
|
|
56903
|
+
<button
|
|
56904
|
+
(click)="setInputMode('absolute')"
|
|
56905
|
+
[ngClass]="inputModeButtonClasses('absolute')"
|
|
56906
|
+
class="flex-1 py-2 px-4 rounded-lg text-sm font-semibold transition-all">
|
|
56907
|
+
Absolute Amount
|
|
56908
|
+
</button>
|
|
56909
|
+
<button
|
|
56910
|
+
(click)="setInputMode('percentage')"
|
|
56911
|
+
[ngClass]="inputModeButtonClasses('percentage')"
|
|
56912
|
+
class="flex-1 py-2 px-4 rounded-lg text-sm font-semibold transition-all">
|
|
56913
|
+
% Increase
|
|
56914
|
+
</button>
|
|
56876
56915
|
</div>
|
|
56916
|
+
|
|
56917
|
+
@if (inputMode() === 'absolute') {
|
|
56918
|
+
<div class="relative">
|
|
56919
|
+
<span [ngClass]="inputPrefixClasses()" class="absolute left-4 top-1/2 -translate-y-1/2 text-xl font-bold">
|
|
56920
|
+
$
|
|
56921
|
+
</span>
|
|
56922
|
+
<input
|
|
56923
|
+
#absoluteInputRef
|
|
56924
|
+
type="number"
|
|
56925
|
+
[(ngModel)]="absoluteInput"
|
|
56926
|
+
(ngModelChange)="onAbsoluteInputChange()"
|
|
56927
|
+
[ngClass]="inputClasses()"
|
|
56928
|
+
class="w-full pl-10 pr-4 py-4 rounded-xl text-2xl font-bold border-2 transition-all"
|
|
56929
|
+
placeholder="0"
|
|
56930
|
+
min="0"
|
|
56931
|
+
step="1000">
|
|
56932
|
+
</div>
|
|
56933
|
+
} @else {
|
|
56934
|
+
<div class="relative">
|
|
56935
|
+
<input
|
|
56936
|
+
#percentageInputRef
|
|
56937
|
+
type="number"
|
|
56938
|
+
[(ngModel)]="percentageInput"
|
|
56939
|
+
(ngModelChange)="onPercentageInputChange()"
|
|
56940
|
+
[ngClass]="inputClasses()"
|
|
56941
|
+
class="w-full pr-10 pl-4 py-4 rounded-xl text-2xl font-bold border-2 transition-all"
|
|
56942
|
+
placeholder="0"
|
|
56943
|
+
min="0"
|
|
56944
|
+
max="1000"
|
|
56945
|
+
step="0.1">
|
|
56946
|
+
<span [ngClass]="inputSuffixClasses()" class="absolute right-4 top-1/2 -translate-y-1/2 text-xl font-bold">
|
|
56947
|
+
%
|
|
56948
|
+
</span>
|
|
56949
|
+
</div>
|
|
56950
|
+
}
|
|
56877
56951
|
}
|
|
56878
56952
|
</div>
|
|
56879
56953
|
|
|
56880
56954
|
@if (calculatedRevenue() > 0) {
|
|
56881
56955
|
<div [ngClass]="calculatedValuesCardClasses()" class="p-6 rounded-xl border-2">
|
|
56882
56956
|
<div class="space-y-4">
|
|
56883
|
-
<div>
|
|
56884
|
-
<
|
|
56885
|
-
|
|
56886
|
-
|
|
56887
|
-
|
|
56888
|
-
|
|
56889
|
-
|
|
56957
|
+
<div class="flex items-center justify-between">
|
|
56958
|
+
<div>
|
|
56959
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
56960
|
+
{{ currentYear() }} Revenue Target
|
|
56961
|
+
</p>
|
|
56962
|
+
<p [ngClass]="calculatedValueClasses()" class="text-3xl font-bold">
|
|
56963
|
+
{{ formatCurrency(displayedTargetRevenue()) }}
|
|
56964
|
+
</p>
|
|
56965
|
+
</div>
|
|
56966
|
+
@if (calculationState() === 'results') {
|
|
56967
|
+
<button
|
|
56968
|
+
(click)="handleAdjustTarget()"
|
|
56969
|
+
[ngClass]="secondaryButtonClasses()"
|
|
56970
|
+
class="px-4 py-2 rounded-lg text-sm font-semibold transition-all whitespace-nowrap">
|
|
56971
|
+
Adjust Revenue Target
|
|
56972
|
+
</button>
|
|
56973
|
+
}
|
|
56890
56974
|
</div>
|
|
56891
56975
|
<div class="grid grid-cols-2 gap-4 pt-4" [ngClass]="calculatedDividerClasses()">
|
|
56892
56976
|
<div>
|
|
@@ -56981,34 +57065,10 @@ class InitialTargetSettingComponent {
|
|
|
56981
57065
|
[isSubmitting]="isCalculating()"
|
|
56982
57066
|
[validationMessage]="validationMessage()"
|
|
56983
57067
|
[buttonText]="submitButtonText()"
|
|
57068
|
+
[showCancelButton]="calculationState() === 'input' && hasStoredResponse()"
|
|
56984
57069
|
(submitClick)="handleSubmitClick()"
|
|
57070
|
+
(cancelClick)="handleCancel()"
|
|
56985
57071
|
/>
|
|
56986
|
-
|
|
56987
|
-
@if (calculationState() === 'results') {
|
|
56988
|
-
<div class="fixed bottom-24 left-0 right-0 z-40 pb-4 px-4">
|
|
56989
|
-
<div class="max-w-7xl mx-auto flex gap-4 justify-center">
|
|
56990
|
-
<button
|
|
56991
|
-
(click)="handleAdjustTarget()"
|
|
56992
|
-
[ngClass]="secondaryButtonClasses()"
|
|
56993
|
-
class="px-6 py-3 rounded-xl font-semibold transition-all shadow-lg">
|
|
56994
|
-
Adjust Revenue Target
|
|
56995
|
-
</button>
|
|
56996
|
-
</div>
|
|
56997
|
-
</div>
|
|
56998
|
-
}
|
|
56999
|
-
|
|
57000
|
-
@if (calculationState() === 'input' && hasStoredResponse()) {
|
|
57001
|
-
<div class="fixed bottom-32 left-0 right-0 z-40 pb-4 px-4">
|
|
57002
|
-
<div class="max-w-7xl mx-auto flex gap-4 justify-center">
|
|
57003
|
-
<button
|
|
57004
|
-
(click)="handleCancel()"
|
|
57005
|
-
[ngClass]="cancelButtonClasses()"
|
|
57006
|
-
class="px-6 py-3 rounded-xl font-semibold transition-all shadow-lg">
|
|
57007
|
-
Cancel
|
|
57008
|
-
</button>
|
|
57009
|
-
</div>
|
|
57010
|
-
</div>
|
|
57011
|
-
}
|
|
57012
57072
|
</div>
|
|
57013
57073
|
`
|
|
57014
57074
|
}]
|
|
@@ -57019,7 +57079,7 @@ class InitialTargetSettingComponent {
|
|
|
57019
57079
|
type: ViewChild,
|
|
57020
57080
|
args: ['percentageInputRef']
|
|
57021
57081
|
}], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], funnelMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelMetrics", required: false }] }], mainUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainUiData", required: false }] }], trendUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "trendUiData", required: false }] }], shopId: [{ type: i0.Input, args: [{ isSignal: true, alias: "shopId", required: false }] }], pacingMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingMetrics", required: false }] }], dataResults: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataResults", required: false }] }], reverseCalculationResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverseCalculationResponse", required: false }] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }], calculateRevenueRequest: [{ type: i0.Output, args: ["calculateRevenueRequest"] }] }); })();
|
|
57022
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber:
|
|
57082
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 247 }); })();
|
|
57023
57083
|
|
|
57024
57084
|
function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
57025
57085
|
i0.ɵɵelement(0, "div", 5);
|