@eric-emg/symphiq-components 1.2.204 → 1.2.205
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 +327 -311
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/package.json +1 -1
- package/styles.css +3 -0
|
@@ -56226,17 +56226,17 @@ 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, "div",
|
|
56229
|
+
function InitialTargetSettingComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
56230
|
+
i0.ɵɵelementStart(0, "div", 11);
|
|
56231
56231
|
i0.ɵɵnamespaceSVG();
|
|
56232
|
-
i0.ɵɵelementStart(1, "svg",
|
|
56233
|
-
i0.ɵɵelement(2, "path",
|
|
56232
|
+
i0.ɵɵelementStart(1, "svg", 12);
|
|
56233
|
+
i0.ɵɵelement(2, "path", 27);
|
|
56234
56234
|
i0.ɵɵelementEnd();
|
|
56235
56235
|
i0.ɵɵnamespaceHTML();
|
|
56236
|
-
i0.ɵɵelementStart(3, "div")(4, "p",
|
|
56236
|
+
i0.ɵɵelementStart(3, "div")(4, "p", 14);
|
|
56237
56237
|
i0.ɵɵtext(5, " Current Pace Projection ");
|
|
56238
56238
|
i0.ɵɵelementEnd();
|
|
56239
|
-
i0.ɵɵelementStart(6, "p",
|
|
56239
|
+
i0.ɵɵelementStart(6, "p", 15);
|
|
56240
56240
|
i0.ɵɵtext(7);
|
|
56241
56241
|
i0.ɵɵelementEnd()()();
|
|
56242
56242
|
} if (rf & 2) {
|
|
@@ -56250,14 +56250,14 @@ function InitialTargetSettingComponent_Conditional_16_Template(rf, ctx) { if (rf
|
|
|
56250
56250
|
i0.ɵɵadvance();
|
|
56251
56251
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.formatCurrency(ctx_r0.currentPaceProjection()), " ");
|
|
56252
56252
|
} }
|
|
56253
|
-
function
|
|
56253
|
+
function InitialTargetSettingComponent_Conditional_19_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
56254
56254
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
56255
|
-
i0.ɵɵelementStart(0, "div",
|
|
56255
|
+
i0.ɵɵelementStart(0, "div", 30)(1, "span", 31);
|
|
56256
56256
|
i0.ɵɵtext(2, " $ ");
|
|
56257
56257
|
i0.ɵɵelementEnd();
|
|
56258
|
-
i0.ɵɵelementStart(3, "input",
|
|
56259
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
56260
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
56258
|
+
i0.ɵɵelementStart(3, "input", 32, 0);
|
|
56259
|
+
i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_19_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_19_Conditional_5_Template_input_ngModelChange_3_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onAbsoluteInputChange()); });
|
|
56261
56261
|
i0.ɵɵelementEnd()();
|
|
56262
56262
|
} if (rf & 2) {
|
|
56263
56263
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
@@ -56267,13 +56267,13 @@ function InitialTargetSettingComponent_Conditional_17_Conditional_5_Template(rf,
|
|
|
56267
56267
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.absoluteInput);
|
|
56268
56268
|
i0.ɵɵproperty("ngClass", ctx_r0.inputClasses());
|
|
56269
56269
|
} }
|
|
56270
|
-
function
|
|
56270
|
+
function InitialTargetSettingComponent_Conditional_19_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
56271
56271
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
56272
|
-
i0.ɵɵelementStart(0, "div",
|
|
56273
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
56274
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
56272
|
+
i0.ɵɵelementStart(0, "div", 30)(1, "input", 33, 1);
|
|
56273
|
+
i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_19_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_19_Conditional_6_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onPercentageInputChange()); });
|
|
56275
56275
|
i0.ɵɵelementEnd();
|
|
56276
|
-
i0.ɵɵelementStart(3, "span",
|
|
56276
|
+
i0.ɵɵelementStart(3, "span", 34);
|
|
56277
56277
|
i0.ɵɵtext(4, " % ");
|
|
56278
56278
|
i0.ɵɵelementEnd()();
|
|
56279
56279
|
} if (rf & 2) {
|
|
@@ -56284,17 +56284,17 @@ function InitialTargetSettingComponent_Conditional_17_Conditional_6_Template(rf,
|
|
|
56284
56284
|
i0.ɵɵadvance(2);
|
|
56285
56285
|
i0.ɵɵproperty("ngClass", ctx_r0.inputSuffixClasses());
|
|
56286
56286
|
} }
|
|
56287
|
-
function
|
|
56287
|
+
function InitialTargetSettingComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
56288
56288
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
56289
|
-
i0.ɵɵelementStart(0, "div",
|
|
56290
|
-
i0.ɵɵlistener("click", function
|
|
56289
|
+
i0.ɵɵelementStart(0, "div", 28)(1, "button", 29);
|
|
56290
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_19_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.setInputMode("absolute")); });
|
|
56291
56291
|
i0.ɵɵtext(2, " Absolute Amount ");
|
|
56292
56292
|
i0.ɵɵelementEnd();
|
|
56293
|
-
i0.ɵɵelementStart(3, "button",
|
|
56294
|
-
i0.ɵɵlistener("click", function
|
|
56293
|
+
i0.ɵɵelementStart(3, "button", 29);
|
|
56294
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_19_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.setInputMode("percentage")); });
|
|
56295
56295
|
i0.ɵɵtext(4, " % Increase ");
|
|
56296
56296
|
i0.ɵɵelementEnd()();
|
|
56297
|
-
i0.ɵɵconditionalCreate(5,
|
|
56297
|
+
i0.ɵɵconditionalCreate(5, InitialTargetSettingComponent_Conditional_19_Conditional_5_Template, 5, 3, "div", 30)(6, InitialTargetSettingComponent_Conditional_19_Conditional_6_Template, 5, 3, "div", 30);
|
|
56298
56298
|
} if (rf & 2) {
|
|
56299
56299
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
56300
56300
|
i0.ɵɵadvance();
|
|
@@ -56304,30 +56304,30 @@ function InitialTargetSettingComponent_Conditional_17_Template(rf, ctx) { if (rf
|
|
|
56304
56304
|
i0.ɵɵadvance(2);
|
|
56305
56305
|
i0.ɵɵconditional(ctx_r0.inputMode() === "absolute" ? 5 : 6);
|
|
56306
56306
|
} }
|
|
56307
|
-
function
|
|
56307
|
+
function InitialTargetSettingComponent_Conditional_22_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
56308
56308
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
56309
|
-
i0.ɵɵelementStart(0, "button",
|
|
56310
|
-
i0.ɵɵlistener("click", function
|
|
56309
|
+
i0.ɵɵelementStart(0, "button", 45);
|
|
56310
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_22_Conditional_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.handleAdjustTarget()); });
|
|
56311
56311
|
i0.ɵɵtext(1, " Adjust Revenue Target ");
|
|
56312
56312
|
i0.ɵɵelementEnd();
|
|
56313
56313
|
} if (rf & 2) {
|
|
56314
56314
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56315
56315
|
i0.ɵɵproperty("ngClass", ctx_r0.secondaryButtonClasses());
|
|
56316
56316
|
} }
|
|
56317
|
-
function
|
|
56318
|
-
i0.ɵɵelementStart(0, "div",
|
|
56317
|
+
function InitialTargetSettingComponent_Conditional_22_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
56318
|
+
i0.ɵɵelementStart(0, "div", 40)(1, "div", 41)(2, "span", 42);
|
|
56319
56319
|
i0.ɵɵtext(3);
|
|
56320
56320
|
i0.ɵɵelementEnd()();
|
|
56321
|
-
i0.ɵɵelementStart(4, "div",
|
|
56321
|
+
i0.ɵɵelementStart(4, "div", 43)(5, "div")(6, "p", 37);
|
|
56322
56322
|
i0.ɵɵtext(7, " Gap to Close ");
|
|
56323
56323
|
i0.ɵɵelementEnd();
|
|
56324
|
-
i0.ɵɵelementStart(8, "p",
|
|
56324
|
+
i0.ɵɵelementStart(8, "p", 44);
|
|
56325
56325
|
i0.ɵɵtext(9);
|
|
56326
56326
|
i0.ɵɵelementEnd()();
|
|
56327
|
-
i0.ɵɵelementStart(10, "div")(11, "p",
|
|
56327
|
+
i0.ɵɵelementStart(10, "div")(11, "p", 37);
|
|
56328
56328
|
i0.ɵɵtext(12, " Additional Growth Needed ");
|
|
56329
56329
|
i0.ɵɵelementEnd();
|
|
56330
|
-
i0.ɵɵelementStart(13, "p",
|
|
56330
|
+
i0.ɵɵelementStart(13, "p", 44);
|
|
56331
56331
|
i0.ɵɵtext(14);
|
|
56332
56332
|
i0.ɵɵelementEnd()()()();
|
|
56333
56333
|
} if (rf & 2) {
|
|
@@ -56350,31 +56350,31 @@ function InitialTargetSettingComponent_Conditional_20_Conditional_24_Template(rf
|
|
|
56350
56350
|
i0.ɵɵadvance();
|
|
56351
56351
|
i0.ɵɵtextInterpolate2(" ", ctx_r0.gapToClose().amount > 0 ? "+" : "", "", ctx_r0.formatPercentage(ctx_r0.gapToClose().percentage, 1), " ");
|
|
56352
56352
|
} }
|
|
56353
|
-
function
|
|
56354
|
-
i0.ɵɵelementStart(0, "div",
|
|
56353
|
+
function InitialTargetSettingComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
56354
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "div", 35)(2, "div", 36)(3, "div")(4, "p", 37);
|
|
56355
56355
|
i0.ɵɵtext(5);
|
|
56356
56356
|
i0.ɵɵelementEnd();
|
|
56357
|
-
i0.ɵɵelementStart(6, "p",
|
|
56357
|
+
i0.ɵɵelementStart(6, "p", 38);
|
|
56358
56358
|
i0.ɵɵtext(7);
|
|
56359
56359
|
i0.ɵɵelementEnd()();
|
|
56360
|
-
i0.ɵɵconditionalCreate(8,
|
|
56360
|
+
i0.ɵɵconditionalCreate(8, InitialTargetSettingComponent_Conditional_22_Conditional_8_Template, 2, 1, "button", 39);
|
|
56361
56361
|
i0.ɵɵelementEnd();
|
|
56362
|
-
i0.ɵɵelementStart(9, "div",
|
|
56362
|
+
i0.ɵɵelementStart(9, "div", 40)(10, "div", 41)(11, "span", 42);
|
|
56363
56363
|
i0.ɵɵtext(12);
|
|
56364
56364
|
i0.ɵɵelementEnd()();
|
|
56365
|
-
i0.ɵɵelementStart(13, "div",
|
|
56365
|
+
i0.ɵɵelementStart(13, "div", 43)(14, "div")(15, "p", 37);
|
|
56366
56366
|
i0.ɵɵtext(16, " Increase Amount ");
|
|
56367
56367
|
i0.ɵɵelementEnd();
|
|
56368
|
-
i0.ɵɵelementStart(17, "p",
|
|
56368
|
+
i0.ɵɵelementStart(17, "p", 44);
|
|
56369
56369
|
i0.ɵɵtext(18);
|
|
56370
56370
|
i0.ɵɵelementEnd()();
|
|
56371
|
-
i0.ɵɵelementStart(19, "div")(20, "p",
|
|
56371
|
+
i0.ɵɵelementStart(19, "div")(20, "p", 37);
|
|
56372
56372
|
i0.ɵɵtext(21, " % Growth ");
|
|
56373
56373
|
i0.ɵɵelementEnd();
|
|
56374
|
-
i0.ɵɵelementStart(22, "p",
|
|
56374
|
+
i0.ɵɵelementStart(22, "p", 44);
|
|
56375
56375
|
i0.ɵɵtext(23);
|
|
56376
56376
|
i0.ɵɵelementEnd()()()();
|
|
56377
|
-
i0.ɵɵconditionalCreate(24,
|
|
56377
|
+
i0.ɵɵconditionalCreate(24, InitialTargetSettingComponent_Conditional_22_Conditional_24_Template, 15, 10, "div", 40);
|
|
56378
56378
|
i0.ɵɵelementEnd()();
|
|
56379
56379
|
} if (rf & 2) {
|
|
56380
56380
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -56410,14 +56410,14 @@ function InitialTargetSettingComponent_Conditional_20_Template(rf, ctx) { if (rf
|
|
|
56410
56410
|
i0.ɵɵadvance();
|
|
56411
56411
|
i0.ɵɵconditional(ctx_r0.currentPaceProjection() > 0 && ctx_r0.gapToClose().amount !== 0 ? 24 : -1);
|
|
56412
56412
|
} }
|
|
56413
|
-
function
|
|
56414
|
-
i0.ɵɵelement(0, "symphiq-area-chart",
|
|
56413
|
+
function InitialTargetSettingComponent_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
56414
|
+
i0.ɵɵelement(0, "symphiq-area-chart", 22);
|
|
56415
56415
|
} if (rf & 2) {
|
|
56416
56416
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
56417
56417
|
i0.ɵɵproperty("chart", ctx_r0.revenueChartData())("showAxisLabels", true)("viewMode", ctx_r0.viewMode())("currencySymbol", "$")("height", "320px");
|
|
56418
56418
|
} }
|
|
56419
|
-
function
|
|
56420
|
-
i0.ɵɵelementStart(0, "div",
|
|
56419
|
+
function InitialTargetSettingComponent_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
56420
|
+
i0.ɵɵelementStart(0, "div", 23)(1, "p", 46);
|
|
56421
56421
|
i0.ɵɵtext(2, " No revenue data available ");
|
|
56422
56422
|
i0.ɵɵelementEnd()();
|
|
56423
56423
|
} if (rf & 2) {
|
|
@@ -56425,14 +56425,14 @@ function InitialTargetSettingComponent_Conditional_26_Template(rf, ctx) { if (rf
|
|
|
56425
56425
|
i0.ɵɵadvance();
|
|
56426
56426
|
i0.ɵɵproperty("ngClass", ctx_r0.noDataClasses());
|
|
56427
56427
|
} }
|
|
56428
|
-
function
|
|
56429
|
-
i0.ɵɵelementStart(0, "div", 3)(1, "div",
|
|
56428
|
+
function InitialTargetSettingComponent_Conditional_31_Template(rf, ctx) { if (rf & 1) {
|
|
56429
|
+
i0.ɵɵelementStart(0, "div", 3)(1, "div", 47)(2, "h2", 48);
|
|
56430
56430
|
i0.ɵɵtext(3, " Contributing Metrics ");
|
|
56431
56431
|
i0.ɵɵelementEnd();
|
|
56432
|
-
i0.ɵɵelementStart(4, "p",
|
|
56432
|
+
i0.ɵɵelementStart(4, "p", 46);
|
|
56433
56433
|
i0.ɵɵtext(5);
|
|
56434
56434
|
i0.ɵɵelementEnd()();
|
|
56435
|
-
i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization",
|
|
56435
|
+
i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization", 49);
|
|
56436
56436
|
i0.ɵɵelementEnd();
|
|
56437
56437
|
} if (rf & 2) {
|
|
56438
56438
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -56875,38 +56875,40 @@ class InitialTargetSettingComponent {
|
|
|
56875
56875
|
let _t;
|
|
56876
56876
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
|
|
56877
56877
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.percentageInputRef = _t.first);
|
|
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:
|
|
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: 33, vars: 30, 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, "form-area-collapse"], [1, "form-area-content"], [1, "p-6", "rounded-xl", "border-2", "space-y-6", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-4", "place-content-between"], [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", "chart-section"], [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"], [1, "metrics-section-enter"], [1, "metrics-section-content"], [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) {
|
|
56879
56879
|
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "h2", 4);
|
|
56880
56880
|
i0.ɵɵtext(3);
|
|
56881
56881
|
i0.ɵɵelementEnd();
|
|
56882
|
-
i0.ɵɵelementStart(4, "div", 5)(5, "div", 6)(6, "div", 7)(7, "div", 8)(8, "div", 9);
|
|
56882
|
+
i0.ɵɵelementStart(4, "div", 5)(5, "div", 6)(6, "div", 7)(7, "div", 8)(8, "div", 9)(9, "div", 10)(10, "div", 11);
|
|
56883
56883
|
i0.ɵɵnamespaceSVG();
|
|
56884
|
-
i0.ɵɵelementStart(
|
|
56885
|
-
i0.ɵɵelement(
|
|
56884
|
+
i0.ɵɵelementStart(11, "svg", 12);
|
|
56885
|
+
i0.ɵɵelement(12, "path", 13);
|
|
56886
56886
|
i0.ɵɵelementEnd();
|
|
56887
56887
|
i0.ɵɵnamespaceHTML();
|
|
56888
|
-
i0.ɵɵelementStart(
|
|
56889
|
-
i0.ɵɵtext(13);
|
|
56890
|
-
i0.ɵɵelementEnd();
|
|
56891
|
-
i0.ɵɵelementStart(14, "p", 13);
|
|
56888
|
+
i0.ɵɵelementStart(13, "div")(14, "p", 14);
|
|
56892
56889
|
i0.ɵɵtext(15);
|
|
56893
|
-
i0.ɵɵelementEnd()()();
|
|
56894
|
-
i0.ɵɵconditionalCreate(16, InitialTargetSettingComponent_Conditional_16_Template, 8, 4, "div", 9);
|
|
56895
56890
|
i0.ɵɵelementEnd();
|
|
56896
|
-
i0.ɵɵ
|
|
56891
|
+
i0.ɵɵelementStart(16, "p", 15);
|
|
56892
|
+
i0.ɵɵtext(17);
|
|
56893
|
+
i0.ɵɵelementEnd()()();
|
|
56894
|
+
i0.ɵɵconditionalCreate(18, InitialTargetSettingComponent_Conditional_18_Template, 8, 4, "div", 11);
|
|
56897
56895
|
i0.ɵɵelementEnd();
|
|
56898
|
-
i0.ɵɵ
|
|
56899
|
-
i0.ɵɵconditionalCreate(20, InitialTargetSettingComponent_Conditional_20_Template, 25, 16, "div", 16);
|
|
56896
|
+
i0.ɵɵconditionalCreate(19, InitialTargetSettingComponent_Conditional_19_Template, 7, 3);
|
|
56900
56897
|
i0.ɵɵelementEnd()()();
|
|
56901
|
-
i0.ɵɵelementStart(
|
|
56902
|
-
i0.ɵɵ
|
|
56898
|
+
i0.ɵɵelementStart(20, "div", 16)(21, "div", 17);
|
|
56899
|
+
i0.ɵɵconditionalCreate(22, InitialTargetSettingComponent_Conditional_22_Template, 25, 16, "div", 18);
|
|
56900
|
+
i0.ɵɵelementEnd()()();
|
|
56901
|
+
i0.ɵɵelementStart(23, "div", 19)(24, "p", 20);
|
|
56902
|
+
i0.ɵɵtext(25, " Year-over-Year Revenue Trend ");
|
|
56903
56903
|
i0.ɵɵelementEnd();
|
|
56904
|
-
i0.ɵɵelementStart(
|
|
56905
|
-
i0.ɵɵconditionalCreate(
|
|
56904
|
+
i0.ɵɵelementStart(26, "div", 21);
|
|
56905
|
+
i0.ɵɵconditionalCreate(27, InitialTargetSettingComponent_Conditional_27_Template, 1, 5, "symphiq-area-chart", 22)(28, InitialTargetSettingComponent_Conditional_28_Template, 3, 1, "div", 23);
|
|
56906
56906
|
i0.ɵɵelementEnd()()()();
|
|
56907
|
-
i0.ɵɵ
|
|
56908
|
-
i0.ɵɵ
|
|
56909
|
-
i0.ɵɵ
|
|
56907
|
+
i0.ɵɵelementStart(29, "div", 24)(30, "div", 25);
|
|
56908
|
+
i0.ɵɵconditionalCreate(31, InitialTargetSettingComponent_Conditional_31_Template, 7, 7, "div", 3);
|
|
56909
|
+
i0.ɵɵelementEnd()();
|
|
56910
|
+
i0.ɵɵelementStart(32, "symphiq-sticky-submit-bar", 26);
|
|
56911
|
+
i0.ɵɵlistener("submitClick", function InitialTargetSettingComponent_Template_symphiq_sticky_submit_bar_submitClick_32_listener() { return ctx.handleSubmitClick(); })("cancelClick", function InitialTargetSettingComponent_Template_symphiq_sticky_submit_bar_cancelClick_32_listener() { return ctx.handleCancel(); });
|
|
56910
56912
|
i0.ɵɵelementEnd()();
|
|
56911
56913
|
} if (rf & 2) {
|
|
56912
56914
|
i0.ɵɵadvance();
|
|
@@ -56916,6 +56918,8 @@ class InitialTargetSettingComponent {
|
|
|
56916
56918
|
i0.ɵɵadvance();
|
|
56917
56919
|
i0.ɵɵtextInterpolate1(" Calculate Your ", ctx.currentYear(), " Revenue Target ");
|
|
56918
56920
|
i0.ɵɵadvance(3);
|
|
56921
|
+
i0.ɵɵclassProp("form-area-collapse-hidden", ctx.calculationState() === "results");
|
|
56922
|
+
i0.ɵɵadvance(2);
|
|
56919
56923
|
i0.ɵɵproperty("ngClass", ctx.formAreaClasses());
|
|
56920
56924
|
i0.ɵɵadvance(3);
|
|
56921
56925
|
i0.ɵɵproperty("ngClass", ctx.baselineIconClasses());
|
|
@@ -56928,26 +56932,30 @@ class InitialTargetSettingComponent {
|
|
|
56928
56932
|
i0.ɵɵadvance();
|
|
56929
56933
|
i0.ɵɵtextInterpolate1(" ", ctx.formatCurrency(ctx.priorYearRevenue()), " ");
|
|
56930
56934
|
i0.ɵɵadvance();
|
|
56931
|
-
i0.ɵɵconditional(ctx.currentPaceProjection() > 0 ?
|
|
56935
|
+
i0.ɵɵconditional(ctx.currentPaceProjection() > 0 ? 18 : -1);
|
|
56932
56936
|
i0.ɵɵadvance();
|
|
56933
|
-
i0.ɵɵconditional(ctx.calculationState() !== "results" ?
|
|
56937
|
+
i0.ɵɵconditional(ctx.calculationState() !== "results" ? 19 : -1);
|
|
56934
56938
|
i0.ɵɵadvance();
|
|
56935
56939
|
i0.ɵɵclassProp("calculated-card-enter-active", ctx.calculatedRevenue() > 0);
|
|
56936
56940
|
i0.ɵɵadvance(2);
|
|
56937
|
-
i0.ɵɵconditional(ctx.calculatedRevenue() > 0 ?
|
|
56938
|
-
i0.ɵɵadvance(
|
|
56941
|
+
i0.ɵɵconditional(ctx.calculatedRevenue() > 0 ? 22 : -1);
|
|
56942
|
+
i0.ɵɵadvance();
|
|
56943
|
+
i0.ɵɵstyleProp("margin-top", ctx.calculationState() === "results" ? "-2rem" : "0");
|
|
56944
|
+
i0.ɵɵadvance();
|
|
56939
56945
|
i0.ɵɵproperty("ngClass", ctx.chartTitleClasses());
|
|
56940
56946
|
i0.ɵɵadvance(2);
|
|
56941
56947
|
i0.ɵɵproperty("ngClass", ctx.chartContainerClasses());
|
|
56942
56948
|
i0.ɵɵadvance();
|
|
56943
|
-
i0.ɵɵconditional(ctx.revenueChartData() ?
|
|
56949
|
+
i0.ɵɵconditional(ctx.revenueChartData() ? 27 : 28);
|
|
56944
56950
|
i0.ɵɵadvance(2);
|
|
56945
|
-
i0.ɵɵ
|
|
56951
|
+
i0.ɵɵclassProp("metrics-section-enter-active", ctx.showMetricsVisualization());
|
|
56952
|
+
i0.ɵɵadvance(2);
|
|
56953
|
+
i0.ɵɵconditional(ctx.showMetricsVisualization() ? 31 : -1);
|
|
56946
56954
|
i0.ɵɵadvance();
|
|
56947
56955
|
i0.ɵɵproperty("viewMode", ctx.viewMode())("isValid", ctx.isValid())("isSubmitting", ctx.isCalculating())("validationMessage", ctx.validationMessage())("buttonText", ctx.submitButtonText())("showCancelButton", ctx.calculationState() === "input" && ctx.hasStoredResponse());
|
|
56948
56956
|
} }, 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,
|
|
56949
56957
|
StickySubmitBarComponent,
|
|
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 }); }
|
|
56958
|
+
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}.form-area-collapse[_ngcontent-%COMP%]{display:grid;grid-template-rows:1fr;transition:grid-template-rows .4s ease-out}.form-area-collapse-hidden[_ngcontent-%COMP%]{grid-template-rows:0fr}.form-area-content[_ngcontent-%COMP%]{overflow:hidden}.chart-section[_ngcontent-%COMP%]{transition:margin-top .4s ease-out}.metrics-section-enter[_ngcontent-%COMP%]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s ease-out}.metrics-section-enter-active[_ngcontent-%COMP%]{grid-template-rows:1fr}.metrics-section-content[_ngcontent-%COMP%]{overflow:hidden}"], changeDetection: 0 }); }
|
|
56951
56959
|
}
|
|
56952
56960
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InitialTargetSettingComponent, [{
|
|
56953
56961
|
type: Component,
|
|
@@ -56957,240 +56965,248 @@ class InitialTargetSettingComponent {
|
|
|
56957
56965
|
FunnelMetricsVisualizationComponent,
|
|
56958
56966
|
StickySubmitBarComponent,
|
|
56959
56967
|
AreaChartComponent
|
|
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
|
|
56970
|
-
<div class="
|
|
56971
|
-
<div class="
|
|
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
|
-
|
|
57075
|
-
|
|
57076
|
-
|
|
57077
|
-
|
|
57078
|
-
|
|
57079
|
-
|
|
57080
|
-
|
|
57081
|
-
|
|
57082
|
-
|
|
57083
|
-
|
|
57084
|
-
|
|
57085
|
-
|
|
57086
|
-
|
|
57087
|
-
|
|
57088
|
-
|
|
57089
|
-
|
|
57090
|
-
|
|
57091
|
-
|
|
57092
|
-
|
|
57093
|
-
|
|
57094
|
-
|
|
57095
|
-
|
|
57096
|
-
|
|
57097
|
-
|
|
57098
|
-
|
|
57099
|
-
|
|
57100
|
-
|
|
57101
|
-
|
|
57102
|
-
|
|
57103
|
-
|
|
57104
|
-
|
|
57105
|
-
|
|
57106
|
-
|
|
57107
|
-
|
|
57108
|
-
|
|
57109
|
-
|
|
57110
|
-
|
|
57111
|
-
|
|
57112
|
-
|
|
57113
|
-
|
|
57114
|
-
|
|
57115
|
-
|
|
57116
|
-
|
|
57117
|
-
|
|
57118
|
-
|
|
57119
|
-
|
|
57120
|
-
|
|
57121
|
-
|
|
57122
|
-
|
|
57123
|
-
|
|
57124
|
-
|
|
57125
|
-
|
|
57126
|
-
|
|
57127
|
-
|
|
57128
|
-
|
|
57129
|
-
|
|
57130
|
-
|
|
57131
|
-
|
|
57132
|
-
|
|
57133
|
-
|
|
57134
|
-
|
|
57135
|
-
|
|
57136
|
-
|
|
57137
|
-
|
|
57138
|
-
|
|
57139
|
-
|
|
57140
|
-
|
|
57141
|
-
|
|
57142
|
-
|
|
57143
|
-
|
|
57144
|
-
|
|
57145
|
-
|
|
57146
|
-
|
|
57147
|
-
|
|
57148
|
-
|
|
57149
|
-
[
|
|
57150
|
-
|
|
57151
|
-
|
|
57152
|
-
|
|
57153
|
-
|
|
57154
|
-
|
|
57155
|
-
|
|
57156
|
-
|
|
57157
|
-
|
|
57158
|
-
|
|
57159
|
-
|
|
57160
|
-
|
|
57161
|
-
|
|
57162
|
-
|
|
57163
|
-
|
|
57164
|
-
|
|
57165
|
-
|
|
57166
|
-
|
|
57167
|
-
|
|
57168
|
-
|
|
57169
|
-
|
|
57170
|
-
|
|
57171
|
-
|
|
57172
|
-
|
|
57173
|
-
|
|
57174
|
-
|
|
57175
|
-
|
|
57176
|
-
|
|
57177
|
-
|
|
57178
|
-
|
|
57179
|
-
|
|
57180
|
-
|
|
57181
|
-
|
|
57182
|
-
|
|
57183
|
-
|
|
57184
|
-
|
|
57185
|
-
|
|
57186
|
-
|
|
57187
|
-
|
|
57188
|
-
|
|
57189
|
-
|
|
57190
|
-
|
|
57191
|
-
|
|
57192
|
-
|
|
57193
|
-
|
|
56968
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
56969
|
+
<div class="space-y-8 pb-32">
|
|
56970
|
+
<div [ngClass]="sectionCardClasses()" class="rounded-2xl border shadow-lg p-8">
|
|
56971
|
+
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-6">
|
|
56972
|
+
Calculate Your {{ currentYear() }} Revenue Target
|
|
56973
|
+
</h2>
|
|
56974
|
+
|
|
56975
|
+
<div class="flex flex-col gap-8">
|
|
56976
|
+
<div class="grid lg:grid-cols-2 gap-8">
|
|
56977
|
+
<div class="form-area-collapse" [class.form-area-collapse-hidden]="calculationState() === 'results'">
|
|
56978
|
+
<div class="form-area-content">
|
|
56979
|
+
<div [ngClass]="formAreaClasses()" class="p-6 rounded-xl border-2 space-y-6">
|
|
56980
|
+
<div class="flex flex-wrap gap-4 place-content-between">
|
|
56981
|
+
<div class="flex items-center gap-2">
|
|
56982
|
+
<svg class="w-4 h-4" [ngClass]="baselineIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
56983
|
+
<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>
|
|
56984
|
+
</svg>
|
|
56985
|
+
<div>
|
|
56986
|
+
<p [ngClass]="baselineLabelClasses()" class="text-xs font-medium uppercase tracking-wider">
|
|
56987
|
+
{{ priorYear() }} Revenue
|
|
56988
|
+
</p>
|
|
56989
|
+
<p [ngClass]="baselineValueClasses()" class="text-lg font-bold">
|
|
56990
|
+
{{ formatCurrency(priorYearRevenue()) }}
|
|
56991
|
+
</p>
|
|
56992
|
+
</div>
|
|
56993
|
+
</div>
|
|
56994
|
+
@if (currentPaceProjection() > 0) {
|
|
56995
|
+
<div class="flex items-center gap-2">
|
|
56996
|
+
<svg class="w-4 h-4" [ngClass]="projectionIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
56997
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"></path>
|
|
56998
|
+
</svg>
|
|
56999
|
+
<div>
|
|
57000
|
+
<p [ngClass]="projectionLabelClasses()" class="text-xs font-medium uppercase tracking-wider">
|
|
57001
|
+
Current Pace Projection
|
|
57002
|
+
</p>
|
|
57003
|
+
<p [ngClass]="projectionValueClasses()" class="text-lg font-bold">
|
|
57004
|
+
{{ formatCurrency(currentPaceProjection()) }}
|
|
57005
|
+
</p>
|
|
57006
|
+
</div>
|
|
57007
|
+
</div>
|
|
57008
|
+
}
|
|
57009
|
+
</div>
|
|
57010
|
+
|
|
57011
|
+
@if (calculationState() !== 'results') {
|
|
57012
|
+
<div class="flex gap-2">
|
|
57013
|
+
<button
|
|
57014
|
+
(click)="setInputMode('absolute')"
|
|
57015
|
+
[ngClass]="inputModeButtonClasses('absolute')"
|
|
57016
|
+
class="flex-1 py-2 px-4 rounded-lg text-sm font-semibold transition-all">
|
|
57017
|
+
Absolute Amount
|
|
57018
|
+
</button>
|
|
57019
|
+
<button
|
|
57020
|
+
(click)="setInputMode('percentage')"
|
|
57021
|
+
[ngClass]="inputModeButtonClasses('percentage')"
|
|
57022
|
+
class="flex-1 py-2 px-4 rounded-lg text-sm font-semibold transition-all">
|
|
57023
|
+
% Increase
|
|
57024
|
+
</button>
|
|
57025
|
+
</div>
|
|
57026
|
+
|
|
57027
|
+
@if (inputMode() === 'absolute') {
|
|
57028
|
+
<div class="relative">
|
|
57029
|
+
<span [ngClass]="inputPrefixClasses()" class="absolute left-4 top-1/2 -translate-y-1/2 text-xl font-bold">
|
|
57030
|
+
$
|
|
57031
|
+
</span>
|
|
57032
|
+
<input
|
|
57033
|
+
#absoluteInputRef
|
|
57034
|
+
type="number"
|
|
57035
|
+
[(ngModel)]="absoluteInput"
|
|
57036
|
+
(ngModelChange)="onAbsoluteInputChange()"
|
|
57037
|
+
[ngClass]="inputClasses()"
|
|
57038
|
+
class="w-full pl-10 pr-4 py-4 rounded-xl text-2xl font-bold border-2 transition-all"
|
|
57039
|
+
placeholder="0"
|
|
57040
|
+
min="0"
|
|
57041
|
+
step="1000">
|
|
57042
|
+
</div>
|
|
57043
|
+
} @else {
|
|
57044
|
+
<div class="relative">
|
|
57045
|
+
<input
|
|
57046
|
+
#percentageInputRef
|
|
57047
|
+
type="number"
|
|
57048
|
+
[(ngModel)]="percentageInput"
|
|
57049
|
+
(ngModelChange)="onPercentageInputChange()"
|
|
57050
|
+
[ngClass]="inputClasses()"
|
|
57051
|
+
class="w-full pr-10 pl-4 py-4 rounded-xl text-2xl font-bold border-2 transition-all"
|
|
57052
|
+
placeholder="0"
|
|
57053
|
+
min="0"
|
|
57054
|
+
max="1000"
|
|
57055
|
+
step="0.1">
|
|
57056
|
+
<span [ngClass]="inputSuffixClasses()" class="absolute right-4 top-1/2 -translate-y-1/2 text-xl font-bold">
|
|
57057
|
+
%
|
|
57058
|
+
</span>
|
|
57059
|
+
</div>
|
|
57060
|
+
}
|
|
57061
|
+
}
|
|
57062
|
+
</div>
|
|
57063
|
+
</div>
|
|
57064
|
+
</div>
|
|
57065
|
+
|
|
57066
|
+
<div class="calculated-card-enter order-first lg:order-last" [class.calculated-card-enter-active]="calculatedRevenue() > 0">
|
|
57067
|
+
<div class="calculated-card-content">
|
|
57068
|
+
@if (calculatedRevenue() > 0) {
|
|
57069
|
+
<div [ngClass]="calculatedValuesCardClasses()" class="p-6 rounded-xl border-2 h-full">
|
|
57070
|
+
<div class="space-y-6">
|
|
57071
|
+
<div class="flex items-center justify-between">
|
|
57072
|
+
<div>
|
|
57073
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
57074
|
+
{{ currentYear() }} Revenue Target
|
|
57075
|
+
</p>
|
|
57076
|
+
<p [ngClass]="calculatedValueClasses()" class="text-3xl font-bold">
|
|
57077
|
+
{{ formatCurrency(displayedTargetRevenue()) }}
|
|
57078
|
+
</p>
|
|
57079
|
+
</div>
|
|
57080
|
+
@if (calculationState() === 'results') {
|
|
57081
|
+
<button
|
|
57082
|
+
(click)="handleAdjustTarget()"
|
|
57083
|
+
[ngClass]="secondaryButtonClasses()"
|
|
57084
|
+
class="px-4 py-2 rounded-lg text-sm font-semibold transition-all whitespace-nowrap">
|
|
57085
|
+
Adjust Revenue Target
|
|
57086
|
+
</button>
|
|
57087
|
+
}
|
|
57088
|
+
</div>
|
|
57089
|
+
|
|
57090
|
+
<div class="relative pt-6 mt-6" [ngClass]="calculatedDividerClasses()">
|
|
57091
|
+
<div class="absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2">
|
|
57092
|
+
<span [ngClass]="dividerLabelClasses()" class="px-3 py-1 rounded-full text-xs font-semibold whitespace-nowrap">
|
|
57093
|
+
vs. {{ priorYear() }}
|
|
57094
|
+
</span>
|
|
57095
|
+
</div>
|
|
57096
|
+
<div class="grid grid-cols-2 gap-4 pt-2">
|
|
57097
|
+
<div>
|
|
57098
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
57099
|
+
Increase Amount
|
|
57100
|
+
</p>
|
|
57101
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
57102
|
+
{{ formatCurrency(calculatedRevenue() - priorYearRevenue()) }}
|
|
57103
|
+
</p>
|
|
57104
|
+
</div>
|
|
57105
|
+
<div>
|
|
57106
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
57107
|
+
% Growth
|
|
57108
|
+
</p>
|
|
57109
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
57110
|
+
+{{ formatPercentage(percentageIncrease(), 1) }}
|
|
57111
|
+
</p>
|
|
57112
|
+
</div>
|
|
57113
|
+
</div>
|
|
57114
|
+
</div>
|
|
57115
|
+
|
|
57116
|
+
@if (currentPaceProjection() > 0 && gapToClose().amount !== 0) {
|
|
57117
|
+
<div class="relative pt-6 mt-6" [ngClass]="calculatedDividerClasses()">
|
|
57118
|
+
<div class="absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2">
|
|
57119
|
+
<span [ngClass]="dividerLabelClasses()" class="px-3 py-1 rounded-full text-xs font-semibold whitespace-nowrap">
|
|
57120
|
+
{{ currentYear() }} YTD Gap
|
|
57121
|
+
</span>
|
|
57122
|
+
</div>
|
|
57123
|
+
<div class="grid grid-cols-2 gap-4 pt-2">
|
|
57124
|
+
<div>
|
|
57125
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
57126
|
+
Gap to Close
|
|
57127
|
+
</p>
|
|
57128
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
57129
|
+
{{ formatCurrency(absValue(gapToClose().amount)) }}
|
|
57130
|
+
</p>
|
|
57131
|
+
</div>
|
|
57132
|
+
<div>
|
|
57133
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
57134
|
+
Additional Growth Needed
|
|
57135
|
+
</p>
|
|
57136
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
57137
|
+
{{ gapToClose().amount > 0 ? '+' : '' }}{{ formatPercentage(gapToClose().percentage, 1) }}
|
|
57138
|
+
</p>
|
|
57139
|
+
</div>
|
|
57140
|
+
</div>
|
|
57141
|
+
</div>
|
|
57142
|
+
}
|
|
57143
|
+
</div>
|
|
57144
|
+
</div>
|
|
57145
|
+
}
|
|
57146
|
+
</div>
|
|
57147
|
+
</div>
|
|
57148
|
+
</div>
|
|
57149
|
+
|
|
57150
|
+
<div class="w-full chart-section" [style.margin-top]="calculationState() === 'results' ? '-2rem' : '0'">
|
|
57151
|
+
<p [ngClass]="chartTitleClasses()" class="text-sm font-semibold mb-3">
|
|
57152
|
+
Year-over-Year Revenue Trend
|
|
57153
|
+
</p>
|
|
57154
|
+
<div [ngClass]="chartContainerClasses()" class="rounded-xl border p-4">
|
|
57155
|
+
@if (revenueChartData()) {
|
|
57156
|
+
<symphiq-area-chart
|
|
57157
|
+
[chart]="revenueChartData()!"
|
|
57158
|
+
[showAxisLabels]="true"
|
|
57159
|
+
[viewMode]="viewMode()"
|
|
57160
|
+
[currencySymbol]="'$'"
|
|
57161
|
+
[height]="'320px'"
|
|
57162
|
+
/>
|
|
57163
|
+
} @else {
|
|
57164
|
+
<div class="h-64 flex items-center justify-center">
|
|
57165
|
+
<p [ngClass]="noDataClasses()" class="text-sm">
|
|
57166
|
+
No revenue data available
|
|
57167
|
+
</p>
|
|
57168
|
+
</div>
|
|
57169
|
+
}
|
|
57170
|
+
</div>
|
|
57171
|
+
</div>
|
|
57172
|
+
</div>
|
|
57173
|
+
</div>
|
|
57174
|
+
|
|
57175
|
+
<div class="metrics-section-enter" [class.metrics-section-enter-active]="showMetricsVisualization()">
|
|
57176
|
+
<div class="metrics-section-content">
|
|
57177
|
+
@if (showMetricsVisualization()) {
|
|
57178
|
+
<div [ngClass]="sectionCardClasses()" class="rounded-2xl border shadow-lg p-8">
|
|
57179
|
+
<div class="mb-6">
|
|
57180
|
+
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
|
|
57181
|
+
Contributing Metrics
|
|
57182
|
+
</h2>
|
|
57183
|
+
<p [ngClass]="sectionDescriptionClasses()" class="text-sm">
|
|
57184
|
+
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.
|
|
57185
|
+
</p>
|
|
57186
|
+
</div>
|
|
57187
|
+
|
|
57188
|
+
<symphiq-funnel-metrics-visualization
|
|
57189
|
+
[viewMode]="viewMode()"
|
|
57190
|
+
[calculations]="displayedMetricCalculations()"
|
|
57191
|
+
[pacingMetrics]="pacingMetrics()"
|
|
57192
|
+
/>
|
|
57193
|
+
</div>
|
|
57194
|
+
}
|
|
57195
|
+
</div>
|
|
57196
|
+
</div>
|
|
57197
|
+
|
|
57198
|
+
<symphiq-sticky-submit-bar
|
|
57199
|
+
[viewMode]="viewMode()"
|
|
57200
|
+
[isValid]="isValid()"
|
|
57201
|
+
[isSubmitting]="isCalculating()"
|
|
57202
|
+
[validationMessage]="validationMessage()"
|
|
57203
|
+
[buttonText]="submitButtonText()"
|
|
57204
|
+
[showCancelButton]="calculationState() === 'input' && hasStoredResponse()"
|
|
57205
|
+
(submitClick)="handleSubmitClick()"
|
|
57206
|
+
(cancelClick)="handleCancel()"
|
|
57207
|
+
/>
|
|
57208
|
+
</div>
|
|
57209
|
+
`, 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}.form-area-collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows .4s ease-out}.form-area-collapse-hidden{grid-template-rows:0fr}.form-area-content{overflow:hidden}.chart-section{transition:margin-top .4s ease-out}.metrics-section-enter{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s ease-out}.metrics-section-enter-active{grid-template-rows:1fr}.metrics-section-content{overflow:hidden}\n"] }]
|
|
57194
57210
|
}], () => [], { absoluteInputRef: [{
|
|
57195
57211
|
type: ViewChild,
|
|
57196
57212
|
args: ['absoluteInputRef']
|
|
@@ -57198,7 +57214,7 @@ class InitialTargetSettingComponent {
|
|
|
57198
57214
|
type: ViewChild,
|
|
57199
57215
|
args: ['percentageInputRef']
|
|
57200
57216
|
}], 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"] }] }); })();
|
|
57201
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber:
|
|
57217
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 339 }); })();
|
|
57202
57218
|
|
|
57203
57219
|
function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
57204
57220
|
i0.ɵɵelement(0, "div", 5);
|