@bpfdev/oly-ui 1.0.12 → 1.0.13
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/index.d.mts +289 -5
- package/dist/index.d.ts +289 -5
- package/dist/index.js +1157 -174
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1196 -220
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -3901,7 +3901,7 @@ var FalconAuditTimeline = ({
|
|
|
3901
3901
|
date: run.date,
|
|
3902
3902
|
ordinal: run.label ?? getOrdinalStr(idx + 1),
|
|
3903
3903
|
status: run.status === "done" ? "completed" : "upcoming",
|
|
3904
|
-
onExportClick: onExportReportClick ? (e) => onExportReportClick(e, run.date) : void 0,
|
|
3904
|
+
onExportClick: onExportReportClick ? (e) => onExportReportClick(e, run.date, run) : void 0,
|
|
3905
3905
|
brandFont,
|
|
3906
3906
|
interFont,
|
|
3907
3907
|
completedColor,
|
|
@@ -3939,7 +3939,16 @@ var FalconAuditTimeline = ({
|
|
|
3939
3939
|
date: `${activeMonth.label} 5`,
|
|
3940
3940
|
ordinal: getOrdinalStr(precedingEvents + 1),
|
|
3941
3941
|
status: isFirstActiveMonth ? "completed" : "upcoming",
|
|
3942
|
-
onExportClick: onExportReportClick ? (e) =>
|
|
3942
|
+
onExportClick: onExportReportClick ? (e) => {
|
|
3943
|
+
const date = `${activeMonth.label} 5`;
|
|
3944
|
+
onExportReportClick(e, date, {
|
|
3945
|
+
run_number: precedingEvents + 1,
|
|
3946
|
+
date,
|
|
3947
|
+
month: activeMonth.label,
|
|
3948
|
+
year: activeMonth.year,
|
|
3949
|
+
status: isFirstActiveMonth ? "done" : "scheduled"
|
|
3950
|
+
});
|
|
3951
|
+
} : void 0,
|
|
3943
3952
|
brandFont,
|
|
3944
3953
|
interFont,
|
|
3945
3954
|
completedColor,
|
|
@@ -12331,21 +12340,973 @@ function QueueTimeBreakdown({
|
|
|
12331
12340
|
] }) }) }) });
|
|
12332
12341
|
}
|
|
12333
12342
|
|
|
12343
|
+
// src/components/charts/StackedComparisonBarChart/stackedComparisonBarChart.chartTokens.ts
|
|
12344
|
+
var STACKED_COMPARISON_DEFAULT_STACK_COLORS = [
|
|
12345
|
+
"#CFE0FB",
|
|
12346
|
+
"#7FB1F0",
|
|
12347
|
+
"#3D7CDF",
|
|
12348
|
+
"#1E2A5E"
|
|
12349
|
+
];
|
|
12350
|
+
var STACKED_COMPARISON_DEFAULT_COMPARISON_COLOR = "#F47C7C";
|
|
12351
|
+
var STACKED_COMPARISON_DEFAULT_LEGEND_STACK_COLOR = "#2563EB";
|
|
12352
|
+
var STACKED_COMPARISON_DEFAULT_LEGEND_COMPARISON_COLOR = "#EF4444";
|
|
12353
|
+
var STACKED_COMPARISON_DEFAULT_FRAME_BORDER = "#EAECEF";
|
|
12354
|
+
|
|
12355
|
+
// src/components/charts/StackedComparisonBarChart/StackedComparisonBarChart.tsx
|
|
12356
|
+
import Box31 from "@mui/material/Box";
|
|
12357
|
+
import ButtonBase2 from "@mui/material/ButtonBase";
|
|
12358
|
+
import Stack25 from "@mui/material/Stack";
|
|
12359
|
+
import Typography26 from "@mui/material/Typography";
|
|
12360
|
+
import * as React25 from "react";
|
|
12361
|
+
import {
|
|
12362
|
+
Bar as Bar5,
|
|
12363
|
+
BarChart as BarChart3,
|
|
12364
|
+
CartesianGrid as CartesianGrid7,
|
|
12365
|
+
ResponsiveContainer as ResponsiveContainer5,
|
|
12366
|
+
Tooltip as Tooltip12,
|
|
12367
|
+
XAxis as XAxis7,
|
|
12368
|
+
YAxis as YAxis7
|
|
12369
|
+
} from "recharts";
|
|
12370
|
+
|
|
12371
|
+
// src/components/charts/StackedComparisonBarChart/stackedComparisonBarChartCustomization.merge.ts
|
|
12372
|
+
function mergeCss7(a, b) {
|
|
12373
|
+
if (!b) {
|
|
12374
|
+
return { ...a };
|
|
12375
|
+
}
|
|
12376
|
+
return { ...a, ...b };
|
|
12377
|
+
}
|
|
12378
|
+
function mergeSx4(...parts) {
|
|
12379
|
+
const flat = parts.filter(Boolean);
|
|
12380
|
+
if (flat.length === 0) {
|
|
12381
|
+
return void 0;
|
|
12382
|
+
}
|
|
12383
|
+
if (flat.length === 1) {
|
|
12384
|
+
return flat[0];
|
|
12385
|
+
}
|
|
12386
|
+
return flat.flat();
|
|
12387
|
+
}
|
|
12388
|
+
|
|
12389
|
+
// src/components/charts/StackedComparisonBarChart/StackedComparisonBarChartCustomizationContext.tsx
|
|
12390
|
+
import * as React24 from "react";
|
|
12391
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
12392
|
+
var StackedComparisonBarChartCustomizationContext = React24.createContext({});
|
|
12393
|
+
function StackedComparisonBarChartCustomizationProvider({
|
|
12394
|
+
value,
|
|
12395
|
+
children
|
|
12396
|
+
}) {
|
|
12397
|
+
const memo = React24.useMemo(() => value, [value]);
|
|
12398
|
+
return /* @__PURE__ */ jsx45(StackedComparisonBarChartCustomizationContext.Provider, { value: memo, children });
|
|
12399
|
+
}
|
|
12400
|
+
function useStackedComparisonBarChartCustomization() {
|
|
12401
|
+
return React24.useContext(StackedComparisonBarChartCustomizationContext);
|
|
12402
|
+
}
|
|
12403
|
+
|
|
12404
|
+
// src/components/charts/StackedComparisonBarChart/StackedComparisonBarChartTooltip.tsx
|
|
12405
|
+
import { jsx as jsx46, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
12406
|
+
function fmt(n) {
|
|
12407
|
+
return new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 }).format(n);
|
|
12408
|
+
}
|
|
12409
|
+
function StackedComparisonBarChartTooltip({
|
|
12410
|
+
active,
|
|
12411
|
+
row,
|
|
12412
|
+
buckets,
|
|
12413
|
+
bucketColors,
|
|
12414
|
+
comparisonColor,
|
|
12415
|
+
stackedTotalLabel,
|
|
12416
|
+
comparisonLabel
|
|
12417
|
+
}) {
|
|
12418
|
+
const { barChart: bc } = useStackedComparisonBarChartCustomization();
|
|
12419
|
+
const tt = bc?.tooltip;
|
|
12420
|
+
if (!active || !row) {
|
|
12421
|
+
return null;
|
|
12422
|
+
}
|
|
12423
|
+
const borderColor = tt?.borderColor ?? "#E5E7EB";
|
|
12424
|
+
const radius = tt?.borderRadiusPx ?? 10;
|
|
12425
|
+
const shadow = tt?.boxShadow ?? "0 8px 24px rgba(15, 23, 42, 0.12)";
|
|
12426
|
+
const bg = tt?.backgroundColor ?? "#FFFFFF";
|
|
12427
|
+
const pad = tt?.paddingPx ?? 14;
|
|
12428
|
+
const bucketNameColor = tt?.bucketNameColor ?? "#0F172A";
|
|
12429
|
+
const bucketValueColor = tt?.bucketValueColor ?? "#0F172A";
|
|
12430
|
+
const totalStackedLabelColor = tt?.totalStackedLabelColor ?? STACKED_COMPARISON_DEFAULT_LEGEND_STACK_COLOR;
|
|
12431
|
+
const totalStackedValueColor = tt?.totalStackedValueColor ?? "#1D4ED8";
|
|
12432
|
+
const comparisonLabelColor = tt?.comparisonLabelColor ?? STACKED_COMPARISON_DEFAULT_LEGEND_COMPARISON_COLOR;
|
|
12433
|
+
const comparisonValueColor = tt?.comparisonValueColor ?? STACKED_COMPARISON_DEFAULT_LEGEND_COMPARISON_COLOR;
|
|
12434
|
+
const dividerColor = tt?.dividerColor ?? "#E5E7EB";
|
|
12435
|
+
const titleColor = tt?.titleColor ?? "#0F172A";
|
|
12436
|
+
const fs = tt?.fontSizePx ?? 13;
|
|
12437
|
+
const titleFs = tt?.titleFontSizePx ?? 15;
|
|
12438
|
+
const titleText = row.subName ? `${row.name} ${row.subName}` : row.name;
|
|
12439
|
+
const orderedBuckets = [...buckets].reverse();
|
|
12440
|
+
const bodyStyle = mergeCss7(
|
|
12441
|
+
{
|
|
12442
|
+
boxSizing: "border-box",
|
|
12443
|
+
backgroundColor: bg,
|
|
12444
|
+
padding: pad,
|
|
12445
|
+
borderRadius: radius,
|
|
12446
|
+
border: `1px solid ${borderColor}`,
|
|
12447
|
+
boxShadow: shadow,
|
|
12448
|
+
minWidth: tt?.minWidthPx ?? 220,
|
|
12449
|
+
...tt?.maxWidthPx != null ? { maxWidth: tt.maxWidthPx } : null
|
|
12450
|
+
},
|
|
12451
|
+
tt?.bodyStyle
|
|
12452
|
+
);
|
|
12453
|
+
const rowStyle = {
|
|
12454
|
+
display: "flex",
|
|
12455
|
+
alignItems: "center",
|
|
12456
|
+
justifyContent: "space-between",
|
|
12457
|
+
fontSize: fs,
|
|
12458
|
+
lineHeight: 1.4,
|
|
12459
|
+
margin: "4px 0",
|
|
12460
|
+
fontFamily: "inherit"
|
|
12461
|
+
};
|
|
12462
|
+
const swatch = (color) => ({
|
|
12463
|
+
width: 10,
|
|
12464
|
+
height: 10,
|
|
12465
|
+
borderRadius: "50%",
|
|
12466
|
+
backgroundColor: color,
|
|
12467
|
+
flexShrink: 0,
|
|
12468
|
+
display: "inline-block",
|
|
12469
|
+
marginRight: 8
|
|
12470
|
+
});
|
|
12471
|
+
return /* @__PURE__ */ jsx46("div", { style: { pointerEvents: "none" }, children: /* @__PURE__ */ jsxs36("div", { style: bodyStyle, children: [
|
|
12472
|
+
/* @__PURE__ */ jsx46(
|
|
12473
|
+
"div",
|
|
12474
|
+
{
|
|
12475
|
+
style: {
|
|
12476
|
+
fontSize: titleFs,
|
|
12477
|
+
fontWeight: 700,
|
|
12478
|
+
color: titleColor,
|
|
12479
|
+
marginBottom: 8
|
|
12480
|
+
},
|
|
12481
|
+
children: titleText
|
|
12482
|
+
}
|
|
12483
|
+
),
|
|
12484
|
+
orderedBuckets.map((b, i) => {
|
|
12485
|
+
const originalIndex = buckets.length - 1 - i;
|
|
12486
|
+
const color = b.color ?? bucketColors[originalIndex] ?? "#94A3B8";
|
|
12487
|
+
const v = row.stacked[b.id] ?? 0;
|
|
12488
|
+
return /* @__PURE__ */ jsxs36("div", { style: rowStyle, children: [
|
|
12489
|
+
/* @__PURE__ */ jsxs36(
|
|
12490
|
+
"span",
|
|
12491
|
+
{
|
|
12492
|
+
style: {
|
|
12493
|
+
display: "flex",
|
|
12494
|
+
alignItems: "center",
|
|
12495
|
+
color: bucketNameColor,
|
|
12496
|
+
fontWeight: 500
|
|
12497
|
+
},
|
|
12498
|
+
children: [
|
|
12499
|
+
/* @__PURE__ */ jsx46("span", { style: swatch(color), "aria-hidden": true }),
|
|
12500
|
+
b.label
|
|
12501
|
+
]
|
|
12502
|
+
}
|
|
12503
|
+
),
|
|
12504
|
+
/* @__PURE__ */ jsx46("span", { style: { color: bucketValueColor, fontWeight: 700 }, children: fmt(v) })
|
|
12505
|
+
] }, b.id);
|
|
12506
|
+
}),
|
|
12507
|
+
/* @__PURE__ */ jsx46(
|
|
12508
|
+
"div",
|
|
12509
|
+
{
|
|
12510
|
+
style: {
|
|
12511
|
+
height: 1,
|
|
12512
|
+
background: dividerColor,
|
|
12513
|
+
margin: "10px 0 8px"
|
|
12514
|
+
}
|
|
12515
|
+
}
|
|
12516
|
+
),
|
|
12517
|
+
/* @__PURE__ */ jsxs36("div", { style: { ...rowStyle, margin: "2px 0" }, children: [
|
|
12518
|
+
/* @__PURE__ */ jsx46("span", { style: { color: totalStackedLabelColor, fontWeight: 700 }, children: stackedTotalLabel }),
|
|
12519
|
+
/* @__PURE__ */ jsx46("span", { style: { color: totalStackedValueColor, fontWeight: 700 }, children: fmt(buckets.reduce((acc, b) => acc + (row.stacked[b.id] ?? 0), 0)) })
|
|
12520
|
+
] }),
|
|
12521
|
+
/* @__PURE__ */ jsxs36("div", { style: { ...rowStyle, margin: "6px 0 0" }, children: [
|
|
12522
|
+
/* @__PURE__ */ jsxs36(
|
|
12523
|
+
"span",
|
|
12524
|
+
{
|
|
12525
|
+
style: {
|
|
12526
|
+
display: "flex",
|
|
12527
|
+
alignItems: "center",
|
|
12528
|
+
color: comparisonLabelColor,
|
|
12529
|
+
fontWeight: 600
|
|
12530
|
+
},
|
|
12531
|
+
children: [
|
|
12532
|
+
/* @__PURE__ */ jsx46("span", { style: swatch(comparisonColor), "aria-hidden": true }),
|
|
12533
|
+
comparisonLabel
|
|
12534
|
+
]
|
|
12535
|
+
}
|
|
12536
|
+
),
|
|
12537
|
+
/* @__PURE__ */ jsx46("span", { style: { color: comparisonValueColor, fontWeight: 700 }, children: fmt(row.comparison) })
|
|
12538
|
+
] })
|
|
12539
|
+
] }) });
|
|
12540
|
+
}
|
|
12541
|
+
|
|
12542
|
+
// src/components/charts/StackedComparisonBarChart/StackedComparisonBarChart.tsx
|
|
12543
|
+
import { Fragment as Fragment16, jsx as jsx47, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
12544
|
+
var DEFAULT_AXIS_TICK_FILL = "#9CA3AF";
|
|
12545
|
+
var DEFAULT_GRID_STROKE = "#EEF0F3";
|
|
12546
|
+
var STACK_KEY = (id) => `stack__${id}`;
|
|
12547
|
+
var COMPARISON_KEY = "__comparison";
|
|
12548
|
+
function SortIcon({ color }) {
|
|
12549
|
+
return /* @__PURE__ */ jsxs37(
|
|
12550
|
+
"svg",
|
|
12551
|
+
{
|
|
12552
|
+
width: "14",
|
|
12553
|
+
height: "14",
|
|
12554
|
+
viewBox: "0 0 14 14",
|
|
12555
|
+
fill: "none",
|
|
12556
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
12557
|
+
"aria-hidden": true,
|
|
12558
|
+
children: [
|
|
12559
|
+
/* @__PURE__ */ jsx47(
|
|
12560
|
+
"path",
|
|
12561
|
+
{
|
|
12562
|
+
d: "M4 2.5V11.5M4 11.5L1.5 9M4 11.5L6.5 9",
|
|
12563
|
+
stroke: color,
|
|
12564
|
+
strokeWidth: "1.4",
|
|
12565
|
+
strokeLinecap: "round",
|
|
12566
|
+
strokeLinejoin: "round"
|
|
12567
|
+
}
|
|
12568
|
+
),
|
|
12569
|
+
/* @__PURE__ */ jsx47(
|
|
12570
|
+
"path",
|
|
12571
|
+
{
|
|
12572
|
+
d: "M10 11.5V2.5M10 2.5L7.5 5M10 2.5L12.5 5",
|
|
12573
|
+
stroke: color,
|
|
12574
|
+
strokeWidth: "1.4",
|
|
12575
|
+
strokeLinecap: "round",
|
|
12576
|
+
strokeLinejoin: "round"
|
|
12577
|
+
}
|
|
12578
|
+
)
|
|
12579
|
+
]
|
|
12580
|
+
}
|
|
12581
|
+
);
|
|
12582
|
+
}
|
|
12583
|
+
function LegendDot({
|
|
12584
|
+
color,
|
|
12585
|
+
sizePx = 10
|
|
12586
|
+
}) {
|
|
12587
|
+
return /* @__PURE__ */ jsx47(
|
|
12588
|
+
Box31,
|
|
12589
|
+
{
|
|
12590
|
+
sx: {
|
|
12591
|
+
width: sizePx,
|
|
12592
|
+
height: sizePx,
|
|
12593
|
+
borderRadius: "50%",
|
|
12594
|
+
bgcolor: color,
|
|
12595
|
+
flexShrink: 0
|
|
12596
|
+
}
|
|
12597
|
+
}
|
|
12598
|
+
);
|
|
12599
|
+
}
|
|
12600
|
+
function MultilineTick(props) {
|
|
12601
|
+
const {
|
|
12602
|
+
x = 0,
|
|
12603
|
+
y = 0,
|
|
12604
|
+
payload,
|
|
12605
|
+
fill = DEFAULT_AXIS_TICK_FILL,
|
|
12606
|
+
fontSize = 12,
|
|
12607
|
+
rowsByName,
|
|
12608
|
+
angle = 0,
|
|
12609
|
+
textAnchor = "middle"
|
|
12610
|
+
} = props;
|
|
12611
|
+
const name = payload?.value ?? "";
|
|
12612
|
+
if (!name) return null;
|
|
12613
|
+
const row = rowsByName ? rowsByName[name] : void 0;
|
|
12614
|
+
const subName = row?.subName;
|
|
12615
|
+
const lines = [];
|
|
12616
|
+
String(name).split("\n").forEach((s) => lines.push(s));
|
|
12617
|
+
if (subName) {
|
|
12618
|
+
String(subName).split("\n").forEach((s) => lines.push(s));
|
|
12619
|
+
}
|
|
12620
|
+
const lineHeight = fontSize * 1.25;
|
|
12621
|
+
const isHorizontal = angle === 0;
|
|
12622
|
+
const anchor = isHorizontal ? "middle" : textAnchor;
|
|
12623
|
+
const dy0 = isHorizontal ? lineHeight : 4;
|
|
12624
|
+
return /* @__PURE__ */ jsx47("g", { transform: `translate(${x},${y})`, children: /* @__PURE__ */ jsx47(
|
|
12625
|
+
"text",
|
|
12626
|
+
{
|
|
12627
|
+
transform: angle !== 0 ? `rotate(${angle})` : void 0,
|
|
12628
|
+
textAnchor: anchor,
|
|
12629
|
+
fontSize,
|
|
12630
|
+
fill,
|
|
12631
|
+
children: lines.map((line, i) => /* @__PURE__ */ jsx47("tspan", { x: 0, dy: i === 0 ? dy0 : lineHeight, children: line }, i))
|
|
12632
|
+
}
|
|
12633
|
+
) });
|
|
12634
|
+
}
|
|
12635
|
+
function BarPlot({
|
|
12636
|
+
data,
|
|
12637
|
+
buckets,
|
|
12638
|
+
bucketColors,
|
|
12639
|
+
comparisonColor,
|
|
12640
|
+
rowsByName,
|
|
12641
|
+
yAxisDomain,
|
|
12642
|
+
yAxisTicks,
|
|
12643
|
+
yAxisTickFormatter,
|
|
12644
|
+
stackedTotalLabel,
|
|
12645
|
+
comparisonLabel,
|
|
12646
|
+
renderTooltip,
|
|
12647
|
+
enableHorizontalScroll,
|
|
12648
|
+
chartMinWidth,
|
|
12649
|
+
categoryWidthPx
|
|
12650
|
+
}) {
|
|
12651
|
+
const { barChart: bc } = useStackedComparisonBarChartCustomization();
|
|
12652
|
+
const height = bc?.heightPx ?? 360;
|
|
12653
|
+
const stackedSize = bc?.stackedBarSizePx ?? 22;
|
|
12654
|
+
const comparisonSize = bc?.comparisonBarSizePx ?? 18;
|
|
12655
|
+
const barCategoryGap = bc?.barCategoryGapPx ?? 20;
|
|
12656
|
+
const barGap = bc?.barGap ?? 2;
|
|
12657
|
+
const barTopRadius = bc?.barTopRadiusPx ?? 3;
|
|
12658
|
+
const m = {
|
|
12659
|
+
top: bc?.margin?.top ?? 16,
|
|
12660
|
+
right: bc?.margin?.right ?? 8,
|
|
12661
|
+
bottom: bc?.margin?.bottom ?? 28,
|
|
12662
|
+
left: bc?.margin?.left ?? 4
|
|
12663
|
+
};
|
|
12664
|
+
const gridStroke = bc?.gridStroke ?? DEFAULT_GRID_STROKE;
|
|
12665
|
+
const dash = bc?.gridStrokeDasharray ?? "0";
|
|
12666
|
+
const xFill = bc?.xAxisTickFill ?? "#6B7280";
|
|
12667
|
+
const xTickAngle = bc?.xAxisTickAngle ?? 0;
|
|
12668
|
+
const xTickAnchor = bc?.xAxisTickAnchor ?? "end";
|
|
12669
|
+
const xAxisHeight = bc?.xAxisHeight ?? 50;
|
|
12670
|
+
const yFill = bc?.yAxisTickFill ?? DEFAULT_AXIS_TICK_FILL;
|
|
12671
|
+
const yWidth = bc?.yAxisWidth ?? 44;
|
|
12672
|
+
const cursorFill = bc?.cursorFill ?? "rgba(15, 23, 42, 0.04)";
|
|
12673
|
+
const defaultFmt = React25.useCallback(
|
|
12674
|
+
(v) => v >= 1e3 ? `${(v / 1e3).toFixed(v % 1e3 === 0 ? 0 : 1)}k` : `${v}`,
|
|
12675
|
+
[]
|
|
12676
|
+
);
|
|
12677
|
+
const tickFmt = yAxisTickFormatter ?? defaultFmt;
|
|
12678
|
+
const resolvedCategoryWidth = categoryWidthPx ?? 90;
|
|
12679
|
+
const innerMinWidth = chartMinWidth ?? resolvedCategoryWidth * Math.max(data.length, 1);
|
|
12680
|
+
const outerSx = enableHorizontalScroll ? {
|
|
12681
|
+
width: "100%",
|
|
12682
|
+
height,
|
|
12683
|
+
mt: 0.5,
|
|
12684
|
+
overflowX: "auto",
|
|
12685
|
+
overflowY: "hidden"
|
|
12686
|
+
} : { width: "100%", height, mt: 0.5 };
|
|
12687
|
+
const innerSx = enableHorizontalScroll ? { width: "100%", height: "100%", minWidth: innerMinWidth } : { width: "100%", height: "100%" };
|
|
12688
|
+
return /* @__PURE__ */ jsx47(Box31, { sx: outerSx, children: /* @__PURE__ */ jsx47(Box31, { sx: innerSx, children: /* @__PURE__ */ jsx47(ResponsiveContainer5, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs37(
|
|
12689
|
+
BarChart3,
|
|
12690
|
+
{
|
|
12691
|
+
data,
|
|
12692
|
+
margin: m,
|
|
12693
|
+
barCategoryGap,
|
|
12694
|
+
barGap,
|
|
12695
|
+
children: [
|
|
12696
|
+
/* @__PURE__ */ jsx47(
|
|
12697
|
+
CartesianGrid7,
|
|
12698
|
+
{
|
|
12699
|
+
strokeDasharray: dash,
|
|
12700
|
+
vertical: false,
|
|
12701
|
+
stroke: gridStroke
|
|
12702
|
+
}
|
|
12703
|
+
),
|
|
12704
|
+
/* @__PURE__ */ jsx47(
|
|
12705
|
+
XAxis7,
|
|
12706
|
+
{
|
|
12707
|
+
dataKey: "__name",
|
|
12708
|
+
tick: /* @__PURE__ */ jsx47(
|
|
12709
|
+
MultilineTick,
|
|
12710
|
+
{
|
|
12711
|
+
fill: xFill,
|
|
12712
|
+
fontSize: 12,
|
|
12713
|
+
rowsByName,
|
|
12714
|
+
angle: xTickAngle,
|
|
12715
|
+
textAnchor: xTickAnchor
|
|
12716
|
+
}
|
|
12717
|
+
),
|
|
12718
|
+
tickLine: false,
|
|
12719
|
+
axisLine: { stroke: gridStroke },
|
|
12720
|
+
interval: 0,
|
|
12721
|
+
height: xAxisHeight
|
|
12722
|
+
}
|
|
12723
|
+
),
|
|
12724
|
+
/* @__PURE__ */ jsx47(
|
|
12725
|
+
YAxis7,
|
|
12726
|
+
{
|
|
12727
|
+
domain: yAxisDomain,
|
|
12728
|
+
ticks: yAxisTicks,
|
|
12729
|
+
tick: { fill: yFill, fontSize: 11 },
|
|
12730
|
+
tickLine: false,
|
|
12731
|
+
axisLine: false,
|
|
12732
|
+
width: yWidth,
|
|
12733
|
+
tickFormatter: tickFmt
|
|
12734
|
+
}
|
|
12735
|
+
),
|
|
12736
|
+
/* @__PURE__ */ jsx47(
|
|
12737
|
+
Tooltip12,
|
|
12738
|
+
{
|
|
12739
|
+
content: (tooltipProps) => {
|
|
12740
|
+
const label = tooltipProps.label;
|
|
12741
|
+
const labelStr = typeof label === "string" ? label : String(label ?? "");
|
|
12742
|
+
const row = rowsByName[labelStr] ?? null;
|
|
12743
|
+
if (renderTooltip) {
|
|
12744
|
+
const custom = renderTooltip({
|
|
12745
|
+
tooltipProps,
|
|
12746
|
+
row,
|
|
12747
|
+
buckets,
|
|
12748
|
+
bucketColors,
|
|
12749
|
+
comparisonColor
|
|
12750
|
+
});
|
|
12751
|
+
return custom == null ? null : /* @__PURE__ */ jsx47(Fragment16, { children: custom });
|
|
12752
|
+
}
|
|
12753
|
+
return /* @__PURE__ */ jsx47(
|
|
12754
|
+
StackedComparisonBarChartTooltip,
|
|
12755
|
+
{
|
|
12756
|
+
...tooltipProps,
|
|
12757
|
+
row,
|
|
12758
|
+
buckets,
|
|
12759
|
+
bucketColors,
|
|
12760
|
+
comparisonColor,
|
|
12761
|
+
stackedTotalLabel,
|
|
12762
|
+
comparisonLabel
|
|
12763
|
+
}
|
|
12764
|
+
);
|
|
12765
|
+
},
|
|
12766
|
+
cursor: { fill: cursorFill },
|
|
12767
|
+
allowEscapeViewBox: { x: false, y: true }
|
|
12768
|
+
}
|
|
12769
|
+
),
|
|
12770
|
+
buckets.map((b, i) => {
|
|
12771
|
+
const color = b.color ?? bucketColors[i] ?? "#94A3B8";
|
|
12772
|
+
const isTop = i === buckets.length - 1;
|
|
12773
|
+
const radius = isTop ? [barTopRadius, barTopRadius, 0, 0] : [0, 0, 0, 0];
|
|
12774
|
+
return /* @__PURE__ */ jsx47(
|
|
12775
|
+
Bar5,
|
|
12776
|
+
{
|
|
12777
|
+
dataKey: STACK_KEY(b.id),
|
|
12778
|
+
name: b.label,
|
|
12779
|
+
stackId: "stacked",
|
|
12780
|
+
fill: color,
|
|
12781
|
+
barSize: stackedSize,
|
|
12782
|
+
isAnimationActive: false,
|
|
12783
|
+
radius
|
|
12784
|
+
},
|
|
12785
|
+
b.id
|
|
12786
|
+
);
|
|
12787
|
+
}),
|
|
12788
|
+
/* @__PURE__ */ jsx47(
|
|
12789
|
+
Bar5,
|
|
12790
|
+
{
|
|
12791
|
+
dataKey: COMPARISON_KEY,
|
|
12792
|
+
name: comparisonLabel,
|
|
12793
|
+
stackId: "comparison",
|
|
12794
|
+
fill: comparisonColor,
|
|
12795
|
+
barSize: comparisonSize,
|
|
12796
|
+
isAnimationActive: false,
|
|
12797
|
+
radius: [barTopRadius, barTopRadius, 0, 0]
|
|
12798
|
+
}
|
|
12799
|
+
)
|
|
12800
|
+
]
|
|
12801
|
+
}
|
|
12802
|
+
) }) }) });
|
|
12803
|
+
}
|
|
12804
|
+
function StackedComparisonBarChart({
|
|
12805
|
+
subHeading,
|
|
12806
|
+
showSortToggle = true,
|
|
12807
|
+
onSortToggle,
|
|
12808
|
+
showSubHeadingDivider = true,
|
|
12809
|
+
showHeaderLegend = true,
|
|
12810
|
+
enableHorizontalScroll = false,
|
|
12811
|
+
chartMinWidth,
|
|
12812
|
+
categoryWidthPx,
|
|
12813
|
+
buckets,
|
|
12814
|
+
data,
|
|
12815
|
+
stackedLegendLabel = "Stacked",
|
|
12816
|
+
comparisonLegendLabel = "Comparison",
|
|
12817
|
+
stackedTotalLabel,
|
|
12818
|
+
yAxisDomain,
|
|
12819
|
+
yAxisTicks,
|
|
12820
|
+
yAxisTickFormatter,
|
|
12821
|
+
renderTooltip,
|
|
12822
|
+
emptyStatePlaceholderProps,
|
|
12823
|
+
customization
|
|
12824
|
+
}) {
|
|
12825
|
+
const bucketColors = customization?.barChart?.stackColors ?? STACKED_COMPARISON_DEFAULT_STACK_COLORS;
|
|
12826
|
+
const comparisonColor = customization?.barChart?.comparisonColor ?? STACKED_COMPARISON_DEFAULT_COMPARISON_COLOR;
|
|
12827
|
+
const legendStackDot = customization?.header?.legendStackColor ?? STACKED_COMPARISON_DEFAULT_LEGEND_STACK_COLOR;
|
|
12828
|
+
const legendComparisonDot = customization?.header?.legendComparisonColor ?? STACKED_COMPARISON_DEFAULT_LEGEND_COMPARISON_COLOR;
|
|
12829
|
+
const legendDividerColor = customization?.header?.legendDividerColor ?? "#E5E7EB";
|
|
12830
|
+
const legendDotSize = customization?.header?.legendDotSizePx ?? 10;
|
|
12831
|
+
const frameBorder = customization?.frame?.borderColor ?? STACKED_COMPARISON_DEFAULT_FRAME_BORDER;
|
|
12832
|
+
const frameBg = customization?.frame?.backgroundColor ?? "#FFFFFF";
|
|
12833
|
+
const rowsByName = React25.useMemo(() => {
|
|
12834
|
+
const r = {};
|
|
12835
|
+
for (const row of data) r[row.name] = row;
|
|
12836
|
+
return r;
|
|
12837
|
+
}, [data]);
|
|
12838
|
+
const chartData = React25.useMemo(() => {
|
|
12839
|
+
return data.map((row) => {
|
|
12840
|
+
const d = {
|
|
12841
|
+
__key: row.name,
|
|
12842
|
+
__name: row.name,
|
|
12843
|
+
__subName: row.subName,
|
|
12844
|
+
__row: row,
|
|
12845
|
+
[COMPARISON_KEY]: row.comparison
|
|
12846
|
+
};
|
|
12847
|
+
for (const b of buckets) {
|
|
12848
|
+
d[STACK_KEY(b.id)] = row.stacked[b.id] ?? 0;
|
|
12849
|
+
}
|
|
12850
|
+
return d;
|
|
12851
|
+
});
|
|
12852
|
+
}, [data, buckets]);
|
|
12853
|
+
const subHeadingSx = mergeSx4(
|
|
12854
|
+
{
|
|
12855
|
+
fontWeight: 700,
|
|
12856
|
+
fontSize: "0.95rem",
|
|
12857
|
+
color: "#0f172a"
|
|
12858
|
+
},
|
|
12859
|
+
customization?.header?.subHeadingSx
|
|
12860
|
+
);
|
|
12861
|
+
const frameSx = mergeSx4(
|
|
12862
|
+
{
|
|
12863
|
+
bgcolor: frameBg,
|
|
12864
|
+
border: `1px solid ${frameBorder}`,
|
|
12865
|
+
borderRadius: 2,
|
|
12866
|
+
px: 2,
|
|
12867
|
+
pt: 2,
|
|
12868
|
+
pb: 1.5,
|
|
12869
|
+
width: "100%",
|
|
12870
|
+
boxSizing: "border-box"
|
|
12871
|
+
},
|
|
12872
|
+
customization?.frame?.sx
|
|
12873
|
+
);
|
|
12874
|
+
const subHeadingDividerColor = customization?.frame?.subHeadingDividerColor ?? "#C7C9D9";
|
|
12875
|
+
const subHeadingDividerSx = mergeSx4(
|
|
12876
|
+
{
|
|
12877
|
+
height: "1px",
|
|
12878
|
+
width: "100%",
|
|
12879
|
+
bgcolor: subHeadingDividerColor,
|
|
12880
|
+
mb: 1.5
|
|
12881
|
+
},
|
|
12882
|
+
customization?.frame?.subHeadingDividerSx
|
|
12883
|
+
);
|
|
12884
|
+
const legendSx = mergeSx4({ flexShrink: 0 }, customization?.header?.legendSx);
|
|
12885
|
+
const showSubHeadingRow = Boolean(subHeading) || showSortToggle || showHeaderLegend;
|
|
12886
|
+
const resolvedStackedTotal = stackedTotalLabel ?? `Total ${stackedLegendLabel}`;
|
|
12887
|
+
if (chartData.length === 0) {
|
|
12888
|
+
return /* @__PURE__ */ jsx47(ChartEmptyState, { minHeight: 360, ...emptyStatePlaceholderProps });
|
|
12889
|
+
}
|
|
12890
|
+
return /* @__PURE__ */ jsx47(StackedComparisonBarChartCustomizationProvider, { value: customization ?? {}, children: /* @__PURE__ */ jsxs37(Box31, { sx: frameSx, children: [
|
|
12891
|
+
showSubHeadingRow ? /* @__PURE__ */ jsxs37(
|
|
12892
|
+
Stack25,
|
|
12893
|
+
{
|
|
12894
|
+
direction: "row",
|
|
12895
|
+
alignItems: "center",
|
|
12896
|
+
justifyContent: "space-between",
|
|
12897
|
+
gap: 2,
|
|
12898
|
+
flexWrap: "wrap",
|
|
12899
|
+
sx: { mb: 1 },
|
|
12900
|
+
children: [
|
|
12901
|
+
/* @__PURE__ */ jsxs37(Stack25, { direction: "row", alignItems: "center", spacing: 1, children: [
|
|
12902
|
+
subHeading ? /* @__PURE__ */ jsx47(Typography26, { sx: subHeadingSx, children: subHeading }) : /* @__PURE__ */ jsx47("span", {}),
|
|
12903
|
+
showSortToggle ? /* @__PURE__ */ jsx47(
|
|
12904
|
+
ButtonBase2,
|
|
12905
|
+
{
|
|
12906
|
+
onClick: onSortToggle,
|
|
12907
|
+
disableRipple: !onSortToggle,
|
|
12908
|
+
sx: mergeSx4(
|
|
12909
|
+
{
|
|
12910
|
+
width: 26,
|
|
12911
|
+
height: 26,
|
|
12912
|
+
borderRadius: 1,
|
|
12913
|
+
bgcolor: "#EEF2FF",
|
|
12914
|
+
color: "#5B6DEC",
|
|
12915
|
+
display: "inline-flex",
|
|
12916
|
+
alignItems: "center",
|
|
12917
|
+
justifyContent: "center",
|
|
12918
|
+
cursor: onSortToggle ? "pointer" : "default",
|
|
12919
|
+
"&:hover": onSortToggle ? { bgcolor: "#E0E7FF" } : void 0
|
|
12920
|
+
},
|
|
12921
|
+
customization?.header?.sortButtonSx
|
|
12922
|
+
),
|
|
12923
|
+
"aria-label": "Toggle sort order",
|
|
12924
|
+
children: /* @__PURE__ */ jsx47(SortIcon, { color: "#5B6DEC" })
|
|
12925
|
+
}
|
|
12926
|
+
) : null
|
|
12927
|
+
] }),
|
|
12928
|
+
showHeaderLegend ? /* @__PURE__ */ jsxs37(
|
|
12929
|
+
Stack25,
|
|
12930
|
+
{
|
|
12931
|
+
direction: "row",
|
|
12932
|
+
alignItems: "center",
|
|
12933
|
+
spacing: 1.5,
|
|
12934
|
+
sx: legendSx,
|
|
12935
|
+
children: [
|
|
12936
|
+
/* @__PURE__ */ jsxs37(Stack25, { direction: "row", alignItems: "center", spacing: 0.75, children: [
|
|
12937
|
+
/* @__PURE__ */ jsx47(LegendDot, { color: legendStackDot, sizePx: legendDotSize }),
|
|
12938
|
+
/* @__PURE__ */ jsx47(
|
|
12939
|
+
Typography26,
|
|
12940
|
+
{
|
|
12941
|
+
sx: mergeSx4(
|
|
12942
|
+
{
|
|
12943
|
+
fontWeight: 700,
|
|
12944
|
+
fontSize: "0.85rem",
|
|
12945
|
+
color: legendStackDot
|
|
12946
|
+
},
|
|
12947
|
+
customization?.header?.legendLabelSx
|
|
12948
|
+
),
|
|
12949
|
+
children: stackedLegendLabel
|
|
12950
|
+
}
|
|
12951
|
+
)
|
|
12952
|
+
] }),
|
|
12953
|
+
/* @__PURE__ */ jsx47(
|
|
12954
|
+
Box31,
|
|
12955
|
+
{
|
|
12956
|
+
sx: {
|
|
12957
|
+
width: "1px",
|
|
12958
|
+
height: 18,
|
|
12959
|
+
bgcolor: legendDividerColor
|
|
12960
|
+
}
|
|
12961
|
+
}
|
|
12962
|
+
),
|
|
12963
|
+
/* @__PURE__ */ jsxs37(Stack25, { direction: "row", alignItems: "center", spacing: 0.75, children: [
|
|
12964
|
+
/* @__PURE__ */ jsx47(
|
|
12965
|
+
LegendDot,
|
|
12966
|
+
{
|
|
12967
|
+
color: legendComparisonDot,
|
|
12968
|
+
sizePx: legendDotSize
|
|
12969
|
+
}
|
|
12970
|
+
),
|
|
12971
|
+
/* @__PURE__ */ jsx47(
|
|
12972
|
+
Typography26,
|
|
12973
|
+
{
|
|
12974
|
+
sx: mergeSx4(
|
|
12975
|
+
{
|
|
12976
|
+
fontWeight: 700,
|
|
12977
|
+
fontSize: "0.85rem",
|
|
12978
|
+
color: legendComparisonDot
|
|
12979
|
+
},
|
|
12980
|
+
customization?.header?.legendLabelSx
|
|
12981
|
+
),
|
|
12982
|
+
children: comparisonLegendLabel
|
|
12983
|
+
}
|
|
12984
|
+
)
|
|
12985
|
+
] })
|
|
12986
|
+
]
|
|
12987
|
+
}
|
|
12988
|
+
) : null
|
|
12989
|
+
]
|
|
12990
|
+
}
|
|
12991
|
+
) : null,
|
|
12992
|
+
showSubHeadingDivider ? /* @__PURE__ */ jsx47(Box31, { sx: subHeadingDividerSx }) : null,
|
|
12993
|
+
/* @__PURE__ */ jsx47(
|
|
12994
|
+
BarPlot,
|
|
12995
|
+
{
|
|
12996
|
+
data: chartData,
|
|
12997
|
+
buckets,
|
|
12998
|
+
bucketColors,
|
|
12999
|
+
comparisonColor,
|
|
13000
|
+
rowsByName,
|
|
13001
|
+
yAxisDomain,
|
|
13002
|
+
yAxisTicks,
|
|
13003
|
+
yAxisTickFormatter,
|
|
13004
|
+
stackedTotalLabel: resolvedStackedTotal,
|
|
13005
|
+
comparisonLabel: comparisonLegendLabel,
|
|
13006
|
+
renderTooltip,
|
|
13007
|
+
enableHorizontalScroll,
|
|
13008
|
+
chartMinWidth,
|
|
13009
|
+
categoryWidthPx
|
|
13010
|
+
}
|
|
13011
|
+
)
|
|
13012
|
+
] }) });
|
|
13013
|
+
}
|
|
13014
|
+
|
|
13015
|
+
// src/components/widgets/StorePerformanceByAssist/storePerformanceByAssist.defaultInfoPopover.ts
|
|
13016
|
+
var DEFAULT_STORE_PERFORMANCE_BY_ASSIST_INFO_POPOVER = {
|
|
13017
|
+
title: "Store Performance by Assist",
|
|
13018
|
+
description: "Per-store breakdown of attended customers split by attend-duration buckets, alongside the unattended count.",
|
|
13019
|
+
helpBullets: [
|
|
13020
|
+
"Compare attended vs unattended customer volume by store.",
|
|
13021
|
+
"Identify stores with high unattended counts that need staffing.",
|
|
13022
|
+
"See how attended customers split across 0-10 sec, 11-30 sec, 31-59 sec, and 1-2 min buckets."
|
|
13023
|
+
]
|
|
13024
|
+
};
|
|
13025
|
+
|
|
13026
|
+
// src/components/widgets/StorePerformanceByAssist/storePerformanceByAssist.mock.ts
|
|
13027
|
+
var STORE_PERFORMANCE_DEFAULT_BUCKETS = [
|
|
13028
|
+
{ id: "0-10", label: "0-10sec" },
|
|
13029
|
+
{ id: "11-30", label: "11-30sec" },
|
|
13030
|
+
{ id: "31-59", label: "31-59sec" },
|
|
13031
|
+
{ id: "1-2", label: "1-2min" }
|
|
13032
|
+
];
|
|
13033
|
+
var STORE_PERFORMANCE_DEFAULT_DATA = [
|
|
13034
|
+
{
|
|
13035
|
+
name: "Lake Mall",
|
|
13036
|
+
subName: "Kolkata",
|
|
13037
|
+
stacked: { "0-10": 1100, "11-30": 1100, "31-59": 1500, "1-2": 3e3 },
|
|
13038
|
+
comparison: 700
|
|
13039
|
+
},
|
|
13040
|
+
{
|
|
13041
|
+
name: "V3s",
|
|
13042
|
+
subName: "Delhi",
|
|
13043
|
+
stacked: { "0-10": 1e3, "11-30": 1100, "31-59": 1450, "1-2": 2900 },
|
|
13044
|
+
comparison: 620
|
|
13045
|
+
},
|
|
13046
|
+
{
|
|
13047
|
+
name: "Forum Mall",
|
|
13048
|
+
subName: "Bangalore",
|
|
13049
|
+
stacked: { "0-10": 750, "11-30": 800, "31-59": 1450, "1-2": 2050 },
|
|
13050
|
+
comparison: 520
|
|
13051
|
+
},
|
|
13052
|
+
{
|
|
13053
|
+
name: "Phoenix",
|
|
13054
|
+
subName: "Mumbai",
|
|
13055
|
+
stacked: { "0-10": 600, "11-30": 700, "31-59": 1450, "1-2": 1500 },
|
|
13056
|
+
comparison: 470
|
|
13057
|
+
},
|
|
13058
|
+
{
|
|
13059
|
+
name: "DB City",
|
|
13060
|
+
subName: "Bhopal",
|
|
13061
|
+
stacked: { "0-10": 400, "11-30": 600, "31-59": 950, "1-2": 1550 },
|
|
13062
|
+
comparison: 580
|
|
13063
|
+
},
|
|
13064
|
+
{
|
|
13065
|
+
name: "DLF",
|
|
13066
|
+
subName: "Gurgaon",
|
|
13067
|
+
stacked: { "0-10": 225, "11-30": 300, "31-59": 375, "1-2": 600 },
|
|
13068
|
+
comparison: 190
|
|
13069
|
+
},
|
|
13070
|
+
{
|
|
13071
|
+
name: "Highway",
|
|
13072
|
+
subName: "Chennai",
|
|
13073
|
+
stacked: { "0-10": 200, "11-30": 250, "31-59": 350, "1-2": 850 },
|
|
13074
|
+
comparison: 140
|
|
13075
|
+
},
|
|
13076
|
+
{
|
|
13077
|
+
name: "Elante",
|
|
13078
|
+
subName: "Chandigarh",
|
|
13079
|
+
stacked: { "0-10": 150, "11-30": 200, "31-59": 250, "1-2": 600 },
|
|
13080
|
+
comparison: 100
|
|
13081
|
+
}
|
|
13082
|
+
];
|
|
13083
|
+
|
|
13084
|
+
// src/components/widgets/StorePerformanceByAssist/StorePerformanceByAssist.tsx
|
|
13085
|
+
import Box32 from "@mui/material/Box";
|
|
13086
|
+
import Card4 from "@mui/material/Card";
|
|
13087
|
+
import CardContent3 from "@mui/material/CardContent";
|
|
13088
|
+
import Stack26 from "@mui/material/Stack";
|
|
13089
|
+
import Typography27 from "@mui/material/Typography";
|
|
13090
|
+
import { Fragment as Fragment17, jsx as jsx48, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
13091
|
+
function LegendSquare({
|
|
13092
|
+
color,
|
|
13093
|
+
size = 12
|
|
13094
|
+
}) {
|
|
13095
|
+
return /* @__PURE__ */ jsx48(
|
|
13096
|
+
Box32,
|
|
13097
|
+
{
|
|
13098
|
+
sx: {
|
|
13099
|
+
width: size,
|
|
13100
|
+
height: size,
|
|
13101
|
+
borderRadius: 0.5,
|
|
13102
|
+
bgcolor: color,
|
|
13103
|
+
flexShrink: 0
|
|
13104
|
+
}
|
|
13105
|
+
}
|
|
13106
|
+
);
|
|
13107
|
+
}
|
|
13108
|
+
function StorePerformanceByAssist({
|
|
13109
|
+
title,
|
|
13110
|
+
width,
|
|
13111
|
+
maxWidth,
|
|
13112
|
+
minWidth,
|
|
13113
|
+
subHeading = "Stores (Top to Bottom)",
|
|
13114
|
+
showSortToggle = true,
|
|
13115
|
+
onSortToggle,
|
|
13116
|
+
showSubHeadingDivider = true,
|
|
13117
|
+
showHeaderLegend = true,
|
|
13118
|
+
enableHorizontalScroll = false,
|
|
13119
|
+
chartMinWidth,
|
|
13120
|
+
categoryWidthPx,
|
|
13121
|
+
buckets,
|
|
13122
|
+
data,
|
|
13123
|
+
attendedLegendLabel = "Attended",
|
|
13124
|
+
unattendedLegendLabel = "Unattended",
|
|
13125
|
+
unattendedBottomLegendLabel = "Unattended Customers",
|
|
13126
|
+
yAxisDomain,
|
|
13127
|
+
yAxisTicks,
|
|
13128
|
+
yAxisTickFormatter,
|
|
13129
|
+
infoPopover = null,
|
|
13130
|
+
renderTooltip,
|
|
13131
|
+
emptyStatePlaceholderProps,
|
|
13132
|
+
customization
|
|
13133
|
+
}) {
|
|
13134
|
+
const bucketColors = customization?.chart?.barChart?.stackColors ?? STACKED_COMPARISON_DEFAULT_STACK_COLORS;
|
|
13135
|
+
const comparisonColor = customization?.chart?.barChart?.comparisonColor ?? STACKED_COMPARISON_DEFAULT_COMPARISON_COLOR;
|
|
13136
|
+
const bottomLegendColor = customization?.bottomLegend?.labelColor ?? "#6B7280";
|
|
13137
|
+
const bottomLegendFs = customization?.bottomLegend?.fontSizePx ?? 12;
|
|
13138
|
+
const bottomLegendDividerColor = customization?.bottomLegend?.dividerColor ?? "#E5E7EB";
|
|
13139
|
+
const bottomSwatch = customization?.bottomLegend?.swatchSizePx ?? 12;
|
|
13140
|
+
const resolvedInfo = infoPopover === void 0 ? DEFAULT_STORE_PERFORMANCE_BY_ASSIST_INFO_POPOVER : infoPopover;
|
|
13141
|
+
const rootSx = mergeSx4(
|
|
13142
|
+
{
|
|
13143
|
+
bgcolor: "#FFFFFF",
|
|
13144
|
+
borderRadius: 2,
|
|
13145
|
+
boxShadow: "0 1px 3px rgba(15, 23, 42, 0.08)",
|
|
13146
|
+
...width !== void 0 ? { width } : null,
|
|
13147
|
+
...maxWidth !== void 0 ? { maxWidth } : null,
|
|
13148
|
+
...minWidth !== void 0 ? { minWidth } : null
|
|
13149
|
+
},
|
|
13150
|
+
customization?.rootCard?.sx
|
|
13151
|
+
);
|
|
13152
|
+
const titleSx = mergeSx4(
|
|
13153
|
+
{
|
|
13154
|
+
fontWeight: 700,
|
|
13155
|
+
fontSize: { xs: "1rem", sm: "1.05rem" },
|
|
13156
|
+
color: "#0f172a"
|
|
13157
|
+
},
|
|
13158
|
+
customization?.header?.titleSx
|
|
13159
|
+
);
|
|
13160
|
+
const bottomLegendSx = mergeSx4(
|
|
13161
|
+
{
|
|
13162
|
+
display: "flex",
|
|
13163
|
+
flexWrap: "wrap",
|
|
13164
|
+
alignItems: "center",
|
|
13165
|
+
rowGap: 1,
|
|
13166
|
+
mt: 1.5,
|
|
13167
|
+
px: 0.5
|
|
13168
|
+
},
|
|
13169
|
+
customization?.bottomLegend?.sx
|
|
13170
|
+
);
|
|
13171
|
+
const showOuterHeader = Boolean(title) || Boolean(resolvedInfo);
|
|
13172
|
+
const hasData = data.length > 0;
|
|
13173
|
+
return /* @__PURE__ */ jsx48(Card4, { elevation: customization?.rootCard?.elevation ?? 0, sx: rootSx, children: /* @__PURE__ */ jsx48(CardContent3, { children: /* @__PURE__ */ jsxs38(Stack26, { spacing: 1.5, sx: { width: "100%" }, children: [
|
|
13174
|
+
showOuterHeader ? /* @__PURE__ */ jsxs38(
|
|
13175
|
+
Stack26,
|
|
13176
|
+
{
|
|
13177
|
+
direction: "row",
|
|
13178
|
+
alignItems: "center",
|
|
13179
|
+
justifyContent: "space-between",
|
|
13180
|
+
gap: 2,
|
|
13181
|
+
flexWrap: "wrap",
|
|
13182
|
+
children: [
|
|
13183
|
+
title ? /* @__PURE__ */ jsx48(Typography27, { sx: titleSx, children: title }) : /* @__PURE__ */ jsx48("span", {}),
|
|
13184
|
+
/* @__PURE__ */ jsx48(
|
|
13185
|
+
Stack26,
|
|
13186
|
+
{
|
|
13187
|
+
direction: "row",
|
|
13188
|
+
alignItems: "center",
|
|
13189
|
+
spacing: 1.5,
|
|
13190
|
+
sx: { flexShrink: 0 },
|
|
13191
|
+
children: resolvedInfo ? /* @__PURE__ */ jsxs38(Fragment17, { children: [
|
|
13192
|
+
/* @__PURE__ */ jsx48(ChartWidgetHeaderSeparator, {}),
|
|
13193
|
+
/* @__PURE__ */ jsx48(
|
|
13194
|
+
ChartWidgetInfoButton,
|
|
13195
|
+
{
|
|
13196
|
+
popover: resolvedInfo,
|
|
13197
|
+
ariaLabel: "Store performance by assist information"
|
|
13198
|
+
}
|
|
13199
|
+
)
|
|
13200
|
+
] }) : null
|
|
13201
|
+
}
|
|
13202
|
+
)
|
|
13203
|
+
]
|
|
13204
|
+
}
|
|
13205
|
+
) : null,
|
|
13206
|
+
/* @__PURE__ */ jsx48(
|
|
13207
|
+
StackedComparisonBarChart,
|
|
13208
|
+
{
|
|
13209
|
+
subHeading,
|
|
13210
|
+
showSortToggle,
|
|
13211
|
+
onSortToggle,
|
|
13212
|
+
showSubHeadingDivider,
|
|
13213
|
+
showHeaderLegend,
|
|
13214
|
+
enableHorizontalScroll,
|
|
13215
|
+
chartMinWidth,
|
|
13216
|
+
categoryWidthPx,
|
|
13217
|
+
buckets,
|
|
13218
|
+
data,
|
|
13219
|
+
stackedLegendLabel: attendedLegendLabel,
|
|
13220
|
+
comparisonLegendLabel: unattendedLegendLabel,
|
|
13221
|
+
yAxisDomain,
|
|
13222
|
+
yAxisTicks,
|
|
13223
|
+
yAxisTickFormatter,
|
|
13224
|
+
renderTooltip,
|
|
13225
|
+
emptyStatePlaceholderProps,
|
|
13226
|
+
customization: customization?.chart
|
|
13227
|
+
}
|
|
13228
|
+
),
|
|
13229
|
+
hasData ? /* @__PURE__ */ jsxs38(Box32, { sx: bottomLegendSx, children: [
|
|
13230
|
+
buckets.map((b, i) => {
|
|
13231
|
+
const color = b.color ?? bucketColors[i] ?? "#94A3B8";
|
|
13232
|
+
return /* @__PURE__ */ jsxs38(
|
|
13233
|
+
Stack26,
|
|
13234
|
+
{
|
|
13235
|
+
direction: "row",
|
|
13236
|
+
alignItems: "center",
|
|
13237
|
+
spacing: 0.75,
|
|
13238
|
+
sx: { mr: 2 },
|
|
13239
|
+
children: [
|
|
13240
|
+
/* @__PURE__ */ jsx48(LegendSquare, { color, size: bottomSwatch }),
|
|
13241
|
+
/* @__PURE__ */ jsx48(
|
|
13242
|
+
Typography27,
|
|
13243
|
+
{
|
|
13244
|
+
sx: {
|
|
13245
|
+
fontSize: bottomLegendFs,
|
|
13246
|
+
color: bottomLegendColor,
|
|
13247
|
+
fontWeight: 500
|
|
13248
|
+
},
|
|
13249
|
+
children: b.label
|
|
13250
|
+
}
|
|
13251
|
+
)
|
|
13252
|
+
]
|
|
13253
|
+
},
|
|
13254
|
+
b.id
|
|
13255
|
+
);
|
|
13256
|
+
}),
|
|
13257
|
+
/* @__PURE__ */ jsx48(
|
|
13258
|
+
Box32,
|
|
13259
|
+
{
|
|
13260
|
+
sx: {
|
|
13261
|
+
width: "1px",
|
|
13262
|
+
height: 14,
|
|
13263
|
+
bgcolor: bottomLegendDividerColor,
|
|
13264
|
+
mx: 1
|
|
13265
|
+
}
|
|
13266
|
+
}
|
|
13267
|
+
),
|
|
13268
|
+
/* @__PURE__ */ jsxs38(
|
|
13269
|
+
Stack26,
|
|
13270
|
+
{
|
|
13271
|
+
direction: "row",
|
|
13272
|
+
alignItems: "center",
|
|
13273
|
+
spacing: 0.75,
|
|
13274
|
+
sx: { mr: 2 },
|
|
13275
|
+
children: [
|
|
13276
|
+
/* @__PURE__ */ jsx48(LegendSquare, { color: comparisonColor, size: bottomSwatch }),
|
|
13277
|
+
/* @__PURE__ */ jsx48(
|
|
13278
|
+
Typography27,
|
|
13279
|
+
{
|
|
13280
|
+
sx: {
|
|
13281
|
+
fontSize: bottomLegendFs,
|
|
13282
|
+
color: bottomLegendColor,
|
|
13283
|
+
fontWeight: 500
|
|
13284
|
+
},
|
|
13285
|
+
children: unattendedBottomLegendLabel
|
|
13286
|
+
}
|
|
13287
|
+
)
|
|
13288
|
+
]
|
|
13289
|
+
}
|
|
13290
|
+
)
|
|
13291
|
+
] }) : null
|
|
13292
|
+
] }) }) });
|
|
13293
|
+
}
|
|
13294
|
+
|
|
12334
13295
|
// src/components/widgets/FootFallHeatMap/FootFallHeatMapView.tsx
|
|
12335
13296
|
import { Icon as Icon13 } from "@iconify/react";
|
|
12336
13297
|
import {
|
|
12337
|
-
Box as
|
|
13298
|
+
Box as Box33,
|
|
12338
13299
|
Button as Button8,
|
|
12339
13300
|
IconButton as IconButton5,
|
|
12340
13301
|
Paper as Paper5,
|
|
12341
13302
|
Skeleton as Skeleton7,
|
|
12342
|
-
Stack as
|
|
12343
|
-
Tooltip as
|
|
12344
|
-
Typography as
|
|
13303
|
+
Stack as Stack27,
|
|
13304
|
+
Tooltip as Tooltip13,
|
|
13305
|
+
Typography as Typography28
|
|
12345
13306
|
} from "@mui/material";
|
|
12346
|
-
import * as
|
|
12347
|
-
import { useEffect as useEffect3, useMemo as
|
|
12348
|
-
import { ResponsiveContainer as
|
|
13307
|
+
import * as React26 from "react";
|
|
13308
|
+
import { useEffect as useEffect3, useMemo as useMemo21, useState as useState17 } from "react";
|
|
13309
|
+
import { ResponsiveContainer as ResponsiveContainer6, Treemap } from "recharts";
|
|
12349
13310
|
|
|
12350
13311
|
// src/components/widgets/FootFallHeatMap/FootFallHeatMapView.types.ts
|
|
12351
13312
|
var DEFAULT_FOOTFALL_TILE_ICONS = {
|
|
@@ -12768,7 +13729,7 @@ function getNestedList(payload) {
|
|
|
12768
13729
|
}
|
|
12769
13730
|
|
|
12770
13731
|
// src/components/widgets/FootFallHeatMap/FootFallHeatMapView.tsx
|
|
12771
|
-
import { Fragment as
|
|
13732
|
+
import { Fragment as Fragment19, jsx as jsx49, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
12772
13733
|
function toDisplayNumber(value) {
|
|
12773
13734
|
if (!Number.isFinite(value)) return "0";
|
|
12774
13735
|
return new Intl.NumberFormat("en-IN").format(value);
|
|
@@ -12787,7 +13748,7 @@ function InlineStatCard({
|
|
|
12787
13748
|
sx,
|
|
12788
13749
|
iconColor = "#1565C0"
|
|
12789
13750
|
}) {
|
|
12790
|
-
return /* @__PURE__ */
|
|
13751
|
+
return /* @__PURE__ */ jsx49(
|
|
12791
13752
|
Paper5,
|
|
12792
13753
|
{
|
|
12793
13754
|
elevation: 0,
|
|
@@ -12803,8 +13764,8 @@ function InlineStatCard({
|
|
|
12803
13764
|
},
|
|
12804
13765
|
...sx ? [sx] : []
|
|
12805
13766
|
],
|
|
12806
|
-
children: /* @__PURE__ */
|
|
12807
|
-
/* @__PURE__ */
|
|
13767
|
+
children: /* @__PURE__ */ jsxs39(Stack27, { direction: "row", alignItems: "center", spacing: 1.5, children: [
|
|
13768
|
+
/* @__PURE__ */ jsx49(
|
|
12808
13769
|
Icon13,
|
|
12809
13770
|
{
|
|
12810
13771
|
icon,
|
|
@@ -12814,17 +13775,17 @@ function InlineStatCard({
|
|
|
12814
13775
|
style: { flexShrink: 0 }
|
|
12815
13776
|
}
|
|
12816
13777
|
),
|
|
12817
|
-
/* @__PURE__ */
|
|
12818
|
-
/* @__PURE__ */
|
|
12819
|
-
|
|
13778
|
+
/* @__PURE__ */ jsxs39(Stack27, { spacing: 0.15, children: [
|
|
13779
|
+
/* @__PURE__ */ jsx49(
|
|
13780
|
+
Typography28,
|
|
12820
13781
|
{
|
|
12821
13782
|
variant: "body2",
|
|
12822
13783
|
sx: { fontWeight: 500, color: "text.primary" },
|
|
12823
13784
|
children: title
|
|
12824
13785
|
}
|
|
12825
13786
|
),
|
|
12826
|
-
/* @__PURE__ */
|
|
12827
|
-
|
|
13787
|
+
/* @__PURE__ */ jsx49(
|
|
13788
|
+
Typography28,
|
|
12828
13789
|
{
|
|
12829
13790
|
variant: "h6",
|
|
12830
13791
|
sx: { lineHeight: 1.1, fontWeight: 700, color: "text.primary" },
|
|
@@ -12853,17 +13814,17 @@ function InlineSegmentStrip({
|
|
|
12853
13814
|
const barHeight = presentation?.barHeight ?? 12;
|
|
12854
13815
|
const trackInsetPx = presentation?.trackInsetPx ?? 3;
|
|
12855
13816
|
const trackBg = presentation?.trackBackgroundColor ?? "#ECEFF3";
|
|
12856
|
-
return /* @__PURE__ */
|
|
12857
|
-
/* @__PURE__ */
|
|
12858
|
-
|
|
13817
|
+
return /* @__PURE__ */ jsxs39(Stack27, { spacing: 0.75, children: [
|
|
13818
|
+
/* @__PURE__ */ jsxs39(
|
|
13819
|
+
Stack27,
|
|
12859
13820
|
{
|
|
12860
13821
|
direction: "row",
|
|
12861
13822
|
alignItems: "center",
|
|
12862
13823
|
justifyContent: "space-between",
|
|
12863
13824
|
gap: 1,
|
|
12864
13825
|
children: [
|
|
12865
|
-
/* @__PURE__ */
|
|
12866
|
-
|
|
13826
|
+
/* @__PURE__ */ jsx49(
|
|
13827
|
+
Typography28,
|
|
12867
13828
|
{
|
|
12868
13829
|
variant: "subtitle2",
|
|
12869
13830
|
sx: [
|
|
@@ -12873,8 +13834,8 @@ function InlineSegmentStrip({
|
|
|
12873
13834
|
children: item.label
|
|
12874
13835
|
}
|
|
12875
13836
|
),
|
|
12876
|
-
/* @__PURE__ */
|
|
12877
|
-
|
|
13837
|
+
/* @__PURE__ */ jsx49(
|
|
13838
|
+
Typography28,
|
|
12878
13839
|
{
|
|
12879
13840
|
variant: "body2",
|
|
12880
13841
|
sx: [
|
|
@@ -12887,8 +13848,8 @@ function InlineSegmentStrip({
|
|
|
12887
13848
|
]
|
|
12888
13849
|
}
|
|
12889
13850
|
),
|
|
12890
|
-
/* @__PURE__ */
|
|
12891
|
-
|
|
13851
|
+
/* @__PURE__ */ jsx49(
|
|
13852
|
+
Box33,
|
|
12892
13853
|
{
|
|
12893
13854
|
sx: {
|
|
12894
13855
|
width: "100%",
|
|
@@ -12905,8 +13866,8 @@ function InlineSegmentStrip({
|
|
|
12905
13866
|
const widthPercent = total > 0 ? segment.value / total * filledPercent : 0;
|
|
12906
13867
|
const isLast = idx === lastIdx;
|
|
12907
13868
|
const fill = resolveSegmentFill(presentation, idx, segment.color);
|
|
12908
|
-
return /* @__PURE__ */
|
|
12909
|
-
|
|
13869
|
+
return /* @__PURE__ */ jsx49(
|
|
13870
|
+
Tooltip13,
|
|
12910
13871
|
{
|
|
12911
13872
|
title: (() => {
|
|
12912
13873
|
if (presentation?.renderSegmentTooltip) {
|
|
@@ -12918,7 +13879,7 @@ function InlineSegmentStrip({
|
|
|
12918
13879
|
});
|
|
12919
13880
|
return custom == null ? "" : custom;
|
|
12920
13881
|
}
|
|
12921
|
-
return /* @__PURE__ */
|
|
13882
|
+
return /* @__PURE__ */ jsx49(
|
|
12922
13883
|
InlineSegmentTooltipCard,
|
|
12923
13884
|
{
|
|
12924
13885
|
segment,
|
|
@@ -12933,8 +13894,8 @@ function InlineSegmentStrip({
|
|
|
12933
13894
|
sx: inlineSegmentTooltipPopperSx
|
|
12934
13895
|
}
|
|
12935
13896
|
},
|
|
12936
|
-
children: /* @__PURE__ */
|
|
12937
|
-
|
|
13897
|
+
children: /* @__PURE__ */ jsx49(
|
|
13898
|
+
Box33,
|
|
12938
13899
|
{
|
|
12939
13900
|
sx: {
|
|
12940
13901
|
width: `${Math.max(0, widthPercent)}%`,
|
|
@@ -12978,10 +13939,10 @@ function InlineSegmentTooltipCard({
|
|
|
12978
13939
|
cardSx
|
|
12979
13940
|
}) {
|
|
12980
13941
|
const tooltipSurfaceSx = cardSx ? [inlineSegmentTooltipCardSx, cardSx] : inlineSegmentTooltipCardSx;
|
|
12981
|
-
return /* @__PURE__ */
|
|
12982
|
-
/* @__PURE__ */
|
|
12983
|
-
/* @__PURE__ */
|
|
12984
|
-
|
|
13942
|
+
return /* @__PURE__ */ jsxs39(Box33, { sx: tooltipSurfaceSx, children: [
|
|
13943
|
+
/* @__PURE__ */ jsx49(Box33, { sx: { height: 3, bgcolor: "grey.200", width: "100%" } }),
|
|
13944
|
+
/* @__PURE__ */ jsxs39(
|
|
13945
|
+
Box33,
|
|
12985
13946
|
{
|
|
12986
13947
|
sx: {
|
|
12987
13948
|
display: "flex",
|
|
@@ -12993,8 +13954,8 @@ function InlineSegmentTooltipCard({
|
|
|
12993
13954
|
py: 1.25
|
|
12994
13955
|
},
|
|
12995
13956
|
children: [
|
|
12996
|
-
/* @__PURE__ */
|
|
12997
|
-
|
|
13957
|
+
/* @__PURE__ */ jsx49(
|
|
13958
|
+
Box33,
|
|
12998
13959
|
{
|
|
12999
13960
|
component: "span",
|
|
13000
13961
|
"aria-hidden": true,
|
|
@@ -13007,8 +13968,8 @@ function InlineSegmentTooltipCard({
|
|
|
13007
13968
|
}
|
|
13008
13969
|
}
|
|
13009
13970
|
),
|
|
13010
|
-
/* @__PURE__ */
|
|
13011
|
-
|
|
13971
|
+
/* @__PURE__ */ jsx49(
|
|
13972
|
+
Typography28,
|
|
13012
13973
|
{
|
|
13013
13974
|
component: "span",
|
|
13014
13975
|
sx: {
|
|
@@ -13020,8 +13981,8 @@ function InlineSegmentTooltipCard({
|
|
|
13020
13981
|
children: segment.label
|
|
13021
13982
|
}
|
|
13022
13983
|
),
|
|
13023
|
-
/* @__PURE__ */
|
|
13024
|
-
|
|
13984
|
+
/* @__PURE__ */ jsx49(
|
|
13985
|
+
Typography28,
|
|
13025
13986
|
{
|
|
13026
13987
|
component: "span",
|
|
13027
13988
|
sx: {
|
|
@@ -13033,8 +13994,8 @@ function InlineSegmentTooltipCard({
|
|
|
13033
13994
|
children: " : "
|
|
13034
13995
|
}
|
|
13035
13996
|
),
|
|
13036
|
-
/* @__PURE__ */
|
|
13037
|
-
|
|
13997
|
+
/* @__PURE__ */ jsx49(
|
|
13998
|
+
Typography28,
|
|
13038
13999
|
{
|
|
13039
14000
|
component: "span",
|
|
13040
14001
|
sx: {
|
|
@@ -13064,8 +14025,8 @@ function FootfallHeatMapKpiRankedBlock({
|
|
|
13064
14025
|
const statIcon = presentation?.statCardIconColor ?? "#1565C0";
|
|
13065
14026
|
const customSummary = presentation?.summaryCards?.(summaryKpis);
|
|
13066
14027
|
const useCustomSummary = customSummary !== void 0;
|
|
13067
|
-
return /* @__PURE__ */
|
|
13068
|
-
|
|
14028
|
+
return /* @__PURE__ */ jsxs39(
|
|
14029
|
+
Stack27,
|
|
13069
14030
|
{
|
|
13070
14031
|
spacing: 2,
|
|
13071
14032
|
sx: [
|
|
@@ -13074,15 +14035,15 @@ function FootfallHeatMapKpiRankedBlock({
|
|
|
13074
14035
|
...presentation?.kpiContainerSx ? [presentation.kpiContainerSx] : []
|
|
13075
14036
|
],
|
|
13076
14037
|
children: [
|
|
13077
|
-
useCustomSummary && customSummary.length === 0 ? null : /* @__PURE__ */
|
|
13078
|
-
|
|
14038
|
+
useCustomSummary && customSummary.length === 0 ? null : /* @__PURE__ */ jsx49(
|
|
14039
|
+
Stack27,
|
|
13079
14040
|
{
|
|
13080
14041
|
direction: "row",
|
|
13081
14042
|
spacing: 1.5,
|
|
13082
14043
|
flexWrap: "wrap",
|
|
13083
14044
|
useFlexGap: true,
|
|
13084
14045
|
sx: presentation?.summaryRowSx ? [presentation.summaryRowSx] : void 0,
|
|
13085
|
-
children: useCustomSummary ? customSummary.map((card) => /* @__PURE__ */
|
|
14046
|
+
children: useCustomSummary ? customSummary.map((card) => /* @__PURE__ */ jsx49(
|
|
13086
14047
|
InlineStatCard,
|
|
13087
14048
|
{
|
|
13088
14049
|
icon: card.icon ?? "mdi:chart-box-outline",
|
|
@@ -13095,7 +14056,7 @@ function FootfallHeatMapKpiRankedBlock({
|
|
|
13095
14056
|
},
|
|
13096
14057
|
card.id
|
|
13097
14058
|
)) : [
|
|
13098
|
-
/* @__PURE__ */
|
|
14059
|
+
/* @__PURE__ */ jsx49(
|
|
13099
14060
|
InlineStatCard,
|
|
13100
14061
|
{
|
|
13101
14062
|
icon: "mdi:store-marker-outline",
|
|
@@ -13106,7 +14067,7 @@ function FootfallHeatMapKpiRankedBlock({
|
|
|
13106
14067
|
},
|
|
13107
14068
|
"default-stores"
|
|
13108
14069
|
),
|
|
13109
|
-
/* @__PURE__ */
|
|
14070
|
+
/* @__PURE__ */ jsx49(
|
|
13110
14071
|
InlineStatCard,
|
|
13111
14072
|
{
|
|
13112
14073
|
icon: "fluent:people-community-16-filled",
|
|
@@ -13120,15 +14081,15 @@ function FootfallHeatMapKpiRankedBlock({
|
|
|
13120
14081
|
]
|
|
13121
14082
|
}
|
|
13122
14083
|
),
|
|
13123
|
-
/* @__PURE__ */
|
|
13124
|
-
|
|
14084
|
+
/* @__PURE__ */ jsx49(
|
|
14085
|
+
Stack27,
|
|
13125
14086
|
{
|
|
13126
14087
|
spacing: 1.25,
|
|
13127
14088
|
sx: [
|
|
13128
14089
|
{ pt: 0.5, pb: 1 },
|
|
13129
14090
|
...presentation?.rankedListStackSx ? [presentation.rankedListStackSx] : []
|
|
13130
14091
|
],
|
|
13131
|
-
children: rankedBarList.items.map((item) => /* @__PURE__ */
|
|
14092
|
+
children: rankedBarList.items.map((item) => /* @__PURE__ */ jsx49(
|
|
13132
14093
|
InlineSegmentStrip,
|
|
13133
14094
|
{
|
|
13134
14095
|
item,
|
|
@@ -13310,7 +14271,7 @@ function FootFallHeatMapView({
|
|
|
13310
14271
|
tileColors: treemapProp?.tileColors
|
|
13311
14272
|
};
|
|
13312
14273
|
const tileMetrics = treemapLayout.tileMetrics;
|
|
13313
|
-
const tileColorFromSeed =
|
|
14274
|
+
const tileColorFromSeed = useMemo21(
|
|
13314
14275
|
() => createTreemapTileColorResolver(treemapLayout.tileColors),
|
|
13315
14276
|
[treemapLayout.tileColors]
|
|
13316
14277
|
);
|
|
@@ -13352,7 +14313,7 @@ function FootFallHeatMapView({
|
|
|
13352
14313
|
startFromPathMode,
|
|
13353
14314
|
tileColorFromSeed
|
|
13354
14315
|
]);
|
|
13355
|
-
const derivedKpiStrip =
|
|
14316
|
+
const derivedKpiStrip = useMemo21(() => {
|
|
13356
14317
|
if (isLoading || loading || !initialData) return null;
|
|
13357
14318
|
const activeZoneForStrip = trackingDetails.length > 0 ? trackingDetails[trackingDetails.length - 1] : void 0;
|
|
13358
14319
|
return deriveFootfallHeatMapKpiStrip(
|
|
@@ -13448,7 +14409,7 @@ function FootFallHeatMapView({
|
|
|
13448
14409
|
);
|
|
13449
14410
|
const dwellIconColor = resolveIconColor(iconColorProp, tileColor, "dwell");
|
|
13450
14411
|
const p = inner;
|
|
13451
|
-
return /* @__PURE__ */
|
|
14412
|
+
return /* @__PURE__ */ jsx49(
|
|
13452
14413
|
"foreignObject",
|
|
13453
14414
|
{
|
|
13454
14415
|
x,
|
|
@@ -13456,8 +14417,8 @@ function FootFallHeatMapView({
|
|
|
13456
14417
|
width,
|
|
13457
14418
|
height,
|
|
13458
14419
|
style: { borderRadius: "12px", overflow: "hidden" },
|
|
13459
|
-
children: /* @__PURE__ */
|
|
13460
|
-
|
|
14420
|
+
children: /* @__PURE__ */ jsxs39(
|
|
14421
|
+
Stack27,
|
|
13461
14422
|
{
|
|
13462
14423
|
onClick: handleClick,
|
|
13463
14424
|
onKeyDown: (e) => {
|
|
@@ -13487,8 +14448,8 @@ function FootFallHeatMapView({
|
|
|
13487
14448
|
}
|
|
13488
14449
|
},
|
|
13489
14450
|
children: [
|
|
13490
|
-
/* @__PURE__ */
|
|
13491
|
-
|
|
14451
|
+
/* @__PURE__ */ jsxs39(
|
|
14452
|
+
Stack27,
|
|
13492
14453
|
{
|
|
13493
14454
|
direction: isSmall ? "row" : "column",
|
|
13494
14455
|
justifyContent: "center",
|
|
@@ -13499,8 +14460,8 @@ function FootFallHeatMapView({
|
|
|
13499
14460
|
mb: isSmall ? 0.5 : 1
|
|
13500
14461
|
},
|
|
13501
14462
|
children: [
|
|
13502
|
-
/* @__PURE__ */
|
|
13503
|
-
|
|
14463
|
+
/* @__PURE__ */ jsx49(
|
|
14464
|
+
Typography28,
|
|
13504
14465
|
{
|
|
13505
14466
|
sx: {
|
|
13506
14467
|
fontSize: `${fontSize}px!important`,
|
|
@@ -13522,8 +14483,8 @@ function FootFallHeatMapView({
|
|
|
13522
14483
|
children: name
|
|
13523
14484
|
}
|
|
13524
14485
|
),
|
|
13525
|
-
/* @__PURE__ */
|
|
13526
|
-
|
|
14486
|
+
/* @__PURE__ */ jsx49(
|
|
14487
|
+
Typography28,
|
|
13527
14488
|
{
|
|
13528
14489
|
sx: {
|
|
13529
14490
|
fontSize: `${fontSize}px!important`,
|
|
@@ -13537,8 +14498,8 @@ function FootFallHeatMapView({
|
|
|
13537
14498
|
]
|
|
13538
14499
|
}
|
|
13539
14500
|
),
|
|
13540
|
-
/* @__PURE__ */
|
|
13541
|
-
|
|
14501
|
+
/* @__PURE__ */ jsxs39(
|
|
14502
|
+
Stack27,
|
|
13542
14503
|
{
|
|
13543
14504
|
direction: "row",
|
|
13544
14505
|
justifyContent: "center",
|
|
@@ -13551,8 +14512,8 @@ function FootFallHeatMapView({
|
|
|
13551
14512
|
...tileMetrics?.metricsRowStackSx != null ? [tileMetrics.metricsRowStackSx] : []
|
|
13552
14513
|
],
|
|
13553
14514
|
children: [
|
|
13554
|
-
/* @__PURE__ */
|
|
13555
|
-
|
|
14515
|
+
/* @__PURE__ */ jsxs39(
|
|
14516
|
+
Stack27,
|
|
13556
14517
|
{
|
|
13557
14518
|
direction: "row",
|
|
13558
14519
|
alignItems: "center",
|
|
@@ -13569,8 +14530,8 @@ function FootFallHeatMapView({
|
|
|
13569
14530
|
...tileMetrics?.metricPillStackSx != null ? [tileMetrics.metricPillStackSx] : []
|
|
13570
14531
|
],
|
|
13571
14532
|
children: [
|
|
13572
|
-
/* @__PURE__ */
|
|
13573
|
-
|
|
14533
|
+
/* @__PURE__ */ jsx49(
|
|
14534
|
+
Box33,
|
|
13574
14535
|
{
|
|
13575
14536
|
sx: [
|
|
13576
14537
|
{
|
|
@@ -13582,7 +14543,7 @@ function FootFallHeatMapView({
|
|
|
13582
14543
|
},
|
|
13583
14544
|
...tileMetrics?.metricPillIconBoxSx != null ? [tileMetrics.metricPillIconBoxSx] : []
|
|
13584
14545
|
],
|
|
13585
|
-
children: /* @__PURE__ */
|
|
14546
|
+
children: /* @__PURE__ */ jsx49(
|
|
13586
14547
|
Icon13,
|
|
13587
14548
|
{
|
|
13588
14549
|
icon: icons.visitors,
|
|
@@ -13592,8 +14553,8 @@ function FootFallHeatMapView({
|
|
|
13592
14553
|
)
|
|
13593
14554
|
}
|
|
13594
14555
|
),
|
|
13595
|
-
/* @__PURE__ */
|
|
13596
|
-
|
|
14556
|
+
/* @__PURE__ */ jsx49(
|
|
14557
|
+
Typography28,
|
|
13597
14558
|
{
|
|
13598
14559
|
sx: [
|
|
13599
14560
|
{
|
|
@@ -13610,8 +14571,8 @@ function FootFallHeatMapView({
|
|
|
13610
14571
|
]
|
|
13611
14572
|
}
|
|
13612
14573
|
),
|
|
13613
|
-
/* @__PURE__ */
|
|
13614
|
-
|
|
14574
|
+
/* @__PURE__ */ jsxs39(
|
|
14575
|
+
Stack27,
|
|
13615
14576
|
{
|
|
13616
14577
|
direction: "row",
|
|
13617
14578
|
alignItems: "center",
|
|
@@ -13628,8 +14589,8 @@ function FootFallHeatMapView({
|
|
|
13628
14589
|
...tileMetrics?.metricPillStackSx != null ? [tileMetrics.metricPillStackSx] : []
|
|
13629
14590
|
],
|
|
13630
14591
|
children: [
|
|
13631
|
-
/* @__PURE__ */
|
|
13632
|
-
|
|
14592
|
+
/* @__PURE__ */ jsx49(
|
|
14593
|
+
Box33,
|
|
13633
14594
|
{
|
|
13634
14595
|
sx: [
|
|
13635
14596
|
{
|
|
@@ -13641,7 +14602,7 @@ function FootFallHeatMapView({
|
|
|
13641
14602
|
},
|
|
13642
14603
|
...tileMetrics?.metricPillIconBoxSx != null ? [tileMetrics.metricPillIconBoxSx] : []
|
|
13643
14604
|
],
|
|
13644
|
-
children: /* @__PURE__ */
|
|
14605
|
+
children: /* @__PURE__ */ jsx49(
|
|
13645
14606
|
Icon13,
|
|
13646
14607
|
{
|
|
13647
14608
|
icon: icons.dwell,
|
|
@@ -13651,8 +14612,8 @@ function FootFallHeatMapView({
|
|
|
13651
14612
|
)
|
|
13652
14613
|
}
|
|
13653
14614
|
),
|
|
13654
|
-
/* @__PURE__ */
|
|
13655
|
-
|
|
14615
|
+
/* @__PURE__ */ jsx49(
|
|
14616
|
+
Typography28,
|
|
13656
14617
|
{
|
|
13657
14618
|
sx: [
|
|
13658
14619
|
{
|
|
@@ -13694,8 +14655,8 @@ function FootFallHeatMapView({
|
|
|
13694
14655
|
const LabelTag = ({ textColor = "#f0f0f0" }) => {
|
|
13695
14656
|
const pathSegments = trackingDetails.map((t) => String(t?.name ?? "").trim()).filter(Boolean);
|
|
13696
14657
|
const breadcrumbSegments = Array.from(new Set([...pathSegments].reverse()));
|
|
13697
|
-
return /* @__PURE__ */
|
|
13698
|
-
|
|
14658
|
+
return /* @__PURE__ */ jsx49(Stack27, { direction: "row", alignItems: "baseline", flexWrap: "wrap", gap: 1.5, children: breadcrumbSegments.length === 0 ? /* @__PURE__ */ jsx49(
|
|
14659
|
+
Typography28,
|
|
13699
14660
|
{
|
|
13700
14661
|
component: "span",
|
|
13701
14662
|
sx: {
|
|
@@ -13708,10 +14669,10 @@ function FootFallHeatMapView({
|
|
|
13708
14669
|
color: textColor,
|
|
13709
14670
|
children: brandLabel
|
|
13710
14671
|
}
|
|
13711
|
-
) : /* @__PURE__ */
|
|
13712
|
-
breadcrumbSegments.map((seg, i) => /* @__PURE__ */
|
|
13713
|
-
i > 0 ? /* @__PURE__ */
|
|
13714
|
-
|
|
14672
|
+
) : /* @__PURE__ */ jsxs39(Fragment19, { children: [
|
|
14673
|
+
breadcrumbSegments.map((seg, i) => /* @__PURE__ */ jsxs39(React26.Fragment, { children: [
|
|
14674
|
+
i > 0 ? /* @__PURE__ */ jsx49(
|
|
14675
|
+
Typography28,
|
|
13715
14676
|
{
|
|
13716
14677
|
component: "span",
|
|
13717
14678
|
fontSize: "15px !important",
|
|
@@ -13721,8 +14682,8 @@ function FootFallHeatMapView({
|
|
|
13721
14682
|
children: "/"
|
|
13722
14683
|
}
|
|
13723
14684
|
) : null,
|
|
13724
|
-
/* @__PURE__ */
|
|
13725
|
-
|
|
14685
|
+
/* @__PURE__ */ jsx49(
|
|
14686
|
+
Typography28,
|
|
13726
14687
|
{
|
|
13727
14688
|
component: "span",
|
|
13728
14689
|
sx: {
|
|
@@ -13737,9 +14698,9 @@ function FootFallHeatMapView({
|
|
|
13737
14698
|
}
|
|
13738
14699
|
)
|
|
13739
14700
|
] }, `${seg}-${i}`)),
|
|
13740
|
-
brandLabel ? /* @__PURE__ */
|
|
13741
|
-
/* @__PURE__ */
|
|
13742
|
-
|
|
14701
|
+
brandLabel ? /* @__PURE__ */ jsxs39(Fragment19, { children: [
|
|
14702
|
+
/* @__PURE__ */ jsx49(
|
|
14703
|
+
Typography28,
|
|
13743
14704
|
{
|
|
13744
14705
|
component: "span",
|
|
13745
14706
|
fontSize: "15px !important",
|
|
@@ -13748,8 +14709,8 @@ function FootFallHeatMapView({
|
|
|
13748
14709
|
children: "/"
|
|
13749
14710
|
}
|
|
13750
14711
|
),
|
|
13751
|
-
/* @__PURE__ */
|
|
13752
|
-
|
|
14712
|
+
/* @__PURE__ */ jsx49(
|
|
14713
|
+
Typography28,
|
|
13753
14714
|
{
|
|
13754
14715
|
component: "span",
|
|
13755
14716
|
sx: {
|
|
@@ -13768,10 +14729,10 @@ function FootFallHeatMapView({
|
|
|
13768
14729
|
};
|
|
13769
14730
|
const is500Error = error !== null && error !== void 0 && typeof error === "object" && "status" in error && error.status === 500;
|
|
13770
14731
|
if (is500Error) {
|
|
13771
|
-
return /* @__PURE__ */
|
|
14732
|
+
return /* @__PURE__ */ jsx49(Box33, { sx: { p: 4, textAlign: "center" }, children: /* @__PURE__ */ jsx49(Typography28, { color: "error", children: "Something went wrong (500). Try again later." }) });
|
|
13772
14733
|
}
|
|
13773
14734
|
if (isLoading || loading) {
|
|
13774
|
-
return /* @__PURE__ */
|
|
14735
|
+
return /* @__PURE__ */ jsx49(
|
|
13775
14736
|
Skeleton7,
|
|
13776
14737
|
{
|
|
13777
14738
|
variant: "rectangular",
|
|
@@ -13812,9 +14773,9 @@ function FootFallHeatMapView({
|
|
|
13812
14773
|
"#888888",
|
|
13813
14774
|
"header"
|
|
13814
14775
|
);
|
|
13815
|
-
return /* @__PURE__ */
|
|
13816
|
-
/* @__PURE__ */
|
|
13817
|
-
|
|
14776
|
+
return /* @__PURE__ */ jsxs39(Stack27, { width: "100%", children: [
|
|
14777
|
+
/* @__PURE__ */ jsxs39(
|
|
14778
|
+
Box33,
|
|
13818
14779
|
{
|
|
13819
14780
|
sx: {
|
|
13820
14781
|
width: "100%",
|
|
@@ -13825,16 +14786,16 @@ function FootFallHeatMapView({
|
|
|
13825
14786
|
gap: 1
|
|
13826
14787
|
},
|
|
13827
14788
|
children: [
|
|
13828
|
-
/* @__PURE__ */
|
|
13829
|
-
/* @__PURE__ */
|
|
13830
|
-
isFetching ? /* @__PURE__ */
|
|
13831
|
-
/* @__PURE__ */
|
|
14789
|
+
/* @__PURE__ */ jsx49(Typography28, { variant: "h6", fontWeight: 700, children: title }),
|
|
14790
|
+
/* @__PURE__ */ jsxs39(Stack27, { direction: "row", alignItems: "center", gap: 1, children: [
|
|
14791
|
+
isFetching ? /* @__PURE__ */ jsx49(Typography28, { variant: "caption", color: "text.secondary", children: "Updating\u2026" }) : null,
|
|
14792
|
+
/* @__PURE__ */ jsx49(Tooltip13, { title: infoTooltip, arrow: true, children: /* @__PURE__ */ jsx49(
|
|
13832
14793
|
IconButton5,
|
|
13833
14794
|
{
|
|
13834
14795
|
size: "small",
|
|
13835
14796
|
"aria-label": "Zone performance info",
|
|
13836
14797
|
edge: "end",
|
|
13837
|
-
children: /* @__PURE__ */
|
|
14798
|
+
children: /* @__PURE__ */ jsx49(
|
|
13838
14799
|
Icon13,
|
|
13839
14800
|
{
|
|
13840
14801
|
icon: icons.headerInfo,
|
|
@@ -13849,8 +14810,8 @@ function FootFallHeatMapView({
|
|
|
13849
14810
|
]
|
|
13850
14811
|
}
|
|
13851
14812
|
),
|
|
13852
|
-
data?.previous?.length > 0 && headerData ? /* @__PURE__ */
|
|
13853
|
-
|
|
14813
|
+
data?.previous?.length > 0 && headerData ? /* @__PURE__ */ jsxs39(
|
|
14814
|
+
Stack27,
|
|
13854
14815
|
{
|
|
13855
14816
|
direction: "row",
|
|
13856
14817
|
alignItems: "center",
|
|
@@ -13864,13 +14825,13 @@ function FootFallHeatMapView({
|
|
|
13864
14825
|
backgroundColor: zoneBarColor
|
|
13865
14826
|
},
|
|
13866
14827
|
children: [
|
|
13867
|
-
/* @__PURE__ */
|
|
13868
|
-
/* @__PURE__ */
|
|
14828
|
+
/* @__PURE__ */ jsxs39(Stack27, { direction: "row", alignItems: "center", spacing: 1, children: [
|
|
14829
|
+
/* @__PURE__ */ jsx49(
|
|
13869
14830
|
Button8,
|
|
13870
14831
|
{
|
|
13871
14832
|
size: "small",
|
|
13872
14833
|
onClick: handleClose,
|
|
13873
|
-
startIcon: /* @__PURE__ */
|
|
14834
|
+
startIcon: /* @__PURE__ */ jsx49(
|
|
13874
14835
|
Icon13,
|
|
13875
14836
|
{
|
|
13876
14837
|
icon: "mdi:chevron-left",
|
|
@@ -13890,10 +14851,10 @@ function FootFallHeatMapView({
|
|
|
13890
14851
|
children: "Back"
|
|
13891
14852
|
}
|
|
13892
14853
|
),
|
|
13893
|
-
/* @__PURE__ */
|
|
14854
|
+
/* @__PURE__ */ jsx49(LabelTag, { textColor: zoneBarHeaderFg })
|
|
13894
14855
|
] }),
|
|
13895
|
-
/* @__PURE__ */
|
|
13896
|
-
|
|
14856
|
+
/* @__PURE__ */ jsxs39(
|
|
14857
|
+
Typography28,
|
|
13897
14858
|
{
|
|
13898
14859
|
variant: "h6",
|
|
13899
14860
|
sx: { color: zoneBarHeaderFg, fontWeight: 700 },
|
|
@@ -13907,7 +14868,7 @@ function FootFallHeatMapView({
|
|
|
13907
14868
|
]
|
|
13908
14869
|
}
|
|
13909
14870
|
) : null,
|
|
13910
|
-
isDrilledIntoZone && showKpiStrip && derivedKpiStrip ? /* @__PURE__ */
|
|
14871
|
+
isDrilledIntoZone && showKpiStrip && derivedKpiStrip ? /* @__PURE__ */ jsx49(
|
|
13911
14872
|
FootfallHeatMapKpiRankedBlock,
|
|
13912
14873
|
{
|
|
13913
14874
|
strip: derivedKpiStrip,
|
|
@@ -13924,8 +14885,8 @@ function FootFallHeatMapView({
|
|
|
13924
14885
|
}
|
|
13925
14886
|
}
|
|
13926
14887
|
) : null,
|
|
13927
|
-
showLeafDetailsBody ? /* @__PURE__ */
|
|
13928
|
-
|
|
14888
|
+
showLeafDetailsBody ? /* @__PURE__ */ jsx49(
|
|
14889
|
+
Box33,
|
|
13929
14890
|
{
|
|
13930
14891
|
sx: [
|
|
13931
14892
|
{
|
|
@@ -13940,7 +14901,7 @@ function FootFallHeatMapView({
|
|
|
13940
14901
|
]
|
|
13941
14902
|
}
|
|
13942
14903
|
) : null,
|
|
13943
|
-
showLeaf ? null : showChart ? hideTreemapForTerminalCardWithKpi ? null : hasTreemapData ? /* @__PURE__ */
|
|
14904
|
+
showLeaf ? null : showChart ? hideTreemapForTerminalCardWithKpi ? null : hasTreemapData ? /* @__PURE__ */ jsx49(ResponsiveContainer6, { width: "100%", height: treemapHeight, children: /* @__PURE__ */ jsx49(
|
|
13944
14905
|
Treemap,
|
|
13945
14906
|
{
|
|
13946
14907
|
data: data?.current ?? [],
|
|
@@ -13953,22 +14914,22 @@ function FootFallHeatMapView({
|
|
|
13953
14914
|
animationDuration: 0,
|
|
13954
14915
|
style: { borderRadius: "12px" }
|
|
13955
14916
|
}
|
|
13956
|
-
) }) : /* @__PURE__ */
|
|
14917
|
+
) }) : /* @__PURE__ */ jsx49(
|
|
13957
14918
|
ChartEmptyState,
|
|
13958
14919
|
{
|
|
13959
14920
|
minHeight: treemapHeight,
|
|
13960
14921
|
...emptyStatePlaceholderProps
|
|
13961
14922
|
}
|
|
13962
|
-
) : /* @__PURE__ */
|
|
14923
|
+
) : /* @__PURE__ */ jsx49(ChartEmptyState, { minHeight: 400, ...emptyStatePlaceholderProps })
|
|
13963
14924
|
] });
|
|
13964
14925
|
}
|
|
13965
14926
|
|
|
13966
14927
|
// src/components/widgets/FootFallHeatMap/ZoneWiseKpiCards.tsx
|
|
13967
14928
|
import Grid2 from "@mui/material/Grid";
|
|
13968
14929
|
import Paper6 from "@mui/material/Paper";
|
|
13969
|
-
import
|
|
13970
|
-
import
|
|
13971
|
-
import { jsx as
|
|
14930
|
+
import Stack28 from "@mui/material/Stack";
|
|
14931
|
+
import Typography29 from "@mui/material/Typography";
|
|
14932
|
+
import { jsx as jsx50, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
13972
14933
|
function metricsToRows(metrics) {
|
|
13973
14934
|
return [
|
|
13974
14935
|
{ id: 1, title: "Overall Visits", value: metrics.overall_visits ?? 0 },
|
|
@@ -14006,7 +14967,7 @@ function metricsToRows(metrics) {
|
|
|
14006
14967
|
}
|
|
14007
14968
|
var ZoneWiseKpiCards = ({ metrics }) => {
|
|
14008
14969
|
const rows = metricsToRows(metrics);
|
|
14009
|
-
return /* @__PURE__ */
|
|
14970
|
+
return /* @__PURE__ */ jsx50(Grid2, { container: true, spacing: 3, sx: { marginTop: "10px", paddingX: "6px" }, children: rows.map((item) => /* @__PURE__ */ jsx50(
|
|
14010
14971
|
Grid2,
|
|
14011
14972
|
{
|
|
14012
14973
|
size: {
|
|
@@ -14014,7 +14975,7 @@ var ZoneWiseKpiCards = ({ metrics }) => {
|
|
|
14014
14975
|
sm: 6,
|
|
14015
14976
|
md: 3
|
|
14016
14977
|
},
|
|
14017
|
-
children: /* @__PURE__ */
|
|
14978
|
+
children: /* @__PURE__ */ jsxs40(
|
|
14018
14979
|
Paper6,
|
|
14019
14980
|
{
|
|
14020
14981
|
elevation: 0,
|
|
@@ -14026,8 +14987,8 @@ var ZoneWiseKpiCards = ({ metrics }) => {
|
|
|
14026
14987
|
height: "100%"
|
|
14027
14988
|
},
|
|
14028
14989
|
children: [
|
|
14029
|
-
/* @__PURE__ */
|
|
14030
|
-
|
|
14990
|
+
/* @__PURE__ */ jsx50(
|
|
14991
|
+
Typography29,
|
|
14031
14992
|
{
|
|
14032
14993
|
variant: "caption",
|
|
14033
14994
|
color: "text.secondary",
|
|
@@ -14035,7 +14996,7 @@ var ZoneWiseKpiCards = ({ metrics }) => {
|
|
|
14035
14996
|
children: item.title
|
|
14036
14997
|
}
|
|
14037
14998
|
),
|
|
14038
|
-
/* @__PURE__ */
|
|
14999
|
+
/* @__PURE__ */ jsx50(Stack28, { mt: 1, children: /* @__PURE__ */ jsx50(Typography29, { variant: "h6", fontWeight: 700, children: item.value }) })
|
|
14039
15000
|
]
|
|
14040
15001
|
}
|
|
14041
15002
|
)
|
|
@@ -14094,41 +15055,41 @@ var peakBillingHoursMockSeriesByTabId = {
|
|
|
14094
15055
|
};
|
|
14095
15056
|
|
|
14096
15057
|
// src/components/widgets/PeakBillingHours/PeakBillingHours.tsx
|
|
14097
|
-
import
|
|
14098
|
-
import
|
|
14099
|
-
import
|
|
15058
|
+
import Box34 from "@mui/material/Box";
|
|
15059
|
+
import Card5 from "@mui/material/Card";
|
|
15060
|
+
import CardContent4 from "@mui/material/CardContent";
|
|
14100
15061
|
import Skeleton8 from "@mui/material/Skeleton";
|
|
14101
|
-
import
|
|
14102
|
-
import
|
|
14103
|
-
import * as
|
|
15062
|
+
import Stack29 from "@mui/material/Stack";
|
|
15063
|
+
import Typography30 from "@mui/material/Typography";
|
|
15064
|
+
import * as React28 from "react";
|
|
14104
15065
|
import {
|
|
14105
|
-
Bar as
|
|
14106
|
-
BarChart as
|
|
14107
|
-
CartesianGrid as
|
|
15066
|
+
Bar as Bar6,
|
|
15067
|
+
BarChart as BarChart4,
|
|
15068
|
+
CartesianGrid as CartesianGrid8,
|
|
14108
15069
|
LabelList as LabelList5,
|
|
14109
|
-
ResponsiveContainer as
|
|
14110
|
-
Tooltip as
|
|
14111
|
-
XAxis as
|
|
14112
|
-
YAxis as
|
|
15070
|
+
ResponsiveContainer as ResponsiveContainer7,
|
|
15071
|
+
Tooltip as Tooltip14,
|
|
15072
|
+
XAxis as XAxis8,
|
|
15073
|
+
YAxis as YAxis8
|
|
14113
15074
|
} from "recharts";
|
|
14114
15075
|
|
|
14115
15076
|
// src/components/widgets/PeakBillingHours/PeakBillingHoursCustomizationContext.tsx
|
|
14116
|
-
import * as
|
|
14117
|
-
import { jsx as
|
|
14118
|
-
var PeakBillingHoursCustomizationContext =
|
|
15077
|
+
import * as React27 from "react";
|
|
15078
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
15079
|
+
var PeakBillingHoursCustomizationContext = React27.createContext({});
|
|
14119
15080
|
function PeakBillingHoursCustomizationProvider({
|
|
14120
15081
|
value,
|
|
14121
15082
|
children
|
|
14122
15083
|
}) {
|
|
14123
|
-
const memo =
|
|
14124
|
-
return /* @__PURE__ */
|
|
15084
|
+
const memo = React27.useMemo(() => value, [value]);
|
|
15085
|
+
return /* @__PURE__ */ jsx51(PeakBillingHoursCustomizationContext.Provider, { value: memo, children });
|
|
14125
15086
|
}
|
|
14126
15087
|
function usePeakBillingHoursCustomization() {
|
|
14127
|
-
return
|
|
15088
|
+
return React27.useContext(PeakBillingHoursCustomizationContext);
|
|
14128
15089
|
}
|
|
14129
15090
|
|
|
14130
15091
|
// src/components/widgets/PeakBillingHours/PeakBillingHoursTooltip.tsx
|
|
14131
|
-
import { jsx as
|
|
15092
|
+
import { jsx as jsx52, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
14132
15093
|
function formatTooltipValue2(n) {
|
|
14133
15094
|
return new Intl.NumberFormat(void 0, { maximumFractionDigits: 0 }).format(
|
|
14134
15095
|
Math.round(n)
|
|
@@ -14175,7 +15136,7 @@ function PeakBillingHoursTooltip(props) {
|
|
|
14175
15136
|
},
|
|
14176
15137
|
tt?.bodyStyle
|
|
14177
15138
|
);
|
|
14178
|
-
return /* @__PURE__ */
|
|
15139
|
+
return /* @__PURE__ */ jsx52(
|
|
14179
15140
|
"div",
|
|
14180
15141
|
{
|
|
14181
15142
|
style: {
|
|
@@ -14183,7 +15144,7 @@ function PeakBillingHoursTooltip(props) {
|
|
|
14183
15144
|
minWidth: 160,
|
|
14184
15145
|
maxWidth: 280
|
|
14185
15146
|
},
|
|
14186
|
-
children: /* @__PURE__ */
|
|
15147
|
+
children: /* @__PURE__ */ jsxs41(
|
|
14187
15148
|
"div",
|
|
14188
15149
|
{
|
|
14189
15150
|
style: {
|
|
@@ -14194,7 +15155,7 @@ function PeakBillingHoursTooltip(props) {
|
|
|
14194
15155
|
boxShadow: shadow
|
|
14195
15156
|
},
|
|
14196
15157
|
children: [
|
|
14197
|
-
/* @__PURE__ */
|
|
15158
|
+
/* @__PURE__ */ jsx52(
|
|
14198
15159
|
"div",
|
|
14199
15160
|
{
|
|
14200
15161
|
style: {
|
|
@@ -14205,14 +15166,14 @@ function PeakBillingHoursTooltip(props) {
|
|
|
14205
15166
|
"aria-hidden": true
|
|
14206
15167
|
}
|
|
14207
15168
|
),
|
|
14208
|
-
/* @__PURE__ */
|
|
14209
|
-
/* @__PURE__ */
|
|
14210
|
-
/* @__PURE__ */
|
|
14211
|
-
/* @__PURE__ */
|
|
15169
|
+
/* @__PURE__ */ jsxs41("div", { style: bodyStyle, children: [
|
|
15170
|
+
/* @__PURE__ */ jsxs41("div", { style: rowStyle, children: [
|
|
15171
|
+
/* @__PURE__ */ jsx52("span", { style: { color: prefixCol, fontWeight: prefixFw }, children: dateP }),
|
|
15172
|
+
/* @__PURE__ */ jsx52("span", { style: { color: valueCol, fontWeight: valueFw }, children: labelText })
|
|
14212
15173
|
] }),
|
|
14213
|
-
/* @__PURE__ */
|
|
14214
|
-
/* @__PURE__ */
|
|
14215
|
-
/* @__PURE__ */
|
|
15174
|
+
/* @__PURE__ */ jsxs41("div", { style: { ...rowStyle, marginTop: gap }, children: [
|
|
15175
|
+
/* @__PURE__ */ jsx52("span", { style: { color: prefixCol, fontWeight: prefixFw }, children: totalP }),
|
|
15176
|
+
/* @__PURE__ */ jsx52("span", { style: { color: valueCol, fontWeight: valueFw }, children: formatTooltipValue2(num) })
|
|
14216
15177
|
] })
|
|
14217
15178
|
] })
|
|
14218
15179
|
]
|
|
@@ -14223,7 +15184,7 @@ function PeakBillingHoursTooltip(props) {
|
|
|
14223
15184
|
}
|
|
14224
15185
|
|
|
14225
15186
|
// src/components/widgets/PeakBillingHours/PeakBillingHours.tsx
|
|
14226
|
-
import { Fragment as
|
|
15187
|
+
import { Fragment as Fragment20, jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
14227
15188
|
var OLY_DEFAULT_COMPOSED_CHART_CHROME6 = {
|
|
14228
15189
|
cartesianGridStroke: "#D3D6DF",
|
|
14229
15190
|
xAxisLineStroke: "#7566FC",
|
|
@@ -14249,7 +15210,7 @@ function PeakBarTopLabel(props) {
|
|
|
14249
15210
|
const cx = nx + nw / 2;
|
|
14250
15211
|
const cy = ny - 6;
|
|
14251
15212
|
const isHorizontal = angle === 0;
|
|
14252
|
-
return /* @__PURE__ */
|
|
15213
|
+
return /* @__PURE__ */ jsx53(
|
|
14253
15214
|
"text",
|
|
14254
15215
|
{
|
|
14255
15216
|
x: cx,
|
|
@@ -14263,7 +15224,7 @@ function PeakBarTopLabel(props) {
|
|
|
14263
15224
|
}
|
|
14264
15225
|
);
|
|
14265
15226
|
}
|
|
14266
|
-
function
|
|
15227
|
+
function BarPlot2({
|
|
14267
15228
|
data,
|
|
14268
15229
|
yAxisDomain,
|
|
14269
15230
|
yAxisTicks,
|
|
@@ -14302,24 +15263,24 @@ function BarPlot({
|
|
|
14302
15263
|
barRadius,
|
|
14303
15264
|
barRadius
|
|
14304
15265
|
];
|
|
14305
|
-
return /* @__PURE__ */
|
|
14306
|
-
|
|
15266
|
+
return /* @__PURE__ */ jsx53(Box34, { sx: { width: "100%", height, mt: 0.5 }, children: /* @__PURE__ */ jsx53(ResponsiveContainer7, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs42(
|
|
15267
|
+
BarChart4,
|
|
14307
15268
|
{
|
|
14308
15269
|
data,
|
|
14309
15270
|
margin: m,
|
|
14310
15271
|
barCategoryGap: categoryGap,
|
|
14311
15272
|
barGap,
|
|
14312
15273
|
children: [
|
|
14313
|
-
/* @__PURE__ */
|
|
14314
|
-
|
|
15274
|
+
/* @__PURE__ */ jsx53(
|
|
15275
|
+
CartesianGrid8,
|
|
14315
15276
|
{
|
|
14316
15277
|
strokeDasharray: dash,
|
|
14317
15278
|
vertical: false,
|
|
14318
15279
|
stroke: gridStroke
|
|
14319
15280
|
}
|
|
14320
15281
|
),
|
|
14321
|
-
/* @__PURE__ */
|
|
14322
|
-
|
|
15282
|
+
/* @__PURE__ */ jsx53(
|
|
15283
|
+
XAxis8,
|
|
14323
15284
|
{
|
|
14324
15285
|
dataKey: "label",
|
|
14325
15286
|
dx: xAxisTickDx,
|
|
@@ -14332,8 +15293,8 @@ function BarPlot({
|
|
|
14332
15293
|
height: 36
|
|
14333
15294
|
}
|
|
14334
15295
|
),
|
|
14335
|
-
/* @__PURE__ */
|
|
14336
|
-
|
|
15296
|
+
/* @__PURE__ */ jsx53(
|
|
15297
|
+
YAxis8,
|
|
14337
15298
|
{
|
|
14338
15299
|
domain: yAxisDomain,
|
|
14339
15300
|
ticks: yAxisTicks,
|
|
@@ -14344,8 +15305,8 @@ function BarPlot({
|
|
|
14344
15305
|
width: yWidth
|
|
14345
15306
|
}
|
|
14346
15307
|
),
|
|
14347
|
-
/* @__PURE__ */
|
|
14348
|
-
|
|
15308
|
+
/* @__PURE__ */ jsx53(
|
|
15309
|
+
Tooltip14,
|
|
14349
15310
|
{
|
|
14350
15311
|
content: (tooltipProps) => {
|
|
14351
15312
|
if (renderTooltip) {
|
|
@@ -14354,9 +15315,9 @@ function BarPlot({
|
|
|
14354
15315
|
data,
|
|
14355
15316
|
activeTabId
|
|
14356
15317
|
});
|
|
14357
|
-
return customTooltip == null ? null : /* @__PURE__ */
|
|
15318
|
+
return customTooltip == null ? null : /* @__PURE__ */ jsx53(Fragment20, { children: customTooltip });
|
|
14358
15319
|
}
|
|
14359
|
-
return /* @__PURE__ */
|
|
15320
|
+
return /* @__PURE__ */ jsx53(PeakBillingHoursTooltip, { ...tooltipProps });
|
|
14360
15321
|
},
|
|
14361
15322
|
cursor: {
|
|
14362
15323
|
fill: hoverBandFill,
|
|
@@ -14366,8 +15327,8 @@ function BarPlot({
|
|
|
14366
15327
|
allowEscapeViewBox: { x: false, y: true }
|
|
14367
15328
|
}
|
|
14368
15329
|
),
|
|
14369
|
-
/* @__PURE__ */
|
|
14370
|
-
|
|
15330
|
+
/* @__PURE__ */ jsx53(
|
|
15331
|
+
Bar6,
|
|
14371
15332
|
{
|
|
14372
15333
|
dataKey: "value",
|
|
14373
15334
|
name: "Visits",
|
|
@@ -14375,11 +15336,11 @@ function BarPlot({
|
|
|
14375
15336
|
radius: radiusTuple,
|
|
14376
15337
|
isAnimationActive: false,
|
|
14377
15338
|
maxBarSize: 48,
|
|
14378
|
-
children: /* @__PURE__ */
|
|
15339
|
+
children: /* @__PURE__ */ jsx53(
|
|
14379
15340
|
LabelList5,
|
|
14380
15341
|
{
|
|
14381
15342
|
dataKey: "value",
|
|
14382
|
-
content: (props) => /* @__PURE__ */
|
|
15343
|
+
content: (props) => /* @__PURE__ */ jsx53(
|
|
14383
15344
|
PeakBarTopLabel,
|
|
14384
15345
|
{
|
|
14385
15346
|
...props,
|
|
@@ -14419,7 +15380,7 @@ function PeakBillingHours({
|
|
|
14419
15380
|
emptyStatePlaceholderProps,
|
|
14420
15381
|
customization
|
|
14421
15382
|
}) {
|
|
14422
|
-
const chartData =
|
|
15383
|
+
const chartData = React28.useMemo(() => {
|
|
14423
15384
|
if (seriesByTabId) {
|
|
14424
15385
|
return seriesByTabId[activeTabId] ?? [];
|
|
14425
15386
|
}
|
|
@@ -14454,9 +15415,9 @@ function PeakBillingHours({
|
|
|
14454
15415
|
},
|
|
14455
15416
|
customization?.header?.subtitleSx
|
|
14456
15417
|
);
|
|
14457
|
-
return /* @__PURE__ */
|
|
14458
|
-
/* @__PURE__ */
|
|
14459
|
-
|
|
15418
|
+
return /* @__PURE__ */ jsx53(PeakBillingHoursCustomizationProvider, { value: customization ?? {}, children: /* @__PURE__ */ jsx53(Card5, { elevation: customization?.rootCard?.elevation ?? 0, sx: rootSx, children: /* @__PURE__ */ jsx53(CardContent4, { children: /* @__PURE__ */ jsxs42(Stack29, { spacing: 1.75, sx: { width: "100%" }, children: [
|
|
15419
|
+
/* @__PURE__ */ jsxs42(
|
|
15420
|
+
Stack29,
|
|
14460
15421
|
{
|
|
14461
15422
|
direction: "row",
|
|
14462
15423
|
alignItems: "flex-start",
|
|
@@ -14464,20 +15425,20 @@ function PeakBillingHours({
|
|
|
14464
15425
|
gap: 2,
|
|
14465
15426
|
flexWrap: "wrap",
|
|
14466
15427
|
children: [
|
|
14467
|
-
/* @__PURE__ */
|
|
14468
|
-
/* @__PURE__ */
|
|
14469
|
-
/* @__PURE__ */
|
|
15428
|
+
/* @__PURE__ */ jsxs42(Box34, { component: "div", sx: { minWidth: 0 }, children: [
|
|
15429
|
+
/* @__PURE__ */ jsx53(Typography30, { component: "span", sx: titleSx, children: title }),
|
|
15430
|
+
/* @__PURE__ */ jsx53(Typography30, { component: "span", sx: subtitleSx, children: subtitle })
|
|
14470
15431
|
] }),
|
|
14471
|
-
/* @__PURE__ */
|
|
14472
|
-
|
|
15432
|
+
/* @__PURE__ */ jsx53(
|
|
15433
|
+
Stack29,
|
|
14473
15434
|
{
|
|
14474
15435
|
direction: "row",
|
|
14475
15436
|
alignItems: "center",
|
|
14476
15437
|
spacing: 1.5,
|
|
14477
15438
|
sx: { flexShrink: 0 },
|
|
14478
|
-
children: resolvedInfo ? /* @__PURE__ */
|
|
14479
|
-
/* @__PURE__ */
|
|
14480
|
-
/* @__PURE__ */
|
|
15439
|
+
children: resolvedInfo ? /* @__PURE__ */ jsxs42(Fragment20, { children: [
|
|
15440
|
+
/* @__PURE__ */ jsx53(ChartWidgetHeaderSeparator, {}),
|
|
15441
|
+
/* @__PURE__ */ jsx53(
|
|
14481
15442
|
ChartWidgetInfoButton,
|
|
14482
15443
|
{
|
|
14483
15444
|
popover: resolvedInfo,
|
|
@@ -14490,7 +15451,7 @@ function PeakBillingHours({
|
|
|
14490
15451
|
]
|
|
14491
15452
|
}
|
|
14492
15453
|
),
|
|
14493
|
-
/* @__PURE__ */
|
|
15454
|
+
/* @__PURE__ */ jsx53(
|
|
14494
15455
|
ChartWidgetSegmentedTabs,
|
|
14495
15456
|
{
|
|
14496
15457
|
tabs,
|
|
@@ -14510,8 +15471,8 @@ function PeakBillingHours({
|
|
|
14510
15471
|
inactiveTabFontWeight: st?.inactiveTabFontWeight ?? 600
|
|
14511
15472
|
}
|
|
14512
15473
|
),
|
|
14513
|
-
isLoading ? /* @__PURE__ */
|
|
14514
|
-
|
|
15474
|
+
isLoading ? /* @__PURE__ */ jsx53(Skeleton8, { variant: "rounded", width: "100%", height: 320 }) : chartData.length > 0 ? /* @__PURE__ */ jsx53(
|
|
15475
|
+
BarPlot2,
|
|
14515
15476
|
{
|
|
14516
15477
|
data: chartData,
|
|
14517
15478
|
yAxisDomain,
|
|
@@ -14525,7 +15486,7 @@ function PeakBillingHours({
|
|
|
14525
15486
|
xAxisTickStyle,
|
|
14526
15487
|
barValueLabelAngle
|
|
14527
15488
|
}
|
|
14528
|
-
) : /* @__PURE__ */
|
|
15489
|
+
) : /* @__PURE__ */ jsx53(
|
|
14529
15490
|
ChartEmptyState,
|
|
14530
15491
|
{
|
|
14531
15492
|
minHeight: 320,
|
|
@@ -14536,10 +15497,10 @@ function PeakBillingHours({
|
|
|
14536
15497
|
}
|
|
14537
15498
|
|
|
14538
15499
|
// src/components/widgets/CustomerJourneyAnalysis/CustomerJourneyAnalysis.tsx
|
|
14539
|
-
import
|
|
14540
|
-
import
|
|
14541
|
-
import
|
|
14542
|
-
import { jsx as
|
|
15500
|
+
import Box35 from "@mui/material/Box";
|
|
15501
|
+
import Stack30 from "@mui/material/Stack";
|
|
15502
|
+
import Typography31 from "@mui/material/Typography";
|
|
15503
|
+
import { jsx as jsx54, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
14543
15504
|
var DEFAULT_WALK_INS_BG = "#5B8DEF";
|
|
14544
15505
|
var DEFAULT_TRIAL_VISITS_BG = "#F59E42";
|
|
14545
15506
|
var DEFAULT_BILLING_VISITS_BG = "#6EBE7A";
|
|
@@ -14587,7 +15548,7 @@ function resolveMetricConfig(shared, perCard, props) {
|
|
|
14587
15548
|
sx: perCard?.sx ?? shared?.sx
|
|
14588
15549
|
};
|
|
14589
15550
|
}
|
|
14590
|
-
function
|
|
15551
|
+
function mergeSx5(...items) {
|
|
14591
15552
|
return items.flatMap(
|
|
14592
15553
|
(item) => Array.isArray(item) ? item : item ? [item] : []
|
|
14593
15554
|
);
|
|
@@ -14794,17 +15755,17 @@ function CustomerJourneyAnalysis({
|
|
|
14794
15755
|
...Array.isArray(metricsSx) ? metricsSx : metricsSx ? [metricsSx] : []
|
|
14795
15756
|
];
|
|
14796
15757
|
const bodyDirection = { xs: "column", [bodyBreakpoint]: "row" };
|
|
14797
|
-
return /* @__PURE__ */
|
|
14798
|
-
!hideTitle && /* @__PURE__ */
|
|
14799
|
-
|
|
15758
|
+
return /* @__PURE__ */ jsx54(Box35, { sx: outerSx, children: /* @__PURE__ */ jsxs43(Stack30, { spacing: 2, children: [
|
|
15759
|
+
!hideTitle && /* @__PURE__ */ jsxs43(
|
|
15760
|
+
Stack30,
|
|
14800
15761
|
{
|
|
14801
15762
|
direction: "row",
|
|
14802
15763
|
alignItems: "flex-start",
|
|
14803
15764
|
justifyContent: "space-between",
|
|
14804
15765
|
gap: 2,
|
|
14805
15766
|
children: [
|
|
14806
|
-
/* @__PURE__ */
|
|
14807
|
-
|
|
15767
|
+
/* @__PURE__ */ jsx54(
|
|
15768
|
+
Typography31,
|
|
14808
15769
|
{
|
|
14809
15770
|
component: "h2",
|
|
14810
15771
|
variant: "h6",
|
|
@@ -14817,8 +15778,8 @@ function CustomerJourneyAnalysis({
|
|
|
14817
15778
|
children: title
|
|
14818
15779
|
}
|
|
14819
15780
|
),
|
|
14820
|
-
headerActions != null ? /* @__PURE__ */
|
|
14821
|
-
|
|
15781
|
+
headerActions != null ? /* @__PURE__ */ jsx54(
|
|
15782
|
+
Box35,
|
|
14822
15783
|
{
|
|
14823
15784
|
sx: {
|
|
14824
15785
|
flexShrink: 0,
|
|
@@ -14832,9 +15793,9 @@ function CustomerJourneyAnalysis({
|
|
|
14832
15793
|
]
|
|
14833
15794
|
}
|
|
14834
15795
|
),
|
|
14835
|
-
/* @__PURE__ */
|
|
14836
|
-
/* @__PURE__ */
|
|
14837
|
-
/* @__PURE__ */
|
|
15796
|
+
/* @__PURE__ */ jsxs43(Stack30, { direction: bodyDirection, spacing: bodyGap, alignItems: "stretch", children: [
|
|
15797
|
+
/* @__PURE__ */ jsx54(Box35, { sx: stripSx, children: /* @__PURE__ */ jsxs43(Box35, { sx: statCardsRowSx, children: [
|
|
15798
|
+
/* @__PURE__ */ jsx54(
|
|
14838
15799
|
JourneyStatCard,
|
|
14839
15800
|
{
|
|
14840
15801
|
icon: wiConfig.icon,
|
|
@@ -14855,7 +15816,7 @@ function CustomerJourneyAnalysis({
|
|
|
14855
15816
|
borderRadius: wiConfig.borderRadius,
|
|
14856
15817
|
minHeight: wiConfig.minHeight,
|
|
14857
15818
|
isLoading,
|
|
14858
|
-
sx:
|
|
15819
|
+
sx: mergeSx5(
|
|
14859
15820
|
{
|
|
14860
15821
|
flex: statCardFlexes[0],
|
|
14861
15822
|
borderRadius: `${statStripInnerBorderRadius} 0 0 ${statStripInnerBorderRadius}`
|
|
@@ -14864,7 +15825,7 @@ function CustomerJourneyAnalysis({
|
|
|
14864
15825
|
)
|
|
14865
15826
|
}
|
|
14866
15827
|
),
|
|
14867
|
-
/* @__PURE__ */
|
|
15828
|
+
/* @__PURE__ */ jsx54(
|
|
14868
15829
|
JourneyStatCard,
|
|
14869
15830
|
{
|
|
14870
15831
|
icon: tvConfig.icon,
|
|
@@ -14885,10 +15846,10 @@ function CustomerJourneyAnalysis({
|
|
|
14885
15846
|
borderRadius: tvConfig.borderRadius,
|
|
14886
15847
|
minHeight: tvConfig.minHeight,
|
|
14887
15848
|
isLoading,
|
|
14888
|
-
sx:
|
|
15849
|
+
sx: mergeSx5({ flex: statCardFlexes[1] }, tvConfig.sx)
|
|
14889
15850
|
}
|
|
14890
15851
|
),
|
|
14891
|
-
/* @__PURE__ */
|
|
15852
|
+
/* @__PURE__ */ jsx54(
|
|
14892
15853
|
JourneyStatCard,
|
|
14893
15854
|
{
|
|
14894
15855
|
icon: bvConfig.icon,
|
|
@@ -14909,7 +15870,7 @@ function CustomerJourneyAnalysis({
|
|
|
14909
15870
|
borderRadius: bvConfig.borderRadius,
|
|
14910
15871
|
minHeight: bvConfig.minHeight,
|
|
14911
15872
|
isLoading,
|
|
14912
|
-
sx:
|
|
15873
|
+
sx: mergeSx5(
|
|
14913
15874
|
{
|
|
14914
15875
|
flex: statCardFlexes[2],
|
|
14915
15876
|
borderRadius: `0 ${statStripInnerBorderRadius} ${statStripInnerBorderRadius} 0`
|
|
@@ -14919,8 +15880,8 @@ function CustomerJourneyAnalysis({
|
|
|
14919
15880
|
}
|
|
14920
15881
|
)
|
|
14921
15882
|
] }) }),
|
|
14922
|
-
/* @__PURE__ */
|
|
14923
|
-
|
|
15883
|
+
/* @__PURE__ */ jsx54(Box35, { sx: metricsBoxSx, children: /* @__PURE__ */ jsx54(
|
|
15884
|
+
Box35,
|
|
14924
15885
|
{
|
|
14925
15886
|
sx: {
|
|
14926
15887
|
display: "grid",
|
|
@@ -14953,8 +15914,8 @@ function CustomerJourneyAnalysis({
|
|
|
14953
15914
|
label: avgBillingPerTrialLabel,
|
|
14954
15915
|
value: formatAverage(avgBillingPerTrial)
|
|
14955
15916
|
}
|
|
14956
|
-
].map(({ cfg, label, value }) => /* @__PURE__ */
|
|
14957
|
-
|
|
15917
|
+
].map(({ cfg, label, value }) => /* @__PURE__ */ jsx54(
|
|
15918
|
+
Box35,
|
|
14958
15919
|
{
|
|
14959
15920
|
sx: {
|
|
14960
15921
|
bgcolor: metricsCardBg,
|
|
@@ -14963,7 +15924,7 @@ function CustomerJourneyAnalysis({
|
|
|
14963
15924
|
height: "100%",
|
|
14964
15925
|
minWidth: 0
|
|
14965
15926
|
},
|
|
14966
|
-
children: /* @__PURE__ */
|
|
15927
|
+
children: /* @__PURE__ */ jsx54(
|
|
14967
15928
|
JourneyMetricCard,
|
|
14968
15929
|
{
|
|
14969
15930
|
label,
|
|
@@ -14998,7 +15959,7 @@ import {
|
|
|
14998
15959
|
createTheme,
|
|
14999
15960
|
responsiveFontSizes
|
|
15000
15961
|
} from "@mui/material/styles";
|
|
15001
|
-
import { jsx as
|
|
15962
|
+
import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
15002
15963
|
var lightColor = "51, 48, 60";
|
|
15003
15964
|
var darkColor = "228, 230, 244";
|
|
15004
15965
|
var darkPaperBg = "#2F3349";
|
|
@@ -15078,8 +16039,8 @@ var FalconThemeProvider = ({
|
|
|
15078
16039
|
mixins: { toolbar: { minHeight: 64 } }
|
|
15079
16040
|
})
|
|
15080
16041
|
);
|
|
15081
|
-
return /* @__PURE__ */
|
|
15082
|
-
/* @__PURE__ */
|
|
16042
|
+
return /* @__PURE__ */ jsxs44(ThemeProvider, { theme, children: [
|
|
16043
|
+
/* @__PURE__ */ jsx55(CssBaseline, {}),
|
|
15083
16044
|
children
|
|
15084
16045
|
] });
|
|
15085
16046
|
};
|
|
@@ -15102,6 +16063,7 @@ export {
|
|
|
15102
16063
|
DEFAULT_FOOTFALL_TILE_ICONS,
|
|
15103
16064
|
DEFAULT_PEAK_BILLING_HOURS_INFO_POPOVER,
|
|
15104
16065
|
DEFAULT_QUEUE_TIME_BREAKDOWN_INFO_POPOVER,
|
|
16066
|
+
DEFAULT_STORE_PERFORMANCE_BY_ASSIST_INFO_POPOVER,
|
|
15105
16067
|
FalconAuditTimeline,
|
|
15106
16068
|
FalconButton,
|
|
15107
16069
|
FalconDIstrictFilter,
|
|
@@ -15140,6 +16102,17 @@ export {
|
|
|
15140
16102
|
QueueTimeBreakdownStackedBar,
|
|
15141
16103
|
TimePeriodFilter as QueueTimePeriodFilter,
|
|
15142
16104
|
RankedBarList,
|
|
16105
|
+
STACKED_COMPARISON_DEFAULT_COMPARISON_COLOR,
|
|
16106
|
+
STACKED_COMPARISON_DEFAULT_FRAME_BORDER,
|
|
16107
|
+
STACKED_COMPARISON_DEFAULT_LEGEND_COMPARISON_COLOR,
|
|
16108
|
+
STACKED_COMPARISON_DEFAULT_LEGEND_STACK_COLOR,
|
|
16109
|
+
STACKED_COMPARISON_DEFAULT_STACK_COLORS,
|
|
16110
|
+
STORE_PERFORMANCE_DEFAULT_BUCKETS,
|
|
16111
|
+
STORE_PERFORMANCE_DEFAULT_DATA,
|
|
16112
|
+
StackedComparisonBarChart,
|
|
16113
|
+
StackedComparisonBarChartCustomizationProvider,
|
|
16114
|
+
StackedComparisonBarChartTooltip,
|
|
16115
|
+
StorePerformanceByAssist,
|
|
15143
16116
|
TIME_PERIOD_FILTER_INFO_POPOVER,
|
|
15144
16117
|
TIME_PERIOD_FILTER_INFO_POPOVER_BREAKDOWN,
|
|
15145
16118
|
TimePeriodFilter,
|
|
@@ -15171,9 +16144,12 @@ export {
|
|
|
15171
16144
|
peakBillingHoursVisitsMock,
|
|
15172
16145
|
preprocessData,
|
|
15173
16146
|
skipSingleBranchLevels,
|
|
16147
|
+
mergeCss7 as stackedComparisonMergeCss,
|
|
16148
|
+
mergeSx4 as stackedComparisonMergeSx,
|
|
15174
16149
|
toRechartsTreemapData,
|
|
15175
16150
|
useBillingCounterAnalyticsCustomization,
|
|
15176
16151
|
usePeakBillingHoursCustomization,
|
|
15177
|
-
useQueueTimeBreakdownCustomization
|
|
16152
|
+
useQueueTimeBreakdownCustomization,
|
|
16153
|
+
useStackedComparisonBarChartCustomization
|
|
15178
16154
|
};
|
|
15179
16155
|
//# sourceMappingURL=index.mjs.map
|