@eric-emg/symphiq-components 1.2.202 → 1.2.203

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.
@@ -56226,24 +56226,38 @@ var areaChart_component = /*#__PURE__*/Object.freeze({
56226
56226
 
56227
56227
  const _c0$r = ["absoluteInputRef"];
56228
56228
  const _c1$b = ["percentageInputRef"];
56229
- function InitialTargetSettingComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
56230
- i0.ɵɵelementStart(0, "p", 9);
56231
- i0.ɵɵtext(1);
56229
+ function InitialTargetSettingComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
56230
+ i0.ɵɵelementStart(0, "div", 8);
56231
+ i0.ɵɵnamespaceSVG();
56232
+ i0.ɵɵelementStart(1, "svg", 9);
56233
+ i0.ɵɵelement(2, "path", 21);
56234
+ i0.ɵɵelementEnd();
56235
+ i0.ɵɵnamespaceHTML();
56236
+ i0.ɵɵelementStart(3, "p", 11);
56237
+ i0.ɵɵtext(4, " Current Pace Projection: ");
56232
56238
  i0.ɵɵelementEnd();
56239
+ i0.ɵɵelementStart(5, "p", 12);
56240
+ i0.ɵɵtext(6);
56241
+ i0.ɵɵelementEnd()();
56233
56242
  } if (rf & 2) {
56234
56243
  const ctx_r0 = i0.ɵɵnextContext();
56235
- i0.ɵɵproperty("ngClass", ctx_r0.priorYearLabelClasses());
56236
56244
  i0.ɵɵadvance();
56237
- i0.ɵɵtextInterpolate1(" Current Pace Projection: ", ctx_r0.formatCurrency(ctx_r0.currentPaceProjection()), " ");
56245
+ i0.ɵɵproperty("ngClass", ctx_r0.projectionIconClasses());
56246
+ i0.ɵɵadvance(2);
56247
+ i0.ɵɵproperty("ngClass", ctx_r0.projectionLabelClasses());
56248
+ i0.ɵɵadvance(2);
56249
+ i0.ɵɵproperty("ngClass", ctx_r0.projectionValueClasses());
56250
+ i0.ɵɵadvance();
56251
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.formatCurrency(ctx_r0.currentPaceProjection()), " ");
56238
56252
  } }
56239
- function InitialTargetSettingComponent_Conditional_13_Conditional_5_Template(rf, ctx) { if (rf & 1) {
56253
+ function InitialTargetSettingComponent_Conditional_16_Conditional_5_Template(rf, ctx) { if (rf & 1) {
56240
56254
  const _r3 = i0.ɵɵgetCurrentView();
56241
- i0.ɵɵelementStart(0, "div", 18)(1, "span", 19);
56255
+ i0.ɵɵelementStart(0, "div", 24)(1, "span", 25);
56242
56256
  i0.ɵɵtext(2, " $ ");
56243
56257
  i0.ɵɵelementEnd();
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()); });
56258
+ i0.ɵɵelementStart(3, "input", 26, 0);
56259
+ i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_16_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); });
56260
+ i0.ɵɵlistener("ngModelChange", function InitialTargetSettingComponent_Conditional_16_Conditional_5_Template_input_ngModelChange_3_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onAbsoluteInputChange()); });
56247
56261
  i0.ɵɵelementEnd()();
56248
56262
  } if (rf & 2) {
56249
56263
  const ctx_r0 = i0.ɵɵnextContext(2);
@@ -56253,13 +56267,13 @@ function InitialTargetSettingComponent_Conditional_13_Conditional_5_Template(rf,
56253
56267
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.absoluteInput);
56254
56268
  i0.ɵɵproperty("ngClass", ctx_r0.inputClasses());
56255
56269
  } }
56256
- function InitialTargetSettingComponent_Conditional_13_Conditional_6_Template(rf, ctx) { if (rf & 1) {
56270
+ function InitialTargetSettingComponent_Conditional_16_Conditional_6_Template(rf, ctx) { if (rf & 1) {
56257
56271
  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()); });
56272
+ i0.ɵɵelementStart(0, "div", 24)(1, "input", 27, 1);
56273
+ i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_16_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); });
56274
+ i0.ɵɵlistener("ngModelChange", function InitialTargetSettingComponent_Conditional_16_Conditional_6_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onPercentageInputChange()); });
56261
56275
  i0.ɵɵelementEnd();
56262
- i0.ɵɵelementStart(3, "span", 22);
56276
+ i0.ɵɵelementStart(3, "span", 28);
56263
56277
  i0.ɵɵtext(4, " % ");
56264
56278
  i0.ɵɵelementEnd()();
56265
56279
  } if (rf & 2) {
@@ -56270,17 +56284,17 @@ function InitialTargetSettingComponent_Conditional_13_Conditional_6_Template(rf,
56270
56284
  i0.ɵɵadvance(2);
56271
56285
  i0.ɵɵproperty("ngClass", ctx_r0.inputSuffixClasses());
56272
56286
  } }
56273
- function InitialTargetSettingComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
56287
+ function InitialTargetSettingComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
56274
56288
  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")); });
56289
+ i0.ɵɵelementStart(0, "div", 22)(1, "button", 23);
56290
+ i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_16_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.setInputMode("absolute")); });
56277
56291
  i0.ɵɵtext(2, " Absolute Amount ");
56278
56292
  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")); });
56293
+ i0.ɵɵelementStart(3, "button", 23);
56294
+ i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_16_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.setInputMode("percentage")); });
56281
56295
  i0.ɵɵtext(4, " % Increase ");
56282
56296
  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);
56297
+ i0.ɵɵconditionalCreate(5, InitialTargetSettingComponent_Conditional_16_Conditional_5_Template, 5, 3, "div", 24)(6, InitialTargetSettingComponent_Conditional_16_Conditional_6_Template, 5, 3, "div", 24);
56284
56298
  } if (rf & 2) {
56285
56299
  const ctx_r0 = i0.ɵɵnextContext();
56286
56300
  i0.ɵɵadvance();
@@ -56290,33 +56304,40 @@ function InitialTargetSettingComponent_Conditional_13_Template(rf, ctx) { if (rf
56290
56304
  i0.ɵɵadvance(2);
56291
56305
  i0.ɵɵconditional(ctx_r0.inputMode() === "absolute" ? 5 : 6);
56292
56306
  } }
56293
- function InitialTargetSettingComponent_Conditional_14_Conditional_8_Template(rf, ctx) { if (rf & 1) {
56307
+ function InitialTargetSettingComponent_Conditional_19_Conditional_8_Template(rf, ctx) { if (rf & 1) {
56294
56308
  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()); });
56309
+ i0.ɵɵelementStart(0, "button", 39);
56310
+ i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_19_Conditional_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.handleAdjustTarget()); });
56297
56311
  i0.ɵɵtext(1, " Adjust Revenue Target ");
56298
56312
  i0.ɵɵelementEnd();
56299
56313
  } if (rf & 2) {
56300
56314
  const ctx_r0 = i0.ɵɵnextContext(2);
56301
56315
  i0.ɵɵproperty("ngClass", ctx_r0.secondaryButtonClasses());
56302
56316
  } }
56303
- function InitialTargetSettingComponent_Conditional_14_Conditional_20_Template(rf, ctx) { if (rf & 1) {
56304
- i0.ɵɵelementStart(0, "div", 28)(1, "div")(2, "p", 25);
56305
- i0.ɵɵtext(3, " Gap to Close ");
56317
+ function InitialTargetSettingComponent_Conditional_19_Conditional_24_Template(rf, ctx) { if (rf & 1) {
56318
+ i0.ɵɵelementStart(0, "div", 34)(1, "div", 35)(2, "span", 36);
56319
+ i0.ɵɵtext(3);
56320
+ i0.ɵɵelementEnd()();
56321
+ i0.ɵɵelementStart(4, "div", 37)(5, "div")(6, "p", 31);
56322
+ i0.ɵɵtext(7, " Gap to Close ");
56306
56323
  i0.ɵɵelementEnd();
56307
- i0.ɵɵelementStart(4, "p", 29);
56308
- i0.ɵɵtext(5);
56324
+ i0.ɵɵelementStart(8, "p", 38);
56325
+ i0.ɵɵtext(9);
56309
56326
  i0.ɵɵelementEnd()();
56310
- i0.ɵɵelementStart(6, "div")(7, "p", 25);
56311
- i0.ɵɵtext(8, " Additional Growth Needed ");
56327
+ i0.ɵɵelementStart(10, "div")(11, "p", 31);
56328
+ i0.ɵɵtext(12, " Additional Growth Needed ");
56312
56329
  i0.ɵɵelementEnd();
56313
- i0.ɵɵelementStart(9, "p", 29);
56314
- i0.ɵɵtext(10);
56315
- i0.ɵɵelementEnd()()();
56330
+ i0.ɵɵelementStart(13, "p", 38);
56331
+ i0.ɵɵtext(14);
56332
+ i0.ɵɵelementEnd()()()();
56316
56333
  } if (rf & 2) {
56317
56334
  const ctx_r0 = i0.ɵɵnextContext(2);
56318
56335
  i0.ɵɵproperty("ngClass", ctx_r0.calculatedDividerClasses());
56319
56336
  i0.ɵɵadvance(2);
56337
+ i0.ɵɵproperty("ngClass", ctx_r0.dividerLabelClasses());
56338
+ i0.ɵɵadvance();
56339
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.currentYear(), " YTD Gap ");
56340
+ i0.ɵɵadvance(3);
56320
56341
  i0.ɵɵproperty("ngClass", ctx_r0.calculatedLabelClasses());
56321
56342
  i0.ɵɵadvance(2);
56322
56343
  i0.ɵɵproperty("ngClass", ctx_r0.calculatedSecondaryClasses());
@@ -56329,28 +56350,31 @@ function InitialTargetSettingComponent_Conditional_14_Conditional_20_Template(rf
56329
56350
  i0.ɵɵadvance();
56330
56351
  i0.ɵɵtextInterpolate2(" ", ctx_r0.gapToClose().amount > 0 ? "+" : "", "", ctx_r0.formatPercentage(ctx_r0.gapToClose().percentage, 1), " ");
56331
56352
  } }
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);
56353
+ function InitialTargetSettingComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
56354
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 29)(2, "div", 30)(3, "div")(4, "p", 31);
56334
56355
  i0.ɵɵtext(5);
56335
56356
  i0.ɵɵelementEnd();
56336
- i0.ɵɵelementStart(6, "p", 26);
56357
+ i0.ɵɵelementStart(6, "p", 32);
56337
56358
  i0.ɵɵtext(7);
56338
56359
  i0.ɵɵelementEnd()();
56339
- i0.ɵɵconditionalCreate(8, InitialTargetSettingComponent_Conditional_14_Conditional_8_Template, 2, 1, "button", 27);
56360
+ i0.ɵɵconditionalCreate(8, InitialTargetSettingComponent_Conditional_19_Conditional_8_Template, 2, 1, "button", 33);
56340
56361
  i0.ɵɵelementEnd();
56341
- i0.ɵɵelementStart(9, "div", 28)(10, "div")(11, "p", 25);
56342
- i0.ɵɵtext(12, " Increase Amount ");
56362
+ i0.ɵɵelementStart(9, "div", 34)(10, "div", 35)(11, "span", 36);
56363
+ i0.ɵɵtext(12);
56364
+ i0.ɵɵelementEnd()();
56365
+ i0.ɵɵelementStart(13, "div", 37)(14, "div")(15, "p", 31);
56366
+ i0.ɵɵtext(16, " Increase Amount ");
56343
56367
  i0.ɵɵelementEnd();
56344
- i0.ɵɵelementStart(13, "p", 29);
56345
- i0.ɵɵtext(14);
56368
+ i0.ɵɵelementStart(17, "p", 38);
56369
+ i0.ɵɵtext(18);
56346
56370
  i0.ɵɵelementEnd()();
56347
- i0.ɵɵelementStart(15, "div")(16, "p", 25);
56348
- i0.ɵɵtext(17, " % Growth ");
56371
+ i0.ɵɵelementStart(19, "div")(20, "p", 31);
56372
+ i0.ɵɵtext(21, " % Growth ");
56349
56373
  i0.ɵɵelementEnd();
56350
- i0.ɵɵelementStart(18, "p", 29);
56351
- i0.ɵɵtext(19);
56352
- i0.ɵɵelementEnd()()();
56353
- i0.ɵɵconditionalCreate(20, InitialTargetSettingComponent_Conditional_14_Conditional_20_Template, 11, 8, "div", 28);
56374
+ i0.ɵɵelementStart(22, "p", 38);
56375
+ i0.ɵɵtext(23);
56376
+ i0.ɵɵelementEnd()()()();
56377
+ i0.ɵɵconditionalCreate(24, InitialTargetSettingComponent_Conditional_19_Conditional_24_Template, 15, 10, "div", 34);
56354
56378
  i0.ɵɵelementEnd()();
56355
56379
  } if (rf & 2) {
56356
56380
  const ctx_r0 = i0.ɵɵnextContext();
@@ -56368,6 +56392,10 @@ function InitialTargetSettingComponent_Conditional_14_Template(rf, ctx) { if (rf
56368
56392
  i0.ɵɵadvance();
56369
56393
  i0.ɵɵproperty("ngClass", ctx_r0.calculatedDividerClasses());
56370
56394
  i0.ɵɵadvance(2);
56395
+ i0.ɵɵproperty("ngClass", ctx_r0.dividerLabelClasses());
56396
+ i0.ɵɵadvance();
56397
+ i0.ɵɵtextInterpolate1(" vs. ", ctx_r0.priorYear(), " ");
56398
+ i0.ɵɵadvance(3);
56371
56399
  i0.ɵɵproperty("ngClass", ctx_r0.calculatedLabelClasses());
56372
56400
  i0.ɵɵadvance(2);
56373
56401
  i0.ɵɵproperty("ngClass", ctx_r0.calculatedSecondaryClasses());
@@ -56380,16 +56408,16 @@ function InitialTargetSettingComponent_Conditional_14_Template(rf, ctx) { if (rf
56380
56408
  i0.ɵɵadvance();
56381
56409
  i0.ɵɵtextInterpolate1(" +", ctx_r0.formatPercentage(ctx_r0.percentageIncrease(), 1), " ");
56382
56410
  i0.ɵɵadvance();
56383
- i0.ɵɵconditional(ctx_r0.currentPaceProjection() > 0 && ctx_r0.gapToClose().amount !== 0 ? 20 : -1);
56411
+ i0.ɵɵconditional(ctx_r0.currentPaceProjection() > 0 && ctx_r0.gapToClose().amount !== 0 ? 24 : -1);
56384
56412
  } }
56385
- function InitialTargetSettingComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
56386
- i0.ɵɵelement(0, "symphiq-area-chart", 13);
56413
+ function InitialTargetSettingComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
56414
+ i0.ɵɵelement(0, "symphiq-area-chart", 18);
56387
56415
  } if (rf & 2) {
56388
56416
  const ctx_r0 = i0.ɵɵnextContext();
56389
56417
  i0.ɵɵproperty("chart", ctx_r0.revenueChartData())("showAxisLabels", true)("viewMode", ctx_r0.viewMode())("currencySymbol", "$")("height", "320px");
56390
56418
  } }
56391
- function InitialTargetSettingComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
56392
- i0.ɵɵelementStart(0, "div", 14)(1, "p", 31);
56419
+ function InitialTargetSettingComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
56420
+ i0.ɵɵelementStart(0, "div", 19)(1, "p", 40);
56393
56421
  i0.ɵɵtext(2, " No revenue data available ");
56394
56422
  i0.ɵɵelementEnd()();
56395
56423
  } if (rf & 2) {
@@ -56397,14 +56425,14 @@ function InitialTargetSettingComponent_Conditional_20_Template(rf, ctx) { if (rf
56397
56425
  i0.ɵɵadvance();
56398
56426
  i0.ɵɵproperty("ngClass", ctx_r0.noDataClasses());
56399
56427
  } }
56400
- function InitialTargetSettingComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
56401
- i0.ɵɵelementStart(0, "div", 3)(1, "div", 32)(2, "h2", 33);
56428
+ function InitialTargetSettingComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
56429
+ i0.ɵɵelementStart(0, "div", 3)(1, "div", 41)(2, "h2", 42);
56402
56430
  i0.ɵɵtext(3, " Contributing Metrics ");
56403
56431
  i0.ɵɵelementEnd();
56404
- i0.ɵɵelementStart(4, "p", 31);
56432
+ i0.ɵɵelementStart(4, "p", 40);
56405
56433
  i0.ɵɵtext(5);
56406
56434
  i0.ɵɵelementEnd()();
56407
- i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization", 34);
56435
+ i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization", 43);
56408
56436
  i0.ɵɵelementEnd();
56409
56437
  } if (rf & 2) {
56410
56438
  const ctx_r0 = i0.ɵɵnextContext();
@@ -56794,6 +56822,46 @@ class InitialTargetSettingComponent {
56794
56822
  ? 'bg-slate-700 text-slate-300 border-2 border-slate-600 hover:bg-slate-600'
56795
56823
  : 'bg-slate-100 text-slate-600 border-2 border-slate-300 hover:bg-slate-200';
56796
56824
  }
56825
+ baselineMetricsCardClasses() {
56826
+ return this.viewMode() === ViewModeEnum.DARK
56827
+ ? 'bg-slate-800/60 border border-slate-700'
56828
+ : 'bg-slate-50 border border-slate-200';
56829
+ }
56830
+ baselineIconClasses() {
56831
+ return this.viewMode() === ViewModeEnum.DARK
56832
+ ? 'text-blue-400'
56833
+ : 'text-blue-600';
56834
+ }
56835
+ baselineLabelClasses() {
56836
+ return this.viewMode() === ViewModeEnum.DARK
56837
+ ? 'text-slate-300'
56838
+ : 'text-slate-700';
56839
+ }
56840
+ baselineValueClasses() {
56841
+ return this.viewMode() === ViewModeEnum.DARK
56842
+ ? 'text-blue-300'
56843
+ : 'text-blue-700';
56844
+ }
56845
+ projectionIconClasses() {
56846
+ return this.viewMode() === ViewModeEnum.DARK
56847
+ ? 'text-emerald-400'
56848
+ : 'text-emerald-600';
56849
+ }
56850
+ projectionLabelClasses() {
56851
+ return this.viewMode() === ViewModeEnum.DARK
56852
+ ? 'text-slate-300'
56853
+ : 'text-slate-700';
56854
+ }
56855
+ projectionValueClasses() {
56856
+ return this.viewMode() === ViewModeEnum.DARK
56857
+ ? 'text-emerald-300'
56858
+ : 'text-emerald-700';
56859
+ }
56860
+ dividerLabelClasses() {
56861
+ return this.viewMode() === ViewModeEnum.DARK
56862
+ ? 'bg-purple-900/60 text-purple-300 border border-purple-500/30'
56863
+ : 'bg-purple-100 text-purple-700 border border-purple-300';
56864
+ }
56797
56865
  static { this.ɵfac = function InitialTargetSettingComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InitialTargetSettingComponent)(); }; }
56798
56866
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InitialTargetSettingComponent, selectors: [["symphiq-initial-target-setting"]], viewQuery: function InitialTargetSettingComponent_Query(rf, ctx) { if (rf & 1) {
56799
56867
  i0.ɵɵviewQuery(_c0$r, 5);
@@ -56802,99 +56870,122 @@ class InitialTargetSettingComponent {
56802
56870
  let _t;
56803
56871
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
56804
56872
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.percentageInputRef = _t.first);
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) {
56873
+ } }, 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: 28, vars: 24, 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, "p-4", "rounded-lg", "mb-4", "space-y-2", 3, "ngClass"], [1, "flex", "items-center", "gap-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "text-sm", "font-bold", "ml-auto", 3, "ngClass"], [1, "calculated-card-enter"], [1, "calculated-card-content"], [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"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"], [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, "relative", "pt-4", 3, "ngClass"], [1, "absolute", "top-0", "left-1/2", "-translate-x-1/2", "-translate-y-1/2"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-4"], [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) {
56806
56874
  i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "h2", 4);
56807
- i0.ɵɵtext(3, " Calculate Your Revenue Target ");
56808
- i0.ɵɵelementEnd();
56809
- i0.ɵɵelementStart(4, "div", 5)(5, "div", 6)(6, "div")(7, "label", 7);
56810
- i0.ɵɵtext(8);
56875
+ i0.ɵɵtext(3);
56811
56876
  i0.ɵɵelementEnd();
56812
- i0.ɵɵelementStart(9, "div", 8)(10, "p", 9);
56813
- i0.ɵɵtext(11);
56877
+ i0.ɵɵelementStart(4, "div", 5)(5, "div", 6)(6, "div")(7, "div", 7)(8, "div", 8);
56878
+ i0.ɵɵnamespaceSVG();
56879
+ i0.ɵɵelementStart(9, "svg", 9);
56880
+ i0.ɵɵelement(10, "path", 10);
56814
56881
  i0.ɵɵelementEnd();
56815
- i0.ɵɵconditionalCreate(12, InitialTargetSettingComponent_Conditional_12_Template, 2, 2, "p", 9);
56882
+ i0.ɵɵnamespaceHTML();
56883
+ i0.ɵɵelementStart(11, "p", 11);
56884
+ i0.ɵɵtext(12);
56816
56885
  i0.ɵɵelementEnd();
56817
- i0.ɵɵconditionalCreate(13, InitialTargetSettingComponent_Conditional_13_Template, 7, 3);
56886
+ i0.ɵɵelementStart(13, "p", 12);
56887
+ i0.ɵɵtext(14);
56888
+ i0.ɵɵelementEnd()();
56889
+ i0.ɵɵconditionalCreate(15, InitialTargetSettingComponent_Conditional_15_Template, 7, 4, "div", 8);
56818
56890
  i0.ɵɵelementEnd();
56819
- i0.ɵɵconditionalCreate(14, InitialTargetSettingComponent_Conditional_14_Template, 21, 14, "div", 10);
56891
+ i0.ɵɵconditionalCreate(16, InitialTargetSettingComponent_Conditional_16_Template, 7, 3);
56820
56892
  i0.ɵɵelementEnd();
56821
- i0.ɵɵelementStart(15, "div")(16, "p", 11);
56822
- i0.ɵɵtext(17, " Year-over-Year Revenue Trend ");
56893
+ i0.ɵɵelementStart(17, "div", 13)(18, "div", 14);
56894
+ i0.ɵɵconditionalCreate(19, InitialTargetSettingComponent_Conditional_19_Template, 25, 16, "div", 15);
56895
+ i0.ɵɵelementEnd()()();
56896
+ i0.ɵɵelementStart(20, "div")(21, "p", 16);
56897
+ i0.ɵɵtext(22, " Year-over-Year Revenue Trend ");
56823
56898
  i0.ɵɵelementEnd();
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);
56899
+ i0.ɵɵelementStart(23, "div", 17);
56900
+ i0.ɵɵconditionalCreate(24, InitialTargetSettingComponent_Conditional_24_Template, 1, 5, "symphiq-area-chart", 18)(25, InitialTargetSettingComponent_Conditional_25_Template, 3, 1, "div", 19);
56826
56901
  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(); });
56902
+ i0.ɵɵconditionalCreate(26, InitialTargetSettingComponent_Conditional_26_Template, 7, 7, "div", 3);
56903
+ i0.ɵɵelementStart(27, "symphiq-sticky-submit-bar", 20);
56904
+ i0.ɵɵlistener("submitClick", function InitialTargetSettingComponent_Template_symphiq_sticky_submit_bar_submitClick_27_listener() { return ctx.handleSubmitClick(); })("cancelClick", function InitialTargetSettingComponent_Template_symphiq_sticky_submit_bar_cancelClick_27_listener() { return ctx.handleCancel(); });
56830
56905
  i0.ɵɵelementEnd()();
56831
56906
  } if (rf & 2) {
56832
56907
  i0.ɵɵadvance();
56833
56908
  i0.ɵɵproperty("ngClass", ctx.sectionCardClasses());
56834
56909
  i0.ɵɵadvance();
56835
56910
  i0.ɵɵproperty("ngClass", ctx.sectionTitleClasses());
56836
- i0.ɵɵadvance(5);
56837
- i0.ɵɵproperty("ngClass", ctx.labelClasses());
56838
56911
  i0.ɵɵadvance();
56839
- i0.ɵɵtextInterpolate1(" ", ctx.currentYear(), " Revenue ");
56912
+ i0.ɵɵtextInterpolate1(" Calculate Your ", ctx.currentYear(), " Revenue Target ");
56913
+ i0.ɵɵadvance(4);
56914
+ i0.ɵɵproperty("ngClass", ctx.baselineMetricsCardClasses());
56915
+ i0.ɵɵadvance(2);
56916
+ i0.ɵɵproperty("ngClass", ctx.baselineIconClasses());
56840
56917
  i0.ɵɵadvance(2);
56841
- i0.ɵɵproperty("ngClass", ctx.priorYearLabelClasses());
56918
+ i0.ɵɵproperty("ngClass", ctx.baselineLabelClasses());
56842
56919
  i0.ɵɵadvance();
56843
- i0.ɵɵtextInterpolate2(" ", ctx.priorYear(), " Revenue: ", ctx.formatCurrency(ctx.priorYearRevenue()), " ");
56920
+ i0.ɵɵtextInterpolate1(" ", ctx.priorYear(), " Revenue: ");
56844
56921
  i0.ɵɵadvance();
56845
- i0.ɵɵconditional(ctx.currentPaceProjection() > 0 ? 12 : -1);
56922
+ i0.ɵɵproperty("ngClass", ctx.baselineValueClasses());
56846
56923
  i0.ɵɵadvance();
56847
- i0.ɵɵconditional(ctx.calculationState() !== "results" ? 13 : -1);
56924
+ i0.ɵɵtextInterpolate1(" ", ctx.formatCurrency(ctx.priorYearRevenue()), " ");
56848
56925
  i0.ɵɵadvance();
56849
- i0.ɵɵconditional(ctx.calculatedRevenue() > 0 ? 14 : -1);
56926
+ i0.ɵɵconditional(ctx.currentPaceProjection() > 0 ? 15 : -1);
56927
+ i0.ɵɵadvance();
56928
+ i0.ɵɵconditional(ctx.calculationState() !== "results" ? 16 : -1);
56929
+ i0.ɵɵadvance();
56930
+ i0.ɵɵclassProp("calculated-card-enter-active", ctx.calculatedRevenue() > 0);
56931
+ i0.ɵɵadvance(2);
56932
+ i0.ɵɵconditional(ctx.calculatedRevenue() > 0 ? 19 : -1);
56850
56933
  i0.ɵɵadvance(2);
56851
56934
  i0.ɵɵproperty("ngClass", ctx.chartTitleClasses());
56852
56935
  i0.ɵɵadvance(2);
56853
56936
  i0.ɵɵproperty("ngClass", ctx.chartContainerClasses());
56854
56937
  i0.ɵɵadvance();
56855
- i0.ɵɵconditional(ctx.revenueChartData() ? 19 : 20);
56938
+ i0.ɵɵconditional(ctx.revenueChartData() ? 24 : 25);
56856
56939
  i0.ɵɵadvance(2);
56857
- i0.ɵɵconditional(ctx.showMetricsVisualization() ? 21 : -1);
56940
+ i0.ɵɵconditional(ctx.showMetricsVisualization() ? 26 : -1);
56858
56941
  i0.ɵɵadvance();
56859
56942
  i0.ɵɵproperty("viewMode", ctx.viewMode())("isValid", ctx.isValid())("isSubmitting", ctx.isCalculating())("validationMessage", ctx.validationMessage())("buttonText", ctx.submitButtonText())("showCancelButton", ctx.calculationState() === "input" && ctx.hasStoredResponse());
56860
56943
  } }, 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,
56861
56944
  StickySubmitBarComponent,
56862
- AreaChartComponent], encapsulation: 2, changeDetection: 0 }); }
56945
+ AreaChartComponent], styles: [".calculated-card-enter[_ngcontent-%COMP%]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out}.calculated-card-enter-active[_ngcontent-%COMP%]{grid-template-rows:1fr}.calculated-card-content[_ngcontent-%COMP%]{overflow:hidden}"], changeDetection: 0 }); }
56863
56946
  }
56864
56947
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InitialTargetSettingComponent, [{
56865
56948
  type: Component,
56866
- args: [{
56867
- selector: 'symphiq-initial-target-setting',
56868
- standalone: true,
56869
- imports: [
56949
+ args: [{ selector: 'symphiq-initial-target-setting', standalone: true, imports: [
56870
56950
  CommonModule,
56871
56951
  FormsModule,
56872
56952
  FunnelMetricsVisualizationComponent,
56873
56953
  StickySubmitBarComponent,
56874
56954
  AreaChartComponent
56875
- ],
56876
- changeDetection: ChangeDetectionStrategy.OnPush,
56877
- template: `
56955
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: `
56878
56956
  <div class="space-y-8 pb-32">
56879
56957
  <div [ngClass]="sectionCardClasses()" class="rounded-2xl border shadow-lg p-8">
56880
56958
  <h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-6">
56881
- Calculate Your Revenue Target
56959
+ Calculate Your {{ currentYear() }} Revenue Target
56882
56960
  </h2>
56883
56961
 
56884
56962
  <div class="grid lg:grid-cols-2 gap-8">
56885
56963
  <div class="space-y-6">
56886
56964
  <div>
56887
- <label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
56888
- {{ currentYear() }} Revenue
56889
- </label>
56890
- <div class="space-y-1 mb-4">
56891
- <p [ngClass]="priorYearLabelClasses()" class="text-xs">
56892
- {{ priorYear() }} Revenue: {{ formatCurrency(priorYearRevenue()) }}
56893
- </p>
56894
- @if (currentPaceProjection() > 0) {
56895
- <p [ngClass]="priorYearLabelClasses()" class="text-xs">
56896
- Current Pace Projection: {{ formatCurrency(currentPaceProjection()) }}
56965
+ <div [ngClass]="baselineMetricsCardClasses()" class="p-4 rounded-lg mb-4 space-y-2">
56966
+ <div class="flex items-center gap-2">
56967
+ <svg class="w-4 h-4" [ngClass]="baselineIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
56968
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"></path>
56969
+ </svg>
56970
+ <p [ngClass]="baselineLabelClasses()" class="text-sm font-semibold">
56971
+ {{ priorYear() }} Revenue:
56897
56972
  </p>
56973
+ <p [ngClass]="baselineValueClasses()" class="text-sm font-bold ml-auto">
56974
+ {{ formatCurrency(priorYearRevenue()) }}
56975
+ </p>
56976
+ </div>
56977
+ @if (currentPaceProjection() > 0) {
56978
+ <div class="flex items-center gap-2">
56979
+ <svg class="w-4 h-4" [ngClass]="projectionIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
56980
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"></path>
56981
+ </svg>
56982
+ <p [ngClass]="projectionLabelClasses()" class="text-sm font-semibold">
56983
+ Current Pace Projection:
56984
+ </p>
56985
+ <p [ngClass]="projectionValueClasses()" class="text-sm font-bold ml-auto">
56986
+ {{ formatCurrency(currentPaceProjection()) }}
56987
+ </p>
56988
+ </div>
56898
56989
  }
56899
56990
  </div>
56900
56991
 
@@ -56951,68 +57042,88 @@ class InitialTargetSettingComponent {
56951
57042
  }
56952
57043
  </div>
56953
57044
 
56954
- @if (calculatedRevenue() > 0) {
56955
- <div [ngClass]="calculatedValuesCardClasses()" class="p-6 rounded-xl border-2">
56956
- <div class="space-y-4">
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
- }
56974
- </div>
56975
- <div class="grid grid-cols-2 gap-4 pt-4" [ngClass]="calculatedDividerClasses()">
56976
- <div>
56977
- <p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
56978
- Increase Amount
56979
- </p>
56980
- <p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
56981
- {{ formatCurrency(calculatedRevenue() - priorYearRevenue()) }}
56982
- </p>
56983
- </div>
56984
- <div>
56985
- <p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
56986
- % Growth
56987
- </p>
56988
- <p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
56989
- +{{ formatPercentage(percentageIncrease(), 1) }}
56990
- </p>
56991
- </div>
56992
- </div>
56993
- @if (currentPaceProjection() > 0 && gapToClose().amount !== 0) {
56994
- <div class="grid grid-cols-2 gap-4 pt-4" [ngClass]="calculatedDividerClasses()">
56995
- <div>
56996
- <p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
56997
- Gap to Close
56998
- </p>
56999
- <p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
57000
- {{ formatCurrency(absValue(gapToClose().amount)) }}
57001
- </p>
57045
+ <div class="calculated-card-enter" [class.calculated-card-enter-active]="calculatedRevenue() > 0">
57046
+ <div class="calculated-card-content">
57047
+ @if (calculatedRevenue() > 0) {
57048
+ <div [ngClass]="calculatedValuesCardClasses()" class="p-6 rounded-xl border-2">
57049
+ <div class="space-y-4">
57050
+ <div class="flex items-center justify-between">
57051
+ <div>
57052
+ <p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
57053
+ {{ currentYear() }} Revenue Target
57054
+ </p>
57055
+ <p [ngClass]="calculatedValueClasses()" class="text-3xl font-bold">
57056
+ {{ formatCurrency(displayedTargetRevenue()) }}
57057
+ </p>
57058
+ </div>
57059
+ @if (calculationState() === 'results') {
57060
+ <button
57061
+ (click)="handleAdjustTarget()"
57062
+ [ngClass]="secondaryButtonClasses()"
57063
+ class="px-4 py-2 rounded-lg text-sm font-semibold transition-all whitespace-nowrap">
57064
+ Adjust Revenue Target
57065
+ </button>
57066
+ }
57002
57067
  </div>
57003
- <div>
57004
- <p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
57005
- Additional Growth Needed
57006
- </p>
57007
- <p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
57008
- {{ gapToClose().amount > 0 ? '+' : '' }}{{ formatPercentage(gapToClose().percentage, 1) }}
57009
- </p>
57068
+
57069
+ <div class="relative pt-4" [ngClass]="calculatedDividerClasses()">
57070
+ <div class="absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2">
57071
+ <span [ngClass]="dividerLabelClasses()" class="px-3 py-1 rounded-full text-xs font-semibold whitespace-nowrap">
57072
+ vs. {{ priorYear() }}
57073
+ </span>
57074
+ </div>
57075
+ <div class="grid grid-cols-2 gap-4">
57076
+ <div>
57077
+ <p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
57078
+ Increase Amount
57079
+ </p>
57080
+ <p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
57081
+ {{ formatCurrency(calculatedRevenue() - priorYearRevenue()) }}
57082
+ </p>
57083
+ </div>
57084
+ <div>
57085
+ <p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
57086
+ % Growth
57087
+ </p>
57088
+ <p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
57089
+ +{{ formatPercentage(percentageIncrease(), 1) }}
57090
+ </p>
57091
+ </div>
57092
+ </div>
57010
57093
  </div>
57094
+
57095
+ @if (currentPaceProjection() > 0 && gapToClose().amount !== 0) {
57096
+ <div class="relative pt-4" [ngClass]="calculatedDividerClasses()">
57097
+ <div class="absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2">
57098
+ <span [ngClass]="dividerLabelClasses()" class="px-3 py-1 rounded-full text-xs font-semibold whitespace-nowrap">
57099
+ {{ currentYear() }} YTD Gap
57100
+ </span>
57101
+ </div>
57102
+ <div class="grid grid-cols-2 gap-4">
57103
+ <div>
57104
+ <p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
57105
+ Gap to Close
57106
+ </p>
57107
+ <p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
57108
+ {{ formatCurrency(absValue(gapToClose().amount)) }}
57109
+ </p>
57110
+ </div>
57111
+ <div>
57112
+ <p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
57113
+ Additional Growth Needed
57114
+ </p>
57115
+ <p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
57116
+ {{ gapToClose().amount > 0 ? '+' : '' }}{{ formatPercentage(gapToClose().percentage, 1) }}
57117
+ </p>
57118
+ </div>
57119
+ </div>
57120
+ </div>
57121
+ }
57011
57122
  </div>
57012
- }
57013
- </div>
57123
+ </div>
57124
+ }
57014
57125
  </div>
57015
- }
57126
+ </div>
57016
57127
  </div>
57017
57128
 
57018
57129
  <div>
@@ -57070,8 +57181,7 @@ class InitialTargetSettingComponent {
57070
57181
  (cancelClick)="handleCancel()"
57071
57182
  />
57072
57183
  </div>
57073
- `
57074
- }]
57184
+ `, styles: [".calculated-card-enter{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out}.calculated-card-enter-active{grid-template-rows:1fr}.calculated-card-content{overflow:hidden}\n"] }]
57075
57185
  }], () => [], { absoluteInputRef: [{
57076
57186
  type: ViewChild,
57077
57187
  args: ['absoluteInputRef']
@@ -57079,7 +57189,7 @@ class InitialTargetSettingComponent {
57079
57189
  type: ViewChild,
57080
57190
  args: ['percentageInputRef']
57081
57191
  }], 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"] }] }); })();
57082
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 247 }); })();
57192
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 295 }); })();
57083
57193
 
57084
57194
  function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {
57085
57195
  i0.ɵɵelement(0, "div", 5);