chordia-ui 3.8.8 → 3.9.0

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.
Files changed (51) hide show
  1. package/dist/AgentLiftAnalysisCard.cjs.js +10 -0
  2. package/dist/AgentLiftAnalysisCard.cjs.js.map +1 -0
  3. package/dist/AgentLiftAnalysisCard.es.js +678 -0
  4. package/dist/AgentLiftAnalysisCard.es.js.map +1 -0
  5. package/dist/DataTable2.cjs.js +1 -1
  6. package/dist/DataTable2.cjs.js.map +1 -1
  7. package/dist/DataTable2.es.js +3 -2
  8. package/dist/DataTable2.es.js.map +1 -1
  9. package/dist/PerformancePanel.cjs.js +1 -1
  10. package/dist/PerformancePanel.cjs.js.map +1 -1
  11. package/dist/PerformancePanel.es.js +414 -347
  12. package/dist/PerformancePanel.es.js.map +1 -1
  13. package/dist/SideDrawer.cjs.js +1 -1
  14. package/dist/SideDrawer.cjs.js.map +1 -1
  15. package/dist/SideDrawer.es.js +93 -706
  16. package/dist/SideDrawer.es.js.map +1 -1
  17. package/dist/components/Signals.cjs.js +1 -1
  18. package/dist/components/Signals.cjs.js.map +1 -1
  19. package/dist/components/Signals.es.js +3 -2
  20. package/dist/components/Signals.es.js.map +1 -1
  21. package/dist/components/UpdatedInteractionDetails.cjs.js +4 -4
  22. package/dist/components/UpdatedInteractionDetails.cjs.js.map +1 -1
  23. package/dist/components/UpdatedInteractionDetails.es.js +539 -543
  24. package/dist/components/UpdatedInteractionDetails.es.js.map +1 -1
  25. package/dist/components/common.cjs.js +1 -1
  26. package/dist/components/common.es.js +17 -16
  27. package/dist/components/common.es.js.map +1 -1
  28. package/dist/components/data.cjs.js +1 -1
  29. package/dist/components/data.cjs.js.map +1 -1
  30. package/dist/components/data.es.js +9 -8
  31. package/dist/components/data.es.js.map +1 -1
  32. package/dist/components/performance.cjs.js +1 -1
  33. package/dist/components/performance.cjs.js.map +1 -1
  34. package/dist/components/performance.es.js +12 -11
  35. package/dist/components/performance.es.js.map +1 -1
  36. package/dist/components/reports.cjs.js +1 -1
  37. package/dist/components/reports.cjs.js.map +1 -1
  38. package/dist/components/reports.es.js +36 -35
  39. package/dist/components/reports.es.js.map +1 -1
  40. package/dist/index.cjs.js +1 -1
  41. package/dist/index.es.js +79 -78
  42. package/dist/index.es.js.map +1 -1
  43. package/dist/pages/interactionDetails.cjs.js +1 -1
  44. package/dist/pages/interactionDetails.cjs.js.map +1 -1
  45. package/dist/pages/interactionDetails.es.js +16 -15
  46. package/dist/pages/interactionDetails.es.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/components/UpdatedInteractionDetails/UpdatedInteractionDetails.jsx +24 -27
  49. package/src/components/common/AgentLiftAnalysisCard.jsx +114 -37
  50. package/src/components/performance/PerformanceDetailsPage.jsx +99 -66
  51. package/src/components/performance/PerformancePanel.jsx +125 -87
@@ -0,0 +1,678 @@
1
+ import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
+ import { useState as R, useRef as _ } from "react";
3
+ import { Info as W, Settings as z } from "lucide-react";
4
+ const E = "chordia-cog-spin-style";
5
+ if (typeof document < "u" && !document.getElementById(E)) {
6
+ const i = document.createElement("style");
7
+ i.id = E, i.textContent = `
8
+ @keyframes chordia-cog-spin {
9
+ from { transform: rotate(0deg); }
10
+ to { transform: rotate(360deg); }
11
+ }
12
+ @media (prefers-reduced-motion: reduce) {
13
+ .chordia-cog-spin { animation: none !important; }
14
+ }
15
+ `, document.head.appendChild(i);
16
+ }
17
+ const n = {
18
+ strong: "var(--Grey-Strong, #2E3236)",
19
+ muted: "var(--Grey-Muted, #808183)",
20
+ faint: "var(--Grey-Faint, #ACADAD)",
21
+ border: "var(--Grey-absent, #D9D9D9)",
22
+ orange: "var(--rail-orange, #C98A5A)",
23
+ // Card surface — warm off-white the Figma frame uses. Falls back to a hex
24
+ // since this specific tone isn't in the existing token set.
25
+ surface: "#FAF9F5",
26
+ // Gauge ring (background semicircle)
27
+ gaugeTrack: "#E3E1D7"
28
+ }, s = "var(--font-sans, 'Averta', ui-sans-serif, system-ui, sans-serif)", v = (i, l, r) => Math.max(l, Math.min(r, i)), A = (i) => {
29
+ const l = v(Number(i) || 0, -1, 1);
30
+ return l >= 0.6 ? "High" : l >= 0.15 ? "Above Average" : l <= -0.6 ? "Low" : l <= -0.15 ? "Below Average" : "Average";
31
+ }, H = (i) => {
32
+ const l = Number(i);
33
+ return !Number.isFinite(l) || Math.abs(l) < 0.05 ? "neutral" : l > 0 ? "positive" : "negative";
34
+ }, k = ({ text: i, children: l, maxWidth: r = 280 }) => {
35
+ const [t, o] = R(!1), a = _(null), [c, g] = R({ top: 0, left: 0 });
36
+ return i ? /* @__PURE__ */ d(
37
+ "div",
38
+ {
39
+ ref: a,
40
+ style: { position: "relative", display: "inline-flex" },
41
+ onMouseEnter: () => {
42
+ if (a.current) {
43
+ const h = a.current.getBoundingClientRect();
44
+ g({
45
+ top: h.bottom + 6,
46
+ left: h.left + h.width / 2
47
+ });
48
+ }
49
+ o(!0);
50
+ },
51
+ onMouseLeave: () => o(!1),
52
+ children: [
53
+ l,
54
+ t && /* @__PURE__ */ e(
55
+ "div",
56
+ {
57
+ style: {
58
+ position: "fixed",
59
+ top: c.top,
60
+ left: c.left,
61
+ transform: "translate(-50%, 0)",
62
+ maxWidth: r,
63
+ padding: "8px 12px",
64
+ borderRadius: 6,
65
+ border: "1px solid var(--Grey-absent, #D9D9D9)",
66
+ background: "var(--Grey-Strong, #2E3236)",
67
+ color: "#FFF",
68
+ fontFamily: s,
69
+ fontSize: 12,
70
+ fontWeight: 400,
71
+ lineHeight: 1.4,
72
+ boxShadow: "0 4px 12px rgba(0, 0, 0, 0.15)",
73
+ zIndex: 9999,
74
+ pointerEvents: "none",
75
+ whiteSpace: "normal",
76
+ textAlign: "left"
77
+ },
78
+ children: i
79
+ }
80
+ )
81
+ ]
82
+ }
83
+ ) : l;
84
+ }, $ = ({ value: i = 0, highlight: l = null }) => {
85
+ const m = v(Number(i) || 0, -1, 1) * (Math.PI / 2), b = 60 + 38 * Math.sin(m), x = 56 - 38 * Math.cos(m);
86
+ let u = null;
87
+ if (l != null) {
88
+ const p = v(Number(l) || 0, -1, 1);
89
+ if (p !== 0) {
90
+ const f = p * (Math.PI / 2), C = 60, T = 56 - 26.65, L = 60 + 26.65 * Math.sin(f), N = 56 - 26.65 * Math.cos(f), F = p > 0 ? 1 : 0;
91
+ u = `M ${C} ${T} A ${26.65} ${26.65} 0 0 ${F} ${L} ${N}`;
92
+ }
93
+ }
94
+ return (
95
+ // viewBox is 120×80 but the visible dial only occupies the top ~56px
96
+ // (half-circle centred at cy=56). `marginBottom: -24` pulls the
97
+ // following element up by the unused bottom band so the gauge column
98
+ // doesn't reserve that empty space in the flow — matches Figma's
99
+ // `mb-[-30px]` on the gauge wrapper and keeps the Outcome column's
100
+ // bottom-anchored percent block from being pushed too far down.
101
+ /* @__PURE__ */ d(
102
+ "svg",
103
+ {
104
+ width: "120",
105
+ height: "80",
106
+ viewBox: "0 0 120 80",
107
+ role: "img",
108
+ "aria-hidden": "true",
109
+ style: { marginBottom: -20, display: "block" },
110
+ children: [
111
+ /* @__PURE__ */ e(
112
+ "path",
113
+ {
114
+ d: `M ${60 - 26.65} 56 A ${26.65} ${26.65} 0 0 1 ${60 + 26.65} 56`,
115
+ fill: "none",
116
+ stroke: n.gaugeTrack,
117
+ strokeWidth: 28.7,
118
+ strokeLinecap: "butt"
119
+ }
120
+ ),
121
+ u && /* @__PURE__ */ e(
122
+ "path",
123
+ {
124
+ d: u,
125
+ fill: "none",
126
+ stroke: n.strong,
127
+ strokeWidth: 28.7,
128
+ strokeLinecap: "butt"
129
+ }
130
+ ),
131
+ /* @__PURE__ */ e(
132
+ "text",
133
+ {
134
+ x: 60,
135
+ y: 56 - 41 - 4,
136
+ textAnchor: "middle",
137
+ fontSize: "13",
138
+ fontFamily: s,
139
+ fill: n.orange,
140
+ children: "0"
141
+ }
142
+ ),
143
+ /* @__PURE__ */ e(
144
+ "text",
145
+ {
146
+ x: 60 - 41 - 9,
147
+ y: 56 + 5,
148
+ textAnchor: "middle",
149
+ fontSize: "14",
150
+ fontFamily: s,
151
+ fill: n.strong,
152
+ children: "−"
153
+ }
154
+ ),
155
+ /* @__PURE__ */ e(
156
+ "text",
157
+ {
158
+ x: 60 + 41 + 9,
159
+ y: 56 + 5,
160
+ textAnchor: "middle",
161
+ fontSize: "14",
162
+ fontFamily: s,
163
+ fill: n.strong,
164
+ children: "+"
165
+ }
166
+ ),
167
+ /* @__PURE__ */ e(
168
+ "line",
169
+ {
170
+ x1: 60,
171
+ y1: 56,
172
+ x2: b,
173
+ y2: x,
174
+ stroke: n.orange,
175
+ strokeWidth: 2,
176
+ strokeLinecap: "round"
177
+ }
178
+ ),
179
+ /* @__PURE__ */ e("circle", { cx: 60, cy: 56, r: 2.5, fill: n.orange })
180
+ ]
181
+ }
182
+ )
183
+ );
184
+ }, S = ({
185
+ title: i,
186
+ value: l,
187
+ highlight: r,
188
+ centerLabel: t,
189
+ centerLabelColor: o,
190
+ sublabel: a,
191
+ footer: c,
192
+ description: g
193
+ }) => /* @__PURE__ */ d(
194
+ "div",
195
+ {
196
+ style: {
197
+ flex: 1,
198
+ minWidth: 0,
199
+ display: "flex",
200
+ flexDirection: "column",
201
+ alignItems: "center",
202
+ gap: 10
203
+ },
204
+ children: [
205
+ /* @__PURE__ */ e(
206
+ "div",
207
+ {
208
+ style: {
209
+ minHeight: 40,
210
+ display: "flex",
211
+ alignItems: "center",
212
+ justifyContent: "center",
213
+ width: "100%"
214
+ },
215
+ children: /* @__PURE__ */ e(
216
+ "span",
217
+ {
218
+ style: {
219
+ fontFamily: s,
220
+ fontSize: 14,
221
+ fontWeight: 400,
222
+ color: n.strong,
223
+ lineHeight: "20px",
224
+ textAlign: "center",
225
+ width: "100%"
226
+ },
227
+ children: i
228
+ }
229
+ )
230
+ }
231
+ ),
232
+ l == null ? (
233
+ // Gauge swapped for an em-dash placeholder when the API ships no
234
+ // numeric value for this column. Same 60px height as the gauge SVG
235
+ // (after its -20 negative margin) so the columns stay aligned.
236
+ /* @__PURE__ */ e(
237
+ "div",
238
+ {
239
+ style: {
240
+ width: 120,
241
+ height: 60,
242
+ display: "flex",
243
+ alignItems: "center",
244
+ justifyContent: "center",
245
+ marginBottom: -20
246
+ },
247
+ children: /* @__PURE__ */ e(
248
+ "span",
249
+ {
250
+ style: {
251
+ fontFamily: s,
252
+ fontSize: 28,
253
+ fontWeight: 400,
254
+ color: n.muted,
255
+ lineHeight: 1
256
+ },
257
+ children: "—"
258
+ }
259
+ )
260
+ }
261
+ )
262
+ ) : /* @__PURE__ */ e($, { value: l, highlight: r }),
263
+ /* @__PURE__ */ d(
264
+ "div",
265
+ {
266
+ style: {
267
+ display: "flex",
268
+ flexDirection: "column",
269
+ alignItems: "center",
270
+ gap: 4,
271
+ width: "100%"
272
+ },
273
+ children: [
274
+ /* @__PURE__ */ e(
275
+ "span",
276
+ {
277
+ style: {
278
+ fontFamily: s,
279
+ // Figma 1463:4261 spec: 14px Averta-Semibold, Neutral/850
280
+ // (#272727) for both "Average" and "Above Average".
281
+ fontSize: 14,
282
+ fontWeight: 600,
283
+ color: t ? o || "#272727" : n.muted,
284
+ lineHeight: "normal",
285
+ textAlign: "center"
286
+ },
287
+ children: t || "—"
288
+ }
289
+ ),
290
+ a && /* @__PURE__ */ e(
291
+ "span",
292
+ {
293
+ style: {
294
+ fontFamily: s,
295
+ fontSize: 13,
296
+ fontWeight: 400,
297
+ color: n.muted,
298
+ lineHeight: "normal",
299
+ textAlign: "center",
300
+ width: "100%"
301
+ },
302
+ children: a
303
+ }
304
+ ),
305
+ /* @__PURE__ */ e(
306
+ "span",
307
+ {
308
+ style: {
309
+ fontFamily: s,
310
+ fontSize: 13,
311
+ fontWeight: 400,
312
+ color: c ? n.strong : n.muted,
313
+ lineHeight: "normal",
314
+ textAlign: "center",
315
+ width: "100%"
316
+ },
317
+ children: c || "—"
318
+ }
319
+ ),
320
+ g && /* @__PURE__ */ e(
321
+ "span",
322
+ {
323
+ style: {
324
+ fontFamily: s,
325
+ fontSize: 13,
326
+ fontWeight: 400,
327
+ color: n.muted,
328
+ lineHeight: "normal",
329
+ textAlign: "center",
330
+ width: "100%",
331
+ marginTop: 4
332
+ },
333
+ children: g
334
+ }
335
+ )
336
+ ]
337
+ }
338
+ )
339
+ ]
340
+ }
341
+ ), M = ({
342
+ percent: i,
343
+ label: l,
344
+ totalLabel: r = "Total",
345
+ description: t,
346
+ status: o
347
+ }) => {
348
+ const a = (o == null ? void 0 : o.label) ?? l;
349
+ return (
350
+ // Top-aligned stack — pill → percent → Total / description, all hugging
351
+ // the top of the column with the root `gap: 16` between them. The row
352
+ // still uses `align-items: stretch` so the column visually fills the
353
+ // row height, but any leftover space falls to the BOTTOM of the column
354
+ // (after the description) rather than being distributed between the
355
+ // pill and the percent. This keeps the Outcome content tight even
356
+ // when the gauge columns are taller, matching the visual rhythm
357
+ // requested in the latest review.
358
+ /* @__PURE__ */ d(
359
+ "div",
360
+ {
361
+ style: {
362
+ flex: 1,
363
+ minWidth: 0,
364
+ display: "flex",
365
+ flexDirection: "column",
366
+ alignItems: "center",
367
+ justifyContent: "flex-start",
368
+ gap: 16
369
+ },
370
+ children: [
371
+ a && /* @__PURE__ */ e(
372
+ "div",
373
+ {
374
+ style: {
375
+ minHeight: 40,
376
+ display: "flex",
377
+ alignItems: "center",
378
+ justifyContent: "center",
379
+ width: "100%"
380
+ },
381
+ children: /* @__PURE__ */ e(
382
+ "span",
383
+ {
384
+ style: {
385
+ fontFamily: s,
386
+ fontSize: 14,
387
+ fontWeight: 600,
388
+ color: n.strong,
389
+ lineHeight: "normal",
390
+ whiteSpace: "nowrap"
391
+ },
392
+ children: a
393
+ }
394
+ )
395
+ }
396
+ ),
397
+ /* @__PURE__ */ d(
398
+ "div",
399
+ {
400
+ style: {
401
+ display: "flex",
402
+ flexDirection: "column",
403
+ alignItems: "center",
404
+ gap: 20,
405
+ width: "100%"
406
+ },
407
+ children: [
408
+ /* @__PURE__ */ e(
409
+ "span",
410
+ {
411
+ style: {
412
+ fontFamily: s,
413
+ fontSize: 34,
414
+ fontWeight: 400,
415
+ color: n.strong,
416
+ lineHeight: 1.2,
417
+ textAlign: "center",
418
+ whiteSpace: "nowrap"
419
+ },
420
+ children: i != null ? `${i}%` : "—"
421
+ }
422
+ ),
423
+ /* @__PURE__ */ d(
424
+ "div",
425
+ {
426
+ style: {
427
+ display: "flex",
428
+ flexDirection: "column",
429
+ alignItems: "center",
430
+ gap: 4,
431
+ width: "100%"
432
+ },
433
+ children: [
434
+ r && /* @__PURE__ */ e(
435
+ "span",
436
+ {
437
+ style: {
438
+ fontFamily: s,
439
+ fontSize: 14,
440
+ fontWeight: 600,
441
+ color: "#272727",
442
+ lineHeight: "normal",
443
+ textAlign: "center",
444
+ whiteSpace: "nowrap"
445
+ },
446
+ children: r
447
+ }
448
+ ),
449
+ t && /* @__PURE__ */ e(
450
+ "span",
451
+ {
452
+ style: {
453
+ fontFamily: s,
454
+ fontSize: 13,
455
+ fontWeight: 400,
456
+ color: n.muted,
457
+ lineHeight: "normal",
458
+ textAlign: "center",
459
+ width: "100%"
460
+ },
461
+ children: t
462
+ }
463
+ )
464
+ ]
465
+ }
466
+ )
467
+ ]
468
+ }
469
+ )
470
+ ]
471
+ }
472
+ )
473
+ );
474
+ }, w = ({ variant: i = "dashed" }) => /* @__PURE__ */ e(
475
+ "div",
476
+ {
477
+ "aria-hidden": "true",
478
+ style: {
479
+ width: 0,
480
+ alignSelf: "stretch",
481
+ borderLeft: `1px ${i} ${n.border}`,
482
+ flexShrink: 0
483
+ }
484
+ }
485
+ ), O = () => /* @__PURE__ */ d(
486
+ "div",
487
+ {
488
+ style: {
489
+ flex: 1,
490
+ minWidth: 0,
491
+ display: "flex",
492
+ flexDirection: "column",
493
+ alignItems: "center",
494
+ justifyContent: "center",
495
+ gap: 16,
496
+ padding: "0 8px"
497
+ },
498
+ children: [
499
+ /* @__PURE__ */ e(
500
+ z,
501
+ {
502
+ size: 28,
503
+ color: n.orange,
504
+ strokeWidth: 2,
505
+ className: "chordia-cog-spin",
506
+ "aria-hidden": "true",
507
+ style: {
508
+ animation: "chordia-cog-spin 4s linear infinite",
509
+ transformOrigin: "50% 50%",
510
+ willChange: "transform"
511
+ }
512
+ }
513
+ ),
514
+ /* @__PURE__ */ e(
515
+ "span",
516
+ {
517
+ style: {
518
+ fontFamily: s,
519
+ fontSize: 14,
520
+ fontWeight: 400,
521
+ color: n.strong,
522
+ lineHeight: 1.2,
523
+ textAlign: "center",
524
+ maxWidth: 120
525
+ },
526
+ children: "Compass is Learning..."
527
+ }
528
+ )
529
+ ]
530
+ }
531
+ ), P = ({
532
+ title: i = "Agent Lift Analysis",
533
+ status: l,
534
+ interactionDifficulty: r,
535
+ agentImpact: t,
536
+ outcome: o,
537
+ showInfoIcon: a = !0,
538
+ onInfoClick: c,
539
+ // Tooltip text rendered on hover of the (i) icon next to the card
540
+ // title. The default explains what this section measures; hosts can
541
+ // override per-context if needed.
542
+ infoTooltip: g = "Measures the agent's contribution to the call outcome by comparing actual performance against the expected result for similar calls."
543
+ }) => {
544
+ const y = Number(r == null ? void 0 : r.value) || 0, h = Number(t == null ? void 0 : t.value) || 0, m = (r == null ? void 0 : r.label) ?? A(y), b = (t == null ? void 0 : t.label) ?? A(h), x = "#272727", u = (() => {
545
+ if ((t == null ? void 0 : t.impactPercent) == null)
546
+ return;
547
+ const f = Number(t.impactPercent);
548
+ if (Number.isFinite(f))
549
+ return `${f < 0 ? "-" : ""}${Math.abs(f)}% Score impact`;
550
+ })(), p = l ?? {
551
+ label: o == null ? void 0 : o.label,
552
+ direction: t != null ? H(h) : "positive"
553
+ };
554
+ return /* @__PURE__ */ d(
555
+ "div",
556
+ {
557
+ style: {
558
+ display: "flex",
559
+ flexDirection: "column",
560
+ gap: 16,
561
+ padding: "24px 16px",
562
+ background: n.surface,
563
+ border: `1px solid ${n.border}`,
564
+ borderRadius: 8,
565
+ width: "100%",
566
+ boxSizing: "border-box"
567
+ },
568
+ children: [
569
+ /* @__PURE__ */ d(
570
+ "div",
571
+ {
572
+ style: {
573
+ display: "flex",
574
+ alignItems: "center",
575
+ gap: 6,
576
+ width: "100%"
577
+ },
578
+ children: [
579
+ /* @__PURE__ */ e(
580
+ "span",
581
+ {
582
+ style: {
583
+ fontFamily: s,
584
+ fontSize: 15,
585
+ fontWeight: 700,
586
+ color: n.strong,
587
+ lineHeight: 1.2,
588
+ whiteSpace: "nowrap"
589
+ },
590
+ children: i
591
+ }
592
+ ),
593
+ a && /* @__PURE__ */ e(k, { text: g, children: /* @__PURE__ */ e(
594
+ "button",
595
+ {
596
+ type: "button",
597
+ onClick: c,
598
+ "aria-label": "About Agent Lift Analysis",
599
+ style: {
600
+ display: "inline-flex",
601
+ alignItems: "center",
602
+ justifyContent: "center",
603
+ width: 16,
604
+ height: 16,
605
+ padding: 0,
606
+ border: "none",
607
+ background: "transparent",
608
+ // Pointer cursor whenever the (i) has something to surface —
609
+ // a tooltip on hover or a click handler. Since `infoTooltip`
610
+ // defaults to a non-empty string, the icon almost always
611
+ // reads as interactive.
612
+ cursor: g || c ? "pointer" : "default",
613
+ color: n.muted
614
+ },
615
+ children: /* @__PURE__ */ e(W, { size: 16, strokeWidth: 1.75 })
616
+ }
617
+ ) })
618
+ ]
619
+ }
620
+ ),
621
+ /* @__PURE__ */ d(
622
+ "div",
623
+ {
624
+ style: {
625
+ display: "flex",
626
+ alignItems: "stretch",
627
+ gap: 16,
628
+ width: "100%"
629
+ },
630
+ children: [
631
+ r && /* @__PURE__ */ e(
632
+ S,
633
+ {
634
+ title: "Interaction Difficulty",
635
+ value: y,
636
+ highlight: null,
637
+ centerLabel: m,
638
+ centerLabelColor: x,
639
+ sublabel: r.sublabel,
640
+ footer: r.footer
641
+ }
642
+ ),
643
+ r && t && /* @__PURE__ */ e(w, { variant: "dashed" }),
644
+ t && (t.isLearning ? /* @__PURE__ */ e(O, {}) : /* @__PURE__ */ e(
645
+ S,
646
+ {
647
+ title: "Agent Impact",
648
+ value: h,
649
+ highlight: h,
650
+ centerLabel: b,
651
+ centerLabelColor: x,
652
+ sublabel: t.sublabel,
653
+ footer: u,
654
+ description: t.description
655
+ }
656
+ )),
657
+ (r || t) && o && /* @__PURE__ */ e(w, { variant: "solid" }),
658
+ o && /* @__PURE__ */ e(
659
+ M,
660
+ {
661
+ percent: o.percent,
662
+ label: o.label,
663
+ totalLabel: o.totalLabel ?? "Total",
664
+ description: o.description,
665
+ status: p
666
+ }
667
+ )
668
+ ]
669
+ }
670
+ )
671
+ ]
672
+ }
673
+ );
674
+ };
675
+ export {
676
+ P as A
677
+ };
678
+ //# sourceMappingURL=AgentLiftAnalysisCard.es.js.map