@eric-emg/symphiq-components 1.2.202 → 1.2.204
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 +410 -291
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +6 -6
- package/package.json +1 -1
- package/styles.css +14 -0
|
@@ -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
|
|
56230
|
-
i0.ɵɵelementStart(0, "
|
|
56231
|
-
i0.ɵɵ
|
|
56229
|
+
function InitialTargetSettingComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
56230
|
+
i0.ɵɵelementStart(0, "div", 9);
|
|
56231
|
+
i0.ɵɵnamespaceSVG();
|
|
56232
|
+
i0.ɵɵelementStart(1, "svg", 10);
|
|
56233
|
+
i0.ɵɵelement(2, "path", 23);
|
|
56232
56234
|
i0.ɵɵelementEnd();
|
|
56235
|
+
i0.ɵɵnamespaceHTML();
|
|
56236
|
+
i0.ɵɵelementStart(3, "div")(4, "p", 12);
|
|
56237
|
+
i0.ɵɵtext(5, " Current Pace Projection ");
|
|
56238
|
+
i0.ɵɵelementEnd();
|
|
56239
|
+
i0.ɵɵelementStart(6, "p", 13);
|
|
56240
|
+
i0.ɵɵtext(7);
|
|
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.ɵɵ
|
|
56245
|
+
i0.ɵɵproperty("ngClass", ctx_r0.projectionIconClasses());
|
|
56246
|
+
i0.ɵɵadvance(3);
|
|
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
|
|
56253
|
+
function InitialTargetSettingComponent_Conditional_17_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
56240
56254
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
56241
|
-
i0.ɵɵelementStart(0, "div",
|
|
56255
|
+
i0.ɵɵelementStart(0, "div", 26)(1, "span", 27);
|
|
56242
56256
|
i0.ɵɵtext(2, " $ ");
|
|
56243
56257
|
i0.ɵɵelementEnd();
|
|
56244
|
-
i0.ɵɵelementStart(3, "input",
|
|
56245
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
56246
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
56258
|
+
i0.ɵɵelementStart(3, "input", 28, 0);
|
|
56259
|
+
i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_17_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_17_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
|
|
56270
|
+
function InitialTargetSettingComponent_Conditional_17_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
56257
56271
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
56258
|
-
i0.ɵɵelementStart(0, "div",
|
|
56259
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
56260
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
56272
|
+
i0.ɵɵelementStart(0, "div", 26)(1, "input", 29, 1);
|
|
56273
|
+
i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_17_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_17_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",
|
|
56276
|
+
i0.ɵɵelementStart(3, "span", 30);
|
|
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
|
|
56287
|
+
function InitialTargetSettingComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
56274
56288
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
56275
|
-
i0.ɵɵelementStart(0, "div",
|
|
56276
|
-
i0.ɵɵlistener("click", function
|
|
56289
|
+
i0.ɵɵelementStart(0, "div", 24)(1, "button", 25);
|
|
56290
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_17_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",
|
|
56280
|
-
i0.ɵɵlistener("click", function
|
|
56293
|
+
i0.ɵɵelementStart(3, "button", 25);
|
|
56294
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_17_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,
|
|
56297
|
+
i0.ɵɵconditionalCreate(5, InitialTargetSettingComponent_Conditional_17_Conditional_5_Template, 5, 3, "div", 26)(6, InitialTargetSettingComponent_Conditional_17_Conditional_6_Template, 5, 3, "div", 26);
|
|
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
|
|
56307
|
+
function InitialTargetSettingComponent_Conditional_20_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
56294
56308
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
56295
|
-
i0.ɵɵelementStart(0, "button",
|
|
56296
|
-
i0.ɵɵlistener("click", function
|
|
56309
|
+
i0.ɵɵelementStart(0, "button", 41);
|
|
56310
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_20_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
|
|
56304
|
-
i0.ɵɵelementStart(0, "div",
|
|
56305
|
-
i0.ɵɵtext(3
|
|
56317
|
+
function InitialTargetSettingComponent_Conditional_20_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
56318
|
+
i0.ɵɵelementStart(0, "div", 36)(1, "div", 37)(2, "span", 38);
|
|
56319
|
+
i0.ɵɵtext(3);
|
|
56320
|
+
i0.ɵɵelementEnd()();
|
|
56321
|
+
i0.ɵɵelementStart(4, "div", 39)(5, "div")(6, "p", 33);
|
|
56322
|
+
i0.ɵɵtext(7, " Gap to Close ");
|
|
56306
56323
|
i0.ɵɵelementEnd();
|
|
56307
|
-
i0.ɵɵelementStart(
|
|
56308
|
-
i0.ɵɵtext(
|
|
56324
|
+
i0.ɵɵelementStart(8, "p", 40);
|
|
56325
|
+
i0.ɵɵtext(9);
|
|
56309
56326
|
i0.ɵɵelementEnd()();
|
|
56310
|
-
i0.ɵɵelementStart(
|
|
56311
|
-
i0.ɵɵtext(
|
|
56327
|
+
i0.ɵɵelementStart(10, "div")(11, "p", 33);
|
|
56328
|
+
i0.ɵɵtext(12, " Additional Growth Needed ");
|
|
56312
56329
|
i0.ɵɵelementEnd();
|
|
56313
|
-
i0.ɵɵelementStart(
|
|
56314
|
-
i0.ɵɵtext(
|
|
56315
|
-
i0.ɵɵelementEnd()()();
|
|
56330
|
+
i0.ɵɵelementStart(13, "p", 40);
|
|
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
|
|
56333
|
-
i0.ɵɵelementStart(0, "div",
|
|
56353
|
+
function InitialTargetSettingComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
56354
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "div", 31)(2, "div", 32)(3, "div")(4, "p", 33);
|
|
56334
56355
|
i0.ɵɵtext(5);
|
|
56335
56356
|
i0.ɵɵelementEnd();
|
|
56336
|
-
i0.ɵɵelementStart(6, "p",
|
|
56357
|
+
i0.ɵɵelementStart(6, "p", 34);
|
|
56337
56358
|
i0.ɵɵtext(7);
|
|
56338
56359
|
i0.ɵɵelementEnd()();
|
|
56339
|
-
i0.ɵɵconditionalCreate(8,
|
|
56360
|
+
i0.ɵɵconditionalCreate(8, InitialTargetSettingComponent_Conditional_20_Conditional_8_Template, 2, 1, "button", 35);
|
|
56340
56361
|
i0.ɵɵelementEnd();
|
|
56341
|
-
i0.ɵɵelementStart(9, "div",
|
|
56342
|
-
i0.ɵɵtext(12
|
|
56362
|
+
i0.ɵɵelementStart(9, "div", 36)(10, "div", 37)(11, "span", 38);
|
|
56363
|
+
i0.ɵɵtext(12);
|
|
56364
|
+
i0.ɵɵelementEnd()();
|
|
56365
|
+
i0.ɵɵelementStart(13, "div", 39)(14, "div")(15, "p", 33);
|
|
56366
|
+
i0.ɵɵtext(16, " Increase Amount ");
|
|
56343
56367
|
i0.ɵɵelementEnd();
|
|
56344
|
-
i0.ɵɵelementStart(
|
|
56345
|
-
i0.ɵɵtext(
|
|
56368
|
+
i0.ɵɵelementStart(17, "p", 40);
|
|
56369
|
+
i0.ɵɵtext(18);
|
|
56346
56370
|
i0.ɵɵelementEnd()();
|
|
56347
|
-
i0.ɵɵelementStart(
|
|
56348
|
-
i0.ɵɵtext(
|
|
56371
|
+
i0.ɵɵelementStart(19, "div")(20, "p", 33);
|
|
56372
|
+
i0.ɵɵtext(21, " % Growth ");
|
|
56349
56373
|
i0.ɵɵelementEnd();
|
|
56350
|
-
i0.ɵɵelementStart(
|
|
56351
|
-
i0.ɵɵtext(
|
|
56352
|
-
i0.ɵɵelementEnd()()();
|
|
56353
|
-
i0.ɵɵconditionalCreate(
|
|
56374
|
+
i0.ɵɵelementStart(22, "p", 40);
|
|
56375
|
+
i0.ɵɵtext(23);
|
|
56376
|
+
i0.ɵɵelementEnd()()()();
|
|
56377
|
+
i0.ɵɵconditionalCreate(24, InitialTargetSettingComponent_Conditional_20_Conditional_24_Template, 15, 10, "div", 36);
|
|
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 ?
|
|
56411
|
+
i0.ɵɵconditional(ctx_r0.currentPaceProjection() > 0 && ctx_r0.gapToClose().amount !== 0 ? 24 : -1);
|
|
56384
56412
|
} }
|
|
56385
|
-
function
|
|
56386
|
-
i0.ɵɵelement(0, "symphiq-area-chart",
|
|
56413
|
+
function InitialTargetSettingComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
56414
|
+
i0.ɵɵelement(0, "symphiq-area-chart", 20);
|
|
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
|
|
56392
|
-
i0.ɵɵelementStart(0, "div",
|
|
56419
|
+
function InitialTargetSettingComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
56420
|
+
i0.ɵɵelementStart(0, "div", 21)(1, "p", 42);
|
|
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
|
|
56401
|
-
i0.ɵɵelementStart(0, "div", 3)(1, "div",
|
|
56428
|
+
function InitialTargetSettingComponent_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
56429
|
+
i0.ɵɵelementStart(0, "div", 3)(1, "div", 43)(2, "h2", 44);
|
|
56402
56430
|
i0.ɵɵtext(3, " Contributing Metrics ");
|
|
56403
56431
|
i0.ɵɵelementEnd();
|
|
56404
|
-
i0.ɵɵelementStart(4, "p",
|
|
56432
|
+
i0.ɵɵelementStart(4, "p", 42);
|
|
56405
56433
|
i0.ɵɵtext(5);
|
|
56406
56434
|
i0.ɵɵelementEnd()();
|
|
56407
|
-
i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization",
|
|
56435
|
+
i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization", 45);
|
|
56408
56436
|
i0.ɵɵelementEnd();
|
|
56409
56437
|
} if (rf & 2) {
|
|
56410
56438
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -56794,6 +56822,51 @@ 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
|
+
}
|
|
56865
|
+
formAreaClasses() {
|
|
56866
|
+
return this.viewMode() === ViewModeEnum.DARK
|
|
56867
|
+
? 'bg-slate-800/60 border-slate-600'
|
|
56868
|
+
: 'bg-slate-50 border-slate-300';
|
|
56869
|
+
}
|
|
56797
56870
|
static { this.ɵfac = function InitialTargetSettingComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InitialTargetSettingComponent)(); }; }
|
|
56798
56871
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InitialTargetSettingComponent, selectors: [["symphiq-initial-target-setting"]], viewQuery: function InitialTargetSettingComponent_Query(rf, ctx) { if (rf & 1) {
|
|
56799
56872
|
i0.ɵɵviewQuery(_c0$r, 5);
|
|
@@ -56802,276 +56875,322 @@ class InitialTargetSettingComponent {
|
|
|
56802
56875
|
let _t;
|
|
56803
56876
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
|
|
56804
56877
|
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:
|
|
56878
|
+
} }, 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: 29, 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, "flex", "flex-col", "gap-8"], [1, "grid", "lg:grid-cols-2", "gap-8"], [1, "p-6", "rounded-xl", "border-2", "space-y-6", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-4"], [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-xs", "font-medium", "uppercase", "tracking-wider", 3, "ngClass"], [1, "text-lg", "font-bold", 3, "ngClass"], [1, "calculated-card-enter", "order-first", "lg:order-last"], [1, "calculated-card-content"], [1, "p-6", "rounded-xl", "border-2", "h-full", 3, "ngClass"], [1, "w-full"], [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"], [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-6"], [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-6", "mt-6", 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", "pt-2"], [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
56879
|
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "h2", 4);
|
|
56807
|
-
i0.ɵɵtext(3
|
|
56808
|
-
i0.ɵɵelementEnd();
|
|
56809
|
-
i0.ɵɵelementStart(4, "div", 5)(5, "div", 6)(6, "div")(7, "label", 7);
|
|
56810
|
-
i0.ɵɵtext(8);
|
|
56880
|
+
i0.ɵɵtext(3);
|
|
56811
56881
|
i0.ɵɵelementEnd();
|
|
56812
|
-
i0.ɵɵelementStart(
|
|
56813
|
-
i0.ɵɵ
|
|
56882
|
+
i0.ɵɵelementStart(4, "div", 5)(5, "div", 6)(6, "div", 7)(7, "div", 8)(8, "div", 9);
|
|
56883
|
+
i0.ɵɵnamespaceSVG();
|
|
56884
|
+
i0.ɵɵelementStart(9, "svg", 10);
|
|
56885
|
+
i0.ɵɵelement(10, "path", 11);
|
|
56814
56886
|
i0.ɵɵelementEnd();
|
|
56815
|
-
i0.ɵɵ
|
|
56887
|
+
i0.ɵɵnamespaceHTML();
|
|
56888
|
+
i0.ɵɵelementStart(11, "div")(12, "p", 12);
|
|
56889
|
+
i0.ɵɵtext(13);
|
|
56816
56890
|
i0.ɵɵelementEnd();
|
|
56817
|
-
i0.ɵɵ
|
|
56891
|
+
i0.ɵɵelementStart(14, "p", 13);
|
|
56892
|
+
i0.ɵɵtext(15);
|
|
56893
|
+
i0.ɵɵelementEnd()()();
|
|
56894
|
+
i0.ɵɵconditionalCreate(16, InitialTargetSettingComponent_Conditional_16_Template, 8, 4, "div", 9);
|
|
56818
56895
|
i0.ɵɵelementEnd();
|
|
56819
|
-
i0.ɵɵconditionalCreate(
|
|
56896
|
+
i0.ɵɵconditionalCreate(17, InitialTargetSettingComponent_Conditional_17_Template, 7, 3);
|
|
56820
56897
|
i0.ɵɵelementEnd();
|
|
56821
|
-
i0.ɵɵelementStart(
|
|
56822
|
-
i0.ɵɵ
|
|
56898
|
+
i0.ɵɵelementStart(18, "div", 14)(19, "div", 15);
|
|
56899
|
+
i0.ɵɵconditionalCreate(20, InitialTargetSettingComponent_Conditional_20_Template, 25, 16, "div", 16);
|
|
56900
|
+
i0.ɵɵelementEnd()()();
|
|
56901
|
+
i0.ɵɵelementStart(21, "div", 17)(22, "p", 18);
|
|
56902
|
+
i0.ɵɵtext(23, " Year-over-Year Revenue Trend ");
|
|
56823
56903
|
i0.ɵɵelementEnd();
|
|
56824
|
-
i0.ɵɵelementStart(
|
|
56825
|
-
i0.ɵɵconditionalCreate(
|
|
56904
|
+
i0.ɵɵelementStart(24, "div", 19);
|
|
56905
|
+
i0.ɵɵconditionalCreate(25, InitialTargetSettingComponent_Conditional_25_Template, 1, 5, "symphiq-area-chart", 20)(26, InitialTargetSettingComponent_Conditional_26_Template, 3, 1, "div", 21);
|
|
56826
56906
|
i0.ɵɵelementEnd()()()();
|
|
56827
|
-
i0.ɵɵconditionalCreate(
|
|
56828
|
-
i0.ɵɵelementStart(
|
|
56829
|
-
i0.ɵɵlistener("submitClick", function
|
|
56907
|
+
i0.ɵɵconditionalCreate(27, InitialTargetSettingComponent_Conditional_27_Template, 7, 7, "div", 3);
|
|
56908
|
+
i0.ɵɵelementStart(28, "symphiq-sticky-submit-bar", 22);
|
|
56909
|
+
i0.ɵɵlistener("submitClick", function InitialTargetSettingComponent_Template_symphiq_sticky_submit_bar_submitClick_28_listener() { return ctx.handleSubmitClick(); })("cancelClick", function InitialTargetSettingComponent_Template_symphiq_sticky_submit_bar_cancelClick_28_listener() { return ctx.handleCancel(); });
|
|
56830
56910
|
i0.ɵɵelementEnd()();
|
|
56831
56911
|
} if (rf & 2) {
|
|
56832
56912
|
i0.ɵɵadvance();
|
|
56833
56913
|
i0.ɵɵproperty("ngClass", ctx.sectionCardClasses());
|
|
56834
56914
|
i0.ɵɵadvance();
|
|
56835
56915
|
i0.ɵɵproperty("ngClass", ctx.sectionTitleClasses());
|
|
56836
|
-
i0.ɵɵadvance(5);
|
|
56837
|
-
i0.ɵɵproperty("ngClass", ctx.labelClasses());
|
|
56838
56916
|
i0.ɵɵadvance();
|
|
56839
|
-
i0.ɵɵtextInterpolate1(" ", ctx.currentYear(), " Revenue ");
|
|
56840
|
-
i0.ɵɵadvance(
|
|
56841
|
-
i0.ɵɵproperty("ngClass", ctx.
|
|
56917
|
+
i0.ɵɵtextInterpolate1(" Calculate Your ", ctx.currentYear(), " Revenue Target ");
|
|
56918
|
+
i0.ɵɵadvance(3);
|
|
56919
|
+
i0.ɵɵproperty("ngClass", ctx.formAreaClasses());
|
|
56920
|
+
i0.ɵɵadvance(3);
|
|
56921
|
+
i0.ɵɵproperty("ngClass", ctx.baselineIconClasses());
|
|
56922
|
+
i0.ɵɵadvance(3);
|
|
56923
|
+
i0.ɵɵproperty("ngClass", ctx.baselineLabelClasses());
|
|
56842
56924
|
i0.ɵɵadvance();
|
|
56843
|
-
i0.ɵɵ
|
|
56925
|
+
i0.ɵɵtextInterpolate1(" ", ctx.priorYear(), " Revenue ");
|
|
56844
56926
|
i0.ɵɵadvance();
|
|
56845
|
-
i0.ɵɵ
|
|
56927
|
+
i0.ɵɵproperty("ngClass", ctx.baselineValueClasses());
|
|
56846
56928
|
i0.ɵɵadvance();
|
|
56847
|
-
i0.ɵɵ
|
|
56929
|
+
i0.ɵɵtextInterpolate1(" ", ctx.formatCurrency(ctx.priorYearRevenue()), " ");
|
|
56848
56930
|
i0.ɵɵadvance();
|
|
56849
|
-
i0.ɵɵconditional(ctx.
|
|
56931
|
+
i0.ɵɵconditional(ctx.currentPaceProjection() > 0 ? 16 : -1);
|
|
56932
|
+
i0.ɵɵadvance();
|
|
56933
|
+
i0.ɵɵconditional(ctx.calculationState() !== "results" ? 17 : -1);
|
|
56934
|
+
i0.ɵɵadvance();
|
|
56935
|
+
i0.ɵɵclassProp("calculated-card-enter-active", ctx.calculatedRevenue() > 0);
|
|
56936
|
+
i0.ɵɵadvance(2);
|
|
56937
|
+
i0.ɵɵconditional(ctx.calculatedRevenue() > 0 ? 20 : -1);
|
|
56850
56938
|
i0.ɵɵadvance(2);
|
|
56851
56939
|
i0.ɵɵproperty("ngClass", ctx.chartTitleClasses());
|
|
56852
56940
|
i0.ɵɵadvance(2);
|
|
56853
56941
|
i0.ɵɵproperty("ngClass", ctx.chartContainerClasses());
|
|
56854
56942
|
i0.ɵɵadvance();
|
|
56855
|
-
i0.ɵɵconditional(ctx.revenueChartData() ?
|
|
56943
|
+
i0.ɵɵconditional(ctx.revenueChartData() ? 25 : 26);
|
|
56856
56944
|
i0.ɵɵadvance(2);
|
|
56857
|
-
i0.ɵɵconditional(ctx.showMetricsVisualization() ?
|
|
56945
|
+
i0.ɵɵconditional(ctx.showMetricsVisualization() ? 27 : -1);
|
|
56858
56946
|
i0.ɵɵadvance();
|
|
56859
56947
|
i0.ɵɵproperty("viewMode", ctx.viewMode())("isValid", ctx.isValid())("isSubmitting", ctx.isCalculating())("validationMessage", ctx.validationMessage())("buttonText", ctx.submitButtonText())("showCancelButton", ctx.calculationState() === "input" && ctx.hasStoredResponse());
|
|
56860
56948
|
} }, 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
56949
|
StickySubmitBarComponent,
|
|
56862
|
-
AreaChartComponent],
|
|
56950
|
+
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
56951
|
}
|
|
56864
56952
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InitialTargetSettingComponent, [{
|
|
56865
56953
|
type: Component,
|
|
56866
|
-
args: [{
|
|
56867
|
-
selector: 'symphiq-initial-target-setting',
|
|
56868
|
-
standalone: true,
|
|
56869
|
-
imports: [
|
|
56954
|
+
args: [{ selector: 'symphiq-initial-target-setting', standalone: true, imports: [
|
|
56870
56955
|
CommonModule,
|
|
56871
56956
|
FormsModule,
|
|
56872
56957
|
FunnelMetricsVisualizationComponent,
|
|
56873
56958
|
StickySubmitBarComponent,
|
|
56874
56959
|
AreaChartComponent
|
|
56875
|
-
],
|
|
56876
|
-
|
|
56877
|
-
|
|
56878
|
-
|
|
56879
|
-
|
|
56880
|
-
|
|
56881
|
-
|
|
56882
|
-
|
|
56883
|
-
|
|
56884
|
-
|
|
56885
|
-
|
|
56886
|
-
|
|
56887
|
-
|
|
56888
|
-
|
|
56889
|
-
|
|
56890
|
-
|
|
56891
|
-
|
|
56892
|
-
|
|
56893
|
-
|
|
56894
|
-
|
|
56895
|
-
|
|
56896
|
-
|
|
56897
|
-
</
|
|
56898
|
-
|
|
56899
|
-
|
|
56900
|
-
|
|
56901
|
-
|
|
56902
|
-
|
|
56903
|
-
|
|
56904
|
-
|
|
56905
|
-
|
|
56906
|
-
|
|
56907
|
-
|
|
56908
|
-
|
|
56909
|
-
|
|
56910
|
-
|
|
56911
|
-
|
|
56912
|
-
|
|
56913
|
-
|
|
56914
|
-
|
|
56915
|
-
|
|
56916
|
-
|
|
56917
|
-
|
|
56918
|
-
<
|
|
56919
|
-
|
|
56920
|
-
|
|
56921
|
-
|
|
56922
|
-
|
|
56923
|
-
|
|
56924
|
-
|
|
56925
|
-
|
|
56926
|
-
|
|
56927
|
-
|
|
56928
|
-
|
|
56929
|
-
|
|
56930
|
-
|
|
56931
|
-
|
|
56932
|
-
|
|
56933
|
-
|
|
56934
|
-
|
|
56935
|
-
|
|
56936
|
-
|
|
56937
|
-
|
|
56938
|
-
|
|
56939
|
-
|
|
56940
|
-
[
|
|
56941
|
-
|
|
56942
|
-
|
|
56943
|
-
|
|
56944
|
-
|
|
56945
|
-
|
|
56946
|
-
|
|
56947
|
-
|
|
56948
|
-
|
|
56949
|
-
|
|
56950
|
-
|
|
56951
|
-
|
|
56952
|
-
|
|
56953
|
-
|
|
56954
|
-
|
|
56955
|
-
|
|
56956
|
-
|
|
56957
|
-
|
|
56958
|
-
|
|
56959
|
-
|
|
56960
|
-
|
|
56961
|
-
|
|
56962
|
-
|
|
56963
|
-
|
|
56964
|
-
|
|
56965
|
-
|
|
56966
|
-
|
|
56967
|
-
|
|
56968
|
-
|
|
56969
|
-
|
|
56970
|
-
|
|
56971
|
-
|
|
56972
|
-
|
|
56973
|
-
|
|
56974
|
-
|
|
56975
|
-
|
|
56976
|
-
|
|
56977
|
-
|
|
56978
|
-
|
|
56979
|
-
|
|
56980
|
-
|
|
56981
|
-
|
|
56982
|
-
|
|
56983
|
-
|
|
56984
|
-
|
|
56985
|
-
|
|
56986
|
-
|
|
56987
|
-
|
|
56988
|
-
|
|
56989
|
-
|
|
56990
|
-
|
|
56991
|
-
|
|
56992
|
-
|
|
56993
|
-
|
|
56994
|
-
|
|
56995
|
-
|
|
56996
|
-
|
|
56997
|
-
|
|
56998
|
-
</
|
|
56999
|
-
<
|
|
57000
|
-
|
|
57001
|
-
|
|
57002
|
-
|
|
57003
|
-
|
|
57004
|
-
|
|
57005
|
-
|
|
57006
|
-
|
|
57007
|
-
|
|
57008
|
-
|
|
57009
|
-
|
|
57010
|
-
|
|
57011
|
-
|
|
57012
|
-
|
|
57013
|
-
|
|
57014
|
-
|
|
57015
|
-
|
|
57016
|
-
|
|
57017
|
-
|
|
57018
|
-
|
|
57019
|
-
|
|
57020
|
-
|
|
57021
|
-
|
|
57022
|
-
|
|
57023
|
-
|
|
57024
|
-
|
|
57025
|
-
|
|
57026
|
-
|
|
57027
|
-
|
|
57028
|
-
|
|
57029
|
-
|
|
57030
|
-
|
|
57031
|
-
|
|
57032
|
-
|
|
57033
|
-
|
|
57034
|
-
|
|
57035
|
-
|
|
57036
|
-
|
|
57037
|
-
|
|
57038
|
-
|
|
57039
|
-
|
|
57040
|
-
|
|
57041
|
-
|
|
57042
|
-
|
|
57043
|
-
|
|
57044
|
-
|
|
57045
|
-
|
|
57046
|
-
|
|
57047
|
-
|
|
57048
|
-
|
|
57049
|
-
|
|
57050
|
-
|
|
57051
|
-
|
|
57052
|
-
|
|
57053
|
-
|
|
57054
|
-
|
|
57055
|
-
|
|
57056
|
-
|
|
57057
|
-
[
|
|
57058
|
-
|
|
57059
|
-
|
|
57060
|
-
|
|
57061
|
-
|
|
57062
|
-
|
|
57063
|
-
|
|
57064
|
-
|
|
57065
|
-
|
|
57066
|
-
|
|
57067
|
-
|
|
57068
|
-
|
|
57069
|
-
|
|
57070
|
-
|
|
57071
|
-
|
|
57072
|
-
|
|
57073
|
-
|
|
57074
|
-
|
|
56960
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
56961
|
+
<div class="space-y-8 pb-32">
|
|
56962
|
+
<div [ngClass]="sectionCardClasses()" class="rounded-2xl border shadow-lg p-8">
|
|
56963
|
+
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-6">
|
|
56964
|
+
Calculate Your {{ currentYear() }} Revenue Target
|
|
56965
|
+
</h2>
|
|
56966
|
+
|
|
56967
|
+
<div class="flex flex-col gap-8">
|
|
56968
|
+
<div class="grid lg:grid-cols-2 gap-8">
|
|
56969
|
+
<div [ngClass]="formAreaClasses()" class="p-6 rounded-xl border-2 space-y-6">
|
|
56970
|
+
<div class="flex flex-wrap gap-4">
|
|
56971
|
+
<div class="flex items-center gap-2">
|
|
56972
|
+
<svg class="w-4 h-4" [ngClass]="baselineIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
56973
|
+
<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>
|
|
56974
|
+
</svg>
|
|
56975
|
+
<div>
|
|
56976
|
+
<p [ngClass]="baselineLabelClasses()" class="text-xs font-medium uppercase tracking-wider">
|
|
56977
|
+
{{ priorYear() }} Revenue
|
|
56978
|
+
</p>
|
|
56979
|
+
<p [ngClass]="baselineValueClasses()" class="text-lg font-bold">
|
|
56980
|
+
{{ formatCurrency(priorYearRevenue()) }}
|
|
56981
|
+
</p>
|
|
56982
|
+
</div>
|
|
56983
|
+
</div>
|
|
56984
|
+
@if (currentPaceProjection() > 0) {
|
|
56985
|
+
<div class="flex items-center gap-2">
|
|
56986
|
+
<svg class="w-4 h-4" [ngClass]="projectionIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
56987
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"></path>
|
|
56988
|
+
</svg>
|
|
56989
|
+
<div>
|
|
56990
|
+
<p [ngClass]="projectionLabelClasses()" class="text-xs font-medium uppercase tracking-wider">
|
|
56991
|
+
Current Pace Projection
|
|
56992
|
+
</p>
|
|
56993
|
+
<p [ngClass]="projectionValueClasses()" class="text-lg font-bold">
|
|
56994
|
+
{{ formatCurrency(currentPaceProjection()) }}
|
|
56995
|
+
</p>
|
|
56996
|
+
</div>
|
|
56997
|
+
</div>
|
|
56998
|
+
}
|
|
56999
|
+
</div>
|
|
57000
|
+
|
|
57001
|
+
@if (calculationState() !== 'results') {
|
|
57002
|
+
<div class="flex gap-2">
|
|
57003
|
+
<button
|
|
57004
|
+
(click)="setInputMode('absolute')"
|
|
57005
|
+
[ngClass]="inputModeButtonClasses('absolute')"
|
|
57006
|
+
class="flex-1 py-2 px-4 rounded-lg text-sm font-semibold transition-all">
|
|
57007
|
+
Absolute Amount
|
|
57008
|
+
</button>
|
|
57009
|
+
<button
|
|
57010
|
+
(click)="setInputMode('percentage')"
|
|
57011
|
+
[ngClass]="inputModeButtonClasses('percentage')"
|
|
57012
|
+
class="flex-1 py-2 px-4 rounded-lg text-sm font-semibold transition-all">
|
|
57013
|
+
% Increase
|
|
57014
|
+
</button>
|
|
57015
|
+
</div>
|
|
57016
|
+
|
|
57017
|
+
@if (inputMode() === 'absolute') {
|
|
57018
|
+
<div class="relative">
|
|
57019
|
+
<span [ngClass]="inputPrefixClasses()" class="absolute left-4 top-1/2 -translate-y-1/2 text-xl font-bold">
|
|
57020
|
+
$
|
|
57021
|
+
</span>
|
|
57022
|
+
<input
|
|
57023
|
+
#absoluteInputRef
|
|
57024
|
+
type="number"
|
|
57025
|
+
[(ngModel)]="absoluteInput"
|
|
57026
|
+
(ngModelChange)="onAbsoluteInputChange()"
|
|
57027
|
+
[ngClass]="inputClasses()"
|
|
57028
|
+
class="w-full pl-10 pr-4 py-4 rounded-xl text-2xl font-bold border-2 transition-all"
|
|
57029
|
+
placeholder="0"
|
|
57030
|
+
min="0"
|
|
57031
|
+
step="1000">
|
|
57032
|
+
</div>
|
|
57033
|
+
} @else {
|
|
57034
|
+
<div class="relative">
|
|
57035
|
+
<input
|
|
57036
|
+
#percentageInputRef
|
|
57037
|
+
type="number"
|
|
57038
|
+
[(ngModel)]="percentageInput"
|
|
57039
|
+
(ngModelChange)="onPercentageInputChange()"
|
|
57040
|
+
[ngClass]="inputClasses()"
|
|
57041
|
+
class="w-full pr-10 pl-4 py-4 rounded-xl text-2xl font-bold border-2 transition-all"
|
|
57042
|
+
placeholder="0"
|
|
57043
|
+
min="0"
|
|
57044
|
+
max="1000"
|
|
57045
|
+
step="0.1">
|
|
57046
|
+
<span [ngClass]="inputSuffixClasses()" class="absolute right-4 top-1/2 -translate-y-1/2 text-xl font-bold">
|
|
57047
|
+
%
|
|
57048
|
+
</span>
|
|
57049
|
+
</div>
|
|
57050
|
+
}
|
|
57051
|
+
}
|
|
57052
|
+
</div>
|
|
57053
|
+
|
|
57054
|
+
<div class="calculated-card-enter order-first lg:order-last" [class.calculated-card-enter-active]="calculatedRevenue() > 0">
|
|
57055
|
+
<div class="calculated-card-content">
|
|
57056
|
+
@if (calculatedRevenue() > 0) {
|
|
57057
|
+
<div [ngClass]="calculatedValuesCardClasses()" class="p-6 rounded-xl border-2 h-full">
|
|
57058
|
+
<div class="space-y-6">
|
|
57059
|
+
<div class="flex items-center justify-between">
|
|
57060
|
+
<div>
|
|
57061
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
57062
|
+
{{ currentYear() }} Revenue Target
|
|
57063
|
+
</p>
|
|
57064
|
+
<p [ngClass]="calculatedValueClasses()" class="text-3xl font-bold">
|
|
57065
|
+
{{ formatCurrency(displayedTargetRevenue()) }}
|
|
57066
|
+
</p>
|
|
57067
|
+
</div>
|
|
57068
|
+
@if (calculationState() === 'results') {
|
|
57069
|
+
<button
|
|
57070
|
+
(click)="handleAdjustTarget()"
|
|
57071
|
+
[ngClass]="secondaryButtonClasses()"
|
|
57072
|
+
class="px-4 py-2 rounded-lg text-sm font-semibold transition-all whitespace-nowrap">
|
|
57073
|
+
Adjust Revenue Target
|
|
57074
|
+
</button>
|
|
57075
|
+
}
|
|
57076
|
+
</div>
|
|
57077
|
+
|
|
57078
|
+
<div class="relative pt-6 mt-6" [ngClass]="calculatedDividerClasses()">
|
|
57079
|
+
<div class="absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2">
|
|
57080
|
+
<span [ngClass]="dividerLabelClasses()" class="px-3 py-1 rounded-full text-xs font-semibold whitespace-nowrap">
|
|
57081
|
+
vs. {{ priorYear() }}
|
|
57082
|
+
</span>
|
|
57083
|
+
</div>
|
|
57084
|
+
<div class="grid grid-cols-2 gap-4 pt-2">
|
|
57085
|
+
<div>
|
|
57086
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
57087
|
+
Increase Amount
|
|
57088
|
+
</p>
|
|
57089
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
57090
|
+
{{ formatCurrency(calculatedRevenue() - priorYearRevenue()) }}
|
|
57091
|
+
</p>
|
|
57092
|
+
</div>
|
|
57093
|
+
<div>
|
|
57094
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
57095
|
+
% Growth
|
|
57096
|
+
</p>
|
|
57097
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
57098
|
+
+{{ formatPercentage(percentageIncrease(), 1) }}
|
|
57099
|
+
</p>
|
|
57100
|
+
</div>
|
|
57101
|
+
</div>
|
|
57102
|
+
</div>
|
|
57103
|
+
|
|
57104
|
+
@if (currentPaceProjection() > 0 && gapToClose().amount !== 0) {
|
|
57105
|
+
<div class="relative pt-6 mt-6" [ngClass]="calculatedDividerClasses()">
|
|
57106
|
+
<div class="absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2">
|
|
57107
|
+
<span [ngClass]="dividerLabelClasses()" class="px-3 py-1 rounded-full text-xs font-semibold whitespace-nowrap">
|
|
57108
|
+
{{ currentYear() }} YTD Gap
|
|
57109
|
+
</span>
|
|
57110
|
+
</div>
|
|
57111
|
+
<div class="grid grid-cols-2 gap-4 pt-2">
|
|
57112
|
+
<div>
|
|
57113
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
57114
|
+
Gap to Close
|
|
57115
|
+
</p>
|
|
57116
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
57117
|
+
{{ formatCurrency(absValue(gapToClose().amount)) }}
|
|
57118
|
+
</p>
|
|
57119
|
+
</div>
|
|
57120
|
+
<div>
|
|
57121
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
57122
|
+
Additional Growth Needed
|
|
57123
|
+
</p>
|
|
57124
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
57125
|
+
{{ gapToClose().amount > 0 ? '+' : '' }}{{ formatPercentage(gapToClose().percentage, 1) }}
|
|
57126
|
+
</p>
|
|
57127
|
+
</div>
|
|
57128
|
+
</div>
|
|
57129
|
+
</div>
|
|
57130
|
+
}
|
|
57131
|
+
</div>
|
|
57132
|
+
</div>
|
|
57133
|
+
}
|
|
57134
|
+
</div>
|
|
57135
|
+
</div>
|
|
57136
|
+
</div>
|
|
57137
|
+
|
|
57138
|
+
<div class="w-full">
|
|
57139
|
+
<p [ngClass]="chartTitleClasses()" class="text-sm font-semibold mb-3">
|
|
57140
|
+
Year-over-Year Revenue Trend
|
|
57141
|
+
</p>
|
|
57142
|
+
<div [ngClass]="chartContainerClasses()" class="rounded-xl border p-4">
|
|
57143
|
+
@if (revenueChartData()) {
|
|
57144
|
+
<symphiq-area-chart
|
|
57145
|
+
[chart]="revenueChartData()!"
|
|
57146
|
+
[showAxisLabels]="true"
|
|
57147
|
+
[viewMode]="viewMode()"
|
|
57148
|
+
[currencySymbol]="'$'"
|
|
57149
|
+
[height]="'320px'"
|
|
57150
|
+
/>
|
|
57151
|
+
} @else {
|
|
57152
|
+
<div class="h-64 flex items-center justify-center">
|
|
57153
|
+
<p [ngClass]="noDataClasses()" class="text-sm">
|
|
57154
|
+
No revenue data available
|
|
57155
|
+
</p>
|
|
57156
|
+
</div>
|
|
57157
|
+
}
|
|
57158
|
+
</div>
|
|
57159
|
+
</div>
|
|
57160
|
+
</div>
|
|
57161
|
+
</div>
|
|
57162
|
+
|
|
57163
|
+
@if (showMetricsVisualization()) {
|
|
57164
|
+
<div [ngClass]="sectionCardClasses()" class="rounded-2xl border shadow-lg p-8">
|
|
57165
|
+
<div class="mb-6">
|
|
57166
|
+
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
|
|
57167
|
+
Contributing Metrics
|
|
57168
|
+
</h2>
|
|
57169
|
+
<p [ngClass]="sectionDescriptionClasses()" class="text-sm">
|
|
57170
|
+
To achieve your revenue target of {{ formatCurrency(displayedTargetRevenue()) }}, the following metrics need to improve by these amounts. These improvements compound through your funnel to drive revenue growth.
|
|
57171
|
+
</p>
|
|
57172
|
+
</div>
|
|
57173
|
+
|
|
57174
|
+
<symphiq-funnel-metrics-visualization
|
|
57175
|
+
[viewMode]="viewMode()"
|
|
57176
|
+
[calculations]="displayedMetricCalculations()"
|
|
57177
|
+
[pacingMetrics]="pacingMetrics()"
|
|
57178
|
+
/>
|
|
57179
|
+
</div>
|
|
57180
|
+
}
|
|
57181
|
+
|
|
57182
|
+
<symphiq-sticky-submit-bar
|
|
57183
|
+
[viewMode]="viewMode()"
|
|
57184
|
+
[isValid]="isValid()"
|
|
57185
|
+
[isSubmitting]="isCalculating()"
|
|
57186
|
+
[validationMessage]="validationMessage()"
|
|
57187
|
+
[buttonText]="submitButtonText()"
|
|
57188
|
+
[showCancelButton]="calculationState() === 'input' && hasStoredResponse()"
|
|
57189
|
+
(submitClick)="handleSubmitClick()"
|
|
57190
|
+
(cancelClick)="handleCancel()"
|
|
57191
|
+
/>
|
|
57192
|
+
</div>
|
|
57193
|
+
`, 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
57194
|
}], () => [], { absoluteInputRef: [{
|
|
57076
57195
|
type: ViewChild,
|
|
57077
57196
|
args: ['absoluteInputRef']
|
|
@@ -57079,7 +57198,7 @@ class InitialTargetSettingComponent {
|
|
|
57079
57198
|
type: ViewChild,
|
|
57080
57199
|
args: ['percentageInputRef']
|
|
57081
57200
|
}], 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:
|
|
57201
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 299 }); })();
|
|
57083
57202
|
|
|
57084
57203
|
function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
57085
57204
|
i0.ɵɵelement(0, "div", 5);
|