@eric-emg/symphiq-components 1.2.203 → 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 +322 -313
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +22 -22
- package/package.json +1 -1
- package/styles.css +8 -0
|
@@ -56226,38 +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, "div",
|
|
56229
|
+
function InitialTargetSettingComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
56230
|
+
i0.ɵɵelementStart(0, "div", 9);
|
|
56231
56231
|
i0.ɵɵnamespaceSVG();
|
|
56232
|
-
i0.ɵɵelementStart(1, "svg",
|
|
56233
|
-
i0.ɵɵelement(2, "path",
|
|
56232
|
+
i0.ɵɵelementStart(1, "svg", 10);
|
|
56233
|
+
i0.ɵɵelement(2, "path", 23);
|
|
56234
56234
|
i0.ɵɵelementEnd();
|
|
56235
56235
|
i0.ɵɵnamespaceHTML();
|
|
56236
|
-
i0.ɵɵelementStart(3, "p",
|
|
56237
|
-
i0.ɵɵtext(
|
|
56236
|
+
i0.ɵɵelementStart(3, "div")(4, "p", 12);
|
|
56237
|
+
i0.ɵɵtext(5, " Current Pace Projection ");
|
|
56238
56238
|
i0.ɵɵelementEnd();
|
|
56239
|
-
i0.ɵɵelementStart(
|
|
56240
|
-
i0.ɵɵtext(
|
|
56241
|
-
i0.ɵɵelementEnd()();
|
|
56239
|
+
i0.ɵɵelementStart(6, "p", 13);
|
|
56240
|
+
i0.ɵɵtext(7);
|
|
56241
|
+
i0.ɵɵelementEnd()()();
|
|
56242
56242
|
} if (rf & 2) {
|
|
56243
56243
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
56244
56244
|
i0.ɵɵadvance();
|
|
56245
56245
|
i0.ɵɵproperty("ngClass", ctx_r0.projectionIconClasses());
|
|
56246
|
-
i0.ɵɵadvance(
|
|
56246
|
+
i0.ɵɵadvance(3);
|
|
56247
56247
|
i0.ɵɵproperty("ngClass", ctx_r0.projectionLabelClasses());
|
|
56248
56248
|
i0.ɵɵadvance(2);
|
|
56249
56249
|
i0.ɵɵproperty("ngClass", ctx_r0.projectionValueClasses());
|
|
56250
56250
|
i0.ɵɵadvance();
|
|
56251
56251
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.formatCurrency(ctx_r0.currentPaceProjection()), " ");
|
|
56252
56252
|
} }
|
|
56253
|
-
function
|
|
56253
|
+
function InitialTargetSettingComponent_Conditional_17_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
56254
56254
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
56255
|
-
i0.ɵɵelementStart(0, "div",
|
|
56255
|
+
i0.ɵɵelementStart(0, "div", 26)(1, "span", 27);
|
|
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", 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()); });
|
|
56261
56261
|
i0.ɵɵelementEnd()();
|
|
56262
56262
|
} if (rf & 2) {
|
|
56263
56263
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
@@ -56267,13 +56267,13 @@ function InitialTargetSettingComponent_Conditional_16_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_17_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", 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()); });
|
|
56275
56275
|
i0.ɵɵelementEnd();
|
|
56276
|
-
i0.ɵɵelementStart(3, "span",
|
|
56276
|
+
i0.ɵɵelementStart(3, "span", 30);
|
|
56277
56277
|
i0.ɵɵtext(4, " % ");
|
|
56278
56278
|
i0.ɵɵelementEnd()();
|
|
56279
56279
|
} if (rf & 2) {
|
|
@@ -56284,17 +56284,17 @@ function InitialTargetSettingComponent_Conditional_16_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_17_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", 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")); });
|
|
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", 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")); });
|
|
56295
56295
|
i0.ɵɵtext(4, " % Increase ");
|
|
56296
56296
|
i0.ɵɵelementEnd()();
|
|
56297
|
-
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);
|
|
56298
56298
|
} if (rf & 2) {
|
|
56299
56299
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
56300
56300
|
i0.ɵɵadvance();
|
|
@@ -56304,30 +56304,30 @@ function InitialTargetSettingComponent_Conditional_16_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_20_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", 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()); });
|
|
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_20_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
56318
|
+
i0.ɵɵelementStart(0, "div", 36)(1, "div", 37)(2, "span", 38);
|
|
56319
56319
|
i0.ɵɵtext(3);
|
|
56320
56320
|
i0.ɵɵelementEnd()();
|
|
56321
|
-
i0.ɵɵelementStart(4, "div",
|
|
56321
|
+
i0.ɵɵelementStart(4, "div", 39)(5, "div")(6, "p", 33);
|
|
56322
56322
|
i0.ɵɵtext(7, " Gap to Close ");
|
|
56323
56323
|
i0.ɵɵelementEnd();
|
|
56324
|
-
i0.ɵɵelementStart(8, "p",
|
|
56324
|
+
i0.ɵɵelementStart(8, "p", 40);
|
|
56325
56325
|
i0.ɵɵtext(9);
|
|
56326
56326
|
i0.ɵɵelementEnd()();
|
|
56327
|
-
i0.ɵɵelementStart(10, "div")(11, "p",
|
|
56327
|
+
i0.ɵɵelementStart(10, "div")(11, "p", 33);
|
|
56328
56328
|
i0.ɵɵtext(12, " Additional Growth Needed ");
|
|
56329
56329
|
i0.ɵɵelementEnd();
|
|
56330
|
-
i0.ɵɵelementStart(13, "p",
|
|
56330
|
+
i0.ɵɵelementStart(13, "p", 40);
|
|
56331
56331
|
i0.ɵɵtext(14);
|
|
56332
56332
|
i0.ɵɵelementEnd()()()();
|
|
56333
56333
|
} if (rf & 2) {
|
|
@@ -56350,31 +56350,31 @@ function InitialTargetSettingComponent_Conditional_19_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_20_Template(rf, ctx) { if (rf & 1) {
|
|
56354
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "div", 31)(2, "div", 32)(3, "div")(4, "p", 33);
|
|
56355
56355
|
i0.ɵɵtext(5);
|
|
56356
56356
|
i0.ɵɵelementEnd();
|
|
56357
|
-
i0.ɵɵelementStart(6, "p",
|
|
56357
|
+
i0.ɵɵelementStart(6, "p", 34);
|
|
56358
56358
|
i0.ɵɵtext(7);
|
|
56359
56359
|
i0.ɵɵelementEnd()();
|
|
56360
|
-
i0.ɵɵconditionalCreate(8,
|
|
56360
|
+
i0.ɵɵconditionalCreate(8, InitialTargetSettingComponent_Conditional_20_Conditional_8_Template, 2, 1, "button", 35);
|
|
56361
56361
|
i0.ɵɵelementEnd();
|
|
56362
|
-
i0.ɵɵelementStart(9, "div",
|
|
56362
|
+
i0.ɵɵelementStart(9, "div", 36)(10, "div", 37)(11, "span", 38);
|
|
56363
56363
|
i0.ɵɵtext(12);
|
|
56364
56364
|
i0.ɵɵelementEnd()();
|
|
56365
|
-
i0.ɵɵelementStart(13, "div",
|
|
56365
|
+
i0.ɵɵelementStart(13, "div", 39)(14, "div")(15, "p", 33);
|
|
56366
56366
|
i0.ɵɵtext(16, " Increase Amount ");
|
|
56367
56367
|
i0.ɵɵelementEnd();
|
|
56368
|
-
i0.ɵɵelementStart(17, "p",
|
|
56368
|
+
i0.ɵɵelementStart(17, "p", 40);
|
|
56369
56369
|
i0.ɵɵtext(18);
|
|
56370
56370
|
i0.ɵɵelementEnd()();
|
|
56371
|
-
i0.ɵɵelementStart(19, "div")(20, "p",
|
|
56371
|
+
i0.ɵɵelementStart(19, "div")(20, "p", 33);
|
|
56372
56372
|
i0.ɵɵtext(21, " % Growth ");
|
|
56373
56373
|
i0.ɵɵelementEnd();
|
|
56374
|
-
i0.ɵɵelementStart(22, "p",
|
|
56374
|
+
i0.ɵɵelementStart(22, "p", 40);
|
|
56375
56375
|
i0.ɵɵtext(23);
|
|
56376
56376
|
i0.ɵɵelementEnd()()()();
|
|
56377
|
-
i0.ɵɵconditionalCreate(24,
|
|
56377
|
+
i0.ɵɵconditionalCreate(24, InitialTargetSettingComponent_Conditional_20_Conditional_24_Template, 15, 10, "div", 36);
|
|
56378
56378
|
i0.ɵɵelementEnd()();
|
|
56379
56379
|
} if (rf & 2) {
|
|
56380
56380
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -56410,14 +56410,14 @@ function InitialTargetSettingComponent_Conditional_19_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_25_Template(rf, ctx) { if (rf & 1) {
|
|
56414
|
+
i0.ɵɵelement(0, "symphiq-area-chart", 20);
|
|
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_26_Template(rf, ctx) { if (rf & 1) {
|
|
56420
|
+
i0.ɵɵelementStart(0, "div", 21)(1, "p", 42);
|
|
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_25_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_27_Template(rf, ctx) { if (rf & 1) {
|
|
56429
|
+
i0.ɵɵelementStart(0, "div", 3)(1, "div", 43)(2, "h2", 44);
|
|
56430
56430
|
i0.ɵɵtext(3, " Contributing Metrics ");
|
|
56431
56431
|
i0.ɵɵelementEnd();
|
|
56432
|
-
i0.ɵɵelementStart(4, "p",
|
|
56432
|
+
i0.ɵɵelementStart(4, "p", 42);
|
|
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", 45);
|
|
56436
56436
|
i0.ɵɵelementEnd();
|
|
56437
56437
|
} if (rf & 2) {
|
|
56438
56438
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -56862,6 +56862,11 @@ class InitialTargetSettingComponent {
|
|
|
56862
56862
|
? 'bg-purple-900/60 text-purple-300 border border-purple-500/30'
|
|
56863
56863
|
: 'bg-purple-100 text-purple-700 border border-purple-300';
|
|
56864
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
|
+
}
|
|
56865
56870
|
static { this.ɵfac = function InitialTargetSettingComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InitialTargetSettingComponent)(); }; }
|
|
56866
56871
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InitialTargetSettingComponent, selectors: [["symphiq-initial-target-setting"]], viewQuery: function InitialTargetSettingComponent_Query(rf, ctx) { if (rf & 1) {
|
|
56867
56872
|
i0.ɵɵviewQuery(_c0$r, 5);
|
|
@@ -56870,38 +56875,38 @@ class InitialTargetSettingComponent {
|
|
|
56870
56875
|
let _t;
|
|
56871
56876
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
|
|
56872
56877
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.percentageInputRef = _t.first);
|
|
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:
|
|
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) {
|
|
56874
56879
|
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "h2", 4);
|
|
56875
56880
|
i0.ɵɵtext(3);
|
|
56876
56881
|
i0.ɵɵelementEnd();
|
|
56877
|
-
i0.ɵɵelementStart(4, "div", 5)(5, "div", 6)(6, "div")(7, "div",
|
|
56882
|
+
i0.ɵɵelementStart(4, "div", 5)(5, "div", 6)(6, "div", 7)(7, "div", 8)(8, "div", 9);
|
|
56878
56883
|
i0.ɵɵnamespaceSVG();
|
|
56879
|
-
i0.ɵɵelementStart(9, "svg",
|
|
56880
|
-
i0.ɵɵelement(10, "path",
|
|
56884
|
+
i0.ɵɵelementStart(9, "svg", 10);
|
|
56885
|
+
i0.ɵɵelement(10, "path", 11);
|
|
56881
56886
|
i0.ɵɵelementEnd();
|
|
56882
56887
|
i0.ɵɵnamespaceHTML();
|
|
56883
|
-
i0.ɵɵelementStart(11, "p",
|
|
56884
|
-
i0.ɵɵtext(
|
|
56888
|
+
i0.ɵɵelementStart(11, "div")(12, "p", 12);
|
|
56889
|
+
i0.ɵɵtext(13);
|
|
56885
56890
|
i0.ɵɵelementEnd();
|
|
56886
|
-
i0.ɵɵelementStart(
|
|
56887
|
-
i0.ɵɵtext(
|
|
56888
|
-
i0.ɵɵelementEnd()();
|
|
56889
|
-
i0.ɵɵconditionalCreate(
|
|
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);
|
|
56890
56895
|
i0.ɵɵelementEnd();
|
|
56891
|
-
i0.ɵɵconditionalCreate(
|
|
56896
|
+
i0.ɵɵconditionalCreate(17, InitialTargetSettingComponent_Conditional_17_Template, 7, 3);
|
|
56892
56897
|
i0.ɵɵelementEnd();
|
|
56893
|
-
i0.ɵɵelementStart(
|
|
56894
|
-
i0.ɵɵconditionalCreate(
|
|
56898
|
+
i0.ɵɵelementStart(18, "div", 14)(19, "div", 15);
|
|
56899
|
+
i0.ɵɵconditionalCreate(20, InitialTargetSettingComponent_Conditional_20_Template, 25, 16, "div", 16);
|
|
56895
56900
|
i0.ɵɵelementEnd()()();
|
|
56896
|
-
i0.ɵɵelementStart(
|
|
56897
|
-
i0.ɵɵtext(
|
|
56901
|
+
i0.ɵɵelementStart(21, "div", 17)(22, "p", 18);
|
|
56902
|
+
i0.ɵɵtext(23, " Year-over-Year Revenue Trend ");
|
|
56898
56903
|
i0.ɵɵelementEnd();
|
|
56899
|
-
i0.ɵɵelementStart(
|
|
56900
|
-
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);
|
|
56901
56906
|
i0.ɵɵelementEnd()()()();
|
|
56902
|
-
i0.ɵɵconditionalCreate(
|
|
56903
|
-
i0.ɵɵelementStart(
|
|
56904
|
-
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(); });
|
|
56905
56910
|
i0.ɵɵelementEnd()();
|
|
56906
56911
|
} if (rf & 2) {
|
|
56907
56912
|
i0.ɵɵadvance();
|
|
@@ -56910,34 +56915,34 @@ class InitialTargetSettingComponent {
|
|
|
56910
56915
|
i0.ɵɵproperty("ngClass", ctx.sectionTitleClasses());
|
|
56911
56916
|
i0.ɵɵadvance();
|
|
56912
56917
|
i0.ɵɵtextInterpolate1(" Calculate Your ", ctx.currentYear(), " Revenue Target ");
|
|
56913
|
-
i0.ɵɵadvance(
|
|
56914
|
-
i0.ɵɵproperty("ngClass", ctx.
|
|
56915
|
-
i0.ɵɵadvance(
|
|
56918
|
+
i0.ɵɵadvance(3);
|
|
56919
|
+
i0.ɵɵproperty("ngClass", ctx.formAreaClasses());
|
|
56920
|
+
i0.ɵɵadvance(3);
|
|
56916
56921
|
i0.ɵɵproperty("ngClass", ctx.baselineIconClasses());
|
|
56917
|
-
i0.ɵɵadvance(
|
|
56922
|
+
i0.ɵɵadvance(3);
|
|
56918
56923
|
i0.ɵɵproperty("ngClass", ctx.baselineLabelClasses());
|
|
56919
56924
|
i0.ɵɵadvance();
|
|
56920
|
-
i0.ɵɵtextInterpolate1(" ", ctx.priorYear(), " Revenue
|
|
56925
|
+
i0.ɵɵtextInterpolate1(" ", ctx.priorYear(), " Revenue ");
|
|
56921
56926
|
i0.ɵɵadvance();
|
|
56922
56927
|
i0.ɵɵproperty("ngClass", ctx.baselineValueClasses());
|
|
56923
56928
|
i0.ɵɵadvance();
|
|
56924
56929
|
i0.ɵɵtextInterpolate1(" ", ctx.formatCurrency(ctx.priorYearRevenue()), " ");
|
|
56925
56930
|
i0.ɵɵadvance();
|
|
56926
|
-
i0.ɵɵconditional(ctx.currentPaceProjection() > 0 ?
|
|
56931
|
+
i0.ɵɵconditional(ctx.currentPaceProjection() > 0 ? 16 : -1);
|
|
56927
56932
|
i0.ɵɵadvance();
|
|
56928
|
-
i0.ɵɵconditional(ctx.calculationState() !== "results" ?
|
|
56933
|
+
i0.ɵɵconditional(ctx.calculationState() !== "results" ? 17 : -1);
|
|
56929
56934
|
i0.ɵɵadvance();
|
|
56930
56935
|
i0.ɵɵclassProp("calculated-card-enter-active", ctx.calculatedRevenue() > 0);
|
|
56931
56936
|
i0.ɵɵadvance(2);
|
|
56932
|
-
i0.ɵɵconditional(ctx.calculatedRevenue() > 0 ?
|
|
56937
|
+
i0.ɵɵconditional(ctx.calculatedRevenue() > 0 ? 20 : -1);
|
|
56933
56938
|
i0.ɵɵadvance(2);
|
|
56934
56939
|
i0.ɵɵproperty("ngClass", ctx.chartTitleClasses());
|
|
56935
56940
|
i0.ɵɵadvance(2);
|
|
56936
56941
|
i0.ɵɵproperty("ngClass", ctx.chartContainerClasses());
|
|
56937
56942
|
i0.ɵɵadvance();
|
|
56938
|
-
i0.ɵɵconditional(ctx.revenueChartData() ?
|
|
56943
|
+
i0.ɵɵconditional(ctx.revenueChartData() ? 25 : 26);
|
|
56939
56944
|
i0.ɵɵadvance(2);
|
|
56940
|
-
i0.ɵɵconditional(ctx.showMetricsVisualization() ?
|
|
56945
|
+
i0.ɵɵconditional(ctx.showMetricsVisualization() ? 27 : -1);
|
|
56941
56946
|
i0.ɵɵadvance();
|
|
56942
56947
|
i0.ɵɵproperty("viewMode", ctx.viewMode())("isValid", ctx.isValid())("isSubmitting", ctx.isCalculating())("validationMessage", ctx.validationMessage())("buttonText", ctx.submitButtonText())("showCancelButton", ctx.calculationState() === "input" && ctx.hasStoredResponse());
|
|
56943
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,
|
|
@@ -56952,235 +56957,239 @@ class InitialTargetSettingComponent {
|
|
|
56952
56957
|
FunnelMetricsVisualizationComponent,
|
|
56953
56958
|
StickySubmitBarComponent,
|
|
56954
56959
|
AreaChartComponent
|
|
56955
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
56956
|
-
<div class="space-y-8 pb-32">
|
|
56957
|
-
<div [ngClass]="sectionCardClasses()" class="rounded-2xl border shadow-lg p-8">
|
|
56958
|
-
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-6">
|
|
56959
|
-
Calculate Your {{ currentYear() }} Revenue Target
|
|
56960
|
-
</h2>
|
|
56961
|
-
|
|
56962
|
-
<div class="
|
|
56963
|
-
<div class="
|
|
56964
|
-
<div>
|
|
56965
|
-
<div
|
|
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
|
-
<
|
|
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
|
-
|
|
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
|
-
|
|
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>
|
|
57184
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"] }]
|
|
57185
57194
|
}], () => [], { absoluteInputRef: [{
|
|
57186
57195
|
type: ViewChild,
|
|
@@ -57189,7 +57198,7 @@ class InitialTargetSettingComponent {
|
|
|
57189
57198
|
type: ViewChild,
|
|
57190
57199
|
args: ['percentageInputRef']
|
|
57191
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"] }] }); })();
|
|
57192
|
-
(() => { (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 }); })();
|
|
57193
57202
|
|
|
57194
57203
|
function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
57195
57204
|
i0.ɵɵelement(0, "div", 5);
|