@divami-artefacts/ai-design-system 1.0.6 → 1.0.7
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.cjs +1 -1
- package/dist/index.js +354 -351
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -844,88 +844,88 @@ function Ae({ data: e, "data-testid": t }) {
|
|
|
844
844
|
}
|
|
845
845
|
//#endregion
|
|
846
846
|
//#region src/components/contractorRank/ContractorRank.tsx
|
|
847
|
-
var
|
|
847
|
+
var B = 780, V = 240, je = 12, Me = 10, Ne = [
|
|
848
848
|
"Highest exposure",
|
|
849
849
|
"Elevated risk",
|
|
850
850
|
"Moderate exposure",
|
|
851
851
|
"Moderate exposure",
|
|
852
852
|
"Low exposure"
|
|
853
853
|
];
|
|
854
|
-
function
|
|
854
|
+
function Pe({ contractors: e = [], "data-testid": t }) {
|
|
855
855
|
let r = a(null), i = a(0), o = a(/* @__PURE__ */ new Map()), { hoveredRef: l, tooltip: p, hitZonesRef: h } = C(r, {
|
|
856
|
-
width:
|
|
857
|
-
height:
|
|
856
|
+
width: B,
|
|
857
|
+
height: V
|
|
858
858
|
}), g = [...e].sort((e, t) => (t.count ?? 0) - (e.count ?? 0)).slice(0, 5), y = g.reduce((e, t) => e + (t.count ?? 0), 0);
|
|
859
859
|
return n(() => {
|
|
860
860
|
let e = r.current;
|
|
861
861
|
if (!e) return;
|
|
862
|
-
let t = _(e,
|
|
862
|
+
let t = _(e, B, V);
|
|
863
863
|
i.current = 0;
|
|
864
|
-
let n = Math.min(5, g.length), a = (
|
|
864
|
+
let n = Math.min(5, g.length), a = (B - 2 * je - (n - 1) * Me) / n, s = V * .84, c = V * .08, p, x = () => {
|
|
865
865
|
i.current++;
|
|
866
866
|
let e = i.current;
|
|
867
|
-
t.clearRect(0, 0,
|
|
867
|
+
t.clearRect(0, 0, B, V), h.current = [], o.current.forEach((e, t) => {
|
|
868
868
|
let n = t === l.current ? 1 : 0, r = e + (n - e) * .12;
|
|
869
869
|
Math.abs(r - n) < .005 ? n === 0 ? o.current.delete(t) : o.current.set(t, 1) : o.current.set(t, r);
|
|
870
870
|
}), l.current && !o.current.has(l.current) && o.current.set(l.current, 0), g.forEach((n, r) => {
|
|
871
|
-
let i = r === 0, l = r === 0 ? u.red : r === 1 ? u.amber : d[r % d.length], p =
|
|
871
|
+
let i = r === 0, l = r === 0 ? u.red : r === 1 ? u.amber : d[r % d.length], p = je + r * (a + Me), g = o.current.get(n.id) ?? 0, _ = g * 8, b = p - _ / 2, x = a + _, S = i ? A(e, .04, 3e-4) * .06 + .06 : 0;
|
|
872
872
|
t.fillStyle = m(l, .08 + g * .07), t.beginPath(), t.roundRect(b, c, x, s, 6), t.fill(), t.strokeStyle = m(l, .2 + g * .4 + S), t.lineWidth = i ? 1.5 : 1, t.stroke(), (g > .01 || i) && v(t, b + x / 2, c + s / 2, x * .55, l, S + g * .14), t.font = "bold " + f.font, t.textAlign = "left", t.textBaseline = "top", t.fillStyle = m(l, .5 + g * .35), t.fillText(`#${r + 1}`, b + 7, c + 6);
|
|
873
873
|
let C = Math.min(a * .28, s * .32, 72), w = b + x / 2, E = c + s * .38, D = t.createRadialGradient(w, E - C * .2, 0, w, E, C);
|
|
874
874
|
D.addColorStop(0, m(l, .5 + g * .2)), D.addColorStop(1, m(l, .2 + g * .1)), t.beginPath(), t.arc(w, E, C, 0, Math.PI * 2), t.fillStyle = D, t.fill(), t.strokeStyle = m(l, .4 + g * .3), t.lineWidth = 1, t.stroke(), t.font = "bold " + f.font, t.textAlign = "center", t.textBaseline = "middle", t.fillStyle = m(u.t1, .9), t.fillText(n.abbreviation ?? n.name.slice(0, 6), w, E), t.font = "bold 14px 'Satoshi Variable', 'DM Sans', sans-serif", t.textBaseline = "alphabetic", t.fillStyle = m(l, .9 + g * .1), t.fillText(String(n.count ?? 0), w, c + s * .76), t.font = f.font, t.fillStyle = f.color, t.fillText("open EWs", w, c + s * .88);
|
|
875
|
-
let O = Math.round((n.count ?? 0) / (y || 1) * 100), k =
|
|
875
|
+
let O = Math.round((n.count ?? 0) / (y || 1) * 100), k = Ne[r] ?? "Low exposure";
|
|
876
876
|
T(h.current, n.id, p, c, a, s, {
|
|
877
877
|
label: n.name,
|
|
878
878
|
value: `${n.count ?? 0} open · ${O}% of total`,
|
|
879
879
|
sublabel: `Rank #${r + 1} · ${k}`,
|
|
880
880
|
color: l
|
|
881
881
|
});
|
|
882
|
-
}), b(t,
|
|
882
|
+
}), b(t, B, V, e, .015), p = requestAnimationFrame(x);
|
|
883
883
|
};
|
|
884
884
|
return x(), () => cancelAnimationFrame(p);
|
|
885
885
|
}, [g, y]), /* @__PURE__ */ c("div", {
|
|
886
886
|
"data-testid": t,
|
|
887
887
|
style: {
|
|
888
888
|
position: "relative",
|
|
889
|
-
width:
|
|
890
|
-
height:
|
|
889
|
+
width: B,
|
|
890
|
+
height: V
|
|
891
891
|
},
|
|
892
892
|
children: [/* @__PURE__ */ s("canvas", {
|
|
893
893
|
ref: r,
|
|
894
894
|
role: "img",
|
|
895
895
|
"aria-label": "Contractor rank — open EW count per contractor",
|
|
896
896
|
style: {
|
|
897
|
-
width:
|
|
898
|
-
height:
|
|
897
|
+
width: B,
|
|
898
|
+
height: V,
|
|
899
899
|
display: "block",
|
|
900
900
|
borderRadius: 8
|
|
901
901
|
}
|
|
902
902
|
}), /* @__PURE__ */ s(S, {
|
|
903
903
|
...p,
|
|
904
|
-
parentW:
|
|
905
|
-
parentH:
|
|
904
|
+
parentW: B,
|
|
905
|
+
parentH: V
|
|
906
906
|
})]
|
|
907
907
|
});
|
|
908
908
|
}
|
|
909
909
|
//#endregion
|
|
910
910
|
//#region src/components/ewCategory/EWCategory.tsx
|
|
911
|
-
var
|
|
912
|
-
function
|
|
911
|
+
var H = 680, U = 260;
|
|
912
|
+
function Fe({ categories: e = [], "data-testid": t }) {
|
|
913
913
|
let r = a(null), i = a(0), o = a(/* @__PURE__ */ new Map()), { hoveredRef: l, tooltip: d, hitZonesRef: f } = C(r, {
|
|
914
|
-
width:
|
|
915
|
-
height:
|
|
914
|
+
width: H,
|
|
915
|
+
height: U
|
|
916
916
|
});
|
|
917
917
|
return n(() => {
|
|
918
918
|
let t = r.current;
|
|
919
919
|
if (!t) return;
|
|
920
|
-
let n = _(t,
|
|
920
|
+
let n = _(t, H, U);
|
|
921
921
|
i.current = 0;
|
|
922
|
-
let a = e.length, s = Math.max(...e.map((e) => e.count), 1), c = s, d =
|
|
922
|
+
let a = e.length, s = Math.max(...e.map((e) => e.count), 1), c = s, d = H * .05, p = U * .1, h = H * .9 / a, g = U * .7 / c, x = e.reduce((e, t) => e + t.count, 0), S, C = () => {
|
|
923
923
|
i.current++;
|
|
924
924
|
let t = i.current;
|
|
925
|
-
n.clearRect(0, 0,
|
|
925
|
+
n.clearRect(0, 0, H, U), f.current = [], o.current.forEach((e, t) => {
|
|
926
926
|
let n = t === l.current ? 1 : 0, r = e + (n - e) * .12;
|
|
927
927
|
Math.abs(r - n) < .005 ? n === 0 ? o.current.delete(t) : o.current.set(t, 1) : o.current.set(t, r);
|
|
928
|
-
}), l.current && !o.current.has(l.current) && o.current.set(l.current, 0), y(n,
|
|
928
|
+
}), l.current && !o.current.has(l.current) && o.current.set(l.current, 0), y(n, H, U, t, 40, m(u.blue, .04)), e.forEach((e, r) => {
|
|
929
929
|
let i = e.count === s, a = i ? u.cyan : u.blue, l = o.current.get(`${e.category}-col`) ?? 0;
|
|
930
930
|
for (let u = 0; u < c; u++) {
|
|
931
931
|
let c = d + r * h + h / 2, _ = p + u * g + g / 2, y = Math.min(h, g) * .38;
|
|
@@ -943,36 +943,36 @@ function Ie({ categories: e = [], "data-testid": t }) {
|
|
|
943
943
|
}
|
|
944
944
|
let _ = p + c * g + 16;
|
|
945
945
|
n.font = `${i ? "bold " : ""}9px 'JetBrains Mono', monospace`, n.textAlign = "center", n.textBaseline = "alphabetic", n.fillStyle = i ? u.cyan : m(u.t2, .65), n.fillText(e.category, d + r * h + h / 2, _);
|
|
946
|
-
}), b(n,
|
|
946
|
+
}), b(n, H, U, t, .015), S = requestAnimationFrame(C);
|
|
947
947
|
};
|
|
948
948
|
return C(), () => cancelAnimationFrame(S);
|
|
949
949
|
}, [e]), /* @__PURE__ */ c("div", {
|
|
950
950
|
"data-testid": t,
|
|
951
951
|
style: {
|
|
952
952
|
position: "relative",
|
|
953
|
-
width:
|
|
954
|
-
height:
|
|
953
|
+
width: H,
|
|
954
|
+
height: U
|
|
955
955
|
},
|
|
956
956
|
children: [/* @__PURE__ */ s("canvas", {
|
|
957
957
|
ref: r,
|
|
958
958
|
role: "img",
|
|
959
959
|
"aria-label": "Early Warning count by category — breathing dot grid",
|
|
960
960
|
style: {
|
|
961
|
-
width:
|
|
962
|
-
height:
|
|
961
|
+
width: H,
|
|
962
|
+
height: U,
|
|
963
963
|
display: "block",
|
|
964
964
|
borderRadius: 8
|
|
965
965
|
}
|
|
966
966
|
}), /* @__PURE__ */ s(S, {
|
|
967
967
|
...d,
|
|
968
|
-
parentW:
|
|
969
|
-
parentH:
|
|
968
|
+
parentW: H,
|
|
969
|
+
parentH: U
|
|
970
970
|
})]
|
|
971
971
|
});
|
|
972
972
|
}
|
|
973
973
|
//#endregion
|
|
974
974
|
//#region src/components/lineChart/LineChart.tsx
|
|
975
|
-
function
|
|
975
|
+
function Ie({ rows: e = [], className: t, colors: n }) {
|
|
976
976
|
return /* @__PURE__ */ s(te, {
|
|
977
977
|
rows: e,
|
|
978
978
|
variant: "line",
|
|
@@ -982,7 +982,7 @@ function Le({ rows: e = [], className: t, colors: n }) {
|
|
|
982
982
|
}
|
|
983
983
|
//#endregion
|
|
984
984
|
//#region src/components/constants.ts
|
|
985
|
-
var
|
|
985
|
+
var Le = [
|
|
986
986
|
"#36BFFA",
|
|
987
987
|
"#16B364",
|
|
988
988
|
"#D444F1",
|
|
@@ -991,7 +991,7 @@ var Re = [
|
|
|
991
991
|
"#7A5AF8",
|
|
992
992
|
"#EF6820",
|
|
993
993
|
"#D92D20"
|
|
994
|
-
],
|
|
994
|
+
], Re = {
|
|
995
995
|
nodes: [
|
|
996
996
|
{
|
|
997
997
|
id: "supplier-x",
|
|
@@ -1034,8 +1034,8 @@ var Re = [
|
|
|
1034
1034
|
};
|
|
1035
1035
|
//#endregion
|
|
1036
1036
|
//#region src/components/miniBars/MiniBars.tsx
|
|
1037
|
-
function
|
|
1038
|
-
let r = n?.slices ??
|
|
1037
|
+
function ze({ rows: e = [], className: t, colors: n }) {
|
|
1038
|
+
let r = n?.slices ?? Le;
|
|
1039
1039
|
return /* @__PURE__ */ s("div", {
|
|
1040
1040
|
className: ["d3-mini-bars", t].filter(Boolean).join(" "),
|
|
1041
1041
|
children: e.map(([e, t, n], i) => /* @__PURE__ */ c("div", {
|
|
@@ -1061,7 +1061,7 @@ function Be({ rows: e = [], className: t, colors: n }) {
|
|
|
1061
1061
|
width: Math.max(0, Math.min(100, t)),
|
|
1062
1062
|
height: "12",
|
|
1063
1063
|
rx: "6",
|
|
1064
|
-
className: `d3-mini-fill tone-${i %
|
|
1064
|
+
className: `d3-mini-fill tone-${i % Le.length}`,
|
|
1065
1065
|
fill: r[i % r.length]
|
|
1066
1066
|
})]
|
|
1067
1067
|
})
|
|
@@ -1073,24 +1073,24 @@ function Be({ rows: e = [], className: t, colors: n }) {
|
|
|
1073
1073
|
}
|
|
1074
1074
|
//#endregion
|
|
1075
1075
|
//#region src/components/nceTree/NCETree.tsx
|
|
1076
|
-
var
|
|
1077
|
-
function
|
|
1076
|
+
var Be = 680, Ve = 320;
|
|
1077
|
+
function He({ total: e = 0, byContractor: t = [], "data-testid": r }) {
|
|
1078
1078
|
let i = a(null), o = a(/* @__PURE__ */ new Map()), l = a(0), { hoveredRef: p, tooltip: h, hitZonesRef: g } = C(i, {
|
|
1079
|
-
width:
|
|
1080
|
-
height:
|
|
1079
|
+
width: Be,
|
|
1080
|
+
height: Ve
|
|
1081
1081
|
});
|
|
1082
1082
|
return n(() => {
|
|
1083
1083
|
let n = i.current;
|
|
1084
1084
|
if (!n) return;
|
|
1085
|
-
let r = _(n,
|
|
1085
|
+
let r = _(n, Be, Ve);
|
|
1086
1086
|
l.current = 0;
|
|
1087
|
-
let a =
|
|
1087
|
+
let a = Ve / 2, s = Be - 80, c = Math.max(...t.map((e) => e.count ?? 0)), h = (Ve - 60) / (t.length - 1), y = t.map((e, t) => ({
|
|
1088
1088
|
x: s,
|
|
1089
1089
|
y: 30 + t * h
|
|
1090
1090
|
})), b, x = () => {
|
|
1091
1091
|
l.current++;
|
|
1092
1092
|
let n = l.current;
|
|
1093
|
-
r.clearRect(0, 0,
|
|
1093
|
+
r.clearRect(0, 0, Be, Ve);
|
|
1094
1094
|
let i = E(Math.min(n / 72, 1));
|
|
1095
1095
|
M(o.current, p.current), g.current = [], v(r, 88, a, 48 * i, u.blue, .15 * i), t.forEach((n, l) => {
|
|
1096
1096
|
let p = d[l % d.length], h = j(i, l, t.length, E), _ = y[l], b = o.current.get(n.id) ?? 0, x = Math.max(1.5, (n.count ?? 0) / c * 6);
|
|
@@ -1117,42 +1117,42 @@ function Ue({ total: e = 0, byContractor: t = [], "data-testid": r }) {
|
|
|
1117
1117
|
"data-testid": r,
|
|
1118
1118
|
style: {
|
|
1119
1119
|
position: "relative",
|
|
1120
|
-
width:
|
|
1121
|
-
height:
|
|
1120
|
+
width: Be,
|
|
1121
|
+
height: Ve
|
|
1122
1122
|
},
|
|
1123
1123
|
children: [/* @__PURE__ */ s("canvas", {
|
|
1124
1124
|
ref: i,
|
|
1125
1125
|
role: "img",
|
|
1126
1126
|
"aria-label": "NCE fault tree — NCEs per contractor as branching tree",
|
|
1127
1127
|
style: {
|
|
1128
|
-
width:
|
|
1129
|
-
height:
|
|
1128
|
+
width: Be,
|
|
1129
|
+
height: Ve,
|
|
1130
1130
|
display: "block"
|
|
1131
1131
|
}
|
|
1132
1132
|
}), /* @__PURE__ */ s(S, {
|
|
1133
1133
|
...h,
|
|
1134
|
-
parentW:
|
|
1135
|
-
parentH:
|
|
1134
|
+
parentW: Be,
|
|
1135
|
+
parentH: Ve
|
|
1136
1136
|
})]
|
|
1137
1137
|
});
|
|
1138
1138
|
}
|
|
1139
1139
|
//#endregion
|
|
1140
1140
|
//#region src/components/pieChart/PieChart.tsx
|
|
1141
|
-
var
|
|
1142
|
-
function
|
|
1141
|
+
var Ue = 192, We = Ue, Ge = Ue + 80;
|
|
1142
|
+
function Ke({ rows: e = [], variant: t, className: r, colors: i }) {
|
|
1143
1143
|
let o = a(null), f = a(/* @__PURE__ */ new Map()), p = a(0), h = i?.slices ?? d, { hoveredRef: y, tooltip: b, hitZonesRef: x } = C(o, {
|
|
1144
|
-
width:
|
|
1145
|
-
height:
|
|
1144
|
+
width: We,
|
|
1145
|
+
height: Ge
|
|
1146
1146
|
});
|
|
1147
1147
|
return n(() => {
|
|
1148
1148
|
let n = o.current;
|
|
1149
1149
|
if (!n) return;
|
|
1150
|
-
let r = _(n,
|
|
1150
|
+
let r = _(n, We, Ge);
|
|
1151
1151
|
p.current = 0;
|
|
1152
|
-
let i =
|
|
1152
|
+
let i = We / 2, a = Ue / 2, s = Ue * .4, c = t === "donut" ? Ue * .21 : 0, l = e.reduce((e, t) => e + (t.pricing ?? 0), 0) || 1, d, b = () => {
|
|
1153
1153
|
p.current++;
|
|
1154
1154
|
let n = p.current;
|
|
1155
|
-
r.clearRect(0, 0,
|
|
1155
|
+
r.clearRect(0, 0, We, Ge);
|
|
1156
1156
|
let o = 1 - (1 - Math.min(n / 48, 1)) ** 3;
|
|
1157
1157
|
M(f.current, y.current), x.current = [];
|
|
1158
1158
|
let _ = -Math.PI / 2;
|
|
@@ -1166,10 +1166,10 @@ function qe({ rows: e = [], variant: t, className: r, colors: i }) {
|
|
|
1166
1166
|
let O = A(n, .03, 3e-4), k = s + b * 6 + (b > 0 ? O * 2 : 0);
|
|
1167
1167
|
r.beginPath(), r.moveTo(i + Math.cos(_) * c, a + Math.sin(_) * c), r.arc(i, a, k, _, g), c > 0 ? r.arc(i, a, c, g, _, !0) : r.lineTo(i, a), r.closePath(), r.fillStyle = m(y, .7 + b * .2), r.fill(), r.strokeStyle = m(u.bg, .8), r.lineWidth = 1.5, r.stroke(), _ = g;
|
|
1168
1168
|
}), t === "donut" && e.length > 0 && v(r, i, a, c * .8, u.blue, .06);
|
|
1169
|
-
let S =
|
|
1169
|
+
let S = Ue + 12;
|
|
1170
1170
|
e.forEach((e, t) => {
|
|
1171
1171
|
let n = h[t % h.length], i = (e.pricing ?? 0) / l, a = f.current.get(e.id ?? `sl-${t}`) ?? 0, o = S + t * 18;
|
|
1172
|
-
r.beginPath(), r.arc(8, o, 4, 0, Math.PI * 2), r.fillStyle = m(n, .8 + a * .2), r.fill(), r.font = "9px 'JetBrains Mono', monospace", r.fillStyle = m(u.t2, .7 + a * .2), r.textAlign = "left", r.fillText(e.vendor, 18, o + 3.5), r.font = "bold 9px 'JetBrains Mono', monospace", r.fillStyle = g(u.t3, n, a), r.textAlign = "right", r.fillText(`${e.pricing ?? 0} (${Math.round(i * 100)}%)`,
|
|
1172
|
+
r.beginPath(), r.arc(8, o, 4, 0, Math.PI * 2), r.fillStyle = m(n, .8 + a * .2), r.fill(), r.font = "9px 'JetBrains Mono', monospace", r.fillStyle = m(u.t2, .7 + a * .2), r.textAlign = "left", r.fillText(e.vendor, 18, o + 3.5), r.font = "bold 9px 'JetBrains Mono', monospace", r.fillStyle = g(u.t3, n, a), r.textAlign = "right", r.fillText(`${e.pricing ?? 0} (${Math.round(i * 100)}%)`, We - 4, o + 3.5);
|
|
1173
1173
|
}), d = requestAnimationFrame(b);
|
|
1174
1174
|
};
|
|
1175
1175
|
return b(), () => cancelAnimationFrame(d);
|
|
@@ -1183,30 +1183,30 @@ function qe({ rows: e = [], variant: t, className: r, colors: i }) {
|
|
|
1183
1183
|
children: /* @__PURE__ */ c("div", {
|
|
1184
1184
|
style: {
|
|
1185
1185
|
position: "relative",
|
|
1186
|
-
width:
|
|
1187
|
-
height:
|
|
1186
|
+
width: We,
|
|
1187
|
+
height: Ge
|
|
1188
1188
|
},
|
|
1189
1189
|
children: [/* @__PURE__ */ s("canvas", {
|
|
1190
1190
|
ref: o,
|
|
1191
1191
|
role: "img",
|
|
1192
1192
|
"aria-label": `${t} chart`,
|
|
1193
1193
|
style: {
|
|
1194
|
-
width:
|
|
1195
|
-
height:
|
|
1194
|
+
width: We,
|
|
1195
|
+
height: Ge,
|
|
1196
1196
|
display: "block",
|
|
1197
1197
|
borderRadius: 8
|
|
1198
1198
|
}
|
|
1199
1199
|
}), /* @__PURE__ */ s(S, {
|
|
1200
1200
|
...b,
|
|
1201
|
-
parentW:
|
|
1202
|
-
parentH:
|
|
1201
|
+
parentW: We,
|
|
1202
|
+
parentH: Ge
|
|
1203
1203
|
})]
|
|
1204
1204
|
})
|
|
1205
1205
|
});
|
|
1206
1206
|
}
|
|
1207
1207
|
//#endregion
|
|
1208
1208
|
//#region src/components/sankey/SankeySvg.tsx
|
|
1209
|
-
function
|
|
1209
|
+
function qe(e, t, n, r) {
|
|
1210
1210
|
let i = new Set(t.map((e) => e.source)), a = new Set(t.map((e) => e.target)), o = /* @__PURE__ */ new Map(), s = [];
|
|
1211
1211
|
for (e.forEach((e) => {
|
|
1212
1212
|
i.has(e.id) && !a.has(e.id) && s.push({
|
|
@@ -1251,8 +1251,8 @@ function Je(e, t, n, r) {
|
|
|
1251
1251
|
});
|
|
1252
1252
|
}), f;
|
|
1253
1253
|
}
|
|
1254
|
-
function
|
|
1255
|
-
let y = a(null), x = a(/* @__PURE__ */ new Map()), E = a(0), D = a([]), O = g?.nodes ?? d, k = g?.links ?? u.bd, j = g?.activeLinks ?? u.blue, ee = g?.activeNodes ?? u.blue, N = i(() =>
|
|
1254
|
+
function Je({ nodes: e, links: t, width: r = 960, height: o = 280, ariaLabel: f, selectedEntity: p, className: h, colors: g }) {
|
|
1255
|
+
let y = a(null), x = a(/* @__PURE__ */ new Map()), E = a(0), D = a([]), O = g?.nodes ?? d, k = g?.links ?? u.bd, j = g?.activeLinks ?? u.blue, ee = g?.activeNodes ?? u.blue, N = i(() => qe(e, t, r, o), [
|
|
1256
1256
|
e,
|
|
1257
1257
|
t,
|
|
1258
1258
|
r,
|
|
@@ -1352,7 +1352,7 @@ function Ye({ nodes: e, links: t, width: r = 960, height: o = 280, ariaLabel: f,
|
|
|
1352
1352
|
}
|
|
1353
1353
|
//#endregion
|
|
1354
1354
|
//#region src/canvas/CausalFlowCanvas.tsx
|
|
1355
|
-
var
|
|
1355
|
+
var Ye = [
|
|
1356
1356
|
{
|
|
1357
1357
|
x: .13,
|
|
1358
1358
|
y: .48
|
|
@@ -1385,7 +1385,7 @@ var Xe = [
|
|
|
1385
1385
|
x: .92,
|
|
1386
1386
|
y: .22
|
|
1387
1387
|
}
|
|
1388
|
-
],
|
|
1388
|
+
], Xe = [
|
|
1389
1389
|
u.blue,
|
|
1390
1390
|
u.cyan,
|
|
1391
1391
|
u.orange,
|
|
@@ -1394,7 +1394,7 @@ var Xe = [
|
|
|
1394
1394
|
u.green,
|
|
1395
1395
|
u.amber,
|
|
1396
1396
|
u.t2
|
|
1397
|
-
],
|
|
1397
|
+
], Ze = [
|
|
1398
1398
|
26,
|
|
1399
1399
|
24,
|
|
1400
1400
|
24,
|
|
@@ -1404,21 +1404,21 @@ var Xe = [
|
|
|
1404
1404
|
22,
|
|
1405
1405
|
22
|
|
1406
1406
|
];
|
|
1407
|
-
function
|
|
1407
|
+
function Qe(e, t) {
|
|
1408
1408
|
let n = 1 - t;
|
|
1409
1409
|
return {
|
|
1410
1410
|
x: n * n * n * e.p0.x + 3 * n * n * t * e.p1.x + 3 * n * t * t * e.p2.x + t * t * t * e.p3.x,
|
|
1411
1411
|
y: n * n * n * e.p0.y + 3 * n * n * t * e.p1.y + 3 * n * t * t * e.p2.y + t * t * t * e.p3.y
|
|
1412
1412
|
};
|
|
1413
1413
|
}
|
|
1414
|
-
function
|
|
1414
|
+
function $e(e, t) {
|
|
1415
1415
|
let n = 1 - t, r = 3 * n * n * (e.p1.x - e.p0.x) + 6 * n * t * (e.p2.x - e.p1.x) + 3 * t * t * (e.p3.x - e.p2.x), i = 3 * n * n * (e.p1.y - e.p0.y) + 6 * n * t * (e.p2.y - e.p1.y) + 3 * t * t * (e.p3.y - e.p2.y), a = Math.sqrt(r * r + i * i) || 1;
|
|
1416
1416
|
return {
|
|
1417
1417
|
x: -i / a,
|
|
1418
1418
|
y: r / a
|
|
1419
1419
|
};
|
|
1420
1420
|
}
|
|
1421
|
-
function
|
|
1421
|
+
function et(e, t) {
|
|
1422
1422
|
let n = t.x - e.x, r = t.y - e.y;
|
|
1423
1423
|
return {
|
|
1424
1424
|
p0: {
|
|
@@ -1439,7 +1439,7 @@ function tt(e, t) {
|
|
|
1439
1439
|
}
|
|
1440
1440
|
};
|
|
1441
1441
|
}
|
|
1442
|
-
function
|
|
1442
|
+
function tt({ nodes: e, links: t, width: r = 960, height: o = 280, selectedEntity: l }) {
|
|
1443
1443
|
let d = a(null), f = a(0), p = a([]), { hoveredRef: h, tooltip: x, hitZonesRef: T } = C(d, {
|
|
1444
1444
|
width: r,
|
|
1445
1445
|
height: o
|
|
@@ -1447,15 +1447,15 @@ function nt({ nodes: e, links: t, width: r = 960, height: o = 280, selectedEntit
|
|
|
1447
1447
|
let t = /* @__PURE__ */ new Map();
|
|
1448
1448
|
return e.forEach((e, n) => t.set(e.id, n)), t;
|
|
1449
1449
|
}, [e]), O = i(() => t.length > 0 ? Math.max(...t.map((e) => e.value)) : 100, [t]), k = (e) => O > 1 ? e / 100 : e, j = i(() => e.map((e, t) => {
|
|
1450
|
-
let n =
|
|
1450
|
+
let n = Ye[t % Ye.length];
|
|
1451
1451
|
return {
|
|
1452
1452
|
id: e.id,
|
|
1453
1453
|
label: e.name,
|
|
1454
1454
|
sub: e.valueLabel ?? "",
|
|
1455
1455
|
x: n.x * r,
|
|
1456
1456
|
y: n.y * o,
|
|
1457
|
-
r:
|
|
1458
|
-
color:
|
|
1457
|
+
r: Ze[t % Ze.length],
|
|
1458
|
+
color: Xe[t % Xe.length]
|
|
1459
1459
|
};
|
|
1460
1460
|
}), [
|
|
1461
1461
|
e,
|
|
@@ -1477,7 +1477,7 @@ function nt({ nodes: e, links: t, width: r = 960, height: o = 280, selectedEntit
|
|
|
1477
1477
|
if (t.clearRect(0, 0, r, o), T.current = [], y(t, r, o, e, 50, m(u.blue, .05)), M.forEach((e, n) => {
|
|
1478
1478
|
let r = j[e.fromIdx], i = j[e.toIdx];
|
|
1479
1479
|
if (!r || !i) return;
|
|
1480
|
-
let a = !!l && (r.id === l || i.id === l), o = g(r.color, i.color, .5), s = a ? .18 : .05, c = a ? .25 : .1, d =
|
|
1480
|
+
let a = !!l && (r.id === l || i.id === l), o = g(r.color, i.color, .5), s = a ? .18 : .05, c = a ? .25 : .1, d = et(r, i);
|
|
1481
1481
|
t.beginPath(), t.moveTo(d.p0.x, d.p0.y), t.bezierCurveTo(d.p1.x, d.p1.y, d.p2.x, d.p2.y, d.p3.x, d.p3.y), t.strokeStyle = m(o, s), t.lineWidth = 16, t.lineCap = "round", t.stroke(), t.strokeStyle = m(o, c), t.lineWidth = 1.5, t.stroke();
|
|
1482
1482
|
for (let t = 0; t < e.conf * 2.5; t++) Math.random() < .45 && p.current.push({
|
|
1483
1483
|
edgeIdx: n,
|
|
@@ -1486,7 +1486,7 @@ function nt({ nodes: e, links: t, width: r = 960, height: o = 280, selectedEntit
|
|
|
1486
1486
|
off: (Math.random() - .5) * 13,
|
|
1487
1487
|
sz: .7 + Math.random() * 2
|
|
1488
1488
|
});
|
|
1489
|
-
let f =
|
|
1489
|
+
let f = Qe(d, .5), h = `${Math.round(e.conf * 100)}%`;
|
|
1490
1490
|
t.font = "bold 12px 'JetBrains Mono', monospace", t.textBaseline = "middle";
|
|
1491
1491
|
let _ = t.measureText(h).width + 14;
|
|
1492
1492
|
t.fillStyle = "rgba(10,16,24,0.88)", t.beginPath(), t.roundRect(f.x - _ / 2, f.y - 11, _, 22, 6), t.fill(), t.strokeStyle = m(u.cyan, .25), t.lineWidth = 1, t.stroke(), t.fillStyle = m(u.cyan, .9), t.textAlign = "center", t.fillText(h, f.x, f.y);
|
|
@@ -1496,7 +1496,7 @@ function nt({ nodes: e, links: t, width: r = 960, height: o = 280, selectedEntit
|
|
|
1496
1496
|
if (!n) return !1;
|
|
1497
1497
|
let r = j[n.fromIdx], i = j[n.toIdx];
|
|
1498
1498
|
if (!r || !i) return !1;
|
|
1499
|
-
let a =
|
|
1499
|
+
let a = et(r, i), o = Qe(a, e.t), s = $e(a, e.t), c = o.x + s.x * e.off, l = o.y + s.y * e.off, u = Math.sin(e.t * Math.PI) * .7, d = g(r.color, i.color, e.t);
|
|
1500
1500
|
return v(t, c, l, e.sz * 3, d, u * .1), t.beginPath(), t.arc(c, l, e.sz, 0, Math.PI * 2), t.fillStyle = m(d, u), t.fill(), !0;
|
|
1501
1501
|
}), p.current.length > 350 && (p.current = p.current.slice(-350)), j.forEach((n, r) => {
|
|
1502
1502
|
let i = l === n.id, a = h.current === `node-${r}`, o = A(e, .03, 3e-4) * .1 + 1, s = n.r * o * (i ? 1.15 : 1);
|
|
@@ -1553,10 +1553,10 @@ function nt({ nodes: e, links: t, width: r = 960, height: o = 280, selectedEntit
|
|
|
1553
1553
|
}
|
|
1554
1554
|
//#endregion
|
|
1555
1555
|
//#region src/components/sankey/ProcessSankey.tsx
|
|
1556
|
-
function
|
|
1557
|
-
return /* @__PURE__ */ s(
|
|
1558
|
-
nodes:
|
|
1559
|
-
links:
|
|
1556
|
+
function nt({ selectedEntity: e, colors: t }) {
|
|
1557
|
+
return /* @__PURE__ */ s(tt, {
|
|
1558
|
+
nodes: Re.nodes,
|
|
1559
|
+
links: Re.links,
|
|
1560
1560
|
width: 960,
|
|
1561
1561
|
height: 280,
|
|
1562
1562
|
selectedEntity: e
|
|
@@ -1564,7 +1564,7 @@ function rt({ selectedEntity: e, colors: t }) {
|
|
|
1564
1564
|
}
|
|
1565
1565
|
//#endregion
|
|
1566
1566
|
//#region src/components/sankey/RankingSankey.tsx
|
|
1567
|
-
function
|
|
1567
|
+
function rt({ rows: e = [], className: t, colors: n }) {
|
|
1568
1568
|
let { nodes: r, links: a } = i(() => {
|
|
1569
1569
|
let t = e.slice(0, 5);
|
|
1570
1570
|
return {
|
|
@@ -1582,7 +1582,7 @@ function it({ rows: e = [], className: t, colors: n }) {
|
|
|
1582
1582
|
}))
|
|
1583
1583
|
};
|
|
1584
1584
|
}, [e]);
|
|
1585
|
-
return /* @__PURE__ */ s(
|
|
1585
|
+
return /* @__PURE__ */ s(Je, {
|
|
1586
1586
|
nodes: r,
|
|
1587
1587
|
links: a,
|
|
1588
1588
|
width: 760,
|
|
@@ -1594,20 +1594,20 @@ function it({ rows: e = [], className: t, colors: n }) {
|
|
|
1594
1594
|
}
|
|
1595
1595
|
//#endregion
|
|
1596
1596
|
//#region src/components/quotationBalance/QuotationBalance.tsx
|
|
1597
|
-
var
|
|
1598
|
-
function
|
|
1597
|
+
var it = 500, at = 320;
|
|
1598
|
+
function ot({ accepted: e, submitted: t, "data-testid": r }) {
|
|
1599
1599
|
let i = a(null), o = a(0);
|
|
1600
1600
|
return n(() => {
|
|
1601
1601
|
let n = i.current;
|
|
1602
1602
|
if (!n) return;
|
|
1603
|
-
let r = _(n,
|
|
1603
|
+
let r = _(n, it, at);
|
|
1604
1604
|
o.current = 0;
|
|
1605
|
-
let a =
|
|
1605
|
+
let a = it / 2, s = Math.max(e.value, t.value), c = (e.value - t.value) / s * 14, l, d = () => {
|
|
1606
1606
|
o.current++;
|
|
1607
1607
|
let n = o.current;
|
|
1608
|
-
r.clearRect(0, 0,
|
|
1608
|
+
r.clearRect(0, 0, it, at);
|
|
1609
1609
|
let i = E(Math.min(n / 80, 1)), p = c * k(Math.min(n / 80, 1)) * Math.PI / 180;
|
|
1610
|
-
r.strokeStyle = m(u.bd, .5 * i), r.lineWidth = 2, r.beginPath(), r.moveTo(a, 100), r.lineTo(a,
|
|
1610
|
+
r.strokeStyle = m(u.bd, .5 * i), r.lineWidth = 2, r.beginPath(), r.moveTo(a, 100), r.lineTo(a, at - 80), r.stroke(), r.beginPath(), r.arc(a, 100, 5 * i, 0, Math.PI * 2), r.fillStyle = u.t2, r.fill();
|
|
1611
1611
|
let h = {
|
|
1612
1612
|
x: a - Math.cos(p) * 160,
|
|
1613
1613
|
y: 100 + Math.sin(-p) * 160
|
|
@@ -1633,23 +1633,23 @@ function st({ accepted: e, submitted: t, "data-testid": r }) {
|
|
|
1633
1633
|
6
|
|
1634
1634
|
]), r.fill(), r.stroke(), r.strokeStyle = m(u.t3, .35 * i), r.lineWidth = 1, [-90 / 3, 90 / 3].forEach((e) => {
|
|
1635
1635
|
r.beginPath(), r.moveTo(g.x + e, g.y + 4), r.lineTo(g.x + e, x), r.stroke();
|
|
1636
|
-
}), i > .5 && (r.globalAlpha = Math.min(1, (i - .5) / .5), r.font = "bold 14px 'JetBrains Mono', monospace", r.fillStyle = u.amber, r.textAlign = "center", r.fillText(t.label, g.x, x + b + 18), r.font = f.font, r.fillStyle = f.color, r.fillText("Submitted", g.x, x + b + 32), r.fillText(`${t.count} quotations`, g.x, x + b + 44), r.globalAlpha = 1), i > .85 && Math.abs(c) > 1 && (r.globalAlpha = Math.min(1, (i - .85) / .15) * .6, r.font = f.font, r.fillStyle = f.color, r.textAlign = "center", r.fillText(`${Math.abs(c).toFixed(1)}° tilt toward accepted`, a,
|
|
1636
|
+
}), i > .5 && (r.globalAlpha = Math.min(1, (i - .5) / .5), r.font = "bold 14px 'JetBrains Mono', monospace", r.fillStyle = u.amber, r.textAlign = "center", r.fillText(t.label, g.x, x + b + 18), r.font = f.font, r.fillStyle = f.color, r.fillText("Submitted", g.x, x + b + 32), r.fillText(`${t.count} quotations`, g.x, x + b + 44), r.globalAlpha = 1), i > .85 && Math.abs(c) > 1 && (r.globalAlpha = Math.min(1, (i - .85) / .15) * .6, r.font = f.font, r.fillStyle = f.color, r.textAlign = "center", r.fillText(`${Math.abs(c).toFixed(1)}° tilt toward accepted`, a, at - 12), r.globalAlpha = 1), l = requestAnimationFrame(d);
|
|
1637
1637
|
};
|
|
1638
1638
|
return d(), () => cancelAnimationFrame(l);
|
|
1639
1639
|
}, [e, t]), /* @__PURE__ */ s("div", {
|
|
1640
1640
|
"data-testid": r,
|
|
1641
1641
|
style: {
|
|
1642
1642
|
position: "relative",
|
|
1643
|
-
width:
|
|
1644
|
-
height:
|
|
1643
|
+
width: it,
|
|
1644
|
+
height: at
|
|
1645
1645
|
},
|
|
1646
1646
|
children: /* @__PURE__ */ s("canvas", {
|
|
1647
1647
|
ref: i,
|
|
1648
1648
|
role: "img",
|
|
1649
1649
|
"aria-label": "Quotation balance — accepted vs submitted quotation value",
|
|
1650
1650
|
style: {
|
|
1651
|
-
width:
|
|
1652
|
-
height:
|
|
1651
|
+
width: it,
|
|
1652
|
+
height: at,
|
|
1653
1653
|
display: "block"
|
|
1654
1654
|
}
|
|
1655
1655
|
})
|
|
@@ -1657,25 +1657,25 @@ function st({ accepted: e, submitted: t, "data-testid": r }) {
|
|
|
1657
1657
|
}
|
|
1658
1658
|
//#endregion
|
|
1659
1659
|
//#region src/components/quotationTrend/QuotationTrend.tsx
|
|
1660
|
-
var
|
|
1661
|
-
function
|
|
1660
|
+
var st = 680, W = 280;
|
|
1661
|
+
function ct({ trend: e = [], "data-testid": t }) {
|
|
1662
1662
|
let r = a(null), i = a(/* @__PURE__ */ new Map()), o = a(0), { hoveredRef: l, tooltip: d, hitZonesRef: p } = C(r, {
|
|
1663
|
-
width:
|
|
1664
|
-
height:
|
|
1663
|
+
width: st,
|
|
1664
|
+
height: W
|
|
1665
1665
|
});
|
|
1666
1666
|
return n(() => {
|
|
1667
1667
|
let t = r.current;
|
|
1668
1668
|
if (!t) return;
|
|
1669
|
-
let n = _(t,
|
|
1669
|
+
let n = _(t, st, W);
|
|
1670
1670
|
o.current = 0;
|
|
1671
|
-
let a =
|
|
1671
|
+
let a = st - 54 - 28, s = W - 30 - 54, c = Math.max(...e.map((e) => e.count), 1), d = e.length, h = d > 1 ? a / (d - 1) : a, g = e.map((e, t) => ({
|
|
1672
1672
|
x: 54 + t * h,
|
|
1673
1673
|
y: 30 + s - e.count / c * s,
|
|
1674
1674
|
point: e
|
|
1675
1675
|
})), y, b = () => {
|
|
1676
1676
|
o.current++;
|
|
1677
1677
|
let e = o.current;
|
|
1678
|
-
n.clearRect(0, 0,
|
|
1678
|
+
n.clearRect(0, 0, st, W);
|
|
1679
1679
|
let t = E(Math.min(e / 72, 1));
|
|
1680
1680
|
M(i.current, l.current), p.current = [], [
|
|
1681
1681
|
.25,
|
|
@@ -1685,7 +1685,7 @@ function lt({ trend: e = [], "data-testid": t }) {
|
|
|
1685
1685
|
].forEach((e) => {
|
|
1686
1686
|
let t = 30 + s - e * s;
|
|
1687
1687
|
n.strokeStyle = m(u.bd, .18), n.lineWidth = 1, n.setLineDash([3, 5]), n.beginPath(), n.moveTo(54, t), n.lineTo(54 + a, t), n.stroke(), n.setLineDash([]), n.font = f.font, n.fillStyle = f.color, n.textAlign = "right", n.fillText(String(Math.round(c * e)), 48, t + 3);
|
|
1688
|
-
}), n.save(), n.translate(12, 30 + s / 2), n.rotate(-Math.PI / 2), n.font = f.font, n.fillStyle = f.color, n.textAlign = "center", n.fillText("Submissions", 0, 0), n.restore(), n.font = f.font, n.fillStyle = f.color, n.textAlign = "center", n.fillText("Week", 54 + a / 2,
|
|
1688
|
+
}), n.save(), n.translate(12, 30 + s / 2), n.rotate(-Math.PI / 2), n.font = f.font, n.fillStyle = f.color, n.textAlign = "center", n.fillText("Submissions", 0, 0), n.restore(), n.font = f.font, n.fillStyle = f.color, n.textAlign = "center", n.fillText("Week", 54 + a / 2, W - 6), n.strokeStyle = m(u.bd, .3), n.lineWidth = 1, n.setLineDash([]), n.beginPath(), n.moveTo(54, 30 + s), n.lineTo(54 + a, 30 + s), n.stroke();
|
|
1689
1689
|
let r = t * (d - 1), h = Math.floor(r) + 1;
|
|
1690
1690
|
if (h >= 2) {
|
|
1691
1691
|
n.beginPath(), n.moveTo(g[0].x, 30 + s), n.lineTo(g[0].x, g[0].y);
|
|
@@ -1713,7 +1713,7 @@ function lt({ trend: e = [], "data-testid": t }) {
|
|
|
1713
1713
|
color: u.cyan
|
|
1714
1714
|
}), a > 0 && x(n, e.x, 30, 30 + s, m(u.cyan, .15 * a));
|
|
1715
1715
|
let o = e.point.count === c;
|
|
1716
|
-
(a > 0 || o) && v(n, e.x, e.y, 14, u.cyan, (o ? .3 : 0) + a * .25), n.beginPath(), n.arc(e.x, e.y, a > 0 ? 5 : 3.5, 0, Math.PI * 2), n.fillStyle = m(u.cyan, a > 0 ? 1 : .8), n.fill(), (a > 0 || o) && (n.font = "500 14px 'Satoshi Variable', 'DM Sans', sans-serif", n.fillStyle = u.cyan, n.textAlign = "center", n.fillText(String(e.point.count), e.x, e.y - 10)), n.font = "500 14px 'Satoshi Variable', 'DM Sans', sans-serif", n.fillStyle = a > 0 ? u.cyan : f.color, n.textAlign = "center", n.fillText(e.point.week, e.x,
|
|
1716
|
+
(a > 0 || o) && v(n, e.x, e.y, 14, u.cyan, (o ? .3 : 0) + a * .25), n.beginPath(), n.arc(e.x, e.y, a > 0 ? 5 : 3.5, 0, Math.PI * 2), n.fillStyle = m(u.cyan, a > 0 ? 1 : .8), n.fill(), (a > 0 || o) && (n.font = "500 14px 'Satoshi Variable', 'DM Sans', sans-serif", n.fillStyle = u.cyan, n.textAlign = "center", n.fillText(String(e.point.count), e.x, e.y - 10)), n.font = "500 14px 'Satoshi Variable', 'DM Sans', sans-serif", n.fillStyle = a > 0 ? u.cyan : f.color, n.textAlign = "center", n.fillText(e.point.week, e.x, W - 54 + 14);
|
|
1717
1717
|
}), y = requestAnimationFrame(b);
|
|
1718
1718
|
};
|
|
1719
1719
|
return b(), () => cancelAnimationFrame(y);
|
|
@@ -1727,54 +1727,54 @@ function lt({ trend: e = [], "data-testid": t }) {
|
|
|
1727
1727
|
children: /* @__PURE__ */ c("div", {
|
|
1728
1728
|
style: {
|
|
1729
1729
|
position: "relative",
|
|
1730
|
-
width:
|
|
1731
|
-
height:
|
|
1730
|
+
width: st,
|
|
1731
|
+
height: W
|
|
1732
1732
|
},
|
|
1733
1733
|
children: [/* @__PURE__ */ s("canvas", {
|
|
1734
1734
|
ref: r,
|
|
1735
1735
|
role: "img",
|
|
1736
1736
|
"aria-label": "Trend chart — count over time",
|
|
1737
1737
|
style: {
|
|
1738
|
-
width:
|
|
1739
|
-
height:
|
|
1738
|
+
width: st,
|
|
1739
|
+
height: W,
|
|
1740
1740
|
display: "block"
|
|
1741
1741
|
}
|
|
1742
1742
|
}), /* @__PURE__ */ s(S, {
|
|
1743
1743
|
...d,
|
|
1744
|
-
parentW:
|
|
1745
|
-
parentH:
|
|
1744
|
+
parentW: st,
|
|
1745
|
+
parentH: W
|
|
1746
1746
|
})]
|
|
1747
1747
|
})
|
|
1748
1748
|
});
|
|
1749
1749
|
}
|
|
1750
1750
|
//#endregion
|
|
1751
1751
|
//#region src/components/trend/Trend.tsx
|
|
1752
|
-
var
|
|
1753
|
-
function
|
|
1752
|
+
var lt = 680, G = 280, ut = 54, dt = 28, ft = 64, pt = "500 14px 'Satoshi Variable', 'DM Sans', sans-serif", mt = 12;
|
|
1753
|
+
function ht({ trend: e = [], "data-testid": t }) {
|
|
1754
1754
|
let r = a(null), o = a(/* @__PURE__ */ new Map()), l = a(0), d = i(() => {
|
|
1755
|
-
if (e.length <= 1) return
|
|
1755
|
+
if (e.length <= 1) return ft;
|
|
1756
1756
|
let t = document.createElement("canvas").getContext("2d");
|
|
1757
|
-
if (!t) return
|
|
1758
|
-
t.font =
|
|
1757
|
+
if (!t) return ft;
|
|
1758
|
+
t.font = pt;
|
|
1759
1759
|
let n = Math.max(...e.map((e) => t.measureText(e.week).width));
|
|
1760
|
-
return Math.max(
|
|
1761
|
-
}, [e]), p = Math.max(
|
|
1760
|
+
return Math.max(ft, n + mt);
|
|
1761
|
+
}, [e]), p = Math.max(lt, ut + dt + Math.max(0, e.length - 1) * d), { hoveredRef: h, tooltip: g, hitZonesRef: y } = C(r, {
|
|
1762
1762
|
width: p,
|
|
1763
|
-
height:
|
|
1763
|
+
height: G
|
|
1764
1764
|
});
|
|
1765
1765
|
return n(() => {
|
|
1766
1766
|
let t = r.current;
|
|
1767
1767
|
if (!t) return;
|
|
1768
|
-
let n = _(t, p,
|
|
1768
|
+
let n = _(t, p, G);
|
|
1769
1769
|
l.current = 0;
|
|
1770
|
-
let i =
|
|
1770
|
+
let i = ut, a = dt, s = p - i - a, c = G - 30 - 54, g = Math.max(...e.map((e) => e.count), 1), b = e.length, S = b > 1 ? Math.max(s / (b - 1), d) : s, C = e.map((e, t) => ({
|
|
1771
1771
|
x: i + t * S,
|
|
1772
1772
|
y: 30 + c - e.count / g * c,
|
|
1773
1773
|
point: e
|
|
1774
1774
|
})), T, D = () => {
|
|
1775
1775
|
l.current++;
|
|
1776
1776
|
let e = l.current;
|
|
1777
|
-
n.clearRect(0, 0, p,
|
|
1777
|
+
n.clearRect(0, 0, p, G);
|
|
1778
1778
|
let t = E(Math.min(e / 72, 1));
|
|
1779
1779
|
M(o.current, h.current), y.current = [], [
|
|
1780
1780
|
.25,
|
|
@@ -1784,7 +1784,7 @@ function gt({ trend: e = [], "data-testid": t }) {
|
|
|
1784
1784
|
].forEach((e) => {
|
|
1785
1785
|
let t = 30 + c - e * c;
|
|
1786
1786
|
n.strokeStyle = m(u.bd, .18), n.lineWidth = 1, n.setLineDash([3, 5]), n.beginPath(), n.moveTo(i, t), n.lineTo(i + s, t), n.stroke(), n.setLineDash([]), n.font = f.font, n.fillStyle = f.color, n.textAlign = "right", n.fillText(String(Math.round(g * e)), i - 6, t + 3);
|
|
1787
|
-
}), n.save(), n.translate(12, 30 + c / 2), n.rotate(-Math.PI / 2), n.font = f.font, n.fillStyle = f.color, n.textAlign = "center", n.fillText("Count", 0, 0), n.restore(), n.font = f.font, n.fillStyle = f.color, n.textAlign = "center", n.fillText("Period", i + s / 2,
|
|
1787
|
+
}), n.save(), n.translate(12, 30 + c / 2), n.rotate(-Math.PI / 2), n.font = f.font, n.fillStyle = f.color, n.textAlign = "center", n.fillText("Count", 0, 0), n.restore(), n.font = f.font, n.fillStyle = f.color, n.textAlign = "center", n.fillText("Period", i + s / 2, G - 6), n.strokeStyle = m(u.bd, .3), n.lineWidth = 1, n.setLineDash([]), n.beginPath(), n.moveTo(i, 30 + c), n.lineTo(i + s, 30 + c), n.stroke();
|
|
1788
1788
|
let r = t * (b - 1), a = Math.floor(r) + 1;
|
|
1789
1789
|
if (a >= 2) {
|
|
1790
1790
|
n.beginPath(), n.moveTo(C[0].x, 30 + c), n.lineTo(C[0].x, C[0].y);
|
|
@@ -1812,7 +1812,7 @@ function gt({ trend: e = [], "data-testid": t }) {
|
|
|
1812
1812
|
color: u.cyan
|
|
1813
1813
|
}), i > 0 && x(n, e.x, 30, 30 + c, m(u.cyan, .15 * i));
|
|
1814
1814
|
let s = e.point.count === g;
|
|
1815
|
-
(i > 0 || s) && v(n, e.x, e.y, 14, u.cyan, (s ? .3 : 0) + i * .25), n.beginPath(), n.arc(e.x, e.y, i > 0 ? 5 : 3.5, 0, Math.PI * 2), n.fillStyle = m(u.cyan, i > 0 ? 1 : .8), n.fill(), (i > 0 || s) && (n.font =
|
|
1815
|
+
(i > 0 || s) && v(n, e.x, e.y, 14, u.cyan, (s ? .3 : 0) + i * .25), n.beginPath(), n.arc(e.x, e.y, i > 0 ? 5 : 3.5, 0, Math.PI * 2), n.fillStyle = m(u.cyan, i > 0 ? 1 : .8), n.fill(), (i > 0 || s) && (n.font = pt, n.fillStyle = u.cyan, n.textAlign = "center", n.fillText(String(e.point.count), e.x, e.y - 10)), n.font = pt, n.fillStyle = i > 0 ? u.cyan : f.color, n.textAlign = "center", n.fillText(e.point.week, e.x, G - 54 + 14);
|
|
1816
1816
|
}), T = requestAnimationFrame(D);
|
|
1817
1817
|
};
|
|
1818
1818
|
return D(), () => cancelAnimationFrame(T);
|
|
@@ -1831,7 +1831,7 @@ function gt({ trend: e = [], "data-testid": t }) {
|
|
|
1831
1831
|
style: {
|
|
1832
1832
|
position: "relative",
|
|
1833
1833
|
width: p,
|
|
1834
|
-
height:
|
|
1834
|
+
height: G
|
|
1835
1835
|
},
|
|
1836
1836
|
children: [/* @__PURE__ */ s("canvas", {
|
|
1837
1837
|
ref: r,
|
|
@@ -1839,44 +1839,44 @@ function gt({ trend: e = [], "data-testid": t }) {
|
|
|
1839
1839
|
"aria-label": "Trend chart — count over time",
|
|
1840
1840
|
style: {
|
|
1841
1841
|
width: p,
|
|
1842
|
-
height:
|
|
1842
|
+
height: G,
|
|
1843
1843
|
display: "block"
|
|
1844
1844
|
}
|
|
1845
1845
|
}), /* @__PURE__ */ s(S, {
|
|
1846
1846
|
...g,
|
|
1847
1847
|
parentW: p,
|
|
1848
|
-
parentH:
|
|
1848
|
+
parentH: G
|
|
1849
1849
|
})]
|
|
1850
1850
|
})
|
|
1851
1851
|
});
|
|
1852
1852
|
}
|
|
1853
1853
|
//#endregion
|
|
1854
1854
|
//#region src/components/severityBands/SeverityBands.tsx
|
|
1855
|
-
var
|
|
1855
|
+
var K = 680, gt = 240, _t = {
|
|
1856
1856
|
Critical: u.red,
|
|
1857
1857
|
High: u.orange,
|
|
1858
1858
|
Medium: u.amber,
|
|
1859
1859
|
Low: u.green
|
|
1860
1860
|
};
|
|
1861
|
-
function
|
|
1861
|
+
function vt({ severities: e = [], "data-testid": t }) {
|
|
1862
1862
|
let r = a(null), i = a(/* @__PURE__ */ new Map()), o = a(0), { hoveredRef: l, tooltip: d, hitZonesRef: p } = C(r, {
|
|
1863
|
-
width:
|
|
1864
|
-
height:
|
|
1863
|
+
width: K,
|
|
1864
|
+
height: gt
|
|
1865
1865
|
});
|
|
1866
1866
|
return n(() => {
|
|
1867
1867
|
let t = r.current;
|
|
1868
1868
|
if (!t) return;
|
|
1869
|
-
let n = _(t,
|
|
1869
|
+
let n = _(t, K, gt);
|
|
1870
1870
|
o.current = 0;
|
|
1871
|
-
let a = e.reduce((e, t) => e + t.count, 0), s =
|
|
1871
|
+
let a = e.reduce((e, t) => e + t.count, 0), s = K - 28 - 28, c = gt - 50 - 52, d = e.map((e) => e.count / a * s), h, g = () => {
|
|
1872
1872
|
o.current++;
|
|
1873
1873
|
let t = o.current;
|
|
1874
|
-
n.clearRect(0, 0,
|
|
1874
|
+
n.clearRect(0, 0, K, gt);
|
|
1875
1875
|
let r = D(Math.min(t / 60, 1));
|
|
1876
|
-
M(i.current, l.current), p.current = [], n.strokeStyle = m(u.bd, .2), n.lineWidth = 1, n.beginPath(), n.rect(28, 50, s, c), n.stroke(), n.strokeStyle = m(u.t4, .15), n.lineWidth = 1, n.setLineDash([4, 4]), n.beginPath(), n.moveTo(
|
|
1876
|
+
M(i.current, l.current), p.current = [], n.strokeStyle = m(u.bd, .2), n.lineWidth = 1, n.beginPath(), n.rect(28, 50, s, c), n.stroke(), n.strokeStyle = m(u.t4, .15), n.lineWidth = 1, n.setLineDash([4, 4]), n.beginPath(), n.moveTo(K / 2, 50), n.lineTo(K / 2, 50 + c), n.stroke(), n.setLineDash([]);
|
|
1877
1877
|
let _ = 28;
|
|
1878
1878
|
e.forEach((e, t) => {
|
|
1879
|
-
let o =
|
|
1879
|
+
let o = _t[e.severity] ?? u.blue, s = d[t];
|
|
1880
1880
|
s * r;
|
|
1881
1881
|
let l = i.current.get(e.severity) ?? 0, h = _ + s / 2, g = s * .85;
|
|
1882
1882
|
h - g / 2;
|
|
@@ -1900,57 +1900,57 @@ function yt({ severities: e = [], "data-testid": t }) {
|
|
|
1900
1900
|
"data-testid": t,
|
|
1901
1901
|
style: {
|
|
1902
1902
|
position: "relative",
|
|
1903
|
-
width:
|
|
1904
|
-
height:
|
|
1903
|
+
width: K,
|
|
1904
|
+
height: gt
|
|
1905
1905
|
},
|
|
1906
1906
|
children: [/* @__PURE__ */ s("canvas", {
|
|
1907
1907
|
ref: r,
|
|
1908
1908
|
role: "img",
|
|
1909
1909
|
"aria-label": "Early Warning severity distribution — prism spectrum bands",
|
|
1910
1910
|
style: {
|
|
1911
|
-
width:
|
|
1912
|
-
height:
|
|
1911
|
+
width: K,
|
|
1912
|
+
height: gt,
|
|
1913
1913
|
display: "block"
|
|
1914
1914
|
}
|
|
1915
1915
|
}), /* @__PURE__ */ s(S, {
|
|
1916
1916
|
...d,
|
|
1917
|
-
parentW:
|
|
1918
|
-
parentH:
|
|
1917
|
+
parentW: K,
|
|
1918
|
+
parentH: gt
|
|
1919
1919
|
})]
|
|
1920
1920
|
});
|
|
1921
1921
|
}
|
|
1922
1922
|
//#endregion
|
|
1923
1923
|
//#region src/components/statusArc/StatusArc.tsx
|
|
1924
|
-
var
|
|
1924
|
+
var q = 460, J = 300, yt = {
|
|
1925
1925
|
Open: u.red,
|
|
1926
1926
|
Submitted: u.amber,
|
|
1927
1927
|
Closed: u.green
|
|
1928
1928
|
};
|
|
1929
|
-
function
|
|
1929
|
+
function bt({ segments: e = [], title: t, "data-testid": r }) {
|
|
1930
1930
|
let i = a(null), o = a(0), l = a(/* @__PURE__ */ new Map()), { hoveredRef: d, tooltip: p, hitZonesRef: h } = C(i, {
|
|
1931
|
-
width:
|
|
1932
|
-
height:
|
|
1931
|
+
width: q,
|
|
1932
|
+
height: J
|
|
1933
1933
|
});
|
|
1934
1934
|
return n(() => {
|
|
1935
1935
|
let t = i.current;
|
|
1936
1936
|
if (!t) return;
|
|
1937
|
-
let n = _(t,
|
|
1937
|
+
let n = _(t, q, J);
|
|
1938
1938
|
o.current = 0;
|
|
1939
|
-
let r =
|
|
1939
|
+
let r = q * .5, a = J * .54, s = q * .22, c = e.reduce((e, t) => e + t.count, 0), p = Math.max(...e.map((e) => e.count), 1), g, x = () => {
|
|
1940
1940
|
o.current++;
|
|
1941
1941
|
let t = o.current;
|
|
1942
|
-
n.clearRect(0, 0,
|
|
1942
|
+
n.clearRect(0, 0, q, J), h.current = [], l.current.forEach((e, t) => {
|
|
1943
1943
|
let n = t === d.current ? 1 : 0, r = e + (n - e) * .12;
|
|
1944
1944
|
Math.abs(r - n) < .005 ? n === 0 ? l.current.delete(t) : l.current.set(t, 1) : l.current.set(t, r);
|
|
1945
|
-
}), d.current && !l.current.has(d.current) && l.current.set(d.current, 0), y(n,
|
|
1946
|
-
let o = i / 3 * Math.PI * 2 - Math.PI / 2, c = r + Math.cos(o) * s, l = a + Math.sin(o) * s, d =
|
|
1945
|
+
}), d.current && !l.current.has(d.current) && l.current.set(d.current, 0), y(n, q, J, t, 40, m(u.blue, .04)), e.forEach((e, i) => {
|
|
1946
|
+
let o = i / 3 * Math.PI * 2 - Math.PI / 2, c = r + Math.cos(o) * s, l = a + Math.sin(o) * s, d = yt[e.status] ?? u.blue, h = 2 + e.count / p * 8;
|
|
1947
1947
|
n.beginPath(), n.moveTo(r, a), n.lineTo(c, l), n.strokeStyle = m(d, .08), n.lineWidth = h * 2, n.stroke(), n.beginPath(), n.moveTo(r, a), n.lineTo(c, l), n.strokeStyle = m(d, .25), n.lineWidth = 1, n.stroke();
|
|
1948
1948
|
let g = (t * .005 + i * .33) % 1, _ = r + (c - r) * g, y = a + (l - a) * g;
|
|
1949
1949
|
v(n, _, y, 6, d, .4), n.beginPath(), n.arc(_, y, 2, 0, Math.PI * 2), n.fillStyle = m(d, .8), n.fill();
|
|
1950
1950
|
let b = (r + c) / 2, x = (a + l) / 2;
|
|
1951
1951
|
n.font = "bold " + f.font, n.textAlign = "center", n.textBaseline = "middle", n.fillStyle = m(d, .85), n.fillText(String(e.count), b, x);
|
|
1952
1952
|
}), e.forEach((e, t) => {
|
|
1953
|
-
let i = t / 3 * Math.PI * 2 - Math.PI / 2, o = r + Math.cos(i) * s, d = a + Math.sin(i) * s, g =
|
|
1953
|
+
let i = t / 3 * Math.PI * 2 - Math.PI / 2, o = r + Math.cos(i) * s, d = a + Math.sin(i) * s, g = yt[e.status] ?? u.blue, _ = 10 + e.count / p * 18, y = l.current.get(e.status) ?? 0;
|
|
1954
1954
|
v(n, o, d, _ * 2.5, g, .2 + y * .15);
|
|
1955
1955
|
let b = n.createRadialGradient(o, d - _ * .2, 0, o, d, _);
|
|
1956
1956
|
b.addColorStop(0, m(g, .8 + y * .2)), b.addColorStop(1, m(g, .4 + y * .1)), n.beginPath(), n.arc(o, d, _, 0, Math.PI * 2), n.fillStyle = b, n.fill(), n.font = "bold " + f.font, n.textAlign = "center", n.textBaseline = "middle", n.fillStyle = m(u.t1, .9), n.fillText(e.status, o, d), w(h.current, e.status, o, d, _ + 6, {
|
|
@@ -1967,37 +1967,37 @@ function xt({ segments: e = [], title: t, "data-testid": r }) {
|
|
|
1967
1967
|
label: "Total EW Status",
|
|
1968
1968
|
value: `${c} Early Warnings`,
|
|
1969
1969
|
color: u.t3
|
|
1970
|
-
}), b(n,
|
|
1970
|
+
}), b(n, q, J, t, .015), g = requestAnimationFrame(x);
|
|
1971
1971
|
};
|
|
1972
1972
|
return x(), () => cancelAnimationFrame(g);
|
|
1973
1973
|
}, [e, t]), /* @__PURE__ */ c("div", {
|
|
1974
1974
|
"data-testid": r,
|
|
1975
1975
|
style: {
|
|
1976
1976
|
position: "relative",
|
|
1977
|
-
width:
|
|
1978
|
-
height:
|
|
1977
|
+
width: q,
|
|
1978
|
+
height: J
|
|
1979
1979
|
},
|
|
1980
1980
|
children: [/* @__PURE__ */ s("canvas", {
|
|
1981
1981
|
ref: i,
|
|
1982
1982
|
role: "img",
|
|
1983
1983
|
"aria-label": t ?? "EW status arc visualization",
|
|
1984
1984
|
style: {
|
|
1985
|
-
width:
|
|
1986
|
-
height:
|
|
1985
|
+
width: q,
|
|
1986
|
+
height: J,
|
|
1987
1987
|
display: "block",
|
|
1988
1988
|
borderRadius: 8
|
|
1989
1989
|
}
|
|
1990
1990
|
}), /* @__PURE__ */ s(S, {
|
|
1991
1991
|
...p,
|
|
1992
|
-
parentW:
|
|
1993
|
-
parentH:
|
|
1992
|
+
parentW: q,
|
|
1993
|
+
parentH: J
|
|
1994
1994
|
})]
|
|
1995
1995
|
});
|
|
1996
1996
|
}
|
|
1997
1997
|
//#endregion
|
|
1998
1998
|
//#region src/components/trendChart/TrendChart.tsx
|
|
1999
|
-
var
|
|
2000
|
-
function
|
|
1999
|
+
var Y = 280, X = 96;
|
|
2000
|
+
function xt({ points: e = [], className: t, colors: r }) {
|
|
2001
2001
|
let o = a(null), d = a(/* @__PURE__ */ new Map()), f = a(0), p = i(() => e.map(([e, t]) => {
|
|
2002
2002
|
let n = String(t).match(/-?\d+(\.\d+)?/);
|
|
2003
2003
|
return {
|
|
@@ -2005,18 +2005,18 @@ function St({ points: e = [], className: t, colors: r }) {
|
|
|
2005
2005
|
value: n ? Number(n[0]) : 0
|
|
2006
2006
|
};
|
|
2007
2007
|
}), [e]), { mouseRef: h, hoveredRef: g, tooltip: y, hitZonesRef: b } = C(o, {
|
|
2008
|
-
width:
|
|
2009
|
-
height:
|
|
2008
|
+
width: Y,
|
|
2009
|
+
height: X
|
|
2010
2010
|
});
|
|
2011
2011
|
return n(() => {
|
|
2012
2012
|
let e = o.current;
|
|
2013
2013
|
if (!e) return;
|
|
2014
|
-
let t = _(e,
|
|
2014
|
+
let t = _(e, Y, X);
|
|
2015
2015
|
f.current = 0;
|
|
2016
2016
|
let n = r?.line ?? u.blue, i = r?.point ?? u.blue, a = r?.axisLine ?? u.bd, s, c = () => {
|
|
2017
2017
|
f.current++;
|
|
2018
2018
|
let e = f.current;
|
|
2019
|
-
if (t.clearRect(0, 0,
|
|
2019
|
+
if (t.clearRect(0, 0, Y, X), p.length < 2) {
|
|
2020
2020
|
s = requestAnimationFrame(c);
|
|
2021
2021
|
return;
|
|
2022
2022
|
}
|
|
@@ -2025,9 +2025,9 @@ function St({ points: e = [], className: t, colors: r }) {
|
|
|
2025
2025
|
right: 12,
|
|
2026
2026
|
top: 16,
|
|
2027
2027
|
bottom: 20
|
|
2028
|
-
}, o =
|
|
2029
|
-
if (M(d.current, g.current), b.current = [], t.strokeStyle = m(a, .3), t.lineWidth = .5, t.setLineDash([]), t.beginPath(), t.moveTo(r.left,
|
|
2030
|
-
t.fillText(e.label.replace("Day ", "D"), C(n),
|
|
2028
|
+
}, o = Y - r.left - r.right, l = X - r.top - r.bottom, _ = p.map((e) => e.value), y = Math.min(..._), S = Math.max(..._) - y || 1, C = (e) => r.left + e / (p.length - 1) * o, T = (e) => r.top + (1 - (e - y) / S) * l, E = 1 - (1 - Math.min(e / 48, 1)) ** 3, D = Math.max(2, Math.floor(E * p.length));
|
|
2029
|
+
if (M(d.current, g.current), b.current = [], t.strokeStyle = m(a, .3), t.lineWidth = .5, t.setLineDash([]), t.beginPath(), t.moveTo(r.left, X - r.bottom), t.lineTo(Y - r.right, X - r.bottom), t.stroke(), t.font = "9px 'JetBrains Mono', monospace", t.fillStyle = m(u.t4, .9), t.textAlign = "center", p.forEach((e, n) => {
|
|
2030
|
+
t.fillText(e.label.replace("Day ", "D"), C(n), X - 4);
|
|
2031
2031
|
}), h.current.over && g.current) {
|
|
2032
2032
|
let e = parseInt(g.current.split("-")[1]);
|
|
2033
2033
|
isNaN(e) || x(t, C(e), r.top, r.top + l);
|
|
@@ -2063,44 +2063,44 @@ function St({ points: e = [], className: t, colors: r }) {
|
|
|
2063
2063
|
children: /* @__PURE__ */ c("div", {
|
|
2064
2064
|
style: {
|
|
2065
2065
|
position: "relative",
|
|
2066
|
-
width:
|
|
2067
|
-
height:
|
|
2066
|
+
width: Y,
|
|
2067
|
+
height: X
|
|
2068
2068
|
},
|
|
2069
2069
|
children: [/* @__PURE__ */ s("canvas", {
|
|
2070
2070
|
ref: o,
|
|
2071
2071
|
role: "img",
|
|
2072
2072
|
"aria-label": "trend chart",
|
|
2073
2073
|
style: {
|
|
2074
|
-
width:
|
|
2075
|
-
height:
|
|
2074
|
+
width: Y,
|
|
2075
|
+
height: X,
|
|
2076
2076
|
display: "block",
|
|
2077
2077
|
borderRadius: 8
|
|
2078
2078
|
}
|
|
2079
2079
|
}), /* @__PURE__ */ s(S, {
|
|
2080
2080
|
...y,
|
|
2081
|
-
parentW:
|
|
2082
|
-
parentH:
|
|
2081
|
+
parentW: Y,
|
|
2082
|
+
parentH: X
|
|
2083
2083
|
})]
|
|
2084
2084
|
})
|
|
2085
2085
|
});
|
|
2086
2086
|
}
|
|
2087
2087
|
//#endregion
|
|
2088
2088
|
//#region src/components/variationSplit/VariationSplit.tsx
|
|
2089
|
-
var
|
|
2090
|
-
function
|
|
2091
|
-
let r = a(null), l = a(/* @__PURE__ */ new Map()), f = a(0), [h, g] = o(!1), y = i(() => h ? e : e.slice(0,
|
|
2092
|
-
width:
|
|
2089
|
+
var St = 680, Ct = 8, wt = 26, Tt = 14, Et = 16, Dt = 32;
|
|
2090
|
+
function Ot({ contractors: e = [], "data-testid": t }) {
|
|
2091
|
+
let r = a(null), l = a(/* @__PURE__ */ new Map()), f = a(0), [h, g] = o(!1), y = i(() => h ? e : e.slice(0, Ct), [e, h]), b = Et + Dt + y.length * (wt + Tt) - Tt, { hoveredRef: x, tooltip: w, hitZonesRef: E } = C(r, {
|
|
2092
|
+
width: St,
|
|
2093
2093
|
height: b
|
|
2094
2094
|
});
|
|
2095
2095
|
return n(() => {
|
|
2096
2096
|
let e = r.current;
|
|
2097
2097
|
if (!e) return;
|
|
2098
|
-
let t = _(e,
|
|
2098
|
+
let t = _(e, St, b);
|
|
2099
2099
|
f.current = 0;
|
|
2100
|
-
let n =
|
|
2100
|
+
let n = Et, i = Dt, a = wt, o = Tt, s = St - 60 - 28, c = Math.max(...y.map((e) => (e.implemented ?? 0) + (e.unimplemented ?? 0))), h = y.length * (a + o) - o, g = n + (b - n - i - h) / 2, S, C = () => {
|
|
2101
2101
|
f.current++;
|
|
2102
2102
|
let e = f.current;
|
|
2103
|
-
t.clearRect(0, 0,
|
|
2103
|
+
t.clearRect(0, 0, St, b);
|
|
2104
2104
|
let n = D(Math.min(e / 60, 1));
|
|
2105
2105
|
M(l.current, x.current), E.current = [], y.forEach((e, r) => {
|
|
2106
2106
|
d[r % d.length];
|
|
@@ -2133,11 +2133,11 @@ function kt({ contractors: e = [], "data-testid": t }) {
|
|
|
2133
2133
|
return C(), () => cancelAnimationFrame(S);
|
|
2134
2134
|
}, [y, b]), /* @__PURE__ */ c("div", {
|
|
2135
2135
|
"data-testid": t,
|
|
2136
|
-
style: { width:
|
|
2136
|
+
style: { width: St },
|
|
2137
2137
|
children: [/* @__PURE__ */ c("div", {
|
|
2138
2138
|
style: {
|
|
2139
2139
|
position: "relative",
|
|
2140
|
-
width:
|
|
2140
|
+
width: St,
|
|
2141
2141
|
height: b
|
|
2142
2142
|
},
|
|
2143
2143
|
children: [/* @__PURE__ */ s("canvas", {
|
|
@@ -2145,16 +2145,16 @@ function kt({ contractors: e = [], "data-testid": t }) {
|
|
|
2145
2145
|
role: "img",
|
|
2146
2146
|
"aria-label": "Implemented vs unimplemented variations per contractor — split bar",
|
|
2147
2147
|
style: {
|
|
2148
|
-
width:
|
|
2148
|
+
width: St,
|
|
2149
2149
|
height: b,
|
|
2150
2150
|
display: "block"
|
|
2151
2151
|
}
|
|
2152
2152
|
}), /* @__PURE__ */ s(S, {
|
|
2153
2153
|
...w,
|
|
2154
|
-
parentW:
|
|
2154
|
+
parentW: St,
|
|
2155
2155
|
parentH: b
|
|
2156
2156
|
})]
|
|
2157
|
-
}), e.length >
|
|
2157
|
+
}), e.length > Ct && /* @__PURE__ */ s("div", {
|
|
2158
2158
|
style: { marginTop: 8 },
|
|
2159
2159
|
children: /* @__PURE__ */ s(ae, {
|
|
2160
2160
|
expanded: h,
|
|
@@ -2165,18 +2165,18 @@ function kt({ contractors: e = [], "data-testid": t }) {
|
|
|
2165
2165
|
}
|
|
2166
2166
|
//#endregion
|
|
2167
2167
|
//#region src/components/weeklyFlow/WeeklyFlow.tsx
|
|
2168
|
-
var
|
|
2169
|
-
function
|
|
2168
|
+
var kt = 800, At = 360;
|
|
2169
|
+
function jt({ contractors: e = [], "data-testid": t }) {
|
|
2170
2170
|
let r = a(null), i = a(/* @__PURE__ */ new Map()), o = a(0), { hoveredRef: l, tooltip: f, hitZonesRef: p } = C(r, {
|
|
2171
|
-
width:
|
|
2172
|
-
height:
|
|
2171
|
+
width: kt,
|
|
2172
|
+
height: At
|
|
2173
2173
|
});
|
|
2174
2174
|
return n(() => {
|
|
2175
2175
|
let t = r.current;
|
|
2176
2176
|
if (!t) return;
|
|
2177
|
-
let n = _(t,
|
|
2177
|
+
let n = _(t, kt, At);
|
|
2178
2178
|
o.current = 0;
|
|
2179
|
-
let a = e.reduce((e, t) => e + (t.base ?? 0), 0), s = e.reduce((e, t) => e + (t.variation ?? 0), 0), c = e.reduce((e, t) => e + (t.total ?? 0), 0), f =
|
|
2179
|
+
let a = e.reduce((e, t) => e + (t.base ?? 0), 0), s = e.reduce((e, t) => e + (t.variation ?? 0), 0), c = e.reduce((e, t) => e + (t.total ?? 0), 0), f = At - 20 - 26, h = f - 6 * (e.length - 1), g = 20, y = e.map((e, t) => {
|
|
2180
2180
|
let n = Math.max(24, (e.total ?? 0) / (c || 1) * h), r = {
|
|
2181
2181
|
x: 100 - 110 / 2,
|
|
2182
2182
|
y: g,
|
|
@@ -2204,16 +2204,16 @@ function Mt({ contractors: e = [], "data-testid": t }) {
|
|
|
2204
2204
|
}, k, A = () => {
|
|
2205
2205
|
o.current++;
|
|
2206
2206
|
let t = o.current;
|
|
2207
|
-
n.clearRect(0, 0,
|
|
2207
|
+
n.clearRect(0, 0, kt, At);
|
|
2208
2208
|
let r = E(Math.min(t / 80, 1));
|
|
2209
2209
|
if (M(i.current, l.current), p.current = [], e.forEach((t, o) => {
|
|
2210
2210
|
let c = y[o], l = j(r, o, e.length, E), u = i.current.get(t.id) ?? 0;
|
|
2211
2211
|
if (l < .01) return;
|
|
2212
2212
|
let d = (t.base ?? 0) / (t.total || 1), f = (t.variation ?? 0) / (t.total || 1), p = c.h * d, m = c.h * f, h = c.y + p / 2, g = c.y + p + m / 2, _ = Math.max(2, (t.base ?? 0) / a * x), v = Math.max(2, (t.variation ?? 0) / s * S), b = w.y + e.slice(0, o).reduce((e, t) => e + (t.base ?? 0) / a * x, 0) + _ / 2, C = D.y + e.slice(0, o).reduce((e, t) => e + (t.variation ?? 0) / s * S, 0) + v / 2, T = u * .2 + .18;
|
|
2213
|
-
|
|
2213
|
+
Mt(n, c.x + 110, h, 420 - 110 / 2, b, _ * l, c.color, T), Mt(n, c.x + 110, g, 420 - 110 / 2, C, v * l, c.color, T * .75);
|
|
2214
2214
|
}), r > .3) {
|
|
2215
2215
|
let e = Math.min(1, (r - .3) / .7), t = O.y + a / c * f / 2, i = O.y + f - s / c * f / 2;
|
|
2216
|
-
|
|
2216
|
+
Mt(n, 475, w.cy, 720 - 110 / 2, t, x * e, u.blue, .25 * e), Mt(n, 475, D.cy, 720 - 110 / 2, i, S * e, u.amber, .22 * e);
|
|
2217
2217
|
}
|
|
2218
2218
|
if ([
|
|
2219
2219
|
"Contractors",
|
|
@@ -2225,7 +2225,7 @@ function Mt({ contractors: e = [], "data-testid": t }) {
|
|
|
2225
2225
|
420,
|
|
2226
2226
|
720
|
|
2227
2227
|
][t];
|
|
2228
|
-
n.font = "400 12px 'Satoshi Variable', 'DM Sans', sans-serif", n.fillStyle = m(u.t3, .5), n.textAlign = "center", n.fillText(e, r,
|
|
2228
|
+
n.font = "400 12px 'Satoshi Variable', 'DM Sans', sans-serif", n.fillStyle = m(u.t3, .5), n.textAlign = "center", n.fillText(e, r, At - 8);
|
|
2229
2229
|
}), e.forEach((t, a) => {
|
|
2230
2230
|
let o = y[a], s = j(r, a, e.length, E), c = i.current.get(t.id) ?? 0;
|
|
2231
2231
|
T(p.current, t.id, o.x, o.y, 110, o.h, {
|
|
@@ -2249,33 +2249,33 @@ function Mt({ contractors: e = [], "data-testid": t }) {
|
|
|
2249
2249
|
"data-testid": t,
|
|
2250
2250
|
style: {
|
|
2251
2251
|
position: "relative",
|
|
2252
|
-
width:
|
|
2253
|
-
height:
|
|
2252
|
+
width: kt,
|
|
2253
|
+
height: At
|
|
2254
2254
|
},
|
|
2255
2255
|
children: [/* @__PURE__ */ s("canvas", {
|
|
2256
2256
|
ref: r,
|
|
2257
2257
|
role: "img",
|
|
2258
2258
|
"aria-label": "Weekly report flow — base value and variations per contractor flowing to total commitment",
|
|
2259
2259
|
style: {
|
|
2260
|
-
width:
|
|
2261
|
-
height:
|
|
2260
|
+
width: kt,
|
|
2261
|
+
height: At,
|
|
2262
2262
|
display: "block"
|
|
2263
2263
|
}
|
|
2264
2264
|
}), /* @__PURE__ */ s(S, {
|
|
2265
2265
|
...f,
|
|
2266
|
-
parentW:
|
|
2267
|
-
parentH:
|
|
2266
|
+
parentW: kt,
|
|
2267
|
+
parentH: At
|
|
2268
2268
|
})]
|
|
2269
2269
|
});
|
|
2270
2270
|
}
|
|
2271
|
-
function
|
|
2271
|
+
function Mt(e, t, n, r, i, a, o, s) {
|
|
2272
2272
|
let c = (t + r) / 2;
|
|
2273
2273
|
e.beginPath(), e.moveTo(t, n - a / 2), e.bezierCurveTo(c, n - a / 2, c, i - a / 2, r, i - a / 2), e.lineTo(r, i + a / 2), e.bezierCurveTo(c, i + a / 2, c, n + a / 2, t, n + a / 2), e.closePath(), e.fillStyle = m(o, s), e.fill();
|
|
2274
2274
|
}
|
|
2275
2275
|
//#endregion
|
|
2276
2276
|
//#region src/components/visualizationRenderer/VisualizationRenderer.tsx
|
|
2277
|
-
function
|
|
2278
|
-
return e.type === "line" ? /* @__PURE__ */ s(
|
|
2277
|
+
function Nt({ config: e, className: t }) {
|
|
2278
|
+
return e.type === "line" ? /* @__PURE__ */ s(Ie, {
|
|
2279
2279
|
rows: e.rows,
|
|
2280
2280
|
className: t
|
|
2281
2281
|
}) : e.type === "area" ? /* @__PURE__ */ s(ne, {
|
|
@@ -2284,77 +2284,77 @@ function Pt({ config: e, className: t }) {
|
|
|
2284
2284
|
}) : e.type === "bar" ? /* @__PURE__ */ s(ie, {
|
|
2285
2285
|
rows: e.rows,
|
|
2286
2286
|
className: t
|
|
2287
|
-
}) : e.type === "pie" ? /* @__PURE__ */ s(
|
|
2287
|
+
}) : e.type === "pie" ? /* @__PURE__ */ s(Ke, {
|
|
2288
2288
|
rows: e.rows,
|
|
2289
2289
|
variant: "pie",
|
|
2290
2290
|
className: t
|
|
2291
|
-
}) : e.type === "donut" ? /* @__PURE__ */ s(
|
|
2291
|
+
}) : e.type === "donut" ? /* @__PURE__ */ s(Ke, {
|
|
2292
2292
|
rows: e.rows,
|
|
2293
2293
|
variant: "donut",
|
|
2294
2294
|
className: t
|
|
2295
|
-
}) : e.type === "sankey" ? /* @__PURE__ */ s(
|
|
2295
|
+
}) : e.type === "sankey" ? /* @__PURE__ */ s(rt, {
|
|
2296
2296
|
rows: e.rows,
|
|
2297
2297
|
className: t
|
|
2298
|
-
}) : e.type === "flow" ? /* @__PURE__ */ s(
|
|
2298
|
+
}) : e.type === "flow" ? /* @__PURE__ */ s(nt, {
|
|
2299
2299
|
selectedEntity: e.selectedEntity,
|
|
2300
2300
|
className: t
|
|
2301
|
-
}) : e.type === "trend" ? /* @__PURE__ */ s(
|
|
2301
|
+
}) : e.type === "trend" ? /* @__PURE__ */ s(xt, {
|
|
2302
2302
|
points: e.points,
|
|
2303
2303
|
className: t
|
|
2304
|
-
}) : e.type === "mini-bars" ? /* @__PURE__ */ s(
|
|
2304
|
+
}) : e.type === "mini-bars" ? /* @__PURE__ */ s(ze, {
|
|
2305
2305
|
rows: e.rows,
|
|
2306
2306
|
className: t
|
|
2307
|
-
}) : e.type === "contract-value-orb" ? /* @__PURE__ */ s(Ae, { data: e.data }) : e.type === "contract-bars" ? /* @__PURE__ */ s(Ce, { contractors: e.contractors }) : e.type === "commitment-race" ? /* @__PURE__ */ s(fe, { contractors: e.contractors }) : e.type === "status-arc" ? /* @__PURE__ */ s(
|
|
2307
|
+
}) : e.type === "contract-value-orb" ? /* @__PURE__ */ s(Ae, { data: e.data }) : e.type === "contract-bars" ? /* @__PURE__ */ s(Ce, { contractors: e.contractors }) : e.type === "commitment-race" ? /* @__PURE__ */ s(fe, { contractors: e.contractors }) : e.type === "status-arc" ? /* @__PURE__ */ s(bt, {
|
|
2308
2308
|
segments: e.segments,
|
|
2309
2309
|
title: e.title
|
|
2310
|
-
}) : e.type === "ew-category" ? /* @__PURE__ */ s(
|
|
2310
|
+
}) : e.type === "ew-category" ? /* @__PURE__ */ s(Fe, { categories: e.categories }) : e.type === "contractor-rank" ? /* @__PURE__ */ s(Pe, { contractors: e.contractors }) : e.type === "severity-bands" ? /* @__PURE__ */ s(vt, { severities: e.severities }) : e.type === "nce-tree" ? /* @__PURE__ */ s(He, {
|
|
2311
2311
|
total: e.total,
|
|
2312
2312
|
byContractor: e.byContractor
|
|
2313
2313
|
}) : e.type === "compensation-gauge" ? /* @__PURE__ */ s(he, {
|
|
2314
2314
|
pct: e.pct,
|
|
2315
2315
|
confirmed: e.confirmed,
|
|
2316
2316
|
total: e.total
|
|
2317
|
-
}) : e.type === "variation-split" ? /* @__PURE__ */ s(
|
|
2317
|
+
}) : e.type === "variation-split" ? /* @__PURE__ */ s(Ot, { contractors: e.contractors }) : e.type === "quotation-balance" ? /* @__PURE__ */ s(ot, {
|
|
2318
2318
|
accepted: e.accepted,
|
|
2319
2319
|
submitted: e.submitted
|
|
2320
|
-
}) : e.type === "quotation-trend" ? /* @__PURE__ */ s(
|
|
2320
|
+
}) : e.type === "quotation-trend" ? /* @__PURE__ */ s(ct, { trend: e.trend }) : e.type === "trend-view" ? /* @__PURE__ */ s(ht, { trend: e.trend }) : e.type === "weekly-flow" ? /* @__PURE__ */ s(jt, { contractors: e.contractors }) : /* @__PURE__ */ s("div", {
|
|
2321
2321
|
className: "viz-empty",
|
|
2322
2322
|
children: "Visualization unavailable"
|
|
2323
2323
|
});
|
|
2324
2324
|
}
|
|
2325
2325
|
//#endregion
|
|
2326
2326
|
//#region src/utils/mounts.tsx
|
|
2327
|
-
var
|
|
2328
|
-
function
|
|
2327
|
+
var Pt = [];
|
|
2328
|
+
function Ft(e) {
|
|
2329
2329
|
try {
|
|
2330
2330
|
return JSON.parse(decodeURIComponent(e));
|
|
2331
2331
|
} catch {
|
|
2332
2332
|
return null;
|
|
2333
2333
|
}
|
|
2334
2334
|
}
|
|
2335
|
-
function
|
|
2336
|
-
for (;
|
|
2337
|
-
let e =
|
|
2335
|
+
function It() {
|
|
2336
|
+
for (; Pt.length;) {
|
|
2337
|
+
let e = Pt.pop();
|
|
2338
2338
|
e && e.unmount();
|
|
2339
2339
|
}
|
|
2340
2340
|
}
|
|
2341
|
-
function
|
|
2342
|
-
|
|
2341
|
+
function Lt() {
|
|
2342
|
+
It(), document.querySelectorAll("[data-d3-viz]").forEach((t) => {
|
|
2343
2343
|
let n = t.dataset.d3Viz;
|
|
2344
2344
|
if (!n) return;
|
|
2345
|
-
let r =
|
|
2345
|
+
let r = Ft(n);
|
|
2346
2346
|
if (!r) return;
|
|
2347
2347
|
let i = e(t);
|
|
2348
|
-
|
|
2348
|
+
Pt.push(i), i.render(/* @__PURE__ */ s(Nt, { config: r }));
|
|
2349
2349
|
});
|
|
2350
2350
|
}
|
|
2351
|
-
function
|
|
2351
|
+
function Rt(e) {
|
|
2352
2352
|
return encodeURIComponent(JSON.stringify(e));
|
|
2353
2353
|
}
|
|
2354
2354
|
//#endregion
|
|
2355
2355
|
//#region src/components/donutChart/DonutChart.tsx
|
|
2356
|
-
function
|
|
2357
|
-
return /* @__PURE__ */ s(
|
|
2356
|
+
function zt({ rows: e = [], className: t, colors: n }) {
|
|
2357
|
+
return /* @__PURE__ */ s(Ke, {
|
|
2358
2358
|
rows: e,
|
|
2359
2359
|
variant: "donut",
|
|
2360
2360
|
className: t,
|
|
@@ -2363,7 +2363,7 @@ function Bt({ rows: e = [], className: t, colors: n }) {
|
|
|
2363
2363
|
}
|
|
2364
2364
|
//#endregion
|
|
2365
2365
|
//#region src/components/keyHighlights/KeyHighlights.tsx
|
|
2366
|
-
var
|
|
2366
|
+
var Z = {
|
|
2367
2367
|
bg: u.sf,
|
|
2368
2368
|
border: u.bd,
|
|
2369
2369
|
t1: u.t1,
|
|
@@ -2373,7 +2373,7 @@ var X = {
|
|
|
2373
2373
|
red: u.red,
|
|
2374
2374
|
amber: u.amber,
|
|
2375
2375
|
green: u.green
|
|
2376
|
-
},
|
|
2376
|
+
}, Q = "'Satoshi Variable', 'DM Sans', sans-serif", Bt = {
|
|
2377
2377
|
color: "#F7F7F7",
|
|
2378
2378
|
fontFamily: Q,
|
|
2379
2379
|
fontSize: 24,
|
|
@@ -2386,7 +2386,7 @@ var X = {
|
|
|
2386
2386
|
fontWeight: 400,
|
|
2387
2387
|
lineHeight: "20px"
|
|
2388
2388
|
};
|
|
2389
|
-
function
|
|
2389
|
+
function Vt({ chips: e = [] }) {
|
|
2390
2390
|
return /* @__PURE__ */ s("div", {
|
|
2391
2391
|
style: {
|
|
2392
2392
|
display: "flex",
|
|
@@ -2401,15 +2401,15 @@ function Ht({ chips: e = [] }) {
|
|
|
2401
2401
|
alignItems: "baseline",
|
|
2402
2402
|
gap: 8,
|
|
2403
2403
|
padding: "8px 12px",
|
|
2404
|
-
background:
|
|
2405
|
-
border: `1px solid ${
|
|
2404
|
+
background: Z.bg,
|
|
2405
|
+
border: `1px solid ${Z.border}`,
|
|
2406
2406
|
borderRadius: 5,
|
|
2407
2407
|
boxSizing: "border-box"
|
|
2408
2408
|
},
|
|
2409
2409
|
children: [/* @__PURE__ */ s("span", {
|
|
2410
2410
|
style: {
|
|
2411
|
-
...
|
|
2412
|
-
color: e.color ??
|
|
2411
|
+
...Bt,
|
|
2412
|
+
color: e.color ?? Z.t1
|
|
2413
2413
|
},
|
|
2414
2414
|
children: e.value
|
|
2415
2415
|
}), /* @__PURE__ */ s("span", {
|
|
@@ -2422,7 +2422,7 @@ function Ht({ chips: e = [] }) {
|
|
|
2422
2422
|
}, t))
|
|
2423
2423
|
});
|
|
2424
2424
|
}
|
|
2425
|
-
function
|
|
2425
|
+
function Ht({ items: e = [] }) {
|
|
2426
2426
|
return /* @__PURE__ */ s("div", {
|
|
2427
2427
|
style: {
|
|
2428
2428
|
display: "flex",
|
|
@@ -2430,31 +2430,33 @@ function Ut({ items: e = [] }) {
|
|
|
2430
2430
|
},
|
|
2431
2431
|
children: e.map((e, t) => /* @__PURE__ */ c("div", {
|
|
2432
2432
|
style: {
|
|
2433
|
+
display: "flex",
|
|
2434
|
+
flexDirection: "column",
|
|
2435
|
+
justifyContent: "center",
|
|
2436
|
+
alignItems: "flex-start",
|
|
2433
2437
|
width: 260,
|
|
2434
2438
|
height: 120,
|
|
2435
|
-
padding:
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
+
padding: 24,
|
|
2440
|
+
gap: 8,
|
|
2441
|
+
flexShrink: 0,
|
|
2442
|
+
border: `1px solid ${Z.border}`,
|
|
2443
|
+
background: Z.bg,
|
|
2439
2444
|
boxSizing: "border-box"
|
|
2440
2445
|
},
|
|
2441
2446
|
children: [/* @__PURE__ */ s("div", {
|
|
2442
2447
|
style: {
|
|
2443
|
-
...
|
|
2444
|
-
color: e.color ??
|
|
2448
|
+
...Bt,
|
|
2449
|
+
color: e.color ?? Z.t1
|
|
2445
2450
|
},
|
|
2446
2451
|
children: e.value
|
|
2447
2452
|
}), /* @__PURE__ */ s("div", {
|
|
2448
|
-
style: {
|
|
2449
|
-
...$,
|
|
2450
|
-
marginTop: 5
|
|
2451
|
-
},
|
|
2453
|
+
style: { ...$ },
|
|
2452
2454
|
children: e.label
|
|
2453
2455
|
})]
|
|
2454
2456
|
}, t))
|
|
2455
2457
|
});
|
|
2456
2458
|
}
|
|
2457
|
-
function
|
|
2459
|
+
function Ut({ items: e = [] }) {
|
|
2458
2460
|
return /* @__PURE__ */ s("div", {
|
|
2459
2461
|
style: {
|
|
2460
2462
|
display: "flex",
|
|
@@ -2467,18 +2469,16 @@ function Wt({ items: e = [] }) {
|
|
|
2467
2469
|
alignItems: "center",
|
|
2468
2470
|
gap: 12,
|
|
2469
2471
|
padding: "9px 14px",
|
|
2470
|
-
background:
|
|
2471
|
-
border: `1px solid ${
|
|
2472
|
-
borderLeft: `3px solid ${e.color ?? X.t2}`,
|
|
2473
|
-
borderRadius: 6
|
|
2472
|
+
background: Z.bg,
|
|
2473
|
+
border: `1px solid ${Z.border}`
|
|
2474
2474
|
},
|
|
2475
2475
|
children: [
|
|
2476
2476
|
/* @__PURE__ */ s("span", {
|
|
2477
2477
|
style: {
|
|
2478
|
-
fontSize:
|
|
2478
|
+
fontSize: 14,
|
|
2479
2479
|
fontWeight: 600,
|
|
2480
|
-
color: e.color ??
|
|
2481
|
-
background: (e.color ??
|
|
2480
|
+
color: e.color ?? Z.t2,
|
|
2481
|
+
background: (e.color ?? Z.t2) + "22",
|
|
2482
2482
|
padding: "2px 8px",
|
|
2483
2483
|
borderRadius: 4,
|
|
2484
2484
|
fontFamily: Q,
|
|
@@ -2488,8 +2488,8 @@ function Wt({ items: e = [] }) {
|
|
|
2488
2488
|
}),
|
|
2489
2489
|
/* @__PURE__ */ s("span", {
|
|
2490
2490
|
style: {
|
|
2491
|
-
...
|
|
2492
|
-
color: e.color ??
|
|
2491
|
+
...Bt,
|
|
2492
|
+
color: e.color ?? Z.t1,
|
|
2493
2493
|
minWidth: 70,
|
|
2494
2494
|
flexShrink: 0
|
|
2495
2495
|
},
|
|
@@ -2506,7 +2506,7 @@ function Wt({ items: e = [] }) {
|
|
|
2506
2506
|
}, t))
|
|
2507
2507
|
});
|
|
2508
2508
|
}
|
|
2509
|
-
function
|
|
2509
|
+
function Wt({ items: e = [] }) {
|
|
2510
2510
|
return /* @__PURE__ */ s("div", {
|
|
2511
2511
|
style: {
|
|
2512
2512
|
display: "flex",
|
|
@@ -2514,35 +2514,38 @@ function Gt({ items: e = [] }) {
|
|
|
2514
2514
|
},
|
|
2515
2515
|
children: e.map((e, t) => /* @__PURE__ */ c("div", {
|
|
2516
2516
|
style: {
|
|
2517
|
+
display: "flex",
|
|
2518
|
+
flexDirection: "column",
|
|
2519
|
+
justifyContent: "center",
|
|
2520
|
+
alignItems: "flex-start",
|
|
2517
2521
|
width: 260,
|
|
2518
2522
|
height: 120,
|
|
2519
|
-
padding:
|
|
2520
|
-
|
|
2521
|
-
|
|
2523
|
+
padding: 24,
|
|
2524
|
+
gap: 8,
|
|
2525
|
+
flexShrink: 0,
|
|
2526
|
+
background: Z.bg,
|
|
2527
|
+
border: `1px solid ${e.color ? e.color + "30" : Z.border}`,
|
|
2522
2528
|
boxSizing: "border-box"
|
|
2523
2529
|
},
|
|
2524
2530
|
children: [/* @__PURE__ */ s("div", {
|
|
2525
2531
|
style: {
|
|
2526
|
-
...
|
|
2527
|
-
color: e.color ??
|
|
2532
|
+
...Bt,
|
|
2533
|
+
color: e.color ?? Z.t1
|
|
2528
2534
|
},
|
|
2529
2535
|
children: e.value
|
|
2530
2536
|
}), /* @__PURE__ */ s("div", {
|
|
2531
|
-
style: {
|
|
2532
|
-
...$,
|
|
2533
|
-
marginTop: 6
|
|
2534
|
-
},
|
|
2537
|
+
style: { ...$ },
|
|
2535
2538
|
children: e.label
|
|
2536
2539
|
})]
|
|
2537
2540
|
}, t))
|
|
2538
2541
|
});
|
|
2539
2542
|
}
|
|
2540
|
-
var
|
|
2541
|
-
red:
|
|
2542
|
-
amber:
|
|
2543
|
-
green:
|
|
2543
|
+
var Gt = {
|
|
2544
|
+
red: Z.red,
|
|
2545
|
+
amber: Z.amber,
|
|
2546
|
+
green: Z.green
|
|
2544
2547
|
};
|
|
2545
|
-
function
|
|
2548
|
+
function Kt({ items: e = [] }) {
|
|
2546
2549
|
return /* @__PURE__ */ s("div", {
|
|
2547
2550
|
style: {
|
|
2548
2551
|
display: "flex",
|
|
@@ -2550,7 +2553,7 @@ function qt({ items: e = [] }) {
|
|
|
2550
2553
|
gap: 5
|
|
2551
2554
|
},
|
|
2552
2555
|
children: e.map((e, t) => {
|
|
2553
|
-
let n =
|
|
2556
|
+
let n = Gt[e.severity];
|
|
2554
2557
|
return /* @__PURE__ */ c("div", {
|
|
2555
2558
|
style: {
|
|
2556
2559
|
display: "flex",
|
|
@@ -2558,7 +2561,7 @@ function qt({ items: e = [] }) {
|
|
|
2558
2561
|
gap: 10,
|
|
2559
2562
|
padding: "10px 14px",
|
|
2560
2563
|
background: u.sf,
|
|
2561
|
-
border: `1px solid ${
|
|
2564
|
+
border: `1px solid ${Z.border}`
|
|
2562
2565
|
},
|
|
2563
2566
|
children: [/* @__PURE__ */ s("span", { style: {
|
|
2564
2567
|
width: 7,
|
|
@@ -2575,7 +2578,7 @@ function qt({ items: e = [] }) {
|
|
|
2575
2578
|
})
|
|
2576
2579
|
});
|
|
2577
2580
|
}
|
|
2578
|
-
function
|
|
2581
|
+
function qt({ min: e, max: t, unit: n, dots: r = [], chips: i = [] }) {
|
|
2579
2582
|
let a = t - e;
|
|
2580
2583
|
return /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ c("div", {
|
|
2581
2584
|
style: {
|
|
@@ -2598,9 +2601,9 @@ function Jt({ min: e, max: t, unit: n, dots: r = [], chips: i = [] }) {
|
|
|
2598
2601
|
position: "absolute",
|
|
2599
2602
|
top: 43,
|
|
2600
2603
|
left: 0,
|
|
2601
|
-
fontSize:
|
|
2602
|
-
color:
|
|
2603
|
-
fontFamily:
|
|
2604
|
+
fontSize: 14,
|
|
2605
|
+
color: Z.t4,
|
|
2606
|
+
fontFamily: Q
|
|
2604
2607
|
},
|
|
2605
2608
|
children: [e, n]
|
|
2606
2609
|
}),
|
|
@@ -2609,9 +2612,9 @@ function Jt({ min: e, max: t, unit: n, dots: r = [], chips: i = [] }) {
|
|
|
2609
2612
|
position: "absolute",
|
|
2610
2613
|
top: 43,
|
|
2611
2614
|
right: 0,
|
|
2612
|
-
fontSize:
|
|
2613
|
-
color:
|
|
2614
|
-
fontFamily:
|
|
2615
|
+
fontSize: 14,
|
|
2616
|
+
color: Z.t4,
|
|
2617
|
+
fontFamily: Q
|
|
2615
2618
|
},
|
|
2616
2619
|
children: [t, n]
|
|
2617
2620
|
}),
|
|
@@ -2632,7 +2635,7 @@ function Jt({ min: e, max: t, unit: n, dots: r = [], chips: i = [] }) {
|
|
|
2632
2635
|
},
|
|
2633
2636
|
children: [/* @__PURE__ */ s("div", {
|
|
2634
2637
|
style: {
|
|
2635
|
-
fontSize:
|
|
2638
|
+
fontSize: 14,
|
|
2636
2639
|
color: o,
|
|
2637
2640
|
fontFamily: Q,
|
|
2638
2641
|
whiteSpace: "nowrap"
|
|
@@ -2640,10 +2643,10 @@ function Jt({ min: e, max: t, unit: n, dots: r = [], chips: i = [] }) {
|
|
|
2640
2643
|
children: t.name
|
|
2641
2644
|
}), /* @__PURE__ */ c("div", {
|
|
2642
2645
|
style: {
|
|
2643
|
-
fontSize:
|
|
2646
|
+
fontSize: 14,
|
|
2644
2647
|
fontWeight: 700,
|
|
2645
2648
|
color: o,
|
|
2646
|
-
fontFamily:
|
|
2649
|
+
fontFamily: Q,
|
|
2647
2650
|
whiteSpace: "nowrap"
|
|
2648
2651
|
},
|
|
2649
2652
|
children: [t.val, n]
|
|
@@ -2664,7 +2667,7 @@ function Jt({ min: e, max: t, unit: n, dots: r = [], chips: i = [] }) {
|
|
|
2664
2667
|
},
|
|
2665
2668
|
children: [/* @__PURE__ */ s("div", {
|
|
2666
2669
|
style: {
|
|
2667
|
-
fontSize:
|
|
2670
|
+
fontSize: 14,
|
|
2668
2671
|
color: o,
|
|
2669
2672
|
fontFamily: Q,
|
|
2670
2673
|
whiteSpace: "nowrap"
|
|
@@ -2672,10 +2675,10 @@ function Jt({ min: e, max: t, unit: n, dots: r = [], chips: i = [] }) {
|
|
|
2672
2675
|
children: t.name
|
|
2673
2676
|
}), /* @__PURE__ */ c("div", {
|
|
2674
2677
|
style: {
|
|
2675
|
-
fontSize:
|
|
2678
|
+
fontSize: 14,
|
|
2676
2679
|
fontWeight: 700,
|
|
2677
2680
|
color: o,
|
|
2678
|
-
fontFamily:
|
|
2681
|
+
fontFamily: Q,
|
|
2679
2682
|
whiteSpace: "nowrap"
|
|
2680
2683
|
},
|
|
2681
2684
|
children: [t.val, n]
|
|
@@ -2685,9 +2688,9 @@ function Jt({ min: e, max: t, unit: n, dots: r = [], chips: i = [] }) {
|
|
|
2685
2688
|
}, r);
|
|
2686
2689
|
})
|
|
2687
2690
|
]
|
|
2688
|
-
}), i && i.length > 0 && /* @__PURE__ */ s(
|
|
2691
|
+
}), i && i.length > 0 && /* @__PURE__ */ s(Vt, { chips: i })] });
|
|
2689
2692
|
}
|
|
2690
|
-
function
|
|
2693
|
+
function Jt({ leftPct: e, leftLabel: t, leftValue: n, leftColor: r, rightPct: i, rightLabel: a, rightValue: o, rightColor: l, chips: d }) {
|
|
2691
2694
|
let f = r ?? u.blue, p = l ?? u.cyan;
|
|
2692
2695
|
return /* @__PURE__ */ c("div", { children: [
|
|
2693
2696
|
/* @__PURE__ */ c("div", {
|
|
@@ -2710,10 +2713,10 @@ function Yt({ leftPct: e, leftLabel: t, leftValue: n, leftColor: r, rightPct: i,
|
|
|
2710
2713
|
},
|
|
2711
2714
|
children: /* @__PURE__ */ s("span", {
|
|
2712
2715
|
style: {
|
|
2713
|
-
fontSize:
|
|
2716
|
+
fontSize: 14,
|
|
2714
2717
|
fontWeight: 700,
|
|
2715
2718
|
color: f,
|
|
2716
|
-
fontFamily:
|
|
2719
|
+
fontFamily: Q
|
|
2717
2720
|
},
|
|
2718
2721
|
children: n
|
|
2719
2722
|
})
|
|
@@ -2733,10 +2736,10 @@ function Yt({ leftPct: e, leftLabel: t, leftValue: n, leftColor: r, rightPct: i,
|
|
|
2733
2736
|
},
|
|
2734
2737
|
children: /* @__PURE__ */ s("span", {
|
|
2735
2738
|
style: {
|
|
2736
|
-
fontSize:
|
|
2739
|
+
fontSize: 14,
|
|
2737
2740
|
fontWeight: 700,
|
|
2738
2741
|
color: p,
|
|
2739
|
-
fontFamily:
|
|
2742
|
+
fontFamily: Q
|
|
2740
2743
|
},
|
|
2741
2744
|
children: o
|
|
2742
2745
|
})
|
|
@@ -2752,7 +2755,7 @@ function Yt({ leftPct: e, leftLabel: t, leftValue: n, leftColor: r, rightPct: i,
|
|
|
2752
2755
|
style: { width: `${e}%` },
|
|
2753
2756
|
children: /* @__PURE__ */ c("span", {
|
|
2754
2757
|
style: {
|
|
2755
|
-
fontSize:
|
|
2758
|
+
fontSize: 14,
|
|
2756
2759
|
color: f,
|
|
2757
2760
|
fontFamily: Q
|
|
2758
2761
|
},
|
|
@@ -2769,7 +2772,7 @@ function Yt({ leftPct: e, leftLabel: t, leftValue: n, leftColor: r, rightPct: i,
|
|
|
2769
2772
|
},
|
|
2770
2773
|
children: /* @__PURE__ */ c("span", {
|
|
2771
2774
|
style: {
|
|
2772
|
-
fontSize:
|
|
2775
|
+
fontSize: 14,
|
|
2773
2776
|
color: p,
|
|
2774
2777
|
fontFamily: Q
|
|
2775
2778
|
},
|
|
@@ -2781,10 +2784,10 @@ function Yt({ leftPct: e, leftLabel: t, leftValue: n, leftColor: r, rightPct: i,
|
|
|
2781
2784
|
})
|
|
2782
2785
|
})]
|
|
2783
2786
|
}),
|
|
2784
|
-
d && d.length > 0 && /* @__PURE__ */ s(
|
|
2787
|
+
d && d.length > 0 && /* @__PURE__ */ s(Vt, { chips: d })
|
|
2785
2788
|
] });
|
|
2786
2789
|
}
|
|
2787
|
-
function
|
|
2790
|
+
function Yt({ pct: e, label: t, color: n, chips: r }) {
|
|
2788
2791
|
let i = n ?? u.blue, a = 2 * Math.PI * 30, o = a * (1 - e / 100);
|
|
2789
2792
|
return /* @__PURE__ */ c("div", {
|
|
2790
2793
|
style: {
|
|
@@ -2831,10 +2834,10 @@ function Xt({ pct: e, label: t, color: n, chips: r }) {
|
|
|
2831
2834
|
},
|
|
2832
2835
|
children: /* @__PURE__ */ c("div", {
|
|
2833
2836
|
style: {
|
|
2834
|
-
fontSize:
|
|
2837
|
+
fontSize: 14,
|
|
2835
2838
|
fontWeight: 700,
|
|
2836
2839
|
color: i,
|
|
2837
|
-
fontFamily:
|
|
2840
|
+
fontFamily: Q
|
|
2838
2841
|
},
|
|
2839
2842
|
children: [e, "%"]
|
|
2840
2843
|
})
|
|
@@ -2859,14 +2862,14 @@ function Xt({ pct: e, label: t, color: n, chips: r }) {
|
|
|
2859
2862
|
alignItems: "baseline",
|
|
2860
2863
|
gap: 8,
|
|
2861
2864
|
padding: "7px 10px",
|
|
2862
|
-
background:
|
|
2863
|
-
border: `1px solid ${
|
|
2865
|
+
background: Z.bg,
|
|
2866
|
+
border: `1px solid ${Z.border}`,
|
|
2864
2867
|
borderRadius: 5
|
|
2865
2868
|
},
|
|
2866
2869
|
children: [/* @__PURE__ */ s("span", {
|
|
2867
2870
|
style: {
|
|
2868
|
-
...
|
|
2869
|
-
color: e.color ??
|
|
2871
|
+
...Bt,
|
|
2872
|
+
color: e.color ?? Z.t1
|
|
2870
2873
|
},
|
|
2871
2874
|
children: e.value
|
|
2872
2875
|
}), /* @__PURE__ */ s("span", {
|
|
@@ -2878,16 +2881,16 @@ function Xt({ pct: e, label: t, color: n, chips: r }) {
|
|
|
2878
2881
|
})]
|
|
2879
2882
|
});
|
|
2880
2883
|
}
|
|
2881
|
-
var
|
|
2884
|
+
var Xt = {
|
|
2882
2885
|
green: "#34D39918",
|
|
2883
2886
|
amber: "#FBBF2418",
|
|
2884
2887
|
red: "#F0606018"
|
|
2885
|
-
},
|
|
2888
|
+
}, Zt = {
|
|
2886
2889
|
green: "#34D399",
|
|
2887
2890
|
amber: "#FBBF24",
|
|
2888
2891
|
red: "#F06060"
|
|
2889
2892
|
};
|
|
2890
|
-
function
|
|
2893
|
+
function Qt({ items: e = [] }) {
|
|
2891
2894
|
return /* @__PURE__ */ s("div", {
|
|
2892
2895
|
style: {
|
|
2893
2896
|
display: "flex",
|
|
@@ -2900,16 +2903,16 @@ function $t({ items: e = [] }) {
|
|
|
2900
2903
|
alignItems: "center",
|
|
2901
2904
|
gap: 10,
|
|
2902
2905
|
padding: "8px 12px",
|
|
2903
|
-
background:
|
|
2904
|
-
border: `1px solid ${
|
|
2906
|
+
background: Z.bg,
|
|
2907
|
+
border: `1px solid ${Z.border}`
|
|
2905
2908
|
},
|
|
2906
2909
|
children: [
|
|
2907
2910
|
/* @__PURE__ */ s("span", {
|
|
2908
2911
|
style: {
|
|
2909
|
-
fontSize:
|
|
2912
|
+
fontSize: 14,
|
|
2910
2913
|
fontWeight: 600,
|
|
2911
|
-
color: e.color ??
|
|
2912
|
-
background: (e.color ??
|
|
2914
|
+
color: e.color ?? Z.t2,
|
|
2915
|
+
background: (e.color ?? Z.t2) + "1A",
|
|
2913
2916
|
padding: "2px 7px",
|
|
2914
2917
|
borderRadius: 4,
|
|
2915
2918
|
fontFamily: Q,
|
|
@@ -2930,17 +2933,17 @@ function $t({ items: e = [] }) {
|
|
|
2930
2933
|
children: /* @__PURE__ */ s("div", { style: {
|
|
2931
2934
|
height: "100%",
|
|
2932
2935
|
width: `${e.pct}%`,
|
|
2933
|
-
background: e.color ??
|
|
2936
|
+
background: e.color ?? Z.t2,
|
|
2934
2937
|
borderRadius: 2,
|
|
2935
2938
|
opacity: .75
|
|
2936
2939
|
} })
|
|
2937
2940
|
}),
|
|
2938
2941
|
/* @__PURE__ */ s("span", {
|
|
2939
2942
|
style: {
|
|
2940
|
-
fontSize:
|
|
2943
|
+
fontSize: 14,
|
|
2941
2944
|
fontWeight: 700,
|
|
2942
|
-
color: e.color ??
|
|
2943
|
-
fontFamily:
|
|
2945
|
+
color: e.color ?? Z.t1,
|
|
2946
|
+
fontFamily: Q,
|
|
2944
2947
|
flexShrink: 0,
|
|
2945
2948
|
minWidth: 52,
|
|
2946
2949
|
textAlign: "right"
|
|
@@ -2949,10 +2952,10 @@ function $t({ items: e = [] }) {
|
|
|
2949
2952
|
}),
|
|
2950
2953
|
e.badge && e.badgeSeverity && /* @__PURE__ */ s("span", {
|
|
2951
2954
|
style: {
|
|
2952
|
-
fontSize:
|
|
2955
|
+
fontSize: 14,
|
|
2953
2956
|
fontWeight: 600,
|
|
2954
|
-
color:
|
|
2955
|
-
background:
|
|
2957
|
+
color: Zt[e.badgeSeverity],
|
|
2958
|
+
background: Xt[e.badgeSeverity],
|
|
2956
2959
|
padding: "2px 7px",
|
|
2957
2960
|
borderRadius: 4,
|
|
2958
2961
|
fontFamily: Q,
|
|
@@ -2975,12 +2978,12 @@ function $t({ items: e = [] }) {
|
|
|
2975
2978
|
}, t))
|
|
2976
2979
|
});
|
|
2977
2980
|
}
|
|
2978
|
-
var
|
|
2979
|
-
red:
|
|
2980
|
-
amber:
|
|
2981
|
-
green:
|
|
2981
|
+
var $t = {
|
|
2982
|
+
red: Z.red,
|
|
2983
|
+
amber: Z.amber,
|
|
2984
|
+
green: Z.green
|
|
2982
2985
|
};
|
|
2983
|
-
function
|
|
2986
|
+
function en({ items: e = [] }) {
|
|
2984
2987
|
return /* @__PURE__ */ s("div", {
|
|
2985
2988
|
style: {
|
|
2986
2989
|
display: "flex",
|
|
@@ -2988,7 +2991,7 @@ function tn({ items: e = [] }) {
|
|
|
2988
2991
|
gap: 5
|
|
2989
2992
|
},
|
|
2990
2993
|
children: e.map((e, t) => {
|
|
2991
|
-
let n =
|
|
2994
|
+
let n = $t[e.severity];
|
|
2992
2995
|
return /* @__PURE__ */ c("div", {
|
|
2993
2996
|
style: {
|
|
2994
2997
|
display: "flex",
|
|
@@ -3018,7 +3021,7 @@ function tn({ items: e = [] }) {
|
|
|
3018
3021
|
}),
|
|
3019
3022
|
/* @__PURE__ */ s("span", {
|
|
3020
3023
|
style: {
|
|
3021
|
-
fontSize:
|
|
3024
|
+
fontSize: 14,
|
|
3022
3025
|
fontWeight: 600,
|
|
3023
3026
|
color: n,
|
|
3024
3027
|
background: n + "20",
|
|
@@ -3042,7 +3045,7 @@ function tn({ items: e = [] }) {
|
|
|
3042
3045
|
})
|
|
3043
3046
|
});
|
|
3044
3047
|
}
|
|
3045
|
-
function
|
|
3048
|
+
function tn({ columns: e = [], rows: t = [] }) {
|
|
3046
3049
|
return /* @__PURE__ */ c("div", {
|
|
3047
3050
|
style: {
|
|
3048
3051
|
display: "flex",
|
|
@@ -3055,14 +3058,14 @@ function nn({ columns: e = [], rows: t = [] }) {
|
|
|
3055
3058
|
alignItems: "center",
|
|
3056
3059
|
gap: 10,
|
|
3057
3060
|
padding: "0 12px 6px",
|
|
3058
|
-
borderBottom: `1px solid ${
|
|
3061
|
+
borderBottom: `1px solid ${Z.border}`
|
|
3059
3062
|
},
|
|
3060
3063
|
children: [/* @__PURE__ */ s("div", { style: { minWidth: 64 } }), e.map((e, t) => /* @__PURE__ */ s("div", {
|
|
3061
3064
|
style: {
|
|
3062
3065
|
flex: 1,
|
|
3063
|
-
fontSize:
|
|
3066
|
+
fontSize: 14,
|
|
3064
3067
|
fontWeight: 600,
|
|
3065
|
-
color:
|
|
3068
|
+
color: Z.t2,
|
|
3066
3069
|
fontFamily: Q,
|
|
3067
3070
|
textTransform: "uppercase",
|
|
3068
3071
|
letterSpacing: .6
|
|
@@ -3075,15 +3078,15 @@ function nn({ columns: e = [], rows: t = [] }) {
|
|
|
3075
3078
|
alignItems: "center",
|
|
3076
3079
|
gap: 10,
|
|
3077
3080
|
padding: "8px 12px",
|
|
3078
|
-
background:
|
|
3079
|
-
border: `1px solid ${
|
|
3081
|
+
background: Z.bg,
|
|
3082
|
+
border: `1px solid ${Z.border}`
|
|
3080
3083
|
},
|
|
3081
3084
|
children: [/* @__PURE__ */ s("span", {
|
|
3082
3085
|
style: {
|
|
3083
|
-
fontSize:
|
|
3086
|
+
fontSize: 14,
|
|
3084
3087
|
fontWeight: 600,
|
|
3085
|
-
color:
|
|
3086
|
-
background: (e.color ??
|
|
3088
|
+
color: Z.t2,
|
|
3089
|
+
background: (e.color ?? Z.t4) + "1A",
|
|
3087
3090
|
padding: "2px 8px",
|
|
3088
3091
|
borderRadius: 4,
|
|
3089
3092
|
fontFamily: Q,
|
|
@@ -3095,17 +3098,17 @@ function nn({ columns: e = [], rows: t = [] }) {
|
|
|
3095
3098
|
}), e.cells.map((t, n) => /* @__PURE__ */ s("span", {
|
|
3096
3099
|
style: {
|
|
3097
3100
|
flex: 1,
|
|
3098
|
-
fontSize:
|
|
3101
|
+
fontSize: 14,
|
|
3099
3102
|
fontWeight: 700,
|
|
3100
|
-
color: e.color ??
|
|
3101
|
-
fontFamily:
|
|
3103
|
+
color: e.color ?? Z.t1,
|
|
3104
|
+
fontFamily: Q
|
|
3102
3105
|
},
|
|
3103
3106
|
children: t
|
|
3104
3107
|
}, n))]
|
|
3105
3108
|
}, t))]
|
|
3106
3109
|
});
|
|
3107
3110
|
}
|
|
3108
|
-
function
|
|
3111
|
+
function nn({ text: e }) {
|
|
3109
3112
|
return /* @__PURE__ */ c("div", {
|
|
3110
3113
|
style: {
|
|
3111
3114
|
padding: "8px 12px",
|
|
@@ -3130,22 +3133,22 @@ function rn({ text: e }) {
|
|
|
3130
3133
|
})]
|
|
3131
3134
|
});
|
|
3132
3135
|
}
|
|
3133
|
-
function
|
|
3136
|
+
function rn({ block: e }) {
|
|
3134
3137
|
if (!e) return null;
|
|
3135
3138
|
let t = (() => {
|
|
3136
3139
|
switch (e.type) {
|
|
3137
|
-
case "stats": return /* @__PURE__ */ s(
|
|
3138
|
-
case "ranked": return /* @__PURE__ */ s(
|
|
3139
|
-
case "chips": return /* @__PURE__ */ s(
|
|
3140
|
-
case "badges": return /* @__PURE__ */ s(
|
|
3141
|
-
case "dot-strip": return /* @__PURE__ */ s(
|
|
3140
|
+
case "stats": return /* @__PURE__ */ s(Ht, { items: e.items });
|
|
3141
|
+
case "ranked": return /* @__PURE__ */ s(Ut, { items: e.items });
|
|
3142
|
+
case "chips": return /* @__PURE__ */ s(Wt, { items: e.items });
|
|
3143
|
+
case "badges": return /* @__PURE__ */ s(Kt, { items: e.items });
|
|
3144
|
+
case "dot-strip": return /* @__PURE__ */ s(qt, {
|
|
3142
3145
|
min: e.min,
|
|
3143
3146
|
max: e.max,
|
|
3144
3147
|
unit: e.unit,
|
|
3145
3148
|
dots: e.dots,
|
|
3146
3149
|
chips: e.chips
|
|
3147
3150
|
});
|
|
3148
|
-
case "proportion": return /* @__PURE__ */ s(
|
|
3151
|
+
case "proportion": return /* @__PURE__ */ s(Jt, {
|
|
3149
3152
|
leftPct: e.leftPct,
|
|
3150
3153
|
leftLabel: e.leftLabel,
|
|
3151
3154
|
leftValue: e.leftValue,
|
|
@@ -3156,15 +3159,15 @@ function an({ block: e }) {
|
|
|
3156
3159
|
rightColor: e.rightColor,
|
|
3157
3160
|
chips: e.chips
|
|
3158
3161
|
});
|
|
3159
|
-
case "ring": return /* @__PURE__ */ s(
|
|
3162
|
+
case "ring": return /* @__PURE__ */ s(Yt, {
|
|
3160
3163
|
pct: e.pct,
|
|
3161
3164
|
label: e.label,
|
|
3162
3165
|
color: e.color,
|
|
3163
3166
|
chips: e.chips
|
|
3164
3167
|
});
|
|
3165
|
-
case "scorecard-rows": return /* @__PURE__ */ s(
|
|
3166
|
-
case "flags-list": return /* @__PURE__ */ s(
|
|
3167
|
-
case "comparison-rows": return /* @__PURE__ */ s(
|
|
3168
|
+
case "scorecard-rows": return /* @__PURE__ */ s(Qt, { items: e.items });
|
|
3169
|
+
case "flags-list": return /* @__PURE__ */ s(en, { items: e.items });
|
|
3170
|
+
case "comparison-rows": return /* @__PURE__ */ s(tn, {
|
|
3168
3171
|
columns: e.columns,
|
|
3169
3172
|
rows: e.rows
|
|
3170
3173
|
});
|
|
@@ -3177,8 +3180,8 @@ function an({ block: e }) {
|
|
|
3177
3180
|
flexDirection: "column",
|
|
3178
3181
|
gap: 24
|
|
3179
3182
|
},
|
|
3180
|
-
children: [t, /* @__PURE__ */ s(
|
|
3183
|
+
children: [t, /* @__PURE__ */ s(nn, { text: e.takeaway })]
|
|
3181
3184
|
}) : t;
|
|
3182
3185
|
}
|
|
3183
3186
|
//#endregion
|
|
3184
|
-
export { ne as AreaChart, ie as BarChart, l as ChartFrame,
|
|
3187
|
+
export { ne as AreaChart, ie as BarChart, l as ChartFrame, zt as DonutChart, rn as KeyHighlights, Ie as LineChart, ze as MiniBars, Ke as PieChart, nt as ProcessSankey, rt as RankingSankey, Je as SankeySvg, te as SeriesChart, ht as Trend, xt as TrendChart, Nt as VisualizationRenderer, It as cleanupVisualizationMounts, Lt as hydrateVisualizationMounts, Rt as serializeVisualizationConfig };
|