@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.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 je = 780, B = 240, Me = 12, Ne = 10, Pe = [
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 Fe({ contractors: e = [], "data-testid": t }) {
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: je,
857
- height: B
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, je, B);
862
+ let t = _(e, B, V);
863
863
  i.current = 0;
864
- let n = Math.min(5, g.length), a = (je - 2 * Me - (n - 1) * Ne) / n, s = B * .84, c = B * .08, p, x = () => {
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, je, B), h.current = [], o.current.forEach((e, t) => {
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 = Me + r * (a + Ne), g = o.current.get(n.id) ?? 0, _ = g * 8, b = p - _ / 2, x = a + _, S = i ? A(e, .04, 3e-4) * .06 + .06 : 0;
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 = Pe[r] ?? "Low exposure";
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, je, B, e, .015), p = requestAnimationFrame(x);
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: je,
890
- height: B
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: je,
898
- height: B,
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: je,
905
- parentH: B
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 V = 680, H = 260;
912
- function Ie({ categories: e = [], "data-testid": t }) {
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: V,
915
- height: H
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, V, H);
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 = V * .05, p = H * .1, h = V * .9 / a, g = H * .7 / c, x = e.reduce((e, t) => e + t.count, 0), S, C = () => {
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, V, H), f.current = [], o.current.forEach((e, t) => {
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, V, H, t, 40, m(u.blue, .04)), e.forEach((e, r) => {
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, V, H, t, .015), S = requestAnimationFrame(C);
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: V,
954
- height: H
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: V,
962
- height: H,
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: V,
969
- parentH: H
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 Le({ rows: e = [], className: t, colors: n }) {
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 Re = [
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
- ], ze = {
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 Be({ rows: e = [], className: t, colors: n }) {
1038
- let r = n?.slices ?? Re;
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 % Re.length}`,
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 Ve = 680, He = 320;
1077
- function Ue({ total: e = 0, byContractor: t = [], "data-testid": r }) {
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: Ve,
1080
- height: He
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, Ve, He);
1085
+ let r = _(n, Be, Ve);
1086
1086
  l.current = 0;
1087
- let a = He / 2, s = Ve - 80, c = Math.max(...t.map((e) => e.count ?? 0)), h = (He - 60) / (t.length - 1), y = t.map((e, t) => ({
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, Ve, He);
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: Ve,
1121
- height: He
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: Ve,
1129
- height: He,
1128
+ width: Be,
1129
+ height: Ve,
1130
1130
  display: "block"
1131
1131
  }
1132
1132
  }), /* @__PURE__ */ s(S, {
1133
1133
  ...h,
1134
- parentW: Ve,
1135
- parentH: He
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 We = 192, Ge = We, Ke = We + 80;
1142
- function qe({ rows: e = [], variant: t, className: r, colors: i }) {
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: Ge,
1145
- height: Ke
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, Ge, Ke);
1150
+ let r = _(n, We, Ge);
1151
1151
  p.current = 0;
1152
- let i = Ge / 2, a = We / 2, s = We * .4, c = t === "donut" ? We * .21 : 0, l = e.reduce((e, t) => e + (t.pricing ?? 0), 0) || 1, d, b = () => {
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, Ge, Ke);
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 = We + 12;
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)}%)`, Ge - 4, o + 3.5);
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: Ge,
1187
- height: Ke
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: Ge,
1195
- height: Ke,
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: Ge,
1202
- parentH: Ke
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 Je(e, t, n, r) {
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 Ye({ 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(() => Je(e, t, r, o), [
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 Xe = [
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
- ], Ze = [
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
- ], Qe = [
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 $e(e, t) {
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 et(e, t) {
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 tt(e, t) {
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 nt({ nodes: e, links: t, width: r = 960, height: o = 280, selectedEntity: l }) {
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 = Xe[t % Xe.length];
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: Qe[t % Qe.length],
1458
- color: Ze[t % Ze.length]
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 = tt(r, i);
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 = $e(d, .5), h = `${Math.round(e.conf * 100)}%`;
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 = tt(r, i), o = $e(a, e.t), s = et(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);
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 rt({ selectedEntity: e, colors: t }) {
1557
- return /* @__PURE__ */ s(nt, {
1558
- nodes: ze.nodes,
1559
- links: ze.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 it({ rows: e = [], className: t, colors: n }) {
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(Ye, {
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 at = 500, ot = 320;
1598
- function st({ accepted: e, submitted: t, "data-testid": r }) {
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, at, ot);
1603
+ let r = _(n, it, at);
1604
1604
  o.current = 0;
1605
- let a = at / 2, s = Math.max(e.value, t.value), c = (e.value - t.value) / s * 14, l, d = () => {
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, at, ot);
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, ot - 80), r.stroke(), r.beginPath(), r.arc(a, 100, 5 * i, 0, Math.PI * 2), r.fillStyle = u.t2, r.fill();
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, ot - 12), r.globalAlpha = 1), l = requestAnimationFrame(d);
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: at,
1644
- height: ot
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: at,
1652
- height: ot,
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 ct = 680, U = 280;
1661
- function lt({ trend: e = [], "data-testid": t }) {
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: ct,
1664
- height: U
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, ct, U);
1669
+ let n = _(t, st, W);
1670
1670
  o.current = 0;
1671
- let a = ct - 54 - 28, s = U - 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) => ({
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, ct, U);
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, U - 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();
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, U - 54 + 14);
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: ct,
1731
- height: U
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: ct,
1739
- height: U,
1738
+ width: st,
1739
+ height: W,
1740
1740
  display: "block"
1741
1741
  }
1742
1742
  }), /* @__PURE__ */ s(S, {
1743
1743
  ...d,
1744
- parentW: ct,
1745
- parentH: U
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 ut = 680, W = 280, dt = 54, ft = 28, pt = 64, mt = "500 14px 'Satoshi Variable', 'DM Sans', sans-serif", ht = 12;
1753
- function gt({ trend: e = [], "data-testid": t }) {
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 pt;
1755
+ if (e.length <= 1) return ft;
1756
1756
  let t = document.createElement("canvas").getContext("2d");
1757
- if (!t) return pt;
1758
- t.font = mt;
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(pt, n + ht);
1761
- }, [e]), p = Math.max(ut, dt + ft + Math.max(0, e.length - 1) * d), { hoveredRef: h, tooltip: g, hitZonesRef: y } = C(r, {
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: W
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, W);
1768
+ let n = _(t, p, G);
1769
1769
  l.current = 0;
1770
- let i = dt, a = ft, s = p - i - a, c = W - 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) => ({
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, W);
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, W - 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();
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 = mt, n.fillStyle = u.cyan, n.textAlign = "center", n.fillText(String(e.point.count), e.x, e.y - 10)), n.font = mt, n.fillStyle = i > 0 ? u.cyan : f.color, n.textAlign = "center", n.fillText(e.point.week, e.x, W - 54 + 14);
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: W
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: W,
1842
+ height: G,
1843
1843
  display: "block"
1844
1844
  }
1845
1845
  }), /* @__PURE__ */ s(S, {
1846
1846
  ...g,
1847
1847
  parentW: p,
1848
- parentH: W
1848
+ parentH: G
1849
1849
  })]
1850
1850
  })
1851
1851
  });
1852
1852
  }
1853
1853
  //#endregion
1854
1854
  //#region src/components/severityBands/SeverityBands.tsx
1855
- var G = 680, _t = 240, vt = {
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 yt({ severities: e = [], "data-testid": t }) {
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: G,
1864
- height: _t
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, G, _t);
1869
+ let n = _(t, K, gt);
1870
1870
  o.current = 0;
1871
- let a = e.reduce((e, t) => e + t.count, 0), s = G - 28 - 28, c = _t - 50 - 52, d = e.map((e) => e.count / a * s), h, g = () => {
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, G, _t);
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(G / 2, 50), n.lineTo(G / 2, 50 + c), n.stroke(), n.setLineDash([]);
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 = vt[e.severity] ?? u.blue, s = d[t];
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: G,
1904
- height: _t
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: G,
1912
- height: _t,
1911
+ width: K,
1912
+ height: gt,
1913
1913
  display: "block"
1914
1914
  }
1915
1915
  }), /* @__PURE__ */ s(S, {
1916
1916
  ...d,
1917
- parentW: G,
1918
- parentH: _t
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 K = 460, q = 300, bt = {
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 xt({ segments: e = [], title: t, "data-testid": r }) {
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: K,
1932
- height: q
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, K, q);
1937
+ let n = _(t, q, J);
1938
1938
  o.current = 0;
1939
- let r = K * .5, a = q * .54, s = K * .22, c = e.reduce((e, t) => e + t.count, 0), p = Math.max(...e.map((e) => e.count), 1), g, x = () => {
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, K, q), h.current = [], l.current.forEach((e, t) => {
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, K, q, 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 = bt[e.status] ?? u.blue, h = 2 + e.count / p * 8;
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 = bt[e.status] ?? u.blue, _ = 10 + e.count / p * 18, y = l.current.get(e.status) ?? 0;
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, K, q, t, .015), g = requestAnimationFrame(x);
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: K,
1978
- height: q
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: K,
1986
- height: q,
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: K,
1993
- parentH: q
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 J = 280, Y = 96;
2000
- function St({ points: e = [], className: t, colors: r }) {
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: J,
2009
- height: Y
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, J, Y);
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, J, Y), p.length < 2) {
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 = J - r.left - r.right, l = Y - 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, Y - r.bottom), t.lineTo(J - r.right, Y - 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), Y - 4);
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: J,
2067
- height: Y
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: J,
2075
- height: Y,
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: J,
2082
- parentH: Y
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 Ct = 680, wt = 8, Tt = 26, Et = 14, Dt = 16, Ot = 32;
2090
- function kt({ 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, wt), [e, h]), b = Dt + Ot + y.length * (Tt + Et) - Et, { hoveredRef: x, tooltip: w, hitZonesRef: E } = C(r, {
2092
- width: Ct,
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, Ct, b);
2098
+ let t = _(e, St, b);
2099
2099
  f.current = 0;
2100
- let n = Dt, i = Ot, a = Tt, o = Et, s = Ct - 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 = () => {
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, Ct, b);
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: Ct },
2136
+ style: { width: St },
2137
2137
  children: [/* @__PURE__ */ c("div", {
2138
2138
  style: {
2139
2139
  position: "relative",
2140
- width: Ct,
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: Ct,
2148
+ width: St,
2149
2149
  height: b,
2150
2150
  display: "block"
2151
2151
  }
2152
2152
  }), /* @__PURE__ */ s(S, {
2153
2153
  ...w,
2154
- parentW: Ct,
2154
+ parentW: St,
2155
2155
  parentH: b
2156
2156
  })]
2157
- }), e.length > wt && /* @__PURE__ */ s("div", {
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 At = 800, jt = 360;
2169
- function Mt({ contractors: e = [], "data-testid": t }) {
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: At,
2172
- height: jt
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, At, jt);
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 = jt - 20 - 26, h = f - 6 * (e.length - 1), g = 20, y = e.map((e, t) => {
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, At, jt);
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
- Nt(n, c.x + 110, h, 420 - 110 / 2, b, _ * l, c.color, T), Nt(n, c.x + 110, g, 420 - 110 / 2, C, v * l, c.color, T * .75);
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
- Nt(n, 475, w.cy, 720 - 110 / 2, t, x * e, u.blue, .25 * e), Nt(n, 475, D.cy, 720 - 110 / 2, i, S * e, u.amber, .22 * e);
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, jt - 8);
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: At,
2253
- height: jt
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: At,
2261
- height: jt,
2260
+ width: kt,
2261
+ height: At,
2262
2262
  display: "block"
2263
2263
  }
2264
2264
  }), /* @__PURE__ */ s(S, {
2265
2265
  ...f,
2266
- parentW: At,
2267
- parentH: jt
2266
+ parentW: kt,
2267
+ parentH: At
2268
2268
  })]
2269
2269
  });
2270
2270
  }
2271
- function Nt(e, t, n, r, i, a, o, s) {
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 Pt({ config: e, className: t }) {
2278
- return e.type === "line" ? /* @__PURE__ */ s(Le, {
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(qe, {
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(qe, {
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(it, {
2295
+ }) : e.type === "sankey" ? /* @__PURE__ */ s(rt, {
2296
2296
  rows: e.rows,
2297
2297
  className: t
2298
- }) : e.type === "flow" ? /* @__PURE__ */ s(rt, {
2298
+ }) : e.type === "flow" ? /* @__PURE__ */ s(nt, {
2299
2299
  selectedEntity: e.selectedEntity,
2300
2300
  className: t
2301
- }) : e.type === "trend" ? /* @__PURE__ */ s(St, {
2301
+ }) : e.type === "trend" ? /* @__PURE__ */ s(xt, {
2302
2302
  points: e.points,
2303
2303
  className: t
2304
- }) : e.type === "mini-bars" ? /* @__PURE__ */ s(Be, {
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(xt, {
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(Ie, { categories: e.categories }) : e.type === "contractor-rank" ? /* @__PURE__ */ s(Fe, { contractors: e.contractors }) : e.type === "severity-bands" ? /* @__PURE__ */ s(yt, { severities: e.severities }) : e.type === "nce-tree" ? /* @__PURE__ */ s(Ue, {
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(kt, { contractors: e.contractors }) : e.type === "quotation-balance" ? /* @__PURE__ */ s(st, {
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(lt, { trend: e.trend }) : e.type === "trend-view" ? /* @__PURE__ */ s(gt, { trend: e.trend }) : e.type === "weekly-flow" ? /* @__PURE__ */ s(Mt, { contractors: e.contractors }) : /* @__PURE__ */ s("div", {
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 Ft = [];
2328
- function It(e) {
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 Lt() {
2336
- for (; Ft.length;) {
2337
- let e = Ft.pop();
2335
+ function It() {
2336
+ for (; Pt.length;) {
2337
+ let e = Pt.pop();
2338
2338
  e && e.unmount();
2339
2339
  }
2340
2340
  }
2341
- function Rt() {
2342
- Lt(), document.querySelectorAll("[data-d3-viz]").forEach((t) => {
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 = It(n);
2345
+ let r = Ft(n);
2346
2346
  if (!r) return;
2347
2347
  let i = e(t);
2348
- Ft.push(i), i.render(/* @__PURE__ */ s(Pt, { config: r }));
2348
+ Pt.push(i), i.render(/* @__PURE__ */ s(Nt, { config: r }));
2349
2349
  });
2350
2350
  }
2351
- function zt(e) {
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 Bt({ rows: e = [], className: t, colors: n }) {
2357
- return /* @__PURE__ */ s(qe, {
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 X = {
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
- }, Z = "'JetBrains Mono', monospace", Q = "'Satoshi Variable', 'DM Sans', sans-serif", Vt = {
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 Ht({ chips: e = [] }) {
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: X.bg,
2405
- border: `1px solid ${X.border}`,
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
- ...Vt,
2412
- color: e.color ?? X.t1
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 Ut({ items: e = [] }) {
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: "12px 16px",
2436
- border: `1px solid ${X.border}`,
2437
- background: X.bg,
2438
- textAlign: "left",
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
- ...Vt,
2444
- color: e.color ?? X.t1
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 Wt({ items: e = [] }) {
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: X.bg,
2471
- border: `1px solid ${X.border}`,
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: 11,
2478
+ fontSize: 14,
2479
2479
  fontWeight: 600,
2480
- color: e.color ?? X.t2,
2481
- background: (e.color ?? X.t2) + "22",
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
- ...Vt,
2492
- color: e.color ?? X.t1,
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 Gt({ items: e = [] }) {
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: "14px 16px",
2520
- background: X.bg,
2521
- border: `1px solid ${e.color ? e.color + "30" : X.border}`,
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
- ...Vt,
2527
- color: e.color ?? X.t1
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 Kt = {
2541
- red: X.red,
2542
- amber: X.amber,
2543
- green: X.green
2543
+ var Gt = {
2544
+ red: Z.red,
2545
+ amber: Z.amber,
2546
+ green: Z.green
2544
2547
  };
2545
- function qt({ items: e = [] }) {
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 = Kt[e.severity];
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 ${X.border}`
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 Jt({ min: e, max: t, unit: n, dots: r = [], chips: i = [] }) {
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: 9,
2602
- color: X.t4,
2603
- fontFamily: Z
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: 9,
2613
- color: X.t4,
2614
- fontFamily: Z
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: 9,
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: 9,
2646
+ fontSize: 14,
2644
2647
  fontWeight: 700,
2645
2648
  color: o,
2646
- fontFamily: Z,
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: 9,
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: 9,
2678
+ fontSize: 14,
2676
2679
  fontWeight: 700,
2677
2680
  color: o,
2678
- fontFamily: Z,
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(Ht, { chips: i })] });
2691
+ }), i && i.length > 0 && /* @__PURE__ */ s(Vt, { chips: i })] });
2689
2692
  }
2690
- function Yt({ leftPct: e, leftLabel: t, leftValue: n, leftColor: r, rightPct: i, rightLabel: a, rightValue: o, rightColor: l, chips: d }) {
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: 12,
2716
+ fontSize: 14,
2714
2717
  fontWeight: 700,
2715
2718
  color: f,
2716
- fontFamily: Z
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: 12,
2739
+ fontSize: 14,
2737
2740
  fontWeight: 700,
2738
2741
  color: p,
2739
- fontFamily: Z
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: 10,
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: 10,
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(Ht, { chips: d })
2787
+ d && d.length > 0 && /* @__PURE__ */ s(Vt, { chips: d })
2785
2788
  ] });
2786
2789
  }
2787
- function Xt({ pct: e, label: t, color: n, chips: r }) {
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: 15,
2837
+ fontSize: 14,
2835
2838
  fontWeight: 700,
2836
2839
  color: i,
2837
- fontFamily: Z
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: X.bg,
2863
- border: `1px solid ${X.border}`,
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
- ...Vt,
2869
- color: e.color ?? X.t1
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 Zt = {
2884
+ var Xt = {
2882
2885
  green: "#34D39918",
2883
2886
  amber: "#FBBF2418",
2884
2887
  red: "#F0606018"
2885
- }, Qt = {
2888
+ }, Zt = {
2886
2889
  green: "#34D399",
2887
2890
  amber: "#FBBF24",
2888
2891
  red: "#F06060"
2889
2892
  };
2890
- function $t({ items: e = [] }) {
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: X.bg,
2904
- border: `1px solid ${X.border}`
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: 11,
2912
+ fontSize: 14,
2910
2913
  fontWeight: 600,
2911
- color: e.color ?? X.t2,
2912
- background: (e.color ?? X.t2) + "1A",
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 ?? X.t2,
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: 13,
2943
+ fontSize: 14,
2941
2944
  fontWeight: 700,
2942
- color: e.color ?? X.t1,
2943
- fontFamily: Z,
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: 10,
2955
+ fontSize: 14,
2953
2956
  fontWeight: 600,
2954
- color: Qt[e.badgeSeverity],
2955
- background: Zt[e.badgeSeverity],
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 en = {
2979
- red: X.red,
2980
- amber: X.amber,
2981
- green: X.green
2981
+ var $t = {
2982
+ red: Z.red,
2983
+ amber: Z.amber,
2984
+ green: Z.green
2982
2985
  };
2983
- function tn({ items: e = [] }) {
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 = en[e.severity];
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: 10,
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 nn({ columns: e = [], rows: t = [] }) {
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 ${X.border}`
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: 9,
3066
+ fontSize: 14,
3064
3067
  fontWeight: 600,
3065
- color: X.t2,
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: X.bg,
3079
- border: `1px solid ${X.border}`
3081
+ background: Z.bg,
3082
+ border: `1px solid ${Z.border}`
3080
3083
  },
3081
3084
  children: [/* @__PURE__ */ s("span", {
3082
3085
  style: {
3083
- fontSize: 11,
3086
+ fontSize: 14,
3084
3087
  fontWeight: 600,
3085
- color: X.t2,
3086
- background: (e.color ?? X.t4) + "1A",
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: 13,
3101
+ fontSize: 14,
3099
3102
  fontWeight: 700,
3100
- color: e.color ?? X.t1,
3101
- fontFamily: Z
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 rn({ text: e }) {
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 an({ block: e }) {
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(Ut, { items: e.items });
3138
- case "ranked": return /* @__PURE__ */ s(Wt, { items: e.items });
3139
- case "chips": return /* @__PURE__ */ s(Gt, { items: e.items });
3140
- case "badges": return /* @__PURE__ */ s(qt, { items: e.items });
3141
- case "dot-strip": return /* @__PURE__ */ s(Jt, {
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(Yt, {
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(Xt, {
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($t, { items: e.items });
3166
- case "flags-list": return /* @__PURE__ */ s(tn, { items: e.items });
3167
- case "comparison-rows": return /* @__PURE__ */ s(nn, {
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(rn, { text: e.takeaway })]
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, Bt as DonutChart, an as KeyHighlights, Le as LineChart, Be as MiniBars, qe as PieChart, rt as ProcessSankey, it as RankingSankey, Ye as SankeySvg, te as SeriesChart, gt as Trend, St as TrendChart, Pt as VisualizationRenderer, Lt as cleanupVisualizationMounts, Rt as hydrateVisualizationMounts, zt as serializeVisualizationConfig };
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 };