@dilipod/ui 0.4.4 → 0.4.5
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/dist/components/impact-metrics-form.d.ts.map +1 -1
- package/dist/index.js +127 -106
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +127 -106
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/impact-metrics-form.tsx +24 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impact-metrics-form.d.ts","sourceRoot":"","sources":["../../src/components/impact-metrics-form.tsx"],"names":[],"mappings":"AAqBA,MAAM,WAAW,aAAa;IAC5B,0BAA0B,EAAE,MAAM,CAAA;IAClC,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,8BAA8B,EAAE,MAAM,CAAA;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,6BAA6B;IAC7B,cAAc,EAAE,aAAa,CAAA;IAC7B,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wFAAwF;IACxF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACvE,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,cAAc,EACd,eAAmB,EACnB,YAAwB,EACxB,WAA4B,EAC5B,MAAM,EACN,UAAiB,EACjB,SAAS,GACV,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"impact-metrics-form.d.ts","sourceRoot":"","sources":["../../src/components/impact-metrics-form.tsx"],"names":[],"mappings":"AAqBA,MAAM,WAAW,aAAa;IAC5B,0BAA0B,EAAE,MAAM,CAAA;IAClC,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,8BAA8B,EAAE,MAAM,CAAA;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,6BAA6B;IAC7B,cAAc,EAAE,aAAa,CAAA;IAC7B,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wFAAwF;IACxF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACvE,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,cAAc,EACd,eAAmB,EACnB,YAAwB,EACxB,WAA4B,EAC5B,MAAM,EACN,UAAiB,EACjB,SAAS,GACV,EAAE,sBAAsB,2CAuRxB"}
|
package/dist/index.js
CHANGED
|
@@ -4272,12 +4272,15 @@ function ImpactMetricsForm({
|
|
|
4272
4272
|
setIsEditing(false);
|
|
4273
4273
|
};
|
|
4274
4274
|
const hoursSavedPerYear = Math.round(metrics.fte_equivalent * HOURS_PER_FTE_YEAR);
|
|
4275
|
+
const timePerTaskHours = metrics.time_saved_minutes_per_run / 60;
|
|
4276
|
+
const impliedFrequencyPerYear = timePerTaskHours > 0 ? Math.round(hoursSavedPerYear / timePerTaskHours) : 0;
|
|
4277
|
+
const impliedFrequencyPerMonth = Math.round(impliedFrequencyPerYear / 12);
|
|
4275
4278
|
const laborSavingsPerYear = metrics.fte_equivalent * HOURS_PER_FTE_YEAR * metrics.hourly_rate_euros;
|
|
4276
4279
|
const netAnnualSavings = laborSavingsPerYear - workerCostPerYear;
|
|
4277
4280
|
return /* @__PURE__ */ jsxRuntime.jsxs(Card, { className: cn("border-[var(--cyan)]/20 bg-gradient-to-br from-white to-[var(--cyan)]/5", className), children: [
|
|
4278
4281
|
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { className: "pb-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
4279
4282
|
/* @__PURE__ */ jsxRuntime.jsxs(CardTitle, { className: "flex items-center gap-2", children: [
|
|
4280
|
-
/* @__PURE__ */ jsxRuntime.jsx(IconBox, { size: "sm", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", fill: "currentColor", viewBox: "0 0 256 256", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "
|
|
4283
|
+
/* @__PURE__ */ jsxRuntime.jsx(IconBox, { size: "sm", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", fill: "currentColor", viewBox: "0 0 256 256", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M232,208a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V48a8,8,0,0,1,16,0V156.69l50.34-50.35a8,8,0,0,1,11.32,0L128,132.69l58.34-58.35a8,8,0,0,1,11.32,11.32l-64,64a8,8,0,0,1-11.32,0L96,123.31,40,179.31V200H224A8,8,0,0,1,232,208Z" }) }) }),
|
|
4281
4284
|
"Impact Metrics (ROI)"
|
|
4282
4285
|
] }),
|
|
4283
4286
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: isEditing ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -4309,115 +4312,133 @@ function ImpactMetricsForm({
|
|
|
4309
4312
|
}
|
|
4310
4313
|
) })
|
|
4311
4314
|
] }) }),
|
|
4312
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4313
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "
|
|
4314
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4315
|
-
|
|
4316
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4317
|
-
|
|
4318
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4319
|
-
|
|
4320
|
-
|
|
4321
|
-
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
|
|
4325
|
-
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
|
|
4331
|
-
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
4335
|
-
|
|
4336
|
-
|
|
4337
|
-
|
|
4338
|
-
|
|
4339
|
-
|
|
4340
|
-
|
|
4341
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4342
|
-
|
|
4343
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4344
|
-
|
|
4345
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4346
|
-
|
|
4347
|
-
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
"
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4372
|
-
|
|
4373
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4374
|
-
|
|
4375
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
|
|
4382
|
-
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4315
|
+
/* @__PURE__ */ jsxRuntime.jsxs(CardContent, { children: [
|
|
4316
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-6 md:grid-cols-2 lg:grid-cols-4", children: [
|
|
4317
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
|
|
4318
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 rounded-sm bg-[var(--cyan)]/10 shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", fill: "currentColor", viewBox: "0 0 256 256", className: "text-[var(--cyan)]", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M128,40a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,40Zm0,176a80,80,0,1,1,80-80A80.09,80.09,0,0,1,128,216ZM173.66,90.34a8,8,0,0,1,0,11.32l-40,40a8,8,0,0,1-11.32-11.32l40-40A8,8,0,0,1,173.66,90.34ZM96,16a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,16Z" }) }) }),
|
|
4319
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
|
|
4320
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm text-muted-foreground block mb-1", children: "Time per Task" }),
|
|
4321
|
+
isEditing ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4322
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4323
|
+
"input",
|
|
4324
|
+
{
|
|
4325
|
+
type: "number",
|
|
4326
|
+
value: metrics.time_saved_minutes_per_run,
|
|
4327
|
+
onChange: (e) => setMetrics((prev) => ({
|
|
4328
|
+
...prev,
|
|
4329
|
+
time_saved_minutes_per_run: parseInt(e.target.value) || 0
|
|
4330
|
+
})),
|
|
4331
|
+
className: "w-16 px-2 py-1 text-lg font-bold border border-border rounded-sm focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] bg-background",
|
|
4332
|
+
min: "0"
|
|
4333
|
+
}
|
|
4334
|
+
),
|
|
4335
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "min" })
|
|
4336
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-2xl font-bold", children: [
|
|
4337
|
+
metrics.time_saved_minutes_per_run,
|
|
4338
|
+
" ",
|
|
4339
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-normal text-muted-foreground", children: "min" })
|
|
4340
|
+
] }),
|
|
4341
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground mt-1", children: "How long manually" })
|
|
4342
|
+
] })
|
|
4343
|
+
] }),
|
|
4344
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
|
|
4345
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 rounded-sm bg-[var(--cyan)]/10 shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", fill: "currentColor", viewBox: "0 0 256 256", className: "text-[var(--cyan)]", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm0-144a8,8,0,0,1,8,8v4.4c14.25,3.14,24,14.43,24,30.6,0,4.42-3.58,8-8,8s-8-3.58-8-8c0-8.64-7.18-13-16-13s-16,4.36-16,13,7.18,13,16,13c17.64,0,32,11.35,32,29,0,16.17-9.75,27.46-24,30.6V192a8,8,0,0,1-16,0v-4.4c-14.25-3.14-24-14.43-24-30.6a8,8,0,0,1,16,0c0,8.64,7.18,13,16,13s16-4.36,16-13-7.18-13-16-13c-17.64,0-32-11.35-32-29,0-16.17,9.75-27.46,24-30.6V80A8,8,0,0,1,128,72Z" }) }) }),
|
|
4346
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
|
|
4347
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm text-muted-foreground block mb-1", children: "Manual Cost" }),
|
|
4348
|
+
isEditing ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4349
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "\u20AC" }),
|
|
4350
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4351
|
+
"input",
|
|
4352
|
+
{
|
|
4353
|
+
type: "number",
|
|
4354
|
+
value: metrics.hourly_rate_euros,
|
|
4355
|
+
onChange: (e) => setMetrics((prev) => ({
|
|
4356
|
+
...prev,
|
|
4357
|
+
hourly_rate_euros: parseFloat(e.target.value) || 0
|
|
4358
|
+
})),
|
|
4359
|
+
className: "w-16 px-2 py-1 text-lg font-bold border border-border rounded-sm focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] bg-background",
|
|
4360
|
+
min: "0",
|
|
4361
|
+
step: "0.5"
|
|
4362
|
+
}
|
|
4363
|
+
),
|
|
4364
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "/hr" })
|
|
4365
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-2xl font-bold", children: [
|
|
4366
|
+
"\u20AC",
|
|
4367
|
+
metrics.hourly_rate_euros,
|
|
4368
|
+
" ",
|
|
4369
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-normal text-muted-foreground", children: "/hr" })
|
|
4370
|
+
] }),
|
|
4371
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground mt-1", children: "Employee hourly cost" })
|
|
4372
|
+
] })
|
|
4373
|
+
] }),
|
|
4374
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
|
|
4375
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 rounded-sm bg-[var(--cyan)]/10 shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", fill: "currentColor", viewBox: "0 0 256 256", className: "text-[var(--cyan)]", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z" }) }) }),
|
|
4376
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
|
|
4377
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm text-muted-foreground block mb-1", children: "Job Portion" }),
|
|
4378
|
+
isEditing ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4379
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4380
|
+
"input",
|
|
4381
|
+
{
|
|
4382
|
+
type: "number",
|
|
4383
|
+
value: Math.round(metrics.fte_equivalent * 100),
|
|
4384
|
+
onChange: (e) => setMetrics((prev) => ({
|
|
4385
|
+
...prev,
|
|
4386
|
+
fte_equivalent: (parseFloat(e.target.value) || 0) / 100
|
|
4387
|
+
})),
|
|
4388
|
+
className: "w-16 px-2 py-1 text-lg font-bold border border-border rounded-sm focus:outline-none focus:ring-2 focus:ring-[var(--cyan)] bg-background",
|
|
4389
|
+
min: "0",
|
|
4390
|
+
max: "1000",
|
|
4391
|
+
step: "5"
|
|
4392
|
+
}
|
|
4393
|
+
),
|
|
4394
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "%" })
|
|
4395
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-2xl font-bold", children: [
|
|
4396
|
+
Math.round(metrics.fte_equivalent * 100),
|
|
4397
|
+
" ",
|
|
4398
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-normal text-muted-foreground", children: "%" })
|
|
4399
|
+
] }),
|
|
4400
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground mt-1", children: [
|
|
4401
|
+
"% of FTE (",
|
|
4402
|
+
hoursSavedPerYear,
|
|
4403
|
+
"h/year)"
|
|
4404
|
+
] })
|
|
4405
|
+
] })
|
|
4406
|
+
] }),
|
|
4407
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
|
|
4408
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 rounded-sm bg-[var(--cyan)]/10 shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", fill: "currentColor", viewBox: "0 0 256 256", className: "text-[var(--cyan)]", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M240,56v64a8,8,0,0,1-16,0V75.31l-82.34,82.35a8,8,0,0,1-11.32,0L96,123.31,29.66,189.66a8,8,0,0,1-11.32-11.32l72-72a8,8,0,0,1,11.32,0L136,140.69,212.69,64H168a8,8,0,0,1,0-16h64A8,8,0,0,1,240,56Z" }) }) }),
|
|
4409
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
|
|
4410
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm text-muted-foreground block mb-1", children: "Net Annual Savings" }),
|
|
4411
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("text-2xl font-bold", netAnnualSavings >= 0 ? "text-[var(--cyan)]" : "text-red-500"), children: [
|
|
4412
|
+
"\u20AC",
|
|
4413
|
+
netAnnualSavings.toLocaleString(void 0, { maximumFractionDigits: 0 })
|
|
4414
|
+
] }),
|
|
4415
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground mt-1", children: [
|
|
4416
|
+
"\u20AC",
|
|
4417
|
+
laborSavingsPerYear.toLocaleString(void 0, { maximumFractionDigits: 0 }),
|
|
4418
|
+
" labor \u2212 \u20AC",
|
|
4419
|
+
workerCostPerYear,
|
|
4420
|
+
" worker"
|
|
4421
|
+
] })
|
|
4400
4422
|
] })
|
|
4401
4423
|
] })
|
|
4402
4424
|
] }),
|
|
4403
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4404
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
] })
|
|
4425
|
+
impliedFrequencyPerYear > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 pt-4 border-t border-border/50", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
4426
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: "Implied frequency:" }),
|
|
4427
|
+
" ",
|
|
4428
|
+
"~",
|
|
4429
|
+
impliedFrequencyPerMonth,
|
|
4430
|
+
"/month (",
|
|
4431
|
+
impliedFrequencyPerYear,
|
|
4432
|
+
"/year)",
|
|
4433
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs ml-2", children: [
|
|
4434
|
+
"based on ",
|
|
4435
|
+
metrics.time_saved_minutes_per_run,
|
|
4436
|
+
" min/task \xD7 ",
|
|
4437
|
+
Math.round(metrics.fte_equivalent * 100),
|
|
4438
|
+
"% FTE"
|
|
4418
4439
|
] })
|
|
4419
|
-
] })
|
|
4420
|
-
] })
|
|
4440
|
+
] }) })
|
|
4441
|
+
] })
|
|
4421
4442
|
] });
|
|
4422
4443
|
}
|
|
4423
4444
|
|