@snksergio/design-system 0.44.0 → 0.45.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 (45) hide show
  1. package/dist-lib/chunks/app-shell-mocks-kWIVSzLs.mjs.map +1 -1
  2. package/dist-lib/chunks/app-shell-mocks-oO_IV3Gw.cjs.map +1 -1
  3. package/dist-lib/chunks/avatar-DFWEwBKu.mjs.map +1 -1
  4. package/dist-lib/chunks/avatar-eM5txRFZ.cjs.map +1 -1
  5. package/dist-lib/chunks/chat-v2-mocks-BV9Wha_Z.cjs.map +1 -1
  6. package/dist-lib/chunks/chat-v2-mocks-DvZRkhmz.mjs.map +1 -1
  7. package/dist-lib/chunks/page-header--cPS_Z-a.mjs.map +1 -1
  8. package/dist-lib/chunks/page-header-DvAJoEfb.cjs.map +1 -1
  9. package/dist-lib/chunks/{panel-CvfP8eP1.cjs → panel-4aMDou7z.cjs} +17 -6
  10. package/dist-lib/chunks/panel-4aMDou7z.cjs.map +1 -0
  11. package/dist-lib/chunks/{panel-CCPe1H70.mjs → panel-DtQi10ps.mjs} +17 -6
  12. package/dist-lib/chunks/panel-DtQi10ps.mjs.map +1 -0
  13. package/dist-lib/chunks/sheet-D1vQth7X.mjs.map +1 -1
  14. package/dist-lib/chunks/sheet-j-d_UX7R.cjs.map +1 -1
  15. package/dist-lib/chunks/toggle-group-BC4eS3Gt.cjs.map +1 -1
  16. package/dist-lib/chunks/toggle-group-CFiAGdm7.mjs.map +1 -1
  17. package/dist-lib/chunks/useTheme-C9Y6vxTf.cjs.map +1 -1
  18. package/dist-lib/chunks/useTheme-DCmzLBUR.mjs.map +1 -1
  19. package/dist-lib/index.cjs +161 -93
  20. package/dist-lib/index.cjs.map +1 -1
  21. package/dist-lib/index.mjs +163 -95
  22. package/dist-lib/index.mjs.map +1 -1
  23. package/dist-lib/preview/chat.cjs.map +1 -1
  24. package/dist-lib/preview/chat.mjs.map +1 -1
  25. package/dist-lib/preview/clientes.cjs +1 -1
  26. package/dist-lib/preview/clientes.mjs +1 -1
  27. package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.d.ts.map +1 -1
  28. package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.styles.d.ts +24 -6
  29. package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.styles.d.ts.map +1 -1
  30. package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.types.d.ts +11 -2
  31. package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.types.d.ts.map +1 -1
  32. package/dist-lib/src/components/ui/FormField/form-field-select.d.ts.map +1 -1
  33. package/dist-lib/src/components/ui/MessageBubble/message-bubble.d.ts.map +1 -1
  34. package/dist-lib/src/components/ui/MessageBubble/message-bubble.styles.d.ts.map +1 -1
  35. package/dist-lib/src/components/ui/MessageComposer/message-composer.styles.d.ts +9 -3
  36. package/dist-lib/src/components/ui/MessageComposer/message-composer.styles.d.ts.map +1 -1
  37. package/dist-lib/theme/brand-blue.css +110 -110
  38. package/dist-lib/theme/brand-green.css +110 -110
  39. package/dist-lib/theme/brand-pay.css +189 -189
  40. package/dist-lib/theme/brand-vibrant.css +148 -148
  41. package/dist-lib/tokens.cjs.map +1 -1
  42. package/dist-lib/tokens.mjs.map +1 -1
  43. package/package.json +4 -2
  44. package/dist-lib/chunks/panel-CCPe1H70.mjs.map +0 -1
  45. package/dist-lib/chunks/panel-CvfP8eP1.cjs.map +0 -1
@@ -1,8 +1,8 @@
1
- import { g as getContrastTextColor, a as FormField, e as Avatar, i as isFilterEntryActive, f as FilterPopover, T as ToolbarToolButton, h as ButtonGroup, j as ToolbarSimpleFilterDrawer, k as TableToolbar, l as ToolbarActions, m as ToolbarFilterButton, n as ToolbarSearch, o as ToolbarApplied, q as ToolbarTabs, r as columnTypeRegistry, L as ListItem, s as List } from "./chunks/panel-CCPe1H70.mjs";
2
- import { t, A, B, u, C, v, w, x, D, y, z, E, G, H, I, J, K, M, d, N, O, Q, R, S, F, b, U, c, V, W, P, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, p, ai, aj, ak, al, am } from "./chunks/panel-CCPe1H70.mjs";
1
+ import { g as getContrastTextColor, a as FormField, e as Avatar, i as isFilterEntryActive, f as FilterPopover, T as ToolbarToolButton, h as ButtonGroup, j as ToolbarSimpleFilterDrawer, k as TableToolbar, l as ToolbarActions, m as ToolbarFilterButton, n as ToolbarSearch, o as ToolbarApplied, q as ToolbarTabs, r as columnTypeRegistry, L as ListItem, s as List } from "./chunks/panel-DtQi10ps.mjs";
2
+ import { t, A, B, u, C, v, w, x, D, y, z, E, G, H, I, J, K, M, d, N, O, Q, R, S, F, b, U, c, V, W, P, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, p, ai, aj, ak, al, am } from "./chunks/panel-DtQi10ps.mjs";
3
3
  import { C as Chip } from "./chunks/useTheme-DCmzLBUR.mjs";
4
4
  import { A as A2, a, b as b2, H as H2, c as c2, d as d2, e, f, g, M as M2, S as S2, h, i, j, k, l, m, n, U as U2, o, p as p2, q, r, s, t as t2, v as v2, w as w2, u as u2 } from "./chunks/useTheme-DCmzLBUR.mjs";
5
- import { t as tv, X as Popover, $ as PopoverTrigger, _ as PopoverContent, B as Button, D as Dialog, x as DialogTrigger, c as cn, p as DialogContent, w as DialogTitle, Y as PopoverAnchor, o as DialogClose, q as DialogDescription, a0 as Tooltip, a3 as TooltipTrigger, a1 as TooltipContent, y as DropdownMenu, Q as DropdownMenuTrigger, E as DropdownMenuContent, L as DropdownMenuSeparator, G as DropdownMenuItem } from "./chunks/avatar-DFWEwBKu.mjs";
5
+ import { t as tv, X as Popover, $ as PopoverTrigger, _ as PopoverContent, B as Button, D as Dialog, x as DialogTrigger, c as cn, p as DialogContent, w as DialogTitle, Y as PopoverAnchor, o as DialogClose, q as DialogDescription, y as DropdownMenu, Q as DropdownMenuTrigger, E as DropdownMenuContent, L as DropdownMenuSeparator, G as DropdownMenuItem } from "./chunks/avatar-DFWEwBKu.mjs";
6
6
  import { R as R2, S as S3, T, U as U3, V as V2, W as W2, z as z2, H as H3, J as J2, K as K2, a9 as a92, a8 as a82 } from "./chunks/avatar-DFWEwBKu.mjs";
7
7
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
8
8
  import * as React from "react";
@@ -3963,9 +3963,14 @@ const messageBubbleStyles = tv({
3963
3963
  mediaVideo: "max-w-full rounded-radius-sm focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-brand",
3964
3964
  mediaAudio: "w-full",
3965
3965
  mediaDoc: [
3966
- "flex items-center gap-gp-md",
3966
+ "flex w-full items-center gap-gp-md text-left",
3967
3967
  "rounded-radius-sm bg-bg-muted",
3968
- "px-pad-lg py-pad-md"
3968
+ "px-pad-lg py-pad-md",
3969
+ // O card INTEIRO e o alvo do clique (ver o docblock do branch
3970
+ // `document`), entao ele precisa do estado de foco e do afeto de hover
3971
+ // que qualquer alvo clicavel tem.
3972
+ "transition-colors hover:bg-bg-subtle",
3973
+ "focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-brand"
3969
3974
  ],
3970
3975
  mediaDocIcon: "shrink-0 text-fg-brand",
3971
3976
  mediaDocInfo: "flex min-w-0 flex-col",
@@ -4103,33 +4108,43 @@ function MessageMediaRenderer({
4103
4108
  }
4104
4109
  )
4105
4110
  ) : null });
4106
- case "document":
4107
- return /* @__PURE__ */ jsxs("div", { className: styles.mediaDoc(), children: [
4108
- /* @__PURE__ */ jsx(
4109
- Icon,
4110
- {
4111
- name: "line-file",
4112
- size: "lg",
4113
- className: styles.mediaDocIcon()
4114
- }
4115
- ),
4116
- /* @__PURE__ */ jsxs("div", { className: styles.mediaDocInfo(), children: [
4117
- /* @__PURE__ */ jsx("span", { className: styles.mediaDocName(), children: body2 || "Documento" }),
4118
- /* @__PURE__ */ jsx("span", { className: styles.mediaDocHint(), children: "Toque para baixar" })
4119
- ] }),
4120
- mediaUrl ? /* @__PURE__ */ jsx(
4121
- Button,
4122
- {
4111
+ case "document": {
4112
+ const abrivel = Boolean(onMediaClick);
4113
+ const Moldura = abrivel ? "button" : "div";
4114
+ return /* @__PURE__ */ jsxs(
4115
+ Moldura,
4116
+ {
4117
+ ...abrivel ? {
4123
4118
  type: "button",
4124
- size: "xs",
4125
- variant: "ghost",
4126
- color: "primary",
4127
- "aria-label": "Baixar documento",
4128
4119
  onClick: onMediaClick,
4129
- children: /* @__PURE__ */ jsx(Icon, { name: "line-download-01", size: "sm" })
4130
- }
4131
- ) : null
4132
- ] });
4120
+ "aria-label": `Abrir documento${body2 ? `: ${body2}` : ""}`
4121
+ } : {},
4122
+ className: styles.mediaDoc(),
4123
+ children: [
4124
+ /* @__PURE__ */ jsx(
4125
+ Icon,
4126
+ {
4127
+ name: "line-file",
4128
+ size: "lg",
4129
+ className: styles.mediaDocIcon()
4130
+ }
4131
+ ),
4132
+ /* @__PURE__ */ jsxs("div", { className: styles.mediaDocInfo(), children: [
4133
+ /* @__PURE__ */ jsx("span", { className: styles.mediaDocName(), children: body2 || "Documento" }),
4134
+ /* @__PURE__ */ jsx("span", { className: styles.mediaDocHint(), children: abrivel ? "Toque para abrir" : "Documento recebido" })
4135
+ ] }),
4136
+ abrivel ? /* @__PURE__ */ jsx(
4137
+ Icon,
4138
+ {
4139
+ name: "line-download-01",
4140
+ size: "sm",
4141
+ className: styles.mediaDocIcon()
4142
+ }
4143
+ ) : null
4144
+ ]
4145
+ }
4146
+ );
4147
+ }
4133
4148
  case "location":
4134
4149
  return mediaUrl ? /* @__PURE__ */ jsxs(
4135
4150
  "a",
@@ -4327,7 +4342,7 @@ const messageComposerStyles = tv({
4327
4342
  },
4328
4343
  state: {
4329
4344
  open: {},
4330
- disabled: { root: "opacity-60" },
4345
+ disabled: { field: "opacity-60" },
4331
4346
  "read-only": {}
4332
4347
  }
4333
4348
  },
@@ -4335,7 +4350,7 @@ const messageComposerStyles = tv({
4335
4350
  // disabled SEMPRE por último (L-006)
4336
4351
  {
4337
4352
  state: "disabled",
4338
- class: { root: "pointer-events-none" }
4353
+ class: { field: "pointer-events-none" }
4339
4354
  }
4340
4355
  ],
4341
4356
  defaultVariants: {
@@ -6529,6 +6544,10 @@ function object(topology, o2) {
6529
6544
  const choroplethStyles = tv({
6530
6545
  slots: {
6531
6546
  root: "relative w-full",
6547
+ // Wrapper do svg + camada de tooltip: garante que o inset-0 da camada
6548
+ // cubra EXATAMENTE a área do mapa (sem ele, a camada cobria root inteiro
6549
+ // — incluindo a legenda — e as % de posição saíam deslocadas).
6550
+ canvas: "relative",
6532
6551
  svg: "block h-auto w-full",
6533
6552
  // Traço das divisas — `fg-muted` (mid-gray VISÍVEL nos DOIS temas: L≈0.50
6534
6553
  // no light, L≈0.70 no dark). `border-default` era L≈0.91 no light → as
@@ -6536,12 +6555,31 @@ const choroplethStyles = tv({
6536
6555
  // ("só 2 pontos"). hover reforça no próprio path (inline).
6537
6556
  path: [
6538
6557
  "stroke-fg-muted",
6539
- "transition-[fill,stroke] duration-150",
6540
- "hover:stroke-fg-brand"
6558
+ "transition-[fill,stroke] duration-150"
6541
6559
  ],
6542
- // Camada de ancoragem do tooltip (não intercepta o mouse).
6560
+ // Realce da região sob hover — uma CÓPIA do path desenhada por cima de
6561
+ // todas as outras. Necessário porque stroke de path SVG é coberto pelos
6562
+ // vizinhos desenhados depois: no próprio path, o contorno nunca fecha a
6563
+ // região inteira ("mal delimitada"). Não intercepta o mouse. Stroke E fill
6564
+ // vão inline, derivados do scaleToken (fg-{token} / bg-{token}) — o
6565
+ // contorno acompanha a família de cor do mapa (amarelo em warning, roxo
6566
+ // em info...), nunca verde fixo.
6567
+ pathHighlight: "pointer-events-none",
6568
+ // Seleção persistente (selectedId) — mesma técnica do hover (cópia por
6569
+ // cima), tinta mais forte pra diferenciar do transitório.
6570
+ pathSelected: "pointer-events-none",
6571
+ // Camada do tooltip (não intercepta o mouse — nem ela nem o filho).
6543
6572
  tooltipLayer: "pointer-events-none absolute inset-0",
6544
- tooltipAnchor: "absolute",
6573
+ // Tooltip PRÓPRIO, não Radix: renderizado dentro da camada acima, segue o
6574
+ // cursor e só troca o conteúdo. O Tooltip do DS portala o conteúdo num
6575
+ // wrapper do popper que captura o mouse — cursor movendo NA DIREÇÃO do
6576
+ // tooltip o alcançava → mouseleave do svg → fecha/reabre em loop (flicker
6577
+ // dependente de direção). Superfície = mesma receita sólida de antes.
6578
+ tooltip: [
6579
+ "pointer-events-none absolute z-10 w-max max-w-[16rem] select-none",
6580
+ "rounded-radius-md border border-border-default bg-bg-surface-elevated",
6581
+ "px-pad-lg py-pad-xs text-caption-sm shadow-sh-lg"
6582
+ ],
6545
6583
  tooltipName: "font-semibold text-fg-default",
6546
6584
  tooltipValue: "text-fg-muted",
6547
6585
  legend: "mt-gp-md flex flex-col gap-gp-xs",
@@ -6559,8 +6597,10 @@ function isFeatureCollection(g2) {
6559
6597
  function normalizeFeatures(geography, topologyObject) {
6560
6598
  if (Array.isArray(geography)) return geography;
6561
6599
  if (isTopology(geography)) {
6562
- if (!topologyObject) return [];
6563
- const obj = geography.objects[topologyObject];
6600
+ const keys = Object.keys(geography.objects);
6601
+ const objectName = topologyObject ?? (keys.length === 1 ? keys[0] : void 0);
6602
+ if (!objectName) return [];
6603
+ const obj = geography.objects[objectName];
6564
6604
  if (!obj) return [];
6565
6605
  const out = topojsonFeature(geography, obj);
6566
6606
  if (out.type === "FeatureCollection") return out.features;
@@ -6588,6 +6628,7 @@ const ChoroplethMap = forwardRef(
6588
6628
  formatValue,
6589
6629
  renderTooltip,
6590
6630
  onFeatureClick,
6631
+ selectedId,
6591
6632
  ariaLabel = "Mapa",
6592
6633
  className
6593
6634
  }, ref) {
@@ -6607,8 +6648,7 @@ const ChoroplethMap = forwardRef(
6607
6648
  const pathGen = geoPath(proj);
6608
6649
  return features.map((f2) => ({
6609
6650
  feature: f2,
6610
- d: pathGen(f2) ?? "",
6611
- centroid: pathGen.centroid(f2)
6651
+ d: pathGen(f2) ?? ""
6612
6652
  }));
6613
6653
  }, [features, projection2, width, height]);
6614
6654
  const getId = (f2) => {
@@ -6628,6 +6668,7 @@ const ChoroplethMap = forwardRef(
6628
6668
  const min = domain ? domain[0] : numeric.length ? Math.min(...numeric) : 0;
6629
6669
  const max = domain ? domain[1] : numeric.length ? Math.max(...numeric) : 0;
6630
6670
  const scaleVar = `var(--color-bg-${scaleToken})`;
6671
+ const strokeVar = `var(--color-fg-${scaleToken})`;
6631
6672
  const surfaceVar = "var(--color-bg-surface)";
6632
6673
  const noDataVar = "var(--color-bg-muted)";
6633
6674
  const fillFor = (value) => {
@@ -6641,69 +6682,96 @@ const ChoroplethMap = forwardRef(
6641
6682
  };
6642
6683
  const fmt = formatValue ?? ((v3) => new Intl.NumberFormat("pt-BR").format(v3));
6643
6684
  const [hover, setHover] = useState(null);
6685
+ const [pos, setPos] = useState(null);
6644
6686
  const legendGradient = `linear-gradient(to right, ${surfaceVar}, ${scaleVar})`;
6645
6687
  return /* @__PURE__ */ jsxs("div", { ref, className: styles2.root({ className }), children: [
6646
- /* @__PURE__ */ jsx(
6647
- "svg",
6648
- {
6649
- viewBox: `0 0 ${width} ${height}`,
6650
- className: styles2.svg(),
6651
- role: "img",
6652
- "aria-label": ariaLabel,
6653
- onMouseLeave: () => setHover(null),
6654
- children: geometry.map(({ feature: feature2, d: d3, centroid }, index) => {
6655
- const id = getId(feature2);
6656
- const value = values[id];
6657
- return /* @__PURE__ */ jsx(
6658
- "path",
6659
- {
6660
- d: d3,
6661
- fill: fillFor(value),
6662
- strokeWidth,
6663
- className: styles2.path(),
6664
- style: onFeatureClick ? { cursor: "pointer" } : void 0,
6665
- onMouseEnter: () => setHover({
6666
- id,
6667
- name: getName(feature2),
6668
- value,
6669
- feature: feature2,
6670
- ax: centroid[0] / width * 100,
6671
- ay: centroid[1] / height * 100
6672
- }),
6673
- onClick: onFeatureClick ? () => onFeatureClick({
6674
- id,
6675
- name: getName(feature2),
6676
- value,
6677
- feature: feature2
6678
- }) : void 0
6679
- },
6680
- `${id}-${index}`
6681
- );
6682
- })
6683
- }
6684
- ),
6685
- /* @__PURE__ */ jsx("div", { className: styles2.tooltipLayer(), children: /* @__PURE__ */ jsxs(Tooltip, { open: hover != null, onOpenChange: () => {
6686
- }, disableHoverableContent: true, children: [
6687
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
6688
- "span",
6688
+ /* @__PURE__ */ jsxs("div", { className: styles2.canvas(), children: [
6689
+ /* @__PURE__ */ jsxs(
6690
+ "svg",
6689
6691
  {
6690
- "aria-hidden": "true",
6691
- className: styles2.tooltipAnchor(),
6692
- style: { left: `${hover?.ax ?? 0}%`, top: `${hover?.ay ?? 0}%` }
6692
+ viewBox: `0 0 ${width} ${height}`,
6693
+ className: styles2.svg(),
6694
+ role: "img",
6695
+ "aria-label": ariaLabel,
6696
+ onMouseLeave: () => setHover(null),
6697
+ onMouseMove: (e2) => {
6698
+ const r2 = e2.currentTarget.getBoundingClientRect();
6699
+ setPos({
6700
+ ax: (e2.clientX - r2.left) / r2.width * 100,
6701
+ ay: (e2.clientY - r2.top) / r2.height * 100
6702
+ });
6703
+ },
6704
+ children: [
6705
+ geometry.map(({ feature: feature2, d: d3 }, index) => {
6706
+ const id = getId(feature2);
6707
+ const value = values[id];
6708
+ return /* @__PURE__ */ jsx(
6709
+ "path",
6710
+ {
6711
+ d: d3,
6712
+ fill: fillFor(value),
6713
+ strokeWidth,
6714
+ className: styles2.path(),
6715
+ style: onFeatureClick ? { cursor: "pointer" } : void 0,
6716
+ onMouseEnter: () => setHover({ id, name: getName(feature2), value, feature: feature2, d: d3 }),
6717
+ onClick: onFeatureClick ? () => onFeatureClick({
6718
+ id,
6719
+ name: getName(feature2),
6720
+ value,
6721
+ feature: feature2
6722
+ }) : void 0
6723
+ },
6724
+ `${id}-${index}`
6725
+ );
6726
+ }),
6727
+ selectedId != null && (() => {
6728
+ const sel = geometry.find(
6729
+ (g2) => getId(g2.feature) === selectedId
6730
+ );
6731
+ return sel ? /* @__PURE__ */ jsx(
6732
+ "path",
6733
+ {
6734
+ d: sel.d,
6735
+ className: styles2.pathSelected(),
6736
+ strokeWidth: Math.max(strokeWidth * 3, 1.5),
6737
+ style: {
6738
+ stroke: strokeVar,
6739
+ fill: `color-mix(in srgb, ${scaleVar} 32%, transparent)`
6740
+ }
6741
+ }
6742
+ ) : null;
6743
+ })(),
6744
+ hover && /* @__PURE__ */ jsx(
6745
+ "path",
6746
+ {
6747
+ d: hover.d,
6748
+ className: styles2.pathHighlight(),
6749
+ strokeWidth: Math.max(strokeWidth * 3, 1.5),
6750
+ style: {
6751
+ stroke: strokeVar,
6752
+ fill: `color-mix(in srgb, ${scaleVar} 18%, transparent)`
6753
+ }
6754
+ }
6755
+ )
6756
+ ]
6693
6757
  }
6694
- ) }),
6695
- /* @__PURE__ */ jsx(
6696
- TooltipContent,
6758
+ ),
6759
+ /* @__PURE__ */ jsx("div", { className: styles2.tooltipLayer(), children: hover && pos && /* @__PURE__ */ jsx(
6760
+ "div",
6697
6761
  {
6698
- showArrow: false,
6699
- className: "border border-border-default bg-bg-surface-elevated shadow-sh-lg",
6700
- children: hover && (renderTooltip ? renderTooltip(hover) : /* @__PURE__ */ jsxs("div", { children: [
6762
+ className: styles2.tooltip(),
6763
+ style: {
6764
+ left: `${pos.ax}%`,
6765
+ top: `${pos.ay}%`,
6766
+ transform: `translate(${pos.ax < 12 ? "0%" : pos.ax > 88 ? "-100%" : "-50%"}, ${pos.ay < 18 ? "16px" : "calc(-100% - 12px)"})`
6767
+ },
6768
+ children: renderTooltip ? renderTooltip(hover) : /* @__PURE__ */ jsxs("div", { children: [
6701
6769
  /* @__PURE__ */ jsx("div", { className: styles2.tooltipName(), children: hover.name }),
6702
6770
  /* @__PURE__ */ jsx("div", { className: styles2.tooltipValue(), children: hover.value != null && Number.isFinite(hover.value) ? fmt(hover.value) : "Sem dados" })
6703
- ] }))
6771
+ ] })
6704
6772
  }
6705
- )
6706
- ] }) }),
6773
+ ) })
6774
+ ] }),
6707
6775
  showLegend && numeric.length > 0 && /* @__PURE__ */ jsxs("div", { className: styles2.legend(), children: [
6708
6776
  legendTitle && /* @__PURE__ */ jsx("span", { className: styles2.legendTitle(), children: legendTitle }),
6709
6777
  /* @__PURE__ */ jsx(