@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.
- package/dist-lib/chunks/app-shell-mocks-kWIVSzLs.mjs.map +1 -1
- package/dist-lib/chunks/app-shell-mocks-oO_IV3Gw.cjs.map +1 -1
- package/dist-lib/chunks/avatar-DFWEwBKu.mjs.map +1 -1
- package/dist-lib/chunks/avatar-eM5txRFZ.cjs.map +1 -1
- package/dist-lib/chunks/chat-v2-mocks-BV9Wha_Z.cjs.map +1 -1
- package/dist-lib/chunks/chat-v2-mocks-DvZRkhmz.mjs.map +1 -1
- package/dist-lib/chunks/page-header--cPS_Z-a.mjs.map +1 -1
- package/dist-lib/chunks/page-header-DvAJoEfb.cjs.map +1 -1
- package/dist-lib/chunks/{panel-CvfP8eP1.cjs → panel-4aMDou7z.cjs} +17 -6
- package/dist-lib/chunks/panel-4aMDou7z.cjs.map +1 -0
- package/dist-lib/chunks/{panel-CCPe1H70.mjs → panel-DtQi10ps.mjs} +17 -6
- package/dist-lib/chunks/panel-DtQi10ps.mjs.map +1 -0
- package/dist-lib/chunks/sheet-D1vQth7X.mjs.map +1 -1
- package/dist-lib/chunks/sheet-j-d_UX7R.cjs.map +1 -1
- package/dist-lib/chunks/toggle-group-BC4eS3Gt.cjs.map +1 -1
- package/dist-lib/chunks/toggle-group-CFiAGdm7.mjs.map +1 -1
- package/dist-lib/chunks/useTheme-C9Y6vxTf.cjs.map +1 -1
- package/dist-lib/chunks/useTheme-DCmzLBUR.mjs.map +1 -1
- package/dist-lib/index.cjs +161 -93
- package/dist-lib/index.cjs.map +1 -1
- package/dist-lib/index.mjs +163 -95
- package/dist-lib/index.mjs.map +1 -1
- package/dist-lib/preview/chat.cjs.map +1 -1
- package/dist-lib/preview/chat.mjs.map +1 -1
- package/dist-lib/preview/clientes.cjs +1 -1
- package/dist-lib/preview/clientes.mjs +1 -1
- package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.d.ts.map +1 -1
- package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.styles.d.ts +24 -6
- package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.styles.d.ts.map +1 -1
- package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.types.d.ts +11 -2
- package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.types.d.ts.map +1 -1
- package/dist-lib/src/components/ui/FormField/form-field-select.d.ts.map +1 -1
- package/dist-lib/src/components/ui/MessageBubble/message-bubble.d.ts.map +1 -1
- package/dist-lib/src/components/ui/MessageBubble/message-bubble.styles.d.ts.map +1 -1
- package/dist-lib/src/components/ui/MessageComposer/message-composer.styles.d.ts +9 -3
- package/dist-lib/src/components/ui/MessageComposer/message-composer.styles.d.ts.map +1 -1
- package/dist-lib/theme/brand-blue.css +110 -110
- package/dist-lib/theme/brand-green.css +110 -110
- package/dist-lib/theme/brand-pay.css +189 -189
- package/dist-lib/theme/brand-vibrant.css +148 -148
- package/dist-lib/tokens.cjs.map +1 -1
- package/dist-lib/tokens.mjs.map +1 -1
- package/package.json +4 -2
- package/dist-lib/chunks/panel-CCPe1H70.mjs.map +0 -1
- package/dist-lib/chunks/panel-CvfP8eP1.cjs.map +0 -1
package/dist-lib/index.mjs
CHANGED
|
@@ -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-
|
|
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-
|
|
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,
|
|
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
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
|
|
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
|
-
|
|
4130
|
-
}
|
|
4131
|
-
|
|
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: {
|
|
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: {
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
-
|
|
6563
|
-
const
|
|
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__ */
|
|
6647
|
-
|
|
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
|
-
|
|
6691
|
-
className: styles2.
|
|
6692
|
-
|
|
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
|
-
|
|
6758
|
+
),
|
|
6759
|
+
/* @__PURE__ */ jsx("div", { className: styles2.tooltipLayer(), children: hover && pos && /* @__PURE__ */ jsx(
|
|
6760
|
+
"div",
|
|
6697
6761
|
{
|
|
6698
|
-
|
|
6699
|
-
|
|
6700
|
-
|
|
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(
|